-
Notifications
You must be signed in to change notification settings - Fork 77
Description
I've followed the documentation, step by step (at https://artifacthub.io/packages/helm/smallstep/step-certificates) but I am so confused with the procedure. I think it needs a major clarification.
My end goal is to have a working ACME provider accessible from https://ca.step.example.com hosted on k8s.
I use a docker container to use step-cli.
# Open a shell in the container
docker run --rm -it -v ./step:/home/step --name step-ca smallstep/step-ca bashThen I generate the values.yaml file:
# Installing the chart
# https://artifacthub.io/packages/helm/smallstep/step-certificates#installing-the-chart
step ca init --helm > values.yaml
echo -n "password" | base64 > password-base64.txt
echo -n "password" | base64 > provisioner-password-base64.txtFirst thing to not is this procedure creates a JWK provisioner by default. But how to Not an ACME one. Though, the info is here: https://smallstep.com/docs/step-ca/provisioners/#acme
# exit the container
exitNow let's install the chart:
kubectl create namespace step
helm repo add smallstep https://smallstep.github.io/helm-charts/
helm repo update
helm install -f values.yaml \
--set inject.secrets.ca_password="$(cat password-base64.txt)" \
--set inject.secrets.provisioner_password="$(cat provisioner-password-base64.txt)" \
step-certificates smallstep/step-certificates \
--namespace stepThe pod is stuck in a CrashLoopBackOff
kubectl get pods -n step
NAME READY STATUS RESTARTS AGE
step-certificates-0 0/1 CrashLoopBackOff 6 (4m22s ago) 10mAnd the log show an error:
kubectl logs step-certificates-0 -n step
badger 2025/04/14 14:24:32 INFO: All 0 tables opened in 0s
badger 2025/04/14 14:24:32 INFO: Replaying file id: 0 at offset: 0
badger 2025/04/14 14:24:32 INFO: Replay took: 91.945µs
error allocating terminal: open /dev/tty: no such device or addressAlso, secrets are empty...
Am I missing something?
I have disabled the ingress as well and came with my own IngressRoute:
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: step-certificates
namespace: step
annotations:
kubernetes.io/ingress.class: traefik-external
spec:
entryPoints:
- websecure
routes:
- match: Host(`ca.step.example.com`)
kind: Rule
services:
- name: step-certificates
port: 443