Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
80 changes: 80 additions & 0 deletions components/kubearchive/policies/.chainsaw-test/chainsaw-test.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,46 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/kyverno/chainsaw/main/.schemas/json/test-chainsaw-v1alpha1.json
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: mutate-new-namespace-konfluxcidev
spec:
description: |
tests that the KubeArchiveConfig is created in a namespace
labelled with `konflux-ci.dev/type=tenant`
concurrent: false
namespace: 'generate-new-namespace'
bindings:
- name: suffix
value: konfluxcidev
steps:
- name: given-kubearchiveconfig-crd-exists
try:
- apply:
file: resources/kubearchive-crd.yaml
- name: given-kyverno-has-permission-on-resources
try:
- apply:
file: ../kyverno_rbac.yaml
- name: given-cluster-policy-is-ready
try:
- apply:
file: ../bootstrap-namespace.yaml
- assert:
file: chainsaw-assert-clusterpolicy.yaml
- name: when-konfluxcidev-labeled-namespace-is-created
try:
- apply:
file: resources/actual-namespace-konfluxcidev.yaml
template: true
- name: then-kubearchiveconfig-is-created
try:
- assert:
file: resources/expected-kubearchiveconfig.yaml
template: true
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/kyverno/chainsaw/main/.schemas/json/test-chainsaw-v1alpha1.json
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: mutate-new-namespace-konflux
spec:
Expand Down Expand Up @@ -200,6 +240,46 @@ spec:
# yaml-language-server: $schema=https://raw.githubusercontent.com/kyverno/chainsaw/main/.schemas/json/test-chainsaw-v1alpha1.json
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: mutate-existing-namespace-konfluxcidev
spec:
description: |
tests that the KubeArchiveConfig is created in an already existing
namespace labelled with `konflux-ci.dev/type=tenant`
concurrent: false
namespace: 'generate-existing-namespace'
bindings:
- name: suffix
value: konflux
steps:
- name: given-kubearchiveconfig-crd-exists
try:
- apply:
file: resources/kubearchive-crd.yaml
- name: given-kyverno-has-permission-on-resources
try:
- apply:
file: ../kyverno_rbac.yaml
- name: given-konfluxci-labeled-namespace-is-created
try:
- apply:
file: resources/actual-namespace-konfluxcidev.yaml
template: true
- name: when-cluster-policy-is-ready
try:
- apply:
file: ../bootstrap-namespace.yaml
- assert:
file: chainsaw-assert-clusterpolicy.yaml
- name: then-kubearchiveconfig-is-created
try:
- assert:
file: resources/expected-kubearchiveconfig.yaml
template: true
---
# yaml-language-server: $schema=https://raw.githubusercontent.com/kyverno/chainsaw/main/.schemas/json/test-chainsaw-v1alpha1.json
apiVersion: chainsaw.kyverno.io/v1alpha1
kind: Test
metadata:
name: mutate-existing-namespace-toolchain
spec:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v1
kind: Namespace
metadata:
name: (join('-', [$namespace, $suffix]))
labels:
konflux-ci.dev/type: tenant
6 changes: 6 additions & 0 deletions components/kubearchive/policies/bootstrap-namespace.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@ spec:
selector:
matchLabels:
konflux.ci/type: user
- resources:
kinds:
- Namespace
selector:
matchLabels:
konflux-ci.dev/type: tenant
generate:
generateExisting: true
apiVersion: kubearchive.kubearchive.org/v1alpha1
Expand Down