diff --git a/flake.nix b/flake.nix index 6731f03..2061909 100644 --- a/flake.nix +++ b/flake.nix @@ -21,7 +21,7 @@ kubectl docker-machine-kvm2 # Required for run on NixOS sops - helm + kubernetes-helm kubeseal ]; }; diff --git a/sealed_secrets/README.md b/sealed_secrets/README.md new file mode 100644 index 0000000..c4f64aa --- /dev/null +++ b/sealed_secrets/README.md @@ -0,0 +1,28 @@ +# Info + +1. [Installation](https://github.com/bitnami-labs/sealed-secrets?tab=readme-ov-file#helm-chart) + +```console +helm repo add sealed-secrets https://bitnami-labs.github.io/sealed-secrets +``` + +```console +helm install sealed-secrets sealed-secrets/sealed-secrets -f helm/values +``` + +2. Create a secret + +```console +kubectl create secret generic sealed-test-secret --dry-run=client --from-env-file=secrets/mysecrets.env -o yaml | kubeseal \ + --controller-name=sealed-secrets \ + --controller-namespace=default \ + --format yaml +``` + +OR + +```console +echo -n "MySecret" | kubeseal --raw --name sealed-test-secret \ + --controller-name=sealed-secrets \ + --controller-namespace=default +``` \ No newline at end of file diff --git a/sealed_secrets/helm/values.yml b/sealed_secrets/helm/values.yml new file mode 100644 index 0000000..e69de29 diff --git a/sealed_secrets/k8s/kube.yaml b/sealed_secrets/k8s/kube.yaml new file mode 100644 index 0000000..4b546dc --- /dev/null +++ b/sealed_secrets/k8s/kube.yaml @@ -0,0 +1,72 @@ +apiVersion: bitnami.com/v1alpha1 +kind: SealedSecret +metadata: + name: sealed-test-secret + namespace: default +spec: + encryptedData: + MY_KEY: AgCScWr6zB0LBvr6ks3mU5pX5Dtehpfc+cGH2wZDhs4Vh4qhrWexbiEpjHYJktlrZtWNYByM0zvLwuwf5GpYFl9zZYZZRPZ+CpU37w0qNT0KEqcxFN2j9PkGZ4gQKq8rNu1I5XrBd076EoEdcHo2if87ljvN2nBHbpSmrl5OWA9L89fYL9wtP3hKuPXsVlpn7NHlBP8pLpvkhcCJpg6DC3XVKk3TYlB6fm/SLPWDhCVCfbjY7We9BQ1A01gwaBfL80JP7gliOtTKpfhYk4hyHR8D6zhJYigyCzsmK5QpIuqZwPfwettkDbLesYxFZsdos1SKEN4UeYyjjvRZEbtSfgE+EoLt9cy2T1ehmpZaAN3G4RGlCW/n3jMrt1PHF2xl7FwVT1Fdr26i5+5DuBxHTP2zHSmqSepUJWzC9nJDk9q8qC7JB41j2oWKSDUwej4DiTZj4BejWl0LzZ52oj0BM4HbwWEP4ZFlposV9PHnnODkctW1nSdquXRtoIm5pAJb4VSJ/FDzD9DaAVeJGIPPco0RJp1LDHriMYCPGSl49PXUfcZ2DFliUZo9tAVRS0jru3FY8SZeUqafq95zEI1kf03YcLao09AEmQ5R+GwyrJlhC4+3cuIDTW4ODxeIu2X7JFW4LKCCOlmKTNXU4VI5FgFFmKML2YLV1WKfLdO5LZVf5ieL4heubjub1g6/ju/9kj/hP27mxX1POparRIQMygdB2ltLHREvCDTXYNj8j3NncA== +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sealed-test-deployment + labels: + app: sealed-test +spec: + replicas: 2 + selector: + matchLabels: + app: sealed-test + template: + metadata: + labels: + app: sealed-test + spec: + containers: + - name: env-display + image: radeklos/env:latest # Unmaintained image, DON'T USE IT IN PRODUCTION. Just for testing. + ports: + - containerPort: 80 + envFrom: + - secretRef: + name: sealed-test-secret + resources: + requests: + memory: "32Mi" + cpu: 128m + limits: + memory: "64Mi" + cpu: 256m +--- +apiVersion: v1 +kind: Service +metadata: + name: sealed-test-service +spec: + type: ClusterIP + selector: + app: sealed-test + ports: + - protocol: TCP + port: 8000 + targetPort: 5000 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: sealed-test-ingress + annotations: + nginx.ingress.kubernetes.io/rewrite-target: / +spec: + ingressClassName: nginx + rules: + - http: + paths: + - path: /sealed-test + pathType: Prefix + backend: + service: + name: sealed-test-service + port: + number: 8000 diff --git a/sealed_secrets/secrets/mysecrets.env b/sealed_secrets/secrets/mysecrets.env new file mode 100644 index 0000000..7494724 --- /dev/null +++ b/sealed_secrets/secrets/mysecrets.env @@ -0,0 +1,2 @@ +MY_KEY=6aba532a54c9eb9aa30496fa7f22734d +