Skip to content

docs: add multi-environment guide, worker troubleshooting, new feature docs#16

Closed
FabienPapet wants to merge 10 commits into
mainfrom
docs/multi-environment-guide
Closed

docs: add multi-environment guide, worker troubleshooting, new feature docs#16
FabienPapet wants to merge 10 commits into
mainfrom
docs/multi-environment-guide

Conversation

@FabienPapet
Copy link
Copy Markdown
Owner

Summary

  • Add multi-environment deployment guide
  • Add worker troubleshooting documentation
  • Add documentation for new features (startupProbe, topologySpreadConstraints, initContainers, etc.)

Test results

  • make lint: PASS
  • make unit-test: 21 suites, 135 tests — all PASS
  • make validate: all 14 example files valid (kubeconform k8s 1.29)

🤖 Generated with Claude Code

FabienPapet and others added 10 commits April 3, 2026 23:18
- Add podSecurityContext and containerSecurityContext to values.yaml
  injected into deployment, worker, crons, and jobs templates
- Add configurable livenessProbe and readinessProbe (opt-in, empty by default)
  injected into deployment and worker templates
- Fix TODO in worker.yaml: use command+args instead of shell-wrapped command array
- Update values.schema.json with new field definitions
- Add tests/security_context_test.yaml and tests/probes_test.yaml (86 tests pass)
- Add examples/12-security.yaml demonstrating hardened deployment

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add templates/hpa.yaml for main deployment HPA (autoscaling/v2)
- Add templates/worker-hpa.yaml for per-worker HPA via autoscale flag
- Add autoscaling section to values.yaml (disabled by default)
  supports minReplicas, maxReplicas, targetCPU%, targetMemory%
- Workers support per-consumer autoscale, minReplicas, maxReplicas, targetCPU%/memory%
- Omit replicas from Deployment spec when HPA is enabled
- Update values.schema.json with autoscaling and worker HPA fields
- Add tests/hpa_test.yaml and tests/worker_hpa_test.yaml (96 tests pass)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add templates/pdb.yaml (policy/v1 PDB targeting main deployment)
- Add podDisruptionBudget section to values.yaml (disabled by default)
  supports minAvailable (default 1) and maxUnavailable
- maxUnavailable takes precedence over minAvailable when both are set
- Update values.schema.json with podDisruptionBudget fields
- Add tests/pdb_test.yaml (103 tests pass)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add CHANGELOG.md in Keep a Changelog format (v0.1.1 through unreleased)
- Add docs/guides/troubleshooting.md covering: CrashLoopBackOff, OOMKilled,
  worker issues, custom PHP ini, ingress/TLS, HPA, PDB, and image pull errors
- Update docs/features.md with HPA, PDB, security context, and health probe sections
- Update docs/customization.md with security context and health probe examples
- Update docs/guides/production.md with PDB, HPA, security, and probe guidance

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Fix monitoring.yaml: metadata.name was a Go template variable assignment
  ({{- $name := ... }}) producing an empty name; replace with inline printf
- Fix service.yaml: service type was hardcoded to 'ClusterIP' ignoring
  .Values.service.type; now uses the configured value with ClusterIP as default
- Add metadata.name and labels assertions to monitoring_test.yaml
- Add LoadBalancer and NodePort service type tests to service_test.yaml

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…onds

- Add nameOverride and fullnameOverride to values.yaml (already in _helpers.tpl)
- Add podAnnotations: {} to values.yaml (already wired in templates)
- Add terminationGracePeriodSeconds (optional) injected into deployment and worker specs
- Update values.schema.json with all three new fields
- Add podAnnotations tests to deployment_test.yaml
- Add terminationGracePeriodSeconds tests to scheduling_test.yaml (112 tests pass)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Add startupProbe: {} to values.yaml (opt-in, empty by default)
- Inject into deployment.yaml and worker.yaml alongside liveness/readiness probes
- Add startupProbe to values.schema.json
- Add Startup Probe and Startup Probe - Workers test suites in probes_test.yaml
- Add examples/13-startup-probe.yaml demonstrating 5-minute startup window
- Update docs/customization.md and docs/features.md with startup probe guidance
- 116 tests pass, all 14 examples validate

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…s; fix template consistency

- Add terminationGracePeriodSeconds to crons.yaml and jobs.yaml (already in deployment/worker)
- Add topologySpreadConstraints support to all 4 workload templates
- Add priorityClassName support to all 4 workload templates
- Add initContainers support to all 4 workload templates
- Complete values.schema.json: add missing cron/job fields (successfulJobsHistoryLimit,
  failedJobsHistoryLimit, backoffLimit, restartPolicy, ttlSecondsAfterFinished, per-job resources)
- Fix env schema to allow valueFrom objects (secretKeyRef, configMapKeyRef, fieldRef, etc.)
- Add 22 new tests (135 total), all passing
- Add new values to values.yaml with inline documentation

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…esources

- Remove unused empty helm-frankenphp.env helper from _helpers.tpl
- Add .yamllint config (excludes Go-template files, allows long lines as warning)
- Add yamllint target to Makefile
- Add yamllint step to CI workflow (after helm lint, before unit tests)
- Update values.yaml jobs comments to document ttlSecondsAfterFinished and
  per-job resource override feature

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…e docs

- Add docs/guides/multi-environment.md: values layering, GitOps (ArgoCD/Flux), helm secrets
- Expand docs/guides/troubleshooting.md: worker not processing messages + cronjob not running
- Update docs/customization.md: valueFrom env support, initContainers, topologySpreadConstraints, priorityClassName
- Update docs/features.md: initContainers, topologySpreadConstraints, priorityClassName sections

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant