Oliver Bähler and GitHub
2252c530f4
feat(performance): removed duplicate client calls from all admission paths ( #2054 )
...
* chore
* perfromance improvements
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* perfromance improvements
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* feat(performance): removed duplicate client calls from all admission paths
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* feat(performance): removed duplicate client calls from all admission paths
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* feat(performance): removed duplicate client calls from all admission paths
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* feat(performance): removed duplicate client calls from all admission paths
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* feat(performance): removed duplicate client calls from all admission paths
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* feat(performance): removed duplicate client calls from all admission paths
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* feat(performance): removed duplicate client calls from all admission paths
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
---------
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
2026-07-28 14:32:42 +02:00
Oliver Bähler and GitHub
e8ac32d364
feat: add administrator capabilities ( #2049 )
...
* feat: implement performance optimizations
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* feat: add administrator capabilities
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* feat: add administrator capabilities
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* chore
* feat: add administrator capabilities
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
---------
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
2026-07-23 00:09:23 +02:00
Oliver Bähler and GitHub
99e05220ab
feat: implement performance optimizations ( #2045 )
...
* feat: implement performance optimizations
---------
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
2026-07-21 16:27:29 +02:00
77d1810bb9
feat: add metadata enforcement ( #1990 )
...
* fix(controller): decode old object for delete requests
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* fix: preserve ca-bundles injected from external providers
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* feat: add metadata enforcement
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* feat: add metadata enforcement
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix: add resourcepoolclaim validation
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix: add resourcepoolclaim validation
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix: add resourcepoolclaim validation
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
* fix: add resourcepoolclaim validation
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
---------
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-07-02 13:42:08 +02:00
Oliver Bähler and GitHub
af2f37793e
fix: add serviceaccount validation for tenantowners and tenants ( #1966 )
...
* fix(controller): decode old object for delete requests
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* fix: preserve ca-bundles injected from external providers
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix: add serviceaccount validation for tenantowners and tenants
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix: add serviceaccount validation for tenantowners and tenants
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix(sec): add namespace termination interception
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix(sec): add namespace termination interception
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* feat: correct sa check
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix(sec): add namespace termination interception
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
---------
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
2026-06-17 06:32:02 +02:00
Oliver Bähler and GitHub
34262c5536
fix: improve rules api ( #1961 )
...
* fix(controller): decode old object for delete requests
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* fix: preserve ca-bundles injected from external providers
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix: improve rules api
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix: improve rules api
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix: improve rules api
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix: improve rules api
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix: improve rules api
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix: improve rules api
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix: improve rules api
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
* fix: improve rules api
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
---------
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
2026-06-10 00:18:40 +02:00
Oliver Bähler and GitHub
b783d03f44
fix: avoid rejection when users are classified as administrators ( #1941 )
...
* fix(controller): decode old object for delete requests
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* fix: avoid rejection when users are classified as administrators
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
---------
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
2026-06-02 14:17:27 +02:00
Sander Tervoert and GitHub
d255c33f5d
feat: add observedgeneration to status object of all crds ( #1930 )
...
* feat: add observedgeneration to status object of all crds
Signed-off-by: sandert-k8s <sandert98@gmail.com >
* chore(api): rename rulestatusspec to rulestatusstatus
Signed-off-by: sandert-k8s <sandert98@gmail.com >
---------
Signed-off-by: sandert-k8s <sandert98@gmail.com >
2026-06-01 06:51:46 +02:00
cc4fb45d70
feat: upstream enterprise preview ( #1841 )
...
feat: upstream enterprise preview
---------
Signed-off-by: Oliver Baehler <oliver@sudo-i.net >
Co-authored-by: CorentinPtrl <pitrel.corentin@gmail.com >
2026-05-28 00:58:58 +02:00
Oliver Bähler and GitHub
a6b830b1af
feat: add ruleset api( #1844 )
...
* fix(controller): decode old object for delete requests
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: modernize golang
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* fix(config): remove usergroups default
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* fix(config): remove usergroups default
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* sec(ghsa-2ww6-hf35-mfjm): intercept namespace subresource
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(api): add rulestatus api
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: conflicts
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: conflicts
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: conflicts
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: conflicts
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: conflicts
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: conflicts
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: conflicts
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: conflicts
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: conflicts
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: conflicts
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: conflicts
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(api): add rulestatus api
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(api): add rulestatus api
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(api): add rulestatus api
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(api): add rulestatus api
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(api): add rulestatus api
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(api): add rulestatus api
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
---------
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
2026-01-27 14:28:48 +01:00
Oliver Bähler and GitHub
730151cb44
feat: add dynamic capsule user evaluation ( #1811 )
...
* chore: improve dev targets
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(controller): implement deterministic rolebinding reflection
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(controller): capsule users are determined from configuration status
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(tenantowners): added agreggate option - tenantowners are always considered capsule users
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(tenantowner): add implicit aggregation for tenants
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: remove helm flags
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* fix(config): remove usergroups default
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
---------
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
2025-12-31 11:37:30 +01:00
Oliver Bähler and GitHub
d812a0c722
feat(tenant): add dedicated tenantowner crd ( #1764 )
...
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
2025-12-02 15:21:46 +01:00
Oliver Bähler and GitHub
5899e6d9a1
feat(tenant): add available classes as status fields ( #1751 )
...
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
2025-11-21 10:31:45 +01:00
Oliver Bähler and GitHub
581a8fe60e
feat(controller): administration persona ( #1739 )
...
* chore(refactor): project and api refactoring
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore(refactor): project and api refactoring
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
---------
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
2025-11-18 16:27:16 +01:00
Oliver Bähler and GitHub
074eb40734
feat(config): add ignore user groups property ( #1586 )
...
* feat(config): add ignore user groups property
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(config): add ignore user groups property
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(config): add ignore user groups property
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(config): add ignore user groups property
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(config): add ignore user groups property
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* feat(config): add ignore user groups property
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
---------
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
2025-08-15 00:23:33 +02:00
Oliver Bähler and GitHub
c7237f802b
feat(api): add resourcepools and claims ( #1333 )
...
* feat: functional appsets
* feat(api): add resourcepools api
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: fix gomod
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: correct webhooks
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: fix harpoon image
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: improve e2e
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: add labels to e2e test
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: fix status handling
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: fix racing conditions
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: make values compatible
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: fix custom resources test
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: correct metrics
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
---------
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
2025-05-22 09:07:13 +02:00
Oliver Bähler and GitHub
d15ef08576
chore(e2e): remove build instructions ( #1428 )
...
* chore(e2e): add parallel execution and remove build instructions
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
* chore: change test targets
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
---------
Signed-off-by: Oliver Bähler <oliverbaehler@hotmail.com >
2025-05-01 11:46:05 +02:00
Hristo Hristov and GitHub
5a32195091
fix(ci): switch to large runner for e2e tests ( #1429 )
...
fix(ci): switch to large runner for e2e tests
Signed-off-by: Hristo Hristov <me@hhristov.info >
2025-04-30 13:21:43 +02:00
Samir Tahir and GitHub
da66f40462
feat(api): Add forceTenantPrefix option to Tenant spec ( #1244 )
...
Signed-off-by: samir-tahir <samirtahir91@gmail.com >
2024-12-04 06:45:05 +01:00
Siarhei Rasiukevich and Dario Tranchitella
b27780d74c
feat(manager): add forbidden annotations, forbidden labels to service options
...
Signed-off-by: Siarhei Rasiukevich <s.rasiukevich@gmail.com >
2023-11-24 12:30:59 +01:00
Dario Tranchitella
3b0b6cf5ad
test: removing unquired sleep
...
Signed-off-by: Dario Tranchitella <dario@tranchitella.eu >
2023-11-20 14:50:18 +01:00
Dario Tranchitella
0830b3629e
chore(header): moving to new neutral organization
...
Signed-off-by: Dario Tranchitella <dario@tranchitella.eu >
2023-10-16 21:29:23 +02:00
Dario Tranchitella
d7a48d771f
refactor: moving to new neutral organization
...
Signed-off-by: Dario Tranchitella <dario@tranchitella.eu >
2023-10-16 21:29:23 +02:00
Dario Tranchitella
791dde5bf6
refactor(e2e): switching to v1beta2 as storage version
2022-12-27 17:53:17 +01:00
Dario Tranchitella
6403b60590
refactor(test): generating namespace names avoiding collision
2022-12-26 14:27:26 +01:00
Dario Tranchitella
a3495cf614
chore: go 1.18 support
2022-04-14 15:21:49 +00:00
Dario Tranchitella
137b0f083b
test: aligning to new rolebindings sync policies
2022-04-14 14:35:59 +00:00
14f9686bbb
Forbidden node labels and annotations ( #464 )
...
* feat: forbidden node labels and annotations
* test(e2e): forbidden node labels and annotations
* build(kustomize): forbidden node labels and annotations
* build(helm): forbidden node labels and annotations
* build(installer): forbidden node labels and annotations
* chore(make): forbidden node labels and annotations
* docs: forbidden node labels and annotations
* test(e2e): forbidden node labels and annotations. Use EventuallyCreation func
* feat: forbidden node labels and annotations. Check kubernetes version
* test(e2e): forbidden node labels and annotations. Check kubernetes version
* docs: forbidden node labels and annotations. Version restrictions
* feat: forbidden node labels and annotations. Do not update deepcopy functions
* docs: forbidden node labels and annotations. Use blockquotes for notes
Co-authored-by: Maksim Fedotov <m_fedotov@wargaming.net >
2021-11-02 20:01:53 +03:00
Maksim Fedotov and Dario Tranchitella
db8b8ac1d9
test(e2e): support multiple tenant owners(add applications to act as tenant owners)
2021-07-12 11:27:13 +02:00
Maksim Fedotov and Dario Tranchitella
44bf846260
test(e2e): update tests to use v1beta1 version
2021-07-02 10:14:06 +02:00
Dario Tranchitella and GitHub
7c1592e739
chore(license): switching over SPDX license header ( #280 )
2021-06-03 19:46:20 +02:00
Dario Tranchitella
61034947fd
test(e2e): modifying CapsuleConfiguration at runtime
2021-05-31 16:15:44 +02:00
Maksim Fedotov and Dario Tranchitella
3c9895e498
feat: use multiple groups as capsule-user-group
2021-05-25 14:46:05 +02:00
Dario Tranchitella and GitHub
d2700556dd
Adding linters and aligning code ( #169 )
...
* Adding linters and aligning code
* Aligning ingressHostnames to AllowedListSpec
2021-01-13 23:49:11 +01:00
Dario Tranchitella and GitHub
007bdff512
Only owner Tenant specification key is mandatory ( #153 )
...
* Only Tenant owner specification key is mandatory
* Increasing default timeout to avoid e2e flakiness on GH Actions
* Ensuring also empty Namespace annotations and labels
2020-12-11 15:47:29 +01:00
Dario Tranchitella and GitHub
f6fd0cfe3f
Helm Charts are now inside of the repository ( #147 )
...
* Adding Helm chart source
* Pointing to new Chart location
* Setting GitHub Action for remote Helm Chart release
* Updating Go dependencies
* Using Helm as default installation tool
* Separating diff and e2e jobs
* Aligning tests to Helm labels
* Checking fmt and vet, and fixing it
* We don't need limits on E2E
2020-12-01 23:30:31 +01:00
Dario Tranchitella and GitHub
2c54d91306
Enforcing back tenant selection using closest match ( #129 )
2020-11-05 11:20:48 +01:00
Dario Tranchitella and GitHub
2af568f0ed
Making e2e tests less flaky ( #121 )
2020-10-31 12:28:17 +01:00
Dario Tranchitella and GitHub
ee6e3aa0df
Using matrix strategy for e2e on multiple k8s versions ( #111 )
...
* Using matrix strategy for e2e on multiple k8s versions
* EndpointSlice version support according to Kubernetes release
* Utility helper for testing various Kubernetes versions
2020-10-29 09:39:22 +01:00
Dario Tranchitella and GitHub
9d0a7a78c1
Making CR/CRB names conforming to Kubernetes naming requirements ( #91 )
2020-09-12 12:14:52 +02:00
303fc4d69c
Support Groups as Subject Kind for Tenant Namespace RoleBindings created by Capsule ( #71 )
...
Modified CRD to support Owner struct.
Added Tenant name validation webhook.
Rewrote owner_reference hook logic.
Updated and added new e2e tests.
Co-authored-by: Maksim Fedotov <m_fedotov@wargaming.net >
2020-09-10 17:02:22 +02:00
Maxim Fedotov and GitHub
a99153cbe7
Add protected-namespace-regex ( #73 )
2020-09-02 12:43:02 +02:00
164431959c
Add capsule-user-group CLI flag ( #67 )
...
* add capsule-user-group param
* Implementing RBAC controller
Co-authored-by: Maksim Fedotov <m_fedotov@wargaming.net >
Co-authored-by: Dario Tranchitella <dario@tranchitella.eu >
2020-09-01 12:15:48 +02:00
Dario Tranchitella and GitHub
9969864141
Scaffolding e2e testing ( #56 )
...
* Implementing generic e2e features
* Adding changes upon e2e benchmarking
2020-08-21 14:55:48 +02:00