Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
130 commits
Select commit Hold shift + click to select a range
1ce892c
fix(controller): decode old object for delete requests
oliverbaehler Dec 10, 2025
9bd35df
chore: modernize golang
oliverbaehler Dec 10, 2025
f386271
chore: modernize golang
oliverbaehler Dec 10, 2025
30e9808
chore: modernize golang
oliverbaehler Dec 10, 2025
2e2e701
chore(deps): update codecov/codecov-action action to v5.5.2 (#1783)
renovate[bot] Dec 10, 2025
b2a388a
chore(deps): update anchore/sbom-action digest to 43a17d6 (#1781)
renovate[bot] Dec 10, 2025
c8df3d2
fix(deps): update module k8s.io/dynamic-resource-allocation to v0.34.…
renovate[bot] Dec 10, 2025
ca1e870
fix(deps): update module k8s.io/apiextensions-apiserver to v0.34.3 (#…
renovate[bot] Dec 10, 2025
c2cdc1c
fix(controller): allow no spaces in template references (#1789)
oliverbaehler Dec 11, 2025
a5a2b77
chore(deps): update securego/gosec action to v2.22.11 (#1788)
renovate[bot] Dec 11, 2025
8744069
chore(deps): update all-ci-updates (#1791)
renovate[bot] Dec 16, 2025
202308e
fix(deps): update k8s.io/utils digest to 61b37f7 (#1801)
renovate[bot] Dec 19, 2025
b6442a7
fix(controller): template concurrency (#1802)
oliverbaehler Dec 19, 2025
225d215
chore(deps): update all-ci-updates (#1795)
renovate[bot] Dec 19, 2025
8f7f815
chore(deps): update dependency kubernetes-sigs/kind to v0.31.0 (#1796)
renovate[bot] Dec 19, 2025
538b23d
fix(deps): update kubernetes packages to v0.35.0 (#1797)
renovate[bot] Dec 19, 2025
dfb57f7
fix(deps): update module k8s.io/dynamic-resource-allocation to v0.35.…
renovate[bot] Dec 20, 2025
640e5f8
chore(deps): update dependency kubernetes-sigs/controller-tools to v0…
renovate[bot] Dec 20, 2025
620cdf3
fix(deps): update k8s.io/utils digest to 98d557b (#1803)
renovate[bot] Dec 20, 2025
36764bf
chore(deps): update all-ci-updates (#1793)
renovate[bot] Dec 20, 2025
15e7c6b
fix(deps): update module github.com/onsi/ginkgo/v2 to v2.27.3 (#1776)
renovate[bot] Dec 20, 2025
3f0fa4d
chore(deps): update github/codeql-action digest to f67ec12 (#1790)
renovate[bot] Dec 20, 2025
d3bfaa7
chore(deps): update dependency google/ko to v0.18.1 (#1792)
renovate[bot] Dec 20, 2025
fe0f0c8
fix(deps): update module github.com/onsi/gomega to v1.38.3 (#1777)
renovate[bot] Dec 22, 2025
fd0fb51
fix(deps): update module sigs.k8s.io/cluster-api to v1.12.1 (#1784)
renovate[bot] Dec 22, 2025
bb14820
fix(deps): update k8s.io/utils digest to 383b50a (#1804)
renovate[bot] Dec 22, 2025
d8e3da5
chore(deps): update actions/stale digest to a21a081 (#1808)
renovate[bot] Dec 27, 2025
9a97e95
chore: adjust makefile and releaser for kubernetes 1.35 (#1809)
Svarrogh1337 Dec 28, 2025
d9ed8be
chore(deps): update all-ci-updates (#1807)
renovate[bot] Dec 29, 2025
af41ad7
fix(deps): update k8s.io/utils digest to 718f0e5 (#1806)
renovate[bot] Dec 30, 2025
4472dce
chore(deps): update anchore/sbom-action digest to a930d0a (#1805)
renovate[bot] Dec 30, 2025
68bb313
chore(deps): update helm release kube-prometheus-stack to v80.8.2 (#1…
renovate[bot] Dec 30, 2025
9ba9e02
feat: add dynamic capsule user evaluation (#1811)
oliverbaehler Dec 31, 2025
8164382
chore(deps): update helm release kube-prometheus-stack to v80.9.2 (#1…
renovate[bot] Jan 1, 2026
1918921
chore(deps): update all-ci-updates (#1814)
renovate[bot] Jan 3, 2026
ddf33a6
chore(deps): update amannn/action-semantic-pull-request digest to 71b…
renovate[bot] Jan 5, 2026
9dd5334
chore(deps): update github/codeql-action digest to fd448f7 (#1816)
renovate[bot] Jan 6, 2026
1407e84
feat: use cert-manager certificates by default (#1818)
oliverbaehler Jan 6, 2026
f6da7ad
chore(deps): update helm release kube-prometheus-stack to v80.13.2 (#…
renovate[bot] Jan 8, 2026
e1d3e0d
chore(deps): update dependency prometheus-operator/prometheus-operato…
renovate[bot] Jan 8, 2026
fc5cd4b
chore(deps): update dependency golangci/golangci-lint to v2.8.0 (#1823)
renovate[bot] Jan 8, 2026
ac77d02
chore(deps): update helm release kube-prometheus-stack to v80.13.3 (#…
renovate[bot] Jan 9, 2026
f69faa6
fix(deps): update module github.com/onsi/gomega to v1.39.0 (#1826)
renovate[bot] Jan 9, 2026
3b32ff4
chore(deps): update dependency prometheus-operator/prometheus-operato…
renovate[bot] Jan 9, 2026
8d2f3e7
fix(deps): update module github.com/onsi/ginkgo/v2 to v2.27.4 (#1825)
renovate[bot] Jan 9, 2026
c6c9354
chore(deps): update anchore/sbom-action digest to 0b82b0b (#1824)
renovate[bot] Jan 10, 2026
9d32a08
fix(deps): update k8s.io/utils digest to 914a6e7 (#1822)
renovate[bot] Jan 10, 2026
5446ef7
chore(deps): update all-ci-updates (#1830)
renovate[bot] Jan 21, 2026
01f2cbf
chore(deps): update actions/stale digest to d6f8a33 (#1843)
renovate[bot] Jan 22, 2026
7966294
chore(deps): update amannn/action-semantic-pull-request digest to b43…
renovate[bot] Jan 22, 2026
816e0ba
chore(deps): update actions/checkout action to v6.0.2 (#1845)
renovate[bot] Jan 23, 2026
23a5e3f
chore(deps): update all-ci-updates (#1847)
renovate[bot] Jan 26, 2026
d8f934c
chore(deps): update all-ci-updates (#1848)
renovate[bot] Jan 27, 2026
c570e1c
feat: add ruleset api(#1844)
oliverbaehler Jan 27, 2026
052769b
chore(deps): update dependency alessandrojcm/commitlint-pre-commit-ho…
renovate[bot] Jan 29, 2026
97318a9
chore(deps): update anchore/sbom-action digest to deef08a (#1836)
renovate[bot] Jan 29, 2026
2147acf
chore(deps): update dependency adrienverge/yamllint to v1.38.0 (#1832)
renovate[bot] Jan 29, 2026
896ba3f
chore(deps): update github/codeql-action digest to b2ff80d (#1821)
renovate[bot] Jan 29, 2026
87e68e7
chore(deps): update github/codeql-action digest to f985be5 (#1850)
renovate[bot] Jan 30, 2026
0e04e67
chore(deps): update anchore/sbom-action digest to 5620efe (#1852)
renovate[bot] Jan 30, 2026
739ddef
chore(deps): update all-ci-updates (#1851)
renovate[bot] Jan 30, 2026
a516942
chore(deps): update all-ci-updates (#1837)
renovate[bot] Jan 31, 2026
8fda67c
chore(deps): update all-ci-updates (#1856)
renovate[bot] Feb 2, 2026
cebebf4
chore(deps): update github/codeql-action digest to 8aac4e4 (#1855)
renovate[bot] Feb 2, 2026
7e45379
feat: diverse performance improvements (#1861)
oliverbaehler Feb 3, 2026
751c30d
chore(deps): update actions/stale digest to dcd2b94 (#1857)
renovate[bot] Feb 6, 2026
7793bdf
fix(docs): update home in chart.yaml (#1864)
sandert-k8s Feb 10, 2026
af6cf0e
chore(deps): update actions/stale digest to b5d41d4 (#1866)
renovate[bot] Feb 12, 2026
036cee9
chore(deps): update zgosalvez/github-actions-ensure-sha-pinned-action…
renovate[bot] Feb 12, 2026
27c5350
chore(deps): update amannn/action-semantic-pull-request digest to ac7…
renovate[bot] Feb 21, 2026
b22627f
chore(deps): update anchore/sbom-action digest to 6d473d3 (#1860)
renovate[bot] Feb 21, 2026
774eeb6
chore(deps): update anchore/sbom-action digest to 17ae174 (#1876)
renovate[bot] Mar 2, 2026
da20c16
chore(deps): update github/codeql-action digest to 0ec47d0 (#1858)
renovate[bot] Mar 2, 2026
e2f735c
chore(deps): update anchore/sbom-action digest to 57aae52 (#1882)
renovate[bot] Mar 10, 2026
4ea21bf
chore(deps): update actions/stale digest to db5d06a (#1886)
renovate[bot] Mar 19, 2026
b4b0d91
chore(deps): update anchore/sbom-action digest to a0a6512 (#1887)
renovate[bot] Mar 19, 2026
e40a07b
chore(deps): update anchore/sbom-action digest to e22c389 (#1888)
renovate[bot] Mar 24, 2026
68882e2
chore(deps): update anchore/sbom-action digest to f0d33c1 (#1893)
renovate[bot] Apr 3, 2026
b3a059b
chore(workflows): bump trivy action to 0.35.0 (#1896)
Svarrogh1337 Apr 13, 2026
8846fa0
fix(webhook): adapt to controller-runtime breaking change in newwebho…
Svarrogh1337 Apr 13, 2026
9c8dcea
feat: add e2e openshift support (#1894)
Svarrogh1337 Apr 15, 2026
8658f60
chore(deps): update all-ci-updates (#1873)
renovate[bot] Apr 18, 2026
d9411f2
chore(deps): update all-ci-updates (#1859)
renovate[bot] Apr 19, 2026
1cb1464
chore(deps): update dependency alessandrojcm/commitlint-pre-commit-ho…
renovate[bot] May 1, 2026
5861789
chore(deps): set renovate minimum release age to 14 days (#1908)
Svarrogh1337 May 4, 2026
1969e7c
chore: add lfx status badges (#1909)
Svarrogh1337 May 5, 2026
b344048
ci: pin slsa provenance workflow (#1903)
AkashKumar7902 May 18, 2026
689f5e2
chore(deps): update dependency b1nary-gr0up/nwa to v0.7.8 (#1906)
renovate[bot] May 18, 2026
ffdab16
chore(deps): update all-ci-updates (#1900)
renovate[bot] May 19, 2026
b33f2d4
feat: upstream enterprise preview (#1841)
oliverbaehler May 27, 2026
61de881
chore: bump supported version (#1918)
oliverbaehler May 28, 2026
6745839
fix: release workflows (#1919)
oliverbaehler May 28, 2026
b2c9f41
fix: reuse webhookport from values (#1927)
oliverbaehler May 29, 2026
1c31329
fix: correct helm values schema for webservcie ports (#1928)
bakito May 29, 2026
692f8cd
fix: correct helm docs for webhook service port schema (#1929)
bakito May 29, 2026
5a37ea4
chore(deps): update capsule-proxy docker tag to v0.12.0 (#1846)
renovate[bot] May 29, 2026
9aa1af9
chore(deps): update dependency prometheus-operator/prometheus-operato…
renovate[bot] May 29, 2026
45ae72d
chore(deps): update dependency grafana/grafana-operator to v5.22.2 (#…
renovate[bot] May 29, 2026
87625b9
chore: use release age for all managers except helm (#1931)
oliverbaehler May 29, 2026
668f9ec
chore(deps): update capsule-proxy docker tag to v0.13.1 (#1932)
renovate[bot] May 29, 2026
be458cf
feat: add observedgeneration to status object of all crds (#1930)
sandert-k8s Jun 1, 2026
15d8ef6
chore: promote sander tervoert as maintainer (#1933)
Svarrogh1337 Jun 1, 2026
d82792f
chore: promote sander tervoert as maintainer (#1939)
Svarrogh1337 Jun 1, 2026
8fe3dcd
ci: add goreleaser dry run (#1936)
alan747271363-art Jun 2, 2026
0e5bd6d
fix(deps): update module gomodules.xyz/jsonpatch/v2 to v3 (#1917)
renovate[bot] Jun 2, 2026
917b90d
chore(deps): update helm release kube-prometheus-stack to v85 (#1914)
renovate[bot] Jun 2, 2026
069bef1
fix(deps): update module go.uber.org/zap to v1.28.0 (#1904)
renovate[bot] Jun 2, 2026
15d7ac6
fix: avoid rejection when users are classified as administrators (#1941)
oliverbaehler Jun 2, 2026
3162deb
chore(deps): update capsule-proxy docker tag to v0.13.2 (#1942)
renovate[bot] Jun 2, 2026
33de7e4
fix(deps): update module sigs.k8s.io/gateway-api to v1.5.1 (#1878)
renovate[bot] Jun 2, 2026
8615552
chore: typo in ruleset description crd (#1944)
sandert-k8s Jun 2, 2026
6230ab4
feat: add tenant list to status of capsuleconfiguration (#1935)
sandert-k8s Jun 3, 2026
1a7f01e
fix: correct tls reconciler and add tenantowners (#1946)
oliverbaehler Jun 3, 2026
84dcf7b
chore: fix typo (#1945)
sandert-k8s Jun 3, 2026
85d242b
fix: allow managed metadata defined per tenant (#1947)
oliverbaehler Jun 3, 2026
89846da
feat: action type
oliverbaehler Jun 4, 2026
6ee9d93
fix: preserve ca-bundles injected from external providers (#1948)
oliverbaehler Jun 4, 2026
b3a7fa6
fix(deps): update module sigs.k8s.io/cluster-api to v1.13.2 (#1874)
renovate[bot] Jun 4, 2026
79b776b
feat(deps): bump golang 1.26.4 (#1949)
oliverbaehler Jun 4, 2026
c7ccb5b
chore(deps): update capsule-proxy docker tag to v0.13.3 (#1950)
renovate[bot] Jun 4, 2026
621ad99
chore(deps): update all-ci-updates (#1902)
renovate[bot] Jun 5, 2026
1badd1a
fix: best effort patch reconciling status (#1952)
oliverbaehler Jun 5, 2026
f04ff08
fix: use different match strategy for truthy and match (#1953)
oliverbaehler Jun 5, 2026
3826bb7
progress
oliverbaehler Jun 8, 2026
4d8f50b
feat: add registry
oliverbaehler Jun 8, 2026
05a83c5
feat: add registry
oliverbaehler Jun 8, 2026
447713e
chore: update all gihub actions, use digest versioning and remove obs…
bakito Jun 8, 2026
e9f3170
fix: translate serviceaccounts to type serviceaccount not user (#1956)
oliverbaehler Jun 8, 2026
0cdfffa
feat: add improved registry enforcement
oliverbaehler Jun 8, 2026
aefeb05
feat: add improved registry enforcement
oliverbaehler Jun 8, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion api/v1beta1/tenant_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (

"github.com/projectcapsule/capsule/pkg/api"
"github.com/projectcapsule/capsule/pkg/api/rbac"
"github.com/projectcapsule/capsule/pkg/api/rules"
)

// TenantSpec defines the desired state of Tenant.
Expand Down Expand Up @@ -39,7 +40,7 @@ type TenantSpec struct {
// Specifies additional RoleBindings assigned to the Tenant. Capsule will ensure that all namespaces in the Tenant always contain the RoleBinding for the given ClusterRole. Optional.
AdditionalRoleBindings []rbac.AdditionalRoleBindingsSpec `json:"additionalRoleBindings,omitempty"`
// Specify the allowed values for the imagePullPolicies option in Pod resources. Capsule assures that all Pod resources created in the Tenant can use only one of the allowed policy. Optional.
ImagePullPolicies []api.ImagePullPolicySpec `json:"imagePullPolicies,omitempty"`
ImagePullPolicies []rules.ImagePullPolicySpec `json:"imagePullPolicies,omitempty"`
// Specifies the allowed priorityClasses assigned to the Tenant. Capsule assures that all Pods resources created in the Tenant can use only one of the allowed PriorityClasses. Optional.
PriorityClasses *api.AllowedListSpec `json:"priorityClasses,omitempty"`
}
Expand Down
3 changes: 2 additions & 1 deletion api/v1beta1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 13 additions & 9 deletions api/v1beta2/rule_status_type.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ package v1beta2
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

"github.com/projectcapsule/capsule/pkg/api"
"github.com/projectcapsule/capsule/pkg/api/meta"
"github.com/projectcapsule/capsule/pkg/api/rules"
)

// RuleStatus contains the accumulated rules applying to namespace it's deployed in.
Expand All @@ -16,25 +16,29 @@ type RuleStatusStatus struct {
// ObservedGeneration is the most recent generation the controller has observed.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// Managed Enforcement properties per Namespace (aggregated from rules)
//+optional
Rule api.NamespaceRuleBodyNamespace `json:"rule,omitzero"`
// Deprecated: use Rules.
// Rule contains a legacy flattened view and cannot fully represent action-aware rules.
// +optional
Rule rules.NamespaceRuleBodyNamespace `json:"rule,omitzero"`
// Rules contains the effective namespace rules after tenant rule selection.
// Order is preserved from the originating Tenant rules.
// +optional
Rules []*rules.NamespaceRuleBodyNamespace `json:"rules,omitempty"`
// Conditions
Conditions meta.ConditionList `json:"conditions"`
}

// +kubebuilder:object:root=true
// +kubebuilder:storageversion
// +kubebuilder:subresource:status
// +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Age"
// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="Ready Status"
// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].message",description="Ready Message"
type RuleStatus struct {
metav1.TypeMeta `json:",inline"`

// +optional
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitzero"`

// +optional
Spec []*api.NamespaceRuleBodyNamespace `json:"spec,omitzero"`
Spec []*rules.NamespaceRuleBodyNamespace `json:"spec,omitzero"`

// +optional
Status RuleStatusStatus `json:"status,omitzero"`
Expand Down
4 changes: 2 additions & 2 deletions api/v1beta2/tenant_status.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@ package v1beta2
import (
k8stypes "k8s.io/apimachinery/pkg/types"

"github.com/projectcapsule/capsule/pkg/api"
"github.com/projectcapsule/capsule/pkg/api/meta"
"github.com/projectcapsule/capsule/pkg/api/rbac"
"github.com/projectcapsule/capsule/pkg/api/rules"
)

// +kubebuilder:validation:Enum=Cordoned;Active;Terminating
Expand Down Expand Up @@ -72,7 +72,7 @@ type TenantStatusRuleStatusItem struct {

type TenantStatusNamespaceEnforcement struct {
// Registries which are allowed within this namespace
Registries []api.OCIRegistry `json:"registry,omitempty"`
Registries []rules.OCIRegistry `json:"registry,omitempty"`
}

type TenantStatusNamespaceMetadata struct {
Expand Down
5 changes: 3 additions & 2 deletions api/v1beta2/tenant_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import (
"github.com/projectcapsule/capsule/pkg/api"
"github.com/projectcapsule/capsule/pkg/api/meta"
"github.com/projectcapsule/capsule/pkg/api/rbac"
"github.com/projectcapsule/capsule/pkg/api/rules"
"github.com/projectcapsule/capsule/pkg/runtime/selectors"
)

Expand All @@ -32,7 +33,7 @@ type TenantSpec struct {
//
// Read More: https://projectcapsule.dev/docs/tenants/rules/
//+optional
Rules []*api.NamespaceRuleBodyTenant `json:"rules,omitzero"`
Rules []*rules.NamespaceRuleBodyTenant `json:"rules,omitzero"`

// Specifies the owners of the Tenant.
// Optional
Expand Down Expand Up @@ -96,7 +97,7 @@ type TenantSpec struct {
// Deprecated: Use Enforcement.Registries instead
//
// Specify the allowed values for the imagePullPolicies option in Pod resources. Capsule assures that all Pod resources created in the Tenant can use only one of the allowed policy. Optional.
ImagePullPolicies []api.ImagePullPolicySpec `json:"imagePullPolicies,omitempty"`
ImagePullPolicies []rules.ImagePullPolicySpec `json:"imagePullPolicies,omitempty"`

// Deprecated: Use Tenant Replications instead (https://projectcapsule.dev/docs/replications/)
//
Expand Down
24 changes: 18 additions & 6 deletions api/v1beta2/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading