Is this a critical security issue?
Describe the Bug
On a fresh install (new PVC with no prior data), the puppetserver pod enters
CrashLoopBackOff immediately. The container entrypoint script
/container-entrypoint.d/20-use-templates-initially.sh fails at line 10 with:
/container-entrypoint.d/20-use-templates-initially.sh: line 10: cd: /opt/puppetlabs/server/data/puppetserver/.puppetlabs/etc/puppet: No such file or directory
The script attempts to cd into that path, but the perms-and-dirs init container
does not create it on a fresh PVC, so the directory does not exist when the main
container starts.
Expected Behavior
The perms-and-dirs init container (or equivalent) should create
/opt/puppetlabs/server/data/puppetserver/.puppetlabs/etc/puppet so the
20-use-templates-initially.sh script can succeed on first boot.
Steps to Reproduce
- Fresh cluster with no existing PVCs for this release
helm install (or helm upgrade --install) with default values and
postgresql.enabled: false (external DB)
- Watch the puppetserver pod — it enters CrashLoopBackOff within ~30 seconds
kubectl logs <pod> --previous shows the error above
Environment
Openvox Helm Chart: 10.1.1
Kubernetes: EKS 1.32
Storage: AWS EBS CSI (gp3), fresh PVC
Additional Context
This is reproducible with a completely stock helm install — no custom values
beyond disabling postgresql. The 20-use-templates-initially.sh script in the
image assumes the directory exists but neither the image nor the chart init
container creates it on a fresh mount.
Relevant log output
Is this a critical security issue?
Describe the Bug
On a fresh install (new PVC with no prior data), the puppetserver pod enters
CrashLoopBackOff immediately. The container entrypoint script
/container-entrypoint.d/20-use-templates-initially.shfails at line 10 with:/container-entrypoint.d/20-use-templates-initially.sh: line 10: cd: /opt/puppetlabs/server/data/puppetserver/.puppetlabs/etc/puppet: No such file or directoryThe script attempts to
cdinto that path, but theperms-and-dirsinit containerdoes not create it on a fresh PVC, so the directory does not exist when the main
container starts.
Expected Behavior
The
perms-and-dirsinit container (or equivalent) should create/opt/puppetlabs/server/data/puppetserver/.puppetlabs/etc/puppetso the20-use-templates-initially.shscript can succeed on first boot.Steps to Reproduce
helm install(orhelm upgrade --install) with default values andpostgresql.enabled: false(external DB)kubectl logs <pod> --previousshows the error aboveEnvironment
Openvox Helm Chart: 10.1.1
Kubernetes: EKS 1.32
Storage: AWS EBS CSI (gp3), fresh PVC
Additional Context
This is reproducible with a completely stock helm install — no custom values
beyond disabling postgresql. The 20-use-templates-initially.sh script in the
image assumes the directory exists but neither the image nor the chart init
container creates it on a fresh mount.
Relevant log output