From 70b3ec258d95fe6277d3352b2346caf72ae67d3d Mon Sep 17 00:00:00 2001 From: liamfallon Date: Mon, 6 Jan 2025 14:49:29 +0000 Subject: [PATCH 1/5] Added an example workload package containing subpackiages --- .../network-function-with-subpackages/Kptfile | 14 +++++++++++++ .../README.md | 5 +++++ .../main-apply-replacements-annotation1.yaml | 16 +++++++++++++++ .../main-apply-replacements-annotation2.yaml | 16 +++++++++++++++ .../main-cm-deployment.yaml | 9 +++++++++ .../main-deployment.yaml | 20 +++++++++++++++++++ .../package-context.yaml | 8 ++++++++ .../sub1/Kptfile | 14 +++++++++++++ .../sub1/package-context.yaml | 8 ++++++++ .../sub1-apply-replacements-annotation1.yaml | 16 +++++++++++++++ .../sub1-apply-replacements-annotation2.yaml | 16 +++++++++++++++ .../sub1/sub1-cm-deployment.yaml | 9 +++++++++ .../sub1/sub1-deployment.yaml | 20 +++++++++++++++++++ .../sub1/sub1sub1/Kptfile | 14 +++++++++++++ .../sub1/sub1sub1/package-context.yaml | 8 ++++++++ ...b1sub1-apply-replacements-annotation1.yaml | 16 +++++++++++++++ ...b1sub1-apply-replacements-annotation2.yaml | 16 +++++++++++++++ .../sub1/sub1sub1/sub1sub1-cm-deployment.yaml | 9 +++++++++ .../sub1/sub1sub1/sub1sub1-deployment.yaml | 20 +++++++++++++++++++ .../sub1/sub1sub2/Kptfile | 14 +++++++++++++ .../sub1/sub1sub2/package-context.yaml | 8 ++++++++ ...b1sub2-apply-replacements-annotation1.yaml | 16 +++++++++++++++ ...b1sub2-apply-replacements-annotation2.yaml | 16 +++++++++++++++ .../sub1/sub1sub2/sub1sub2-cm-deployment.yaml | 9 +++++++++ .../sub1/sub1sub2/sub1sub2-deployment.yaml | 20 +++++++++++++++++++ .../sub2/Kptfile | 14 +++++++++++++ .../sub2/package-context.yaml | 8 ++++++++ .../sub2-apply-replacements-annotation1.yaml | 16 +++++++++++++++ .../sub2-apply-replacements-annotation2.yaml | 16 +++++++++++++++ .../sub2/sub2-cm-deployment.yaml | 9 +++++++++ .../sub2/sub2-deployment.yaml | 20 +++++++++++++++++++ .../sub2/sub2sub1/Kptfile | 14 +++++++++++++ .../sub2/sub2sub1/package-context.yaml | 8 ++++++++ ...b2sub1-apply-replacements-annotation1.yaml | 16 +++++++++++++++ ...b2sub1-apply-replacements-annotation2.yaml | 16 +++++++++++++++ .../sub2/sub2sub1/sub2sub1-cm-deployment.yaml | 9 +++++++++ .../sub2/sub2sub1/sub2sub1-deployment.yaml | 20 +++++++++++++++++++ .../sub2/sub2sub2/Kptfile | 14 +++++++++++++ .../sub2/sub2sub2/package-context.yaml | 8 ++++++++ ...b2sub2-apply-replacements-annotation1.yaml | 16 +++++++++++++++ ...b2sub2-apply-replacements-annotation2.yaml | 16 +++++++++++++++ .../sub2/sub2sub2/sub2sub2-cm-deployment.yaml | 9 +++++++++ .../sub2/sub2sub2/sub2sub2-deployment.yaml | 20 +++++++++++++++++++ 43 files changed, 586 insertions(+) create mode 100644 workloads/examples/network-function-with-subpackages/Kptfile create mode 100644 workloads/examples/network-function-with-subpackages/README.md create mode 100644 workloads/examples/network-function-with-subpackages/main-apply-replacements-annotation1.yaml create mode 100644 workloads/examples/network-function-with-subpackages/main-apply-replacements-annotation2.yaml create mode 100644 workloads/examples/network-function-with-subpackages/main-cm-deployment.yaml create mode 100644 workloads/examples/network-function-with-subpackages/main-deployment.yaml create mode 100644 workloads/examples/network-function-with-subpackages/package-context.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/Kptfile create mode 100644 workloads/examples/network-function-with-subpackages/sub1/package-context.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1-apply-replacements-annotation1.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1-apply-replacements-annotation2.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1-cm-deployment.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1-deployment.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1sub1/Kptfile create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1sub1/package-context.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-apply-replacements-annotation1.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-apply-replacements-annotation2.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-cm-deployment.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-deployment.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1sub2/Kptfile create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1sub2/package-context.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-apply-replacements-annotation1.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-apply-replacements-annotation2.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-cm-deployment.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-deployment.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/Kptfile create mode 100644 workloads/examples/network-function-with-subpackages/sub2/package-context.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2-apply-replacements-annotation1.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2-apply-replacements-annotation2.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2-cm-deployment.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2-deployment.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2sub1/Kptfile create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2sub1/package-context.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-apply-replacements-annotation1.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-apply-replacements-annotation2.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-cm-deployment.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-deployment.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2sub2/Kptfile create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2sub2/package-context.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-apply-replacements-annotation1.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-apply-replacements-annotation2.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-cm-deployment.yaml create mode 100644 workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-deployment.yaml diff --git a/workloads/examples/network-function-with-subpackages/Kptfile b/workloads/examples/network-function-with-subpackages/Kptfile new file mode 100644 index 00000000..d7243d08 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/Kptfile @@ -0,0 +1,14 @@ +apiVersion: kpt.dev/v1 +kind: Kptfile +metadata: + name: network-function-with-subpackages + annotations: + config.kubernetes.io/local-config: "true" +info: + description: network function "network-function-with-subpackages" blueprint +pipeline: + mutators: + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: main-apply-replacements-annotation1.yaml + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: main-apply-replacements-annotation2.yaml diff --git a/workloads/examples/network-function-with-subpackages/README.md b/workloads/examples/network-function-with-subpackages/README.md new file mode 100644 index 00000000..0ac7936a --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/README.md @@ -0,0 +1,5 @@ +# network-function-1 + +## Description +This is an example demo pacakge with two levels of subpackages, with the main package and all its subpackages deploying +separate deployments of nginx diff --git a/workloads/examples/network-function-with-subpackages/main-apply-replacements-annotation1.yaml b/workloads/examples/network-function-with-subpackages/main-apply-replacements-annotation1.yaml new file mode 100644 index 00000000..210af323 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/main-apply-replacements-annotation1.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation1 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: main-cm-deployment + fieldPath: data.annotation1 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.main-annotation1 diff --git a/workloads/examples/network-function-with-subpackages/main-apply-replacements-annotation2.yaml b/workloads/examples/network-function-with-subpackages/main-apply-replacements-annotation2.yaml new file mode 100644 index 00000000..2ae14c4c --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/main-apply-replacements-annotation2.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation2 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: main-cm-deployment + fieldPath: data.annotation2 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.main-annotation2 diff --git a/workloads/examples/network-function-with-subpackages/main-cm-deployment.yaml b/workloads/examples/network-function-with-subpackages/main-cm-deployment.yaml new file mode 100644 index 00000000..40a3ae3b --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/main-cm-deployment.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: main-cm-deployment + annotations: + config.kubernetes.io/local-config: "true" +data: + annotation1: main-local-annotation-1 + annotation2: main-local-annotation-2 diff --git a/workloads/examples/network-function-with-subpackages/main-deployment.yaml b/workloads/examples/network-function-with-subpackages/main-deployment.yaml new file mode 100644 index 00000000..adfff034 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/main-deployment.yaml @@ -0,0 +1,20 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: main-deployment + annotations: + main-annotation1: no-value-1 + main-annotation2: no-value-2 +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: main-deployment + template: + metadata: + labels: + app.kubernetes.io/name: main-deployment + spec: + containers: + - name: nginx + image: nginx:latest diff --git a/workloads/examples/network-function-with-subpackages/package-context.yaml b/workloads/examples/network-function-with-subpackages/package-context.yaml new file mode 100644 index 00000000..6c33d9e4 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/package-context.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: kptfile.kpt.dev + annotations: + config.kubernetes.io/local-config: "true" +data: + name: example diff --git a/workloads/examples/network-function-with-subpackages/sub1/Kptfile b/workloads/examples/network-function-with-subpackages/sub1/Kptfile new file mode 100644 index 00000000..8d1d9fd2 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/Kptfile @@ -0,0 +1,14 @@ +apiVersion: kpt.dev/v1 +kind: Kptfile +metadata: + name: sub1-network-function + annotations: + config.kubernetes.io/local-config: "true" +info: + description: network function "sub1-network-function" blueprint +pipeline: + mutators: + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: sub1-apply-replacements-annotation1.yaml + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: sub1-apply-replacements-annotation2.yaml diff --git a/workloads/examples/network-function-with-subpackages/sub1/package-context.yaml b/workloads/examples/network-function-with-subpackages/sub1/package-context.yaml new file mode 100644 index 00000000..6c33d9e4 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/package-context.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: kptfile.kpt.dev + annotations: + config.kubernetes.io/local-config: "true" +data: + name: example diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1-apply-replacements-annotation1.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1-apply-replacements-annotation1.yaml new file mode 100644 index 00000000..028a8690 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1-apply-replacements-annotation1.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation1 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: sub1-cm-deployment + fieldPath: data.annotation1 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.sub1-annotation1 diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1-apply-replacements-annotation2.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1-apply-replacements-annotation2.yaml new file mode 100644 index 00000000..192c2155 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1-apply-replacements-annotation2.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation2 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: sub1-cm-deployment + fieldPath: data.annotation2 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.sub1-annotation2 diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1-cm-deployment.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1-cm-deployment.yaml new file mode 100644 index 00000000..1e4ffa7d --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1-cm-deployment.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: sub1-cm-deployment + annotations: + config.kubernetes.io/local-config: "true" +data: + annotation1: sub1-local-annotation-1 + annotation2: sub1-local-annotation-2 diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1-deployment.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1-deployment.yaml new file mode 100644 index 00000000..4dc0708e --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1-deployment.yaml @@ -0,0 +1,20 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sub1-deployment + annotations: + sub1-annotation1: no-value-1 + sub1-annotation2: no-value-2 +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: sub1-deployment + template: + metadata: + labels: + app.kubernetes.io/name: sub1-deployment + spec: + containers: + - name: nginx + image: nginx:latest diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/Kptfile b/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/Kptfile new file mode 100644 index 00000000..e5f35e94 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/Kptfile @@ -0,0 +1,14 @@ +apiVersion: kpt.dev/v1 +kind: Kptfile +metadata: + name: sub1sub1-network-function + annotations: + config.kubernetes.io/local-config: "true" +info: + description: network function "sub1sub1-network-function" blueprint +pipeline: + mutators: + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: sub1sub1-apply-replacements-annotation1.yaml + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: sub1sub1-apply-replacements-annotation2.yaml diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/package-context.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/package-context.yaml new file mode 100644 index 00000000..6c33d9e4 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/package-context.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: kptfile.kpt.dev + annotations: + config.kubernetes.io/local-config: "true" +data: + name: example diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-apply-replacements-annotation1.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-apply-replacements-annotation1.yaml new file mode 100644 index 00000000..f72f833d --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-apply-replacements-annotation1.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation1 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: sub1sub1-cm-deployment + fieldPath: data.annotation1 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.sub1sub1-annotation1 diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-apply-replacements-annotation2.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-apply-replacements-annotation2.yaml new file mode 100644 index 00000000..f7cabc1c --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-apply-replacements-annotation2.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation2 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: sub1sub1-cm-deployment + fieldPath: data.annotation2 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.sub1sub1-annotation2 diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-cm-deployment.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-cm-deployment.yaml new file mode 100644 index 00000000..91369f38 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-cm-deployment.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: sub1sub1-cm-deployment + annotations: + config.kubernetes.io/local-config: "true" +data: + annotation1: sub1sub1-local-annotation-1 + annotation2: sub1sub1-local-annotation-2 diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-deployment.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-deployment.yaml new file mode 100644 index 00000000..7a73b26c --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1sub1/sub1sub1-deployment.yaml @@ -0,0 +1,20 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sub1sub1-deployment + annotations: + sub1sub1-annotation1: no-value-1 + sub1sub1-annotation2: no-value-2 +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: sub1sub1-deployment + template: + metadata: + labels: + app.kubernetes.io/name: sub1sub1-deployment + spec: + containers: + - name: nginx + image: nginx:latest diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/Kptfile b/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/Kptfile new file mode 100644 index 00000000..38bfe7e8 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/Kptfile @@ -0,0 +1,14 @@ +apiVersion: kpt.dev/v1 +kind: Kptfile +metadata: + name: sub1sub2-network-function + annotations: + config.kubernetes.io/local-config: "true" +info: + description: network function "sub1sub2-network-function" blueprint +pipeline: + mutators: + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: sub1sub2-apply-replacements-annotation1.yaml + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: sub1sub2-apply-replacements-annotation2.yaml diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/package-context.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/package-context.yaml new file mode 100644 index 00000000..6c33d9e4 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/package-context.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: kptfile.kpt.dev + annotations: + config.kubernetes.io/local-config: "true" +data: + name: example diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-apply-replacements-annotation1.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-apply-replacements-annotation1.yaml new file mode 100644 index 00000000..1a491955 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-apply-replacements-annotation1.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation1 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: sub1sub2-cm-deployment + fieldPath: data.annotation1 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.sub1sub2-annotation1 diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-apply-replacements-annotation2.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-apply-replacements-annotation2.yaml new file mode 100644 index 00000000..12192c79 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-apply-replacements-annotation2.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation2 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: sub1sub2-cm-deployment + fieldPath: data.annotation2 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.sub1sub2-annotation2 diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-cm-deployment.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-cm-deployment.yaml new file mode 100644 index 00000000..69743139 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-cm-deployment.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: sub1sub2-cm-deployment + annotations: + config.kubernetes.io/local-config: "true" +data: + annotation1: sub1sub2-local-annotation-1 + annotation2: sub1sub2-local-annotation-2 diff --git a/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-deployment.yaml b/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-deployment.yaml new file mode 100644 index 00000000..7ddb6f7d --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub1/sub1sub2/sub1sub2-deployment.yaml @@ -0,0 +1,20 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sub1sub2-deployment + annotations: + sub1sub2-annotation1: no-value-1 + sub1sub2-annotation2: no-value-2 +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: sub1sub2-deployment + template: + metadata: + labels: + app.kubernetes.io/name: sub1sub2-deployment + spec: + containers: + - name: nginx + image: nginx:latest diff --git a/workloads/examples/network-function-with-subpackages/sub2/Kptfile b/workloads/examples/network-function-with-subpackages/sub2/Kptfile new file mode 100644 index 00000000..82267bd1 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/Kptfile @@ -0,0 +1,14 @@ +apiVersion: kpt.dev/v1 +kind: Kptfile +metadata: + name: sub2-network-function + annotations: + config.kubernetes.io/local-config: "true" +info: + description: network function "sub2-network-function" blueprint +pipeline: + mutators: + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: sub2-apply-replacements-annotation1.yaml + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: sub2-apply-replacements-annotation2.yaml diff --git a/workloads/examples/network-function-with-subpackages/sub2/package-context.yaml b/workloads/examples/network-function-with-subpackages/sub2/package-context.yaml new file mode 100644 index 00000000..6c33d9e4 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/package-context.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: kptfile.kpt.dev + annotations: + config.kubernetes.io/local-config: "true" +data: + name: example diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2-apply-replacements-annotation1.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2-apply-replacements-annotation1.yaml new file mode 100644 index 00000000..7cb867a0 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2-apply-replacements-annotation1.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation1 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: sub2-cm-deployment + fieldPath: data.annotation1 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.sub2-annotation1 diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2-apply-replacements-annotation2.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2-apply-replacements-annotation2.yaml new file mode 100644 index 00000000..b7968b26 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2-apply-replacements-annotation2.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation2 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: sub2-cm-deployment + fieldPath: data.annotation2 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.sub2-annotation2 diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2-cm-deployment.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2-cm-deployment.yaml new file mode 100644 index 00000000..5a4f4e6c --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2-cm-deployment.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: sub2-cm-deployment + annotations: + config.kubernetes.io/local-config: "true" +data: + annotation1: sub2-local-annotation-1 + annotation2: sub2-local-annotation-2 diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2-deployment.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2-deployment.yaml new file mode 100644 index 00000000..2656e9c8 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2-deployment.yaml @@ -0,0 +1,20 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sub2-deployment + annotations: + sub2-annotation1: no-value-1 + sub2-annotation2: no-value-2 +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: sub2-deployment + template: + metadata: + labels: + app.kubernetes.io/name: sub2-deployment + spec: + containers: + - name: nginx + image: nginx:latest diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/Kptfile b/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/Kptfile new file mode 100644 index 00000000..eff1f780 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/Kptfile @@ -0,0 +1,14 @@ +apiVersion: kpt.dev/v1 +kind: Kptfile +metadata: + name: sub2sub1sub1-network-function + annotations: + config.kubernetes.io/local-config: "true" +info: + description: network function "sub2sub1-network-function" blueprint +pipeline: + mutators: + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: sub2sub1-apply-replacements-annotation1.yaml + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: sub2sub1-apply-replacements-annotation2.yaml diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/package-context.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/package-context.yaml new file mode 100644 index 00000000..6c33d9e4 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/package-context.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: kptfile.kpt.dev + annotations: + config.kubernetes.io/local-config: "true" +data: + name: example diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-apply-replacements-annotation1.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-apply-replacements-annotation1.yaml new file mode 100644 index 00000000..cfbe3706 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-apply-replacements-annotation1.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation1 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: sub2sub1-cm-deployment + fieldPath: data.annotation1 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.sub2sub1-annotation1 diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-apply-replacements-annotation2.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-apply-replacements-annotation2.yaml new file mode 100644 index 00000000..3869a3a4 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-apply-replacements-annotation2.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation2 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: sub2sub1-cm-deployment + fieldPath: data.annotation2 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.sub2sub1-annotation2 diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-cm-deployment.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-cm-deployment.yaml new file mode 100644 index 00000000..a1b25fc6 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-cm-deployment.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: sub2sub1-cm-deployment + annotations: + config.kubernetes.io/local-config: "true" +data: + annotation1: sub2sub1-local-annotation-1 + annotation2: sub2sub1-local-annotation-2 diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-deployment.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-deployment.yaml new file mode 100644 index 00000000..e79b74fd --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2sub1/sub2sub1-deployment.yaml @@ -0,0 +1,20 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sub2sub1-deployment + annotations: + sub2sub1-annotation1: no-value-1 + sub2sub1-annotation2: no-value-2 +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: sub2sub1-deployment + template: + metadata: + labels: + app.kubernetes.io/name: sub2sub1-deployment + spec: + containers: + - name: nginx + image: nginx:latest diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/Kptfile b/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/Kptfile new file mode 100644 index 00000000..658510a3 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/Kptfile @@ -0,0 +1,14 @@ +apiVersion: kpt.dev/v1 +kind: Kptfile +metadata: + name: sub2sub2-network-function + annotations: + config.kubernetes.io/local-config: "true" +info: + description: network function "sub2sub2-network-function" blueprint +pipeline: + mutators: + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: sub2sub2-apply-replacements-annotation1.yaml + - image: gcr.io/kpt-fn/apply-replacements:v0.1.1 + configPath: sub2sub2-apply-replacements-annotation2.yaml diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/package-context.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/package-context.yaml new file mode 100644 index 00000000..6c33d9e4 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/package-context.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: kptfile.kpt.dev + annotations: + config.kubernetes.io/local-config: "true" +data: + name: example diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-apply-replacements-annotation1.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-apply-replacements-annotation1.yaml new file mode 100644 index 00000000..83086e90 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-apply-replacements-annotation1.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation1 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: sub2sub2-cm-deployment + fieldPath: data.annotation1 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.sub2sub2-annotation1 diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-apply-replacements-annotation2.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-apply-replacements-annotation2.yaml new file mode 100644 index 00000000..fc61cadf --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-apply-replacements-annotation2.yaml @@ -0,0 +1,16 @@ +apiVersion: fn.kpt.dev/v1alpha1 +kind: ApplyReplacements +metadata: + name: replace-annotation2 + annotations: + config.kubernetes.io/local-config: "true" +replacements: +- source: + kind: ConfigMap + name: sub2sub2-cm-deployment + fieldPath: data.annotation2 + targets: + - select: + kind: Deployment + fieldPaths: + - metadata.annotations.sub2sub2-annotation2 diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-cm-deployment.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-cm-deployment.yaml new file mode 100644 index 00000000..68d9d790 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-cm-deployment.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: sub2sub2-cm-deployment + annotations: + config.kubernetes.io/local-config: "true" +data: + annotation1: sub2sub2-local-annotation-1 + annotation2: sub2sub2-local-annotation-2 diff --git a/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-deployment.yaml b/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-deployment.yaml new file mode 100644 index 00000000..69655bf8 --- /dev/null +++ b/workloads/examples/network-function-with-subpackages/sub2/sub2sub2/sub2sub2-deployment.yaml @@ -0,0 +1,20 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sub2sub2-deployment + annotations: + sub2sub2-annotation1: no-value-1 + sub2sub2-annotation2: no-value-2 +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: sub2sub2-deployment + template: + metadata: + labels: + app.kubernetes.io/name: sub2sub2-deployment + spec: + containers: + - name: nginx + image: nginx:latest From 913c9e8898e0de2b5cfb8ac10e79ebc6ea4a4cfe Mon Sep 17 00:00:00 2001 From: liamfallon Date: Mon, 6 Jan 2025 14:52:36 +0000 Subject: [PATCH 2/5] Updated readme with package structure --- .../network-function-with-subpackages/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/workloads/examples/network-function-with-subpackages/README.md b/workloads/examples/network-function-with-subpackages/README.md index 0ac7936a..86c02bc8 100644 --- a/workloads/examples/network-function-with-subpackages/README.md +++ b/workloads/examples/network-function-with-subpackages/README.md @@ -3,3 +3,15 @@ ## Description This is an example demo pacakge with two levels of subpackages, with the main package and all its subpackages deploying separate deployments of nginx + +The package has teh following structure: + +``` +main--+--sub1--+--sub1sub1 + | | + | +--sub1sub2 + | +main--+--sub2--+--sub2sub1 + | + +--sub2sub2 + \ No newline at end of file From 5ee32fdbdde12df17dd4f88f51e6d4f2b2def677 Mon Sep 17 00:00:00 2001 From: liamfallon Date: Mon, 6 Jan 2025 14:54:01 +0000 Subject: [PATCH 3/5] Updated readme with package structure --- workloads/examples/network-function-with-subpackages/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workloads/examples/network-function-with-subpackages/README.md b/workloads/examples/network-function-with-subpackages/README.md index 86c02bc8..9badc572 100644 --- a/workloads/examples/network-function-with-subpackages/README.md +++ b/workloads/examples/network-function-with-subpackages/README.md @@ -4,7 +4,7 @@ This is an example demo pacakge with two levels of subpackages, with the main package and all its subpackages deploying separate deployments of nginx -The package has teh following structure: +The package has the following structure: ``` main--+--sub1--+--sub1sub1 From 57837b4216819ad843ab8f7fab56d650a595467e Mon Sep 17 00:00:00 2001 From: liamfallon Date: Mon, 6 Jan 2025 14:54:40 +0000 Subject: [PATCH 4/5] Updated readme with package structure --- workloads/examples/network-function-with-subpackages/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workloads/examples/network-function-with-subpackages/README.md b/workloads/examples/network-function-with-subpackages/README.md index 9badc572..ed1da431 100644 --- a/workloads/examples/network-function-with-subpackages/README.md +++ b/workloads/examples/network-function-with-subpackages/README.md @@ -14,4 +14,4 @@ main--+--sub1--+--sub1sub1 main--+--sub2--+--sub2sub1 | +--sub2sub2 - \ No newline at end of file +``` \ No newline at end of file From 74eca6ced09908ef740b193b66f459117c9e775a Mon Sep 17 00:00:00 2001 From: liamfallon Date: Mon, 6 Jan 2025 14:55:31 +0000 Subject: [PATCH 5/5] Updated readme with package structure --- workloads/examples/network-function-with-subpackages/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workloads/examples/network-function-with-subpackages/README.md b/workloads/examples/network-function-with-subpackages/README.md index ed1da431..21c5987d 100644 --- a/workloads/examples/network-function-with-subpackages/README.md +++ b/workloads/examples/network-function-with-subpackages/README.md @@ -11,7 +11,7 @@ main--+--sub1--+--sub1sub1 | | | +--sub1sub2 | -main--+--sub2--+--sub2sub1 + +--sub2--+--sub2sub1 | +--sub2sub2 ``` \ No newline at end of file