From e04420db8cdfe0294824741a17995c0452672866 Mon Sep 17 00:00:00 2001 From: Nick Marti Date: Mon, 18 Nov 2024 12:10:42 +0100 Subject: [PATCH 1/5] Add support for k8ify.imagePullSecret label --- README.md | 1 + pkg/converter/converter.go | 35 +++++++- pkg/ir/ir.go | 5 +- pkg/util/configutils.go | 7 +- tests/golden/imagepullsecrets.yml | 55 ++++++++++++ .../imagepullsecrets/docker-compose-prod.yml | 76 +++++++++++++++++ .../part-of-deployment-oasp-deployment.yaml | 66 +++++++++++++++ .../part-of-deployment-oasp-env-secret.yaml | 12 +++ ...t-of-deployment-oasp-imagePull-secret.yaml | 18 ++++ ...loyment-sidecar-oasp-imagePull-secret.yaml | 18 ++++ .../part-of-statefullset-env-secret.yaml | 11 +++ ...part-of-statefullset-imagePull-secret.yaml | 17 ++++ ...statefullset-sidecar-imagePull-secret.yaml | 17 ++++ .../part-of-statefullset-statefulset.yaml | 83 +++++++++++++++++++ .../regular-deployment-oasp-deployment.yaml | 61 ++++++++++++++ .../regular-deployment-oasp-env-secret.yaml | 12 +++ ...ular-deployment-oasp-imagePull-secret.yaml | 18 ++++ .../regular-statefullset-env-secret.yaml | 11 +++ ...regular-statefullset-imagePull-secret.yaml | 17 ++++ .../regular-statefullset-statefulset.yaml | 78 +++++++++++++++++ 20 files changed, 613 insertions(+), 5 deletions(-) create mode 100644 tests/golden/imagepullsecrets.yml create mode 100644 tests/golden/imagepullsecrets/docker-compose-prod.yml create mode 100644 tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-deployment.yaml create mode 100644 tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-env-secret.yaml create mode 100644 tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-imagePull-secret.yaml create mode 100644 tests/golden/imagepullsecrets/manifests/part-of-deployment-sidecar-oasp-imagePull-secret.yaml create mode 100644 tests/golden/imagepullsecrets/manifests/part-of-statefullset-env-secret.yaml create mode 100644 tests/golden/imagepullsecrets/manifests/part-of-statefullset-imagePull-secret.yaml create mode 100644 tests/golden/imagepullsecrets/manifests/part-of-statefullset-sidecar-imagePull-secret.yaml create mode 100644 tests/golden/imagepullsecrets/manifests/part-of-statefullset-statefulset.yaml create mode 100644 tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-deployment.yaml create mode 100644 tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-env-secret.yaml create mode 100644 tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-imagePull-secret.yaml create mode 100644 tests/golden/imagepullsecrets/manifests/regular-statefullset-env-secret.yaml create mode 100644 tests/golden/imagepullsecrets/manifests/regular-statefullset-imagePull-secret.yaml create mode 100644 tests/golden/imagepullsecrets/manifests/regular-statefullset-statefulset.yaml diff --git a/README.md b/README.md index f54106a..0fa57a3 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,7 @@ Service Labels | Label | Effect | | ------ | ------- | +| `k8ify.imagePullSecret: $env_var` | Creates an ImagePullSecret from the referenced environment variable. Can be used once per service| | `k8ify.singleton: true` | Compose service is only deployed once per environment instead of once per `$ref` per environment | | `k8ify.expose: $host` | The first port is exposed to the internet via a HTTPS ingress with the host name set to `$host` | | `k8ify.expose.$port: $host` | The port `$port` is exposed to the internet via a HTTPS ingress with the host name set to `$host` | diff --git a/pkg/converter/converter.go b/pkg/converter/converter.go index 3d3dccc..969641d 100644 --- a/pkg/converter/converter.go +++ b/pkg/converter/converter.go @@ -2,7 +2,6 @@ package converter import ( "fmt" - v1 "k8s.io/api/policy/v1" "log" "maps" "os" @@ -11,6 +10,8 @@ import ( "strconv" "strings" + v1 "k8s.io/api/policy/v1" + composeTypes "github.com/compose-spec/compose-go/types" "github.com/sirupsen/logrus" "github.com/vshn/k8ify/pkg/ir" @@ -120,6 +121,18 @@ func composeServiceToSecret(workload *ir.Service, refSlug string, labels map[str return &secret } +func composeServiceToPullSecret(authConf string, name string, labels map[string]string) *core.Secret { + secret := core.Secret{} + secret.APIVersion = "v1" + secret.Kind = "Secret" + secret.Type = core.SecretTypeDockerConfigJson + secret.Name = name + "-imagePull" + secret.Labels = labels + secret.Annotations = util.Annotations(labels, "Secret") + secret.StringData = map[string]string{".dockerconfigjson": authConf} + return &secret +} + func composeServiceToDeployment( workload *ir.Service, refSlug string, @@ -234,13 +247,30 @@ func composeServiceToPodTemplate( if secret != nil { secrets = append(secrets, *secret) } - + imagePullSecretReference := []core.LocalObjectReference{} + if util.ImagePullSecret(workload.AsCompose().Labels) != nil { + imagePullSecret := composeServiceToPullSecret( + *util.ImagePullSecret(workload.AsCompose().Labels), + workload.Name+refSlug, + labels) + secrets = append(secrets, *imagePullSecret) + imagePullSecretReference = append(imagePullSecretReference, core.LocalObjectReference{Name: imagePullSecret.Name + "-secret"}) + } for _, part := range workload.GetParts() { c, s, cvs := composeServiceToContainer(part, refSlug, projectVolumes, labels) containers = append(containers, c) if s != nil { secrets = append(secrets, *s) } + if util.ImagePullSecret(part.AsCompose().Labels) != nil { + imagePullSecret := composeServiceToPullSecret( + *util.ImagePullSecret(part.AsCompose().Labels), + part.Name+refSlug, + labels) + secrets = append(secrets, *imagePullSecret) + imagePullSecretReference = append(imagePullSecretReference, core.LocalObjectReference{Name: imagePullSecret.Name + "-secret"}) + + } maps.Copy(volumes, cvs) } @@ -259,6 +289,7 @@ func composeServiceToPodTemplate( podSpec := core.PodSpec{ EnableServiceLinks: &enableServiceLinks, + ImagePullSecrets: imagePullSecretReference, Containers: containers, RestartPolicy: core.RestartPolicyAlways, Volumes: volumesArray, diff --git a/pkg/ir/ir.go b/pkg/ir/ir.go index 3fc7816..ee349e2 100644 --- a/pkg/ir/ir.go +++ b/pkg/ir/ir.go @@ -1,11 +1,12 @@ package ir import ( + "strconv" + "strings" + composeTypes "github.com/compose-spec/compose-go/types" "github.com/vshn/k8ify/pkg/util" "k8s.io/apimachinery/pkg/api/resource" - "strconv" - "strings" ) type Inputs struct { diff --git a/pkg/util/configutils.go b/pkg/util/configutils.go index 17f1f22..a9349d3 100644 --- a/pkg/util/configutils.go +++ b/pkg/util/configutils.go @@ -2,13 +2,14 @@ package util import ( "fmt" - core "k8s.io/api/core/v1" "maps" "os" "regexp" "strconv" "strings" + core "k8s.io/api/core/v1" + "github.com/docker/go-units" "github.com/sirupsen/logrus" "k8s.io/apimachinery/pkg/api/resource" @@ -106,6 +107,10 @@ func PartOf(labels map[string]string) *string { return GetOptional(labels, "k8ify.partOf") } +func ImagePullSecret(labels map[string]string) *string { + return GetOptional(labels, "k8ify.imagePullSecret") +} + // StorageSize determines the requested storage size for a volume, or a // fallback value. func StorageSize(labels map[string]string, fallback string) resource.Quantity { diff --git a/tests/golden/imagepullsecrets.yml b/tests/golden/imagepullsecrets.yml new file mode 100644 index 0000000..ba24d5a --- /dev/null +++ b/tests/golden/imagepullsecrets.yml @@ -0,0 +1,55 @@ +--- +environments: + prod: + vars: + REGULAR_DEPLOYMENT_IMAGEPULLSECRET: | + { + "auths": { + "https://index.docker.io/v1/": { + "auth": "foo" + } + } + } + REGULAR_STATEFULLSET_IMAGEPULLSECRET: | + { + "auths": { + "https://index.docker.io/v1/": { + "auth": "bar" + } + } + } + PART_OF_DEPLOYMENT_IMAGEPULLSECRET: | + { + "auths": { + "https://index.docker.io/v1/": { + "auth": "foo-baz" + } + } + } + PART_OF_DEPLOYMENT_SIDECAR_IMAGEPULLSECRET: | + { + "auths": { + "https://index.docker.io/v1/": { + "auth": "foo-baz-part" + } + } + } + PART_OF_STATEFULLSET_IMAGEPULLSECRET: | + { + "auths": { + "https://index.docker.io/v1/": { + "auth": "bar-baz" + } + } + } + PART_OF_STATEFULLSET_SIDECAR_IMMAGEPULLSECRET: | + { + "auths": { + "https://index.docker.io/v1/": { + "auth": "bar-baz-part" + } + } + } + FOO : "one" + BAR : "two" + BAZ : "three" \ No newline at end of file diff --git a/tests/golden/imagepullsecrets/docker-compose-prod.yml b/tests/golden/imagepullsecrets/docker-compose-prod.yml new file mode 100644 index 0000000..480d079 --- /dev/null +++ b/tests/golden/imagepullsecrets/docker-compose-prod.yml @@ -0,0 +1,76 @@ +version: '3.4' +services: + regular-deployment: + image: nginx + labels: + k8ify.imagePullSecret: '$REGULAR_DEPLOYMENT_IMAGEPULLSECRET' + environment: + - FOO + - BAR=${BAR} + - something_else=${BAZ} + - "PASSWORD=$_ref_:mongodb-secret:password" + - "FOOREF=$_ref_:foo:fooooooo" + - "BARREF=$_ref_:bar:baaaaaar" + + regular-statefullset: + image: mongodb + labels: + k8ify.imagePullSecret: '$REGULAR_STATEFULLSET_IMAGEPULLSECRET' + k8ify.singleton: true + volumes: + - regular-statefullset:/data + environment: + - FOO + - BAR=${BAR} + - something_else=${BAZ} + - "PASSWORD=$_ref_:mongodb-secret:password" + - "FOOREF=$_ref_:foo:fooooooo" + - "BARREF=$_ref_:bar:baaaaaar" + + part-of-deployment: + image: nginx-frontend + labels: + k8ify.imagePullSecret: '$PART_OF_DEPLOYMENT_IMAGEPULLSECRET' + environment: + - FOO + - BAR=${BAR} + - something_else=${BAZ} + - "PASSWORD=$_ref_:mongodb-secret:password" + - "FOOREF=$_ref_:foo:fooooooo" + - "BARREF=$_ref_:bar:baaaaaar" + + part-of-deployment-sidecar: + image: php-backend + labels: + k8ify.imagePullSecret: '$PART_OF_DEPLOYMENT_SIDECAR_IMAGEPULLSECRET' + k8ify.partOf: 'part-of-deployment' + + part-of-statefullset: + labels: + k8ify.imagePullSecret: '$PART_OF_STATEFULLSET_IMAGEPULLSECRET' + k8ify.singleton: true + image: postgres + volumes: + - part-of-statefullset:/data + environment: + - FOO + - BAR=${BAR} + - something_else=${BAZ} + - "PASSWORD=$_ref_:mongodb-secret:password" + - "FOOREF=$_ref_:foo:fooooooo" + - "BARREF=$_ref_:bar:baaaaaar" + + part-of-statefullset-sidecar: + labels: + k8ify.imagePullSecret: '$PART_OF_STATEFULLSET_SIDECAR_IMMAGEPULLSECRET' + k8ify.partOf: 'part-of-statefullset' + k8ify.singleton: true + image: pgpool + +volumes: + regular-statefullset: + labels: + k8ify.singleton: true + part-of-statefullset: + labels: + k8ify.singleton: true diff --git a/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-deployment.yaml b/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-deployment.yaml new file mode 100644 index 0000000..bdd030d --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-deployment.yaml @@ -0,0 +1,66 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + creationTimestamp: null + labels: + k8ify.ref-slug: oasp + k8ify.service: part-of-deployment + name: part-of-deployment-oasp +spec: + selector: + matchLabels: + k8ify.ref-slug: oasp + k8ify.service: part-of-deployment + strategy: + type: Recreate + template: + metadata: + creationTimestamp: null + labels: + k8ify.ref-slug: oasp + k8ify.service: part-of-deployment + spec: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: k8ify.service + operator: In + values: + - part-of-deployment + topologyKey: kubernetes.io/hostname + containers: + - env: + - name: BARREF + valueFrom: + secretKeyRef: + key: baaaaaar + name: bar + - name: FOOREF + valueFrom: + secretKeyRef: + key: fooooooo + name: foo + - name: PASSWORD + valueFrom: + secretKeyRef: + key: password + name: mongodb-secret + envFrom: + - secretRef: + name: part-of-deployment-oasp-env + image: nginx-frontend + imagePullPolicy: Always + name: part-of-deployment-oasp + resources: {} + - image: php-backend + imagePullPolicy: Always + name: part-of-deployment-sidecar-oasp + resources: {} + enableServiceLinks: false + imagePullSecrets: + - name: part-of-deployment-oasp-imagePull-secret + - name: part-of-deployment-sidecar-oasp-imagePull-secret + restartPolicy: Always +status: {} diff --git a/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-env-secret.yaml b/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-env-secret.yaml new file mode 100644 index 0000000..1bcb808 --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-env-secret.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Secret +metadata: + creationTimestamp: null + labels: + k8ify.ref-slug: oasp + k8ify.service: part-of-deployment + name: part-of-deployment-oasp-env +stringData: + BAR: two + FOO: one + something_else: three diff --git a/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-imagePull-secret.yaml b/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-imagePull-secret.yaml new file mode 100644 index 0000000..1cc4047 --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-imagePull-secret.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Secret +metadata: + creationTimestamp: null + labels: + k8ify.ref-slug: oasp + k8ify.service: part-of-deployment + name: part-of-deployment-oasp-imagePull +stringData: + .dockerconfigjson: | + { + "auths": { + "https://index.docker.io/v1/": { + "auth": "foo-baz" + } + } + } +type: kubernetes.io/dockerconfigjson diff --git a/tests/golden/imagepullsecrets/manifests/part-of-deployment-sidecar-oasp-imagePull-secret.yaml b/tests/golden/imagepullsecrets/manifests/part-of-deployment-sidecar-oasp-imagePull-secret.yaml new file mode 100644 index 0000000..56b791a --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/part-of-deployment-sidecar-oasp-imagePull-secret.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Secret +metadata: + creationTimestamp: null + labels: + k8ify.ref-slug: oasp + k8ify.service: part-of-deployment + name: part-of-deployment-sidecar-oasp-imagePull +stringData: + .dockerconfigjson: | + { + "auths": { + "https://index.docker.io/v1/": { + "auth": "foo-baz-part" + } + } + } +type: kubernetes.io/dockerconfigjson diff --git a/tests/golden/imagepullsecrets/manifests/part-of-statefullset-env-secret.yaml b/tests/golden/imagepullsecrets/manifests/part-of-statefullset-env-secret.yaml new file mode 100644 index 0000000..b9c4514 --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/part-of-statefullset-env-secret.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Secret +metadata: + creationTimestamp: null + labels: + k8ify.service: part-of-statefullset + name: part-of-statefullset-env +stringData: + BAR: two + FOO: one + something_else: three diff --git a/tests/golden/imagepullsecrets/manifests/part-of-statefullset-imagePull-secret.yaml b/tests/golden/imagepullsecrets/manifests/part-of-statefullset-imagePull-secret.yaml new file mode 100644 index 0000000..8c6f28b --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/part-of-statefullset-imagePull-secret.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Secret +metadata: + creationTimestamp: null + labels: + k8ify.service: part-of-statefullset + name: part-of-statefullset-imagePull +stringData: + .dockerconfigjson: | + { + "auths": { + "https://index.docker.io/v1/": { + "auth": "bar-baz" + } + } + } +type: kubernetes.io/dockerconfigjson diff --git a/tests/golden/imagepullsecrets/manifests/part-of-statefullset-sidecar-imagePull-secret.yaml b/tests/golden/imagepullsecrets/manifests/part-of-statefullset-sidecar-imagePull-secret.yaml new file mode 100644 index 0000000..4909da5 --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/part-of-statefullset-sidecar-imagePull-secret.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Secret +metadata: + creationTimestamp: null + labels: + k8ify.service: part-of-statefullset + name: part-of-statefullset-sidecar-imagePull +stringData: + .dockerconfigjson: | + { + "auths": { + "https://index.docker.io/v1/": { + "auth": "bar-baz-part" + } + } + } +type: kubernetes.io/dockerconfigjson diff --git a/tests/golden/imagepullsecrets/manifests/part-of-statefullset-statefulset.yaml b/tests/golden/imagepullsecrets/manifests/part-of-statefullset-statefulset.yaml new file mode 100644 index 0000000..20b29fe --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/part-of-statefullset-statefulset.yaml @@ -0,0 +1,83 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + creationTimestamp: null + labels: + k8ify.service: part-of-statefullset + name: part-of-statefullset +spec: + selector: + matchLabels: + k8ify.service: part-of-statefullset + serviceName: "" + template: + metadata: + creationTimestamp: null + labels: + k8ify.service: part-of-statefullset + spec: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: k8ify.service + operator: In + values: + - part-of-statefullset + topologyKey: kubernetes.io/hostname + containers: + - env: + - name: BARREF + valueFrom: + secretKeyRef: + key: baaaaaar + name: bar + - name: FOOREF + valueFrom: + secretKeyRef: + key: fooooooo + name: foo + - name: PASSWORD + valueFrom: + secretKeyRef: + key: password + name: mongodb-secret + envFrom: + - secretRef: + name: part-of-statefullset-env + image: postgres + imagePullPolicy: Always + name: part-of-statefullset + resources: {} + volumeMounts: + - mountPath: /data + name: part-of-statefullset + - image: pgpool + imagePullPolicy: Always + name: part-of-statefullset-sidecar + resources: {} + enableServiceLinks: false + imagePullSecrets: + - name: part-of-statefullset-imagePull-secret + - name: part-of-statefullset-sidecar-imagePull-secret + restartPolicy: Always + updateStrategy: {} + volumeClaimTemplates: + - apiVersion: v1 + kind: PersistentVolumeClaim + metadata: + creationTimestamp: null + labels: + k8ify.service: part-of-statefullset + name: part-of-statefullset + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + status: {} +status: + availableReplicas: 0 + replicas: 0 diff --git a/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-deployment.yaml b/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-deployment.yaml new file mode 100644 index 0000000..90255e1 --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-deployment.yaml @@ -0,0 +1,61 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + creationTimestamp: null + labels: + k8ify.ref-slug: oasp + k8ify.service: regular-deployment + name: regular-deployment-oasp +spec: + selector: + matchLabels: + k8ify.ref-slug: oasp + k8ify.service: regular-deployment + strategy: + type: Recreate + template: + metadata: + creationTimestamp: null + labels: + k8ify.ref-slug: oasp + k8ify.service: regular-deployment + spec: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: k8ify.service + operator: In + values: + - regular-deployment + topologyKey: kubernetes.io/hostname + containers: + - env: + - name: BARREF + valueFrom: + secretKeyRef: + key: baaaaaar + name: bar + - name: FOOREF + valueFrom: + secretKeyRef: + key: fooooooo + name: foo + - name: PASSWORD + valueFrom: + secretKeyRef: + key: password + name: mongodb-secret + envFrom: + - secretRef: + name: regular-deployment-oasp-env + image: nginx + imagePullPolicy: Always + name: regular-deployment-oasp + resources: {} + enableServiceLinks: false + imagePullSecrets: + - name: regular-deployment-oasp-imagePull-secret + restartPolicy: Always +status: {} diff --git a/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-env-secret.yaml b/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-env-secret.yaml new file mode 100644 index 0000000..8a3b76f --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-env-secret.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Secret +metadata: + creationTimestamp: null + labels: + k8ify.ref-slug: oasp + k8ify.service: regular-deployment + name: regular-deployment-oasp-env +stringData: + BAR: two + FOO: one + something_else: three diff --git a/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-imagePull-secret.yaml b/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-imagePull-secret.yaml new file mode 100644 index 0000000..ba81d92 --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-imagePull-secret.yaml @@ -0,0 +1,18 @@ +apiVersion: v1 +kind: Secret +metadata: + creationTimestamp: null + labels: + k8ify.ref-slug: oasp + k8ify.service: regular-deployment + name: regular-deployment-oasp-imagePull +stringData: + .dockerconfigjson: | + { + "auths": { + "https://index.docker.io/v1/": { + "auth": "foo" + } + } + } +type: kubernetes.io/dockerconfigjson diff --git a/tests/golden/imagepullsecrets/manifests/regular-statefullset-env-secret.yaml b/tests/golden/imagepullsecrets/manifests/regular-statefullset-env-secret.yaml new file mode 100644 index 0000000..db904ef --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/regular-statefullset-env-secret.yaml @@ -0,0 +1,11 @@ +apiVersion: v1 +kind: Secret +metadata: + creationTimestamp: null + labels: + k8ify.service: regular-statefullset + name: regular-statefullset-env +stringData: + BAR: two + FOO: one + something_else: three diff --git a/tests/golden/imagepullsecrets/manifests/regular-statefullset-imagePull-secret.yaml b/tests/golden/imagepullsecrets/manifests/regular-statefullset-imagePull-secret.yaml new file mode 100644 index 0000000..d4d5be0 --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/regular-statefullset-imagePull-secret.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Secret +metadata: + creationTimestamp: null + labels: + k8ify.service: regular-statefullset + name: regular-statefullset-imagePull +stringData: + .dockerconfigjson: | + { + "auths": { + "https://index.docker.io/v1/": { + "auth": "bar" + } + } + } +type: kubernetes.io/dockerconfigjson diff --git a/tests/golden/imagepullsecrets/manifests/regular-statefullset-statefulset.yaml b/tests/golden/imagepullsecrets/manifests/regular-statefullset-statefulset.yaml new file mode 100644 index 0000000..b763ee3 --- /dev/null +++ b/tests/golden/imagepullsecrets/manifests/regular-statefullset-statefulset.yaml @@ -0,0 +1,78 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + creationTimestamp: null + labels: + k8ify.service: regular-statefullset + name: regular-statefullset +spec: + selector: + matchLabels: + k8ify.service: regular-statefullset + serviceName: "" + template: + metadata: + creationTimestamp: null + labels: + k8ify.service: regular-statefullset + spec: + affinity: + podAntiAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + - labelSelector: + matchExpressions: + - key: k8ify.service + operator: In + values: + - regular-statefullset + topologyKey: kubernetes.io/hostname + containers: + - env: + - name: BARREF + valueFrom: + secretKeyRef: + key: baaaaaar + name: bar + - name: FOOREF + valueFrom: + secretKeyRef: + key: fooooooo + name: foo + - name: PASSWORD + valueFrom: + secretKeyRef: + key: password + name: mongodb-secret + envFrom: + - secretRef: + name: regular-statefullset-env + image: mongodb + imagePullPolicy: Always + name: regular-statefullset + resources: {} + volumeMounts: + - mountPath: /data + name: regular-statefullset + enableServiceLinks: false + imagePullSecrets: + - name: regular-statefullset-imagePull-secret + restartPolicy: Always + updateStrategy: {} + volumeClaimTemplates: + - apiVersion: v1 + kind: PersistentVolumeClaim + metadata: + creationTimestamp: null + labels: + k8ify.service: regular-statefullset + name: regular-statefullset + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + status: {} +status: + availableReplicas: 0 + replicas: 0 From ad84c4d80e0f1d96ba2ee53269fac35fb255c936 Mon Sep 17 00:00:00 2001 From: Nick Marti Date: Mon, 18 Nov 2024 15:33:18 +0100 Subject: [PATCH 2/5] Fix typo --- tests/golden/imagepullsecrets.yml | 8 +++---- .../imagepullsecrets/docker-compose-prod.yml | 22 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/tests/golden/imagepullsecrets.yml b/tests/golden/imagepullsecrets.yml index ba24d5a..aff924c 100644 --- a/tests/golden/imagepullsecrets.yml +++ b/tests/golden/imagepullsecrets.yml @@ -10,7 +10,7 @@ environments: } } } - REGULAR_STATEFULLSET_IMAGEPULLSECRET: | + REGULAR_STATEFULSET_IMAGEPULLSECRET: | { "auths": { "https://index.docker.io/v1/": { @@ -34,7 +34,7 @@ environments: } } } - PART_OF_STATEFULLSET_IMAGEPULLSECRET: | + PART_OF_STATEFULSET_IMAGEPULLSECRET: | { "auths": { "https://index.docker.io/v1/": { @@ -42,7 +42,7 @@ environments: } } } - PART_OF_STATEFULLSET_SIDECAR_IMMAGEPULLSECRET: | + PART_OF_STATEFULSET_SIDECAR_IMMAGEPULLSECRET: | { "auths": { "https://index.docker.io/v1/": { @@ -52,4 +52,4 @@ environments: } FOO : "one" BAR : "two" - BAZ : "three" \ No newline at end of file + BAZ : "three" diff --git a/tests/golden/imagepullsecrets/docker-compose-prod.yml b/tests/golden/imagepullsecrets/docker-compose-prod.yml index 480d079..cb96357 100644 --- a/tests/golden/imagepullsecrets/docker-compose-prod.yml +++ b/tests/golden/imagepullsecrets/docker-compose-prod.yml @@ -12,13 +12,13 @@ services: - "FOOREF=$_ref_:foo:fooooooo" - "BARREF=$_ref_:bar:baaaaaar" - regular-statefullset: + regular-statefulset: image: mongodb labels: - k8ify.imagePullSecret: '$REGULAR_STATEFULLSET_IMAGEPULLSECRET' + k8ify.imagePullSecret: '$REGULAR_STATEFULSET_IMAGEPULLSECRET' k8ify.singleton: true volumes: - - regular-statefullset:/data + - regular-statefulset:/data environment: - FOO - BAR=${BAR} @@ -45,13 +45,13 @@ services: k8ify.imagePullSecret: '$PART_OF_DEPLOYMENT_SIDECAR_IMAGEPULLSECRET' k8ify.partOf: 'part-of-deployment' - part-of-statefullset: + part-of-statefulset: labels: - k8ify.imagePullSecret: '$PART_OF_STATEFULLSET_IMAGEPULLSECRET' + k8ify.imagePullSecret: '$PART_OF_STATEFULSET_IMAGEPULLSECRET' k8ify.singleton: true image: postgres volumes: - - part-of-statefullset:/data + - part-of-statefulset:/data environment: - FOO - BAR=${BAR} @@ -60,17 +60,17 @@ services: - "FOOREF=$_ref_:foo:fooooooo" - "BARREF=$_ref_:bar:baaaaaar" - part-of-statefullset-sidecar: + part-of-statefulset-sidecar: labels: - k8ify.imagePullSecret: '$PART_OF_STATEFULLSET_SIDECAR_IMMAGEPULLSECRET' - k8ify.partOf: 'part-of-statefullset' + k8ify.imagePullSecret: '$PART_OF_STATEFULSET_SIDECAR_IMMAGEPULLSECRET' + k8ify.partOf: 'part-of-statefulset' k8ify.singleton: true image: pgpool volumes: - regular-statefullset: + regular-statefulset: labels: k8ify.singleton: true - part-of-statefullset: + part-of-statefulset: labels: k8ify.singleton: true From 22b814f1ee0e7c0be2b8788096702678f359a71b Mon Sep 17 00:00:00 2001 From: Nick Marti Date: Mon, 18 Nov 2024 15:36:15 +0100 Subject: [PATCH 3/5] Adhere to naming convention --- pkg/converter/converter.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/converter/converter.go b/pkg/converter/converter.go index 969641d..1d5864b 100644 --- a/pkg/converter/converter.go +++ b/pkg/converter/converter.go @@ -126,7 +126,7 @@ func composeServiceToPullSecret(authConf string, name string, labels map[string] secret.APIVersion = "v1" secret.Kind = "Secret" secret.Type = core.SecretTypeDockerConfigJson - secret.Name = name + "-imagePull" + secret.Name = name + "-image-pull" secret.Labels = labels secret.Annotations = util.Annotations(labels, "Secret") secret.StringData = map[string]string{".dockerconfigjson": authConf} From 6ea6b8fd7e15ee4e50b62b340ddb11505eddf234 Mon Sep 17 00:00:00 2001 From: Nick Marti Date: Mon, 18 Nov 2024 15:41:37 +0100 Subject: [PATCH 4/5] Add link to example for imagePullSecret value format --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0fa57a3..fefbbb4 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,7 @@ Service Labels | Label | Effect | | ------ | ------- | -| `k8ify.imagePullSecret: $env_var` | Creates an ImagePullSecret from the referenced environment variable. Can be used once per service| +| `k8ify.imagePullSecret: $env_var` | Creates an ImagePullSecret from the referenced environment variable([example](https://github.com/vshn/k8ify/blob/22b814f1ee0e7c0be2b8788096702678f359a71b/tests/golden/imagepullsecrets.yml)). Can be used once per service.| | `k8ify.singleton: true` | Compose service is only deployed once per environment instead of once per `$ref` per environment | | `k8ify.expose: $host` | The first port is exposed to the internet via a HTTPS ingress with the host name set to `$host` | | `k8ify.expose.$port: $host` | The port `$port` is exposed to the internet via a HTTPS ingress with the host name set to `$host` | From 3d51902273888c2ac9826b2d14eefa010b136d3d Mon Sep 17 00:00:00 2001 From: Nick Marti Date: Mon, 18 Nov 2024 15:47:59 +0100 Subject: [PATCH 5/5] Update tests --- .../part-of-deployment-oasp-deployment.yaml | 4 +-- ...of-deployment-oasp-image-pull-secret.yaml} | 2 +- ...yment-sidecar-oasp-image-pull-secret.yaml} | 2 +- ...ml => part-of-statefulset-env-secret.yaml} | 4 +-- ...art-of-statefulset-image-pull-secret.yaml} | 4 +-- ...tatefulset-sidecar-image-pull-secret.yaml} | 4 +-- ...l => part-of-statefulset-statefulset.yaml} | 26 +++++++++---------- .../regular-deployment-oasp-deployment.yaml | 2 +- ...ar-deployment-oasp-image-pull-secret.yaml} | 2 +- ...ml => regular-statefulset-env-secret.yaml} | 4 +-- ...egular-statefulset-image-pull-secret.yaml} | 4 +-- ...l => regular-statefulset-statefulset.yaml} | 22 ++++++++-------- 12 files changed, 40 insertions(+), 40 deletions(-) rename tests/golden/imagepullsecrets/manifests/{part-of-deployment-oasp-imagePull-secret.yaml => part-of-deployment-oasp-image-pull-secret.yaml} (88%) rename tests/golden/imagepullsecrets/manifests/{part-of-deployment-sidecar-oasp-imagePull-secret.yaml => part-of-deployment-sidecar-oasp-image-pull-secret.yaml} (86%) rename tests/golden/imagepullsecrets/manifests/{regular-statefullset-env-secret.yaml => part-of-statefulset-env-secret.yaml} (64%) rename tests/golden/imagepullsecrets/manifests/{part-of-statefullset-imagePull-secret.yaml => part-of-statefulset-image-pull-secret.yaml} (76%) rename tests/golden/imagepullsecrets/manifests/{part-of-statefullset-sidecar-imagePull-secret.yaml => part-of-statefulset-sidecar-image-pull-secret.yaml} (75%) rename tests/golden/imagepullsecrets/manifests/{part-of-statefullset-statefulset.yaml => part-of-statefulset-statefulset.yaml} (74%) rename tests/golden/imagepullsecrets/manifests/{regular-deployment-oasp-imagePull-secret.yaml => regular-deployment-oasp-image-pull-secret.yaml} (88%) rename tests/golden/imagepullsecrets/manifests/{part-of-statefullset-env-secret.yaml => regular-statefulset-env-secret.yaml} (64%) rename tests/golden/imagepullsecrets/manifests/{regular-statefullset-imagePull-secret.yaml => regular-statefulset-image-pull-secret.yaml} (76%) rename tests/golden/imagepullsecrets/manifests/{regular-statefullset-statefulset.yaml => regular-statefulset-statefulset.yaml} (77%) diff --git a/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-deployment.yaml b/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-deployment.yaml index bdd030d..e7541ef 100644 --- a/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-deployment.yaml +++ b/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-deployment.yaml @@ -60,7 +60,7 @@ spec: resources: {} enableServiceLinks: false imagePullSecrets: - - name: part-of-deployment-oasp-imagePull-secret - - name: part-of-deployment-sidecar-oasp-imagePull-secret + - name: part-of-deployment-oasp-image-pull-secret + - name: part-of-deployment-sidecar-oasp-image-pull-secret restartPolicy: Always status: {} diff --git a/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-imagePull-secret.yaml b/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-image-pull-secret.yaml similarity index 88% rename from tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-imagePull-secret.yaml rename to tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-image-pull-secret.yaml index 1cc4047..568e824 100644 --- a/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-imagePull-secret.yaml +++ b/tests/golden/imagepullsecrets/manifests/part-of-deployment-oasp-image-pull-secret.yaml @@ -5,7 +5,7 @@ metadata: labels: k8ify.ref-slug: oasp k8ify.service: part-of-deployment - name: part-of-deployment-oasp-imagePull + name: part-of-deployment-oasp-image-pull stringData: .dockerconfigjson: | { diff --git a/tests/golden/imagepullsecrets/manifests/part-of-deployment-sidecar-oasp-imagePull-secret.yaml b/tests/golden/imagepullsecrets/manifests/part-of-deployment-sidecar-oasp-image-pull-secret.yaml similarity index 86% rename from tests/golden/imagepullsecrets/manifests/part-of-deployment-sidecar-oasp-imagePull-secret.yaml rename to tests/golden/imagepullsecrets/manifests/part-of-deployment-sidecar-oasp-image-pull-secret.yaml index 56b791a..0956830 100644 --- a/tests/golden/imagepullsecrets/manifests/part-of-deployment-sidecar-oasp-imagePull-secret.yaml +++ b/tests/golden/imagepullsecrets/manifests/part-of-deployment-sidecar-oasp-image-pull-secret.yaml @@ -5,7 +5,7 @@ metadata: labels: k8ify.ref-slug: oasp k8ify.service: part-of-deployment - name: part-of-deployment-sidecar-oasp-imagePull + name: part-of-deployment-sidecar-oasp-image-pull stringData: .dockerconfigjson: | { diff --git a/tests/golden/imagepullsecrets/manifests/regular-statefullset-env-secret.yaml b/tests/golden/imagepullsecrets/manifests/part-of-statefulset-env-secret.yaml similarity index 64% rename from tests/golden/imagepullsecrets/manifests/regular-statefullset-env-secret.yaml rename to tests/golden/imagepullsecrets/manifests/part-of-statefulset-env-secret.yaml index db904ef..bc0b8c3 100644 --- a/tests/golden/imagepullsecrets/manifests/regular-statefullset-env-secret.yaml +++ b/tests/golden/imagepullsecrets/manifests/part-of-statefulset-env-secret.yaml @@ -3,8 +3,8 @@ kind: Secret metadata: creationTimestamp: null labels: - k8ify.service: regular-statefullset - name: regular-statefullset-env + k8ify.service: part-of-statefulset + name: part-of-statefulset-env stringData: BAR: two FOO: one diff --git a/tests/golden/imagepullsecrets/manifests/part-of-statefullset-imagePull-secret.yaml b/tests/golden/imagepullsecrets/manifests/part-of-statefulset-image-pull-secret.yaml similarity index 76% rename from tests/golden/imagepullsecrets/manifests/part-of-statefullset-imagePull-secret.yaml rename to tests/golden/imagepullsecrets/manifests/part-of-statefulset-image-pull-secret.yaml index 8c6f28b..304d689 100644 --- a/tests/golden/imagepullsecrets/manifests/part-of-statefullset-imagePull-secret.yaml +++ b/tests/golden/imagepullsecrets/manifests/part-of-statefulset-image-pull-secret.yaml @@ -3,8 +3,8 @@ kind: Secret metadata: creationTimestamp: null labels: - k8ify.service: part-of-statefullset - name: part-of-statefullset-imagePull + k8ify.service: part-of-statefulset + name: part-of-statefulset-image-pull stringData: .dockerconfigjson: | { diff --git a/tests/golden/imagepullsecrets/manifests/part-of-statefullset-sidecar-imagePull-secret.yaml b/tests/golden/imagepullsecrets/manifests/part-of-statefulset-sidecar-image-pull-secret.yaml similarity index 75% rename from tests/golden/imagepullsecrets/manifests/part-of-statefullset-sidecar-imagePull-secret.yaml rename to tests/golden/imagepullsecrets/manifests/part-of-statefulset-sidecar-image-pull-secret.yaml index 4909da5..315b94d 100644 --- a/tests/golden/imagepullsecrets/manifests/part-of-statefullset-sidecar-imagePull-secret.yaml +++ b/tests/golden/imagepullsecrets/manifests/part-of-statefulset-sidecar-image-pull-secret.yaml @@ -3,8 +3,8 @@ kind: Secret metadata: creationTimestamp: null labels: - k8ify.service: part-of-statefullset - name: part-of-statefullset-sidecar-imagePull + k8ify.service: part-of-statefulset + name: part-of-statefulset-sidecar-image-pull stringData: .dockerconfigjson: | { diff --git a/tests/golden/imagepullsecrets/manifests/part-of-statefullset-statefulset.yaml b/tests/golden/imagepullsecrets/manifests/part-of-statefulset-statefulset.yaml similarity index 74% rename from tests/golden/imagepullsecrets/manifests/part-of-statefullset-statefulset.yaml rename to tests/golden/imagepullsecrets/manifests/part-of-statefulset-statefulset.yaml index 20b29fe..db13f0c 100644 --- a/tests/golden/imagepullsecrets/manifests/part-of-statefullset-statefulset.yaml +++ b/tests/golden/imagepullsecrets/manifests/part-of-statefulset-statefulset.yaml @@ -3,18 +3,18 @@ kind: StatefulSet metadata: creationTimestamp: null labels: - k8ify.service: part-of-statefullset - name: part-of-statefullset + k8ify.service: part-of-statefulset + name: part-of-statefulset spec: selector: matchLabels: - k8ify.service: part-of-statefullset + k8ify.service: part-of-statefulset serviceName: "" template: metadata: creationTimestamp: null labels: - k8ify.service: part-of-statefullset + k8ify.service: part-of-statefulset spec: affinity: podAntiAffinity: @@ -24,7 +24,7 @@ spec: - key: k8ify.service operator: In values: - - part-of-statefullset + - part-of-statefulset topologyKey: kubernetes.io/hostname containers: - env: @@ -45,22 +45,22 @@ spec: name: mongodb-secret envFrom: - secretRef: - name: part-of-statefullset-env + name: part-of-statefulset-env image: postgres imagePullPolicy: Always - name: part-of-statefullset + name: part-of-statefulset resources: {} volumeMounts: - mountPath: /data - name: part-of-statefullset + name: part-of-statefulset - image: pgpool imagePullPolicy: Always - name: part-of-statefullset-sidecar + name: part-of-statefulset-sidecar resources: {} enableServiceLinks: false imagePullSecrets: - - name: part-of-statefullset-imagePull-secret - - name: part-of-statefullset-sidecar-imagePull-secret + - name: part-of-statefulset-image-pull-secret + - name: part-of-statefulset-sidecar-image-pull-secret restartPolicy: Always updateStrategy: {} volumeClaimTemplates: @@ -69,8 +69,8 @@ spec: metadata: creationTimestamp: null labels: - k8ify.service: part-of-statefullset - name: part-of-statefullset + k8ify.service: part-of-statefulset + name: part-of-statefulset spec: accessModes: - ReadWriteOnce diff --git a/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-deployment.yaml b/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-deployment.yaml index 90255e1..f492b99 100644 --- a/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-deployment.yaml +++ b/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-deployment.yaml @@ -56,6 +56,6 @@ spec: resources: {} enableServiceLinks: false imagePullSecrets: - - name: regular-deployment-oasp-imagePull-secret + - name: regular-deployment-oasp-image-pull-secret restartPolicy: Always status: {} diff --git a/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-imagePull-secret.yaml b/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-image-pull-secret.yaml similarity index 88% rename from tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-imagePull-secret.yaml rename to tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-image-pull-secret.yaml index ba81d92..809f44b 100644 --- a/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-imagePull-secret.yaml +++ b/tests/golden/imagepullsecrets/manifests/regular-deployment-oasp-image-pull-secret.yaml @@ -5,7 +5,7 @@ metadata: labels: k8ify.ref-slug: oasp k8ify.service: regular-deployment - name: regular-deployment-oasp-imagePull + name: regular-deployment-oasp-image-pull stringData: .dockerconfigjson: | { diff --git a/tests/golden/imagepullsecrets/manifests/part-of-statefullset-env-secret.yaml b/tests/golden/imagepullsecrets/manifests/regular-statefulset-env-secret.yaml similarity index 64% rename from tests/golden/imagepullsecrets/manifests/part-of-statefullset-env-secret.yaml rename to tests/golden/imagepullsecrets/manifests/regular-statefulset-env-secret.yaml index b9c4514..cc0e8f9 100644 --- a/tests/golden/imagepullsecrets/manifests/part-of-statefullset-env-secret.yaml +++ b/tests/golden/imagepullsecrets/manifests/regular-statefulset-env-secret.yaml @@ -3,8 +3,8 @@ kind: Secret metadata: creationTimestamp: null labels: - k8ify.service: part-of-statefullset - name: part-of-statefullset-env + k8ify.service: regular-statefulset + name: regular-statefulset-env stringData: BAR: two FOO: one diff --git a/tests/golden/imagepullsecrets/manifests/regular-statefullset-imagePull-secret.yaml b/tests/golden/imagepullsecrets/manifests/regular-statefulset-image-pull-secret.yaml similarity index 76% rename from tests/golden/imagepullsecrets/manifests/regular-statefullset-imagePull-secret.yaml rename to tests/golden/imagepullsecrets/manifests/regular-statefulset-image-pull-secret.yaml index d4d5be0..5f73873 100644 --- a/tests/golden/imagepullsecrets/manifests/regular-statefullset-imagePull-secret.yaml +++ b/tests/golden/imagepullsecrets/manifests/regular-statefulset-image-pull-secret.yaml @@ -3,8 +3,8 @@ kind: Secret metadata: creationTimestamp: null labels: - k8ify.service: regular-statefullset - name: regular-statefullset-imagePull + k8ify.service: regular-statefulset + name: regular-statefulset-image-pull stringData: .dockerconfigjson: | { diff --git a/tests/golden/imagepullsecrets/manifests/regular-statefullset-statefulset.yaml b/tests/golden/imagepullsecrets/manifests/regular-statefulset-statefulset.yaml similarity index 77% rename from tests/golden/imagepullsecrets/manifests/regular-statefullset-statefulset.yaml rename to tests/golden/imagepullsecrets/manifests/regular-statefulset-statefulset.yaml index b763ee3..340a482 100644 --- a/tests/golden/imagepullsecrets/manifests/regular-statefullset-statefulset.yaml +++ b/tests/golden/imagepullsecrets/manifests/regular-statefulset-statefulset.yaml @@ -3,18 +3,18 @@ kind: StatefulSet metadata: creationTimestamp: null labels: - k8ify.service: regular-statefullset - name: regular-statefullset + k8ify.service: regular-statefulset + name: regular-statefulset spec: selector: matchLabels: - k8ify.service: regular-statefullset + k8ify.service: regular-statefulset serviceName: "" template: metadata: creationTimestamp: null labels: - k8ify.service: regular-statefullset + k8ify.service: regular-statefulset spec: affinity: podAntiAffinity: @@ -24,7 +24,7 @@ spec: - key: k8ify.service operator: In values: - - regular-statefullset + - regular-statefulset topologyKey: kubernetes.io/hostname containers: - env: @@ -45,17 +45,17 @@ spec: name: mongodb-secret envFrom: - secretRef: - name: regular-statefullset-env + name: regular-statefulset-env image: mongodb imagePullPolicy: Always - name: regular-statefullset + name: regular-statefulset resources: {} volumeMounts: - mountPath: /data - name: regular-statefullset + name: regular-statefulset enableServiceLinks: false imagePullSecrets: - - name: regular-statefullset-imagePull-secret + - name: regular-statefulset-image-pull-secret restartPolicy: Always updateStrategy: {} volumeClaimTemplates: @@ -64,8 +64,8 @@ spec: metadata: creationTimestamp: null labels: - k8ify.service: regular-statefullset - name: regular-statefullset + k8ify.service: regular-statefulset + name: regular-statefulset spec: accessModes: - ReadWriteOnce