Skip to content

Commit 89da532

Browse files
committed
add kyverno Policies endpoints
1 parent adcc929 commit 89da532

21 files changed

Lines changed: 1788 additions & 27 deletions

File tree

modules/api/cmd/kubermatic-api/main.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -414,6 +414,7 @@ func createInitProviders(ctx context.Context, options serverRunOptions, masterCf
414414

415415
backupStorageProvider := backupStorageProviderFactory(defaultImpersonationClient.CreateImpersonatedClient, client)
416416

417+
policyTemplateProvider := policyTemplateProviderFactory(defaultImpersonationClient.CreateImpersonatedClient, client)
417418
return providers{
418419
sshKey: sshKeyProvider,
419420
privilegedSSHKeyProvider: privilegedSSHKeyProvider,
@@ -457,6 +458,7 @@ func createInitProviders(ctx context.Context, options serverRunOptions, masterCf
457458
etcdBackupConfigProjectProviderGetter: etcdBackupConfigProjectProviderGetter,
458459
etcdRestoreProjectProviderGetter: etcdRestoreProjectProviderGetter,
459460
backupStorageProvider: backupStorageProvider,
461+
policyTemplateProvider: policyTemplateProvider,
460462
backupCredentialsProviderGetter: backupCredentialsProviderGetter,
461463
privilegedMLAAdminSettingProviderGetter: privilegedMLAAdminSettingProviderGetter,
462464
seedProvider: seedProvider,

modules/api/cmd/kubermatic-api/options.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ type providers struct {
213213
applicationDefinitionProvider provider.ApplicationDefinitionProvider
214214
privilegedOperatingSystemProfileProviderGetter provider.PrivilegedOperatingSystemProfileProviderGetter
215215
oidcIssuerVerifierProviderGetter provider.OIDCIssuerVerifierGetter
216+
policyTemplateProvider provider.PolicyTemplateProvider
216217
}
217218

218219
func loadKubermaticConfiguration(filename string) (*kubermaticv1.KubermaticConfiguration, error) {

modules/api/cmd/kubermatic-api/wrappers_ce.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,7 @@ func groupProjectBindingFactory(_ kubernetes.ImpersonationClient, _ ctrlruntimec
5151
func backupStorageProviderFactory(_ kubernetes.ImpersonationClient, _ ctrlruntimeclient.Client) provider.BackupStorageProvider {
5252
return nil
5353
}
54+
55+
func policyTemplateProviderFactory(_ kubernetes.ImpersonationClient, _ ctrlruntimeclient.Client) provider.PolicyTemplateProvider {
56+
return nil
57+
}

modules/api/cmd/kubermatic-api/wrappers_ee.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,3 +52,7 @@ func groupProjectBindingFactory(createMasterImpersonatedClient kubernetes.Impers
5252
func backupStorageProviderFactory(createMasterImpersonatedClient kubernetes.ImpersonationClient, privilegedClient ctrlruntimeclient.Client) provider.BackupStorageProvider {
5353
return eeapi.BackupStorageProviderFactory(createMasterImpersonatedClient, privilegedClient)
5454
}
55+
56+
func policyTemplateProviderFactory(createMasterImpersonatedClient kubernetes.ImpersonationClient, privilegedClient ctrlruntimeclient.Client) provider.PolicyTemplateProvider {
57+
return eeapi.PolicyTemplateProviderFactory(createMasterImpersonatedClient, privilegedClient)
58+
}

modules/api/go.mod

Lines changed: 122 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ require (
3535
github.com/go-kit/log v0.2.1
3636
github.com/go-logr/zapr v1.3.0
3737
github.com/go-openapi/errors v0.22.0
38-
github.com/go-openapi/runtime v0.27.1
38+
github.com/go-openapi/runtime v0.28.0
3939
github.com/go-openapi/strfmt v0.23.0
4040
github.com/go-openapi/swag v0.23.0
4141
github.com/go-openapi/validate v0.24.0
@@ -67,7 +67,7 @@ require (
6767
google.golang.org/api v0.209.0
6868
gopkg.in/yaml.v3 v3.0.1
6969
k8c.io/kubeone v1.9.0
70-
k8c.io/kubermatic/v2 v2.26.0-rc.0.0.20250120161355-5a04ba5eb708
70+
k8c.io/kubermatic/v2 v2.27.0-alpha.0.0.20250127155100-597500a9ce09
7171
k8c.io/machine-controller v1.60.1-0.20250113105754-d6ee7f43eac2
7272
k8c.io/operating-system-manager v1.6.1-0.20241118134103-5db575f65108
7373
k8c.io/reconciler v0.5.0
@@ -100,6 +100,124 @@ replace k8s.io/client-go => k8s.io/client-go v0.31.1
100100

101101
require github.com/kubeovn/kube-ovn v1.13.0
102102

103+
// replace k8c.io/kubermatic/v2 => github.com/adoi/kubermatic add-policy-crds-for-kyverno
104+
105+
// replace k8c.io/kubermatic/v2 => github.com/adoi/kubermatic@ee7cafebd6fa4a177c3924fc157ab71dd6524777
106+
107+
// replace k8c.io/kubermatic/v2 => github.com/adoi/kubermatic v0.0.0-20250122155632-ee7cafebd6fa
108+
109+
require (
110+
cuelabs.dev/go/oci/ociregistry v0.0.0-20240807094312-a32ad29eed79 // indirect
111+
cuelang.org/go v0.10.0 // indirect
112+
filippo.io/edwards25519 v1.1.0 // indirect
113+
github.com/AliyunContainerService/ack-ram-tool/pkg/credentials/alibabacloudsdkgo/helper v0.2.0 // indirect
114+
github.com/Azure/go-autorest/autorest/azure/auth v0.5.13 // indirect
115+
github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 // indirect
116+
github.com/IGLOU-EU/go-wildcard v1.0.3 // indirect
117+
github.com/Microsoft/go-winio v0.6.2 // indirect
118+
github.com/OneOfOne/xxhash v1.2.8 // indirect
119+
github.com/ProtonMail/go-crypto v1.1.3 // indirect
120+
github.com/ThalesIgnite/crypto11 v1.2.5 // indirect
121+
github.com/agnivade/levenshtein v1.1.1 // indirect
122+
github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.5 // indirect
123+
github.com/alibabacloud-go/cr-20160607 v1.0.1 // indirect
124+
github.com/alibabacloud-go/cr-20181201 v1.0.10 // indirect
125+
github.com/alibabacloud-go/darabonba-openapi v0.2.1 // indirect
126+
github.com/alibabacloud-go/debug v1.0.1 // indirect
127+
github.com/alibabacloud-go/endpoint-util v1.1.1 // indirect
128+
github.com/alibabacloud-go/openapi-util v0.1.1 // indirect
129+
github.com/alibabacloud-go/tea v1.2.2 // indirect
130+
github.com/alibabacloud-go/tea-utils v1.4.5 // indirect
131+
github.com/alibabacloud-go/tea-utils/v2 v2.0.6 // indirect
132+
github.com/alibabacloud-go/tea-xml v1.1.3 // indirect
133+
github.com/aliyun/credentials-go v1.3.8 // indirect
134+
github.com/aws/aws-sdk-go-v2/service/ecr v1.33.0 // indirect
135+
github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.25.6 // indirect
136+
github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20240909191326-0ee4ec5d16bf // indirect
137+
github.com/blang/semver v3.5.1+incompatible // indirect
138+
github.com/buildkite/agent/v3 v3.78.0 // indirect
139+
github.com/buildkite/go-pipeline v0.11.0 // indirect
140+
github.com/buildkite/interpolate v0.1.3 // indirect
141+
github.com/buildkite/roko v1.2.0 // indirect
142+
github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589 // indirect
143+
github.com/clbanning/mxj/v2 v2.7.0 // indirect
144+
github.com/cloudflare/circl v1.4.0 // indirect
145+
github.com/cockroachdb/apd/v3 v3.2.1 // indirect
146+
github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be // indirect
147+
github.com/containerd/stargz-snapshotter/estargz v0.15.1 // indirect
148+
github.com/coreos/go-oidc/v3 v3.11.0 // indirect
149+
github.com/cyberphone/json-canonicalization v0.0.0-20231217050601-ba74d44ecf5f // indirect
150+
github.com/digitorus/pkcs7 v0.0.0-20230818184609-3a137a874352 // indirect
151+
github.com/digitorus/timestamp v0.0.0-20231217203849-220c5c2851b7 // indirect
152+
github.com/dimchansky/utfbom v1.1.1 // indirect
153+
github.com/djherbis/times v1.6.0 // indirect
154+
github.com/docker/cli v27.2.0+incompatible // indirect
155+
github.com/docker/distribution v2.8.3+incompatible // indirect
156+
github.com/docker/docker-credential-helpers v0.8.2 // indirect
157+
github.com/emicklei/proto v1.13.2 // indirect
158+
github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32 // indirect
159+
github.com/go-chi/chi v4.1.2+incompatible // indirect
160+
github.com/go-jose/go-jose/v3 v3.0.3 // indirect
161+
github.com/go-logr/zerologr v1.2.3 // indirect
162+
github.com/go-piv/piv-go v1.11.0 // indirect
163+
github.com/gobwas/glob v0.2.3 // indirect
164+
github.com/golang/snappy v0.0.4 // indirect
165+
github.com/google/certificate-transparency-go v1.2.1 // indirect
166+
github.com/google/go-containerregistry v0.20.2 // indirect
167+
github.com/google/go-github/v55 v55.0.0 // indirect
168+
github.com/in-toto/attestation v1.1.0 // indirect
169+
github.com/in-toto/in-toto-golang v0.9.1-0.20240317085821-8e2966059a09 // indirect
170+
github.com/jedisct1/go-minisign v0.0.0-20230811132847-661be99b8267 // indirect
171+
github.com/jinzhu/copier v0.4.0 // indirect
172+
github.com/kyverno/kyverno-json v0.0.4-0.20240730143747-aade3d42fc0e // indirect
173+
github.com/letsencrypt/boulder v0.0.0-20240823215653-da7865cb107b // indirect
174+
github.com/miekg/pkcs11 v1.1.1 // indirect
175+
github.com/mitchellh/go-homedir v1.1.0 // indirect
176+
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
177+
github.com/mozillazg/docker-credential-acr-helper v0.3.0 // indirect
178+
github.com/nozzle/throttler v0.0.0-20180817012639-2ea982251481 // indirect
179+
github.com/oleiade/reflections v1.1.0 // indirect
180+
github.com/oliveagle/jsonpath v0.0.0-20180606110733-2e52cf6e6852 // indirect
181+
github.com/open-policy-agent/opa v0.68.0 // indirect
182+
github.com/protocolbuffers/txtpbfmt v0.0.0-20240116145035-ef3ab179eed6 // indirect
183+
github.com/r3labs/diff v1.1.0 // indirect
184+
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
185+
github.com/rs/zerolog v1.33.0 // indirect
186+
github.com/sassoftware/relic v7.2.1+incompatible // indirect
187+
github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect
188+
github.com/segmentio/ksuid v1.0.4 // indirect
189+
github.com/shibumi/go-pathspec v1.3.0 // indirect
190+
github.com/sigstore/cosign/v2 v2.4.0 // indirect
191+
github.com/sigstore/fulcio v1.6.3 // indirect
192+
github.com/sigstore/k8s-manifest-sigstore v0.5.4 // indirect
193+
github.com/sigstore/protobuf-specs v0.3.2 // indirect
194+
github.com/sigstore/rekor v1.3.6 // indirect
195+
github.com/sigstore/sigstore v1.8.10 // indirect
196+
github.com/sigstore/sigstore-go v0.6.2 // indirect
197+
github.com/sigstore/timestamp-authority v1.2.2 // indirect
198+
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect
199+
github.com/spiffe/go-spiffe/v2 v2.3.0 // indirect
200+
github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect
201+
github.com/tchap/go-patricia/v2 v2.3.1 // indirect
202+
github.com/tektoncd/chains v0.22.0 // indirect
203+
github.com/thales-e-security/pool v0.0.2 // indirect
204+
github.com/theupdateframework/go-tuf v0.7.0 // indirect
205+
github.com/theupdateframework/go-tuf/v2 v2.0.1 // indirect
206+
github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399 // indirect
207+
github.com/tjfoc/gmsm v1.4.1 // indirect
208+
github.com/transparency-dev/merkle v0.0.2 // indirect
209+
github.com/vbatts/tar-split v0.11.5 // indirect
210+
github.com/xanzy/go-gitlab v0.108.0 // indirect
211+
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
212+
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
213+
github.com/yashtewari/glob-intersection v0.2.0 // indirect
214+
github.com/zeebo/errs v1.3.0 // indirect
215+
go.opentelemetry.io/otel/sdk v1.31.0 // indirect
216+
go.step.sm/crypto v0.51.1 // indirect
217+
k8s.io/pod-security-admission v0.31.2 // indirect
218+
sigs.k8s.io/release-utils v0.8.4 // indirect
219+
)
220+
103221
require (
104222
cel.dev/expr v0.19.0 // indirect
105223
cloud.google.com/go/auth v0.11.0 // indirect
@@ -192,6 +310,7 @@ require (
192310
github.com/kr/text v0.2.0 // indirect
193311
github.com/kubernetes-csi/external-snapshotter/client/v7 v7.0.0 // indirect
194312
github.com/kylelemons/godebug v1.1.0 // indirect
313+
github.com/kyverno/kyverno v1.13.2 // indirect
195314
github.com/magiconair/properties v1.8.7 // indirect
196315
github.com/mailru/easyjson v0.7.7 // indirect
197316
github.com/mattn/go-colorable v0.1.13 // indirect
@@ -215,7 +334,7 @@ require (
215334
github.com/opentracing/opentracing-go v1.2.1-0.20220228012449-10b1cf09e00b // indirect
216335
github.com/ovn-org/libovsdb v0.7.0 // indirect
217336
github.com/pborman/uuid v1.2.1 // indirect
218-
github.com/pelletier/go-toml/v2 v2.2.2 // indirect
337+
github.com/pelletier/go-toml/v2 v2.2.3 // indirect
219338
github.com/peterhellberg/link v1.2.0 // indirect
220339
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect
221340
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect

0 commit comments

Comments
 (0)