Skip to content

Commit 6e0be79

Browse files
authored
Add Kyverno to platform (#29)
Fixes gh-23
1 parent 7f3e82c commit 6e0be79

File tree

7 files changed

+75
-29
lines changed

7 files changed

+75
-29
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ Each Kadras package included in the platform can be configured independently.
134134
| `conventions.spring_boot` | `{}` | Configuration for the Spring Boot Conventions package. |
135135
| `flux.source_controller` | `{}` | Configuration for the FluxCD Source Controller package. |
136136
| `knative.serving` | `{}` | Configuration for the Knative Serving package. |
137+
| `kyverno.core` | `{}` | Configuration for the Kyverno package. |
137138
| `metrics_server` | `{}` | Configuration for the Metrics Server package. |
138139
| `secretgen_controller` | `{}` | Configuration for the Secretgen Controller package. |
139140
| `tekton.catalog` | `{}` | Configuration for the Tekton Catalog package. |

package/config/kyverno.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#@ load("@ytt:data", "data")
2+
#@ load("@ytt:struct", "struct")
3+
#@ load("@ytt:yaml", "yaml")
4+
#@ load("/helpers.star", "is_package_enabled")
5+
6+
#@ if is_package_enabled("kyverno"):
7+
8+
#@ def compute_package_values():
9+
#@ values = struct.decode(data.values.kyverno.core)
10+
#@
11+
#@ #! Compute values for CA Certificates
12+
#@ if data.values.platform.ca_cert_data:
13+
#@ values["ca_cert_data"] = values["ca_cert_data"] + data.values.platform.ca_cert_data
14+
#@ end
15+
#@
16+
#@ return struct.encode(values)
17+
#@ end
18+
19+
---
20+
apiVersion: packaging.carvel.dev/v1alpha1
21+
kind: PackageInstall
22+
metadata:
23+
name: kyverno
24+
namespace: #@ data.values.platform.namespace
25+
annotations:
26+
kapp.k14s.io/change-group: kyverno
27+
kapp.k14s.io/change-rule.serviceaccount: delete before deleting serviceaccount
28+
spec:
29+
serviceAccountName: kadras-install-sa
30+
packageRef:
31+
refName: kyverno.packages.kadras.io
32+
versionSelection:
33+
constraints: 1.10.3+kadras.1
34+
values:
35+
- secretRef:
36+
name: kyverno-values
37+
---
38+
apiVersion: v1
39+
kind: Secret
40+
metadata:
41+
name: kyverno-values
42+
namespace: #@ data.values.platform.namespace
43+
stringData:
44+
values.yaml: #@ yaml.encode(compute_package_values())
45+
46+
#@ end

package/config/values-schema.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,12 @@ knative:
131131
#@schema/type any=True
132132
serving: {}
133133

134+
#@schema/desc "Configuration for the Kyverno related packages."
135+
kyverno:
136+
#@schema/desc "Configuration for the Kyverno package."
137+
#@schema/type any=True
138+
core: {}
139+
134140
#@schema/desc "Configuration for the Metrics Server package."
135141
#@schema/type any=True
136142
metrics_server: {}

test/integration/kuttl-test.yml

Lines changed: 5 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -8,39 +8,15 @@ parallel: 1
88
startKIND: true
99
kindContext: integration
1010
kindNodeCache: true
11-
timeout: 120
11+
timeout: 300
1212
artifactsDir: /tmp/kuttl-artifacts
1313
commands:
1414
- script: |
1515
kapp deploy -a kapp-controller -y \
1616
-f https://github.com/carvel-dev/kapp-controller/releases/latest/download/release.yml
1717
- script: |
18-
kubectl create namespace kadras-packages
19-
- script: |
20-
kapp deploy -a cert-manager-issuers-package -n kadras-packages -y \
21-
-f https://github.com/kadras-io/cert-manager-issuers/releases/latest/download/metadata.yml \
22-
-f https://github.com/kadras-io/cert-manager-issuers/releases/latest/download/package.yml
23-
- script: |
24-
kapp deploy -a cert-manager-package -n kadras-packages -y \
25-
-f https://github.com/kadras-io/package-for-cert-manager/releases/latest/download/metadata.yml \
26-
-f https://github.com/kadras-io/package-for-cert-manager/releases/latest/download/package.yml
27-
- script: |
28-
kapp deploy -a contour-package -n kadras-packages -y \
29-
-f https://github.com/kadras-io/package-for-contour/releases/latest/download/metadata.yml \
30-
-f https://github.com/kadras-io/package-for-contour/releases/latest/download/package.yml
18+
cd test/setup/dependencies
19+
vendir sync
3120
- script: |
32-
kapp deploy -a knative-serving-package -n kadras-packages -y \
33-
-f https://github.com/kadras-io/package-for-knative-serving/releases/latest/download/metadata.yml \
34-
-f https://github.com/kadras-io/package-for-knative-serving/releases/latest/download/package.yml
35-
- script: |
36-
kapp deploy -a metrics-server-package -n kadras-packages -y \
37-
-f https://github.com/kadras-io/package-for-metrics-server/releases/latest/download/metadata.yml \
38-
-f https://github.com/kadras-io/package-for-metrics-server/releases/latest/download/package.yml
39-
- script: |
40-
kapp deploy -a secretgen-controller-package -n kadras-packages -y \
41-
-f https://github.com/kadras-io/package-for-secretgen-controller/releases/latest/download/metadata.yml \
42-
-f https://github.com/kadras-io/package-for-secretgen-controller/releases/latest/download/package.yml
43-
- script: |
44-
kapp deploy -a workspace-provisioner-package -n kadras-packages -y \
45-
-f https://github.com/kadras-io/workspace-provisioner/releases/latest/download/metadata.yml \
46-
-f https://github.com/kadras-io/workspace-provisioner/releases/latest/download/package.yml
21+
kubectl create namespace kadras-packages
22+
kapp deploy -a kadras-packages -n kadras-packages -f test/setup/dependencies/package-repo -y

test/integration/serving/config/values.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@ stringData:
1111
infrastructure_provider: local
1212
ingress:
1313
domain: 127.0.0.1.sslip.io
14+
excluded_packages:
15+
- kyverno

test/setup/dependencies/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
package-repo/
2+
vendir.lock.yml

test/setup/dependencies/vendir.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: vendir.k14s.io/v1alpha1
2+
directories:
3+
- contents:
4+
- git:
5+
ref: main
6+
url: https://github.com/kadras-io/kadras-packages
7+
includePaths:
8+
- repo/packages/**/*
9+
newRootPath: repo/packages
10+
path: .
11+
path: package-repo
12+
kind: Config
13+
minimumRequiredVersion: 0.32.0

0 commit comments

Comments
 (0)