Skip to content

feat: add deployment environment profiles#56

Merged
ibourgeois merged 2 commits into
mainfrom
feat/47-deployment-environment-profiles
Apr 9, 2026
Merged

feat: add deployment environment profiles#56
ibourgeois merged 2 commits into
mainfrom
feat/47-deployment-environment-profiles

Conversation

@ibourgeois
Copy link
Copy Markdown
Contributor

Summary

  • generate shared Helm values plus named environment overlays for local, staging, and production
  • teach beacon:deploy to select an environment profile and apply both the shared and environment-specific values files during Helm deploys
  • add chart generation, install, deploy, and profile discovery coverage so environment-specific behavior stays consistent

Testing

php84 vendor/bin/pest tests/Unit/Helm/HelmChartGeneratorTest.php tests/Unit/Deploy/DeploymentEnvironmentProfileRepositoryTest.php tests/Feature/DeployCommandTest.php tests/Feature/InstallCommandTest.php
php84 "/Users/ibourgeois/Library/Application Support/Herd/bin/composer" test
php84 "/Users/ibourgeois/Library/Application Support/Herd/bin/composer" validate --strict --no-check-publish

Closes #47

Copilot AI review requested due to automatic review settings April 9, 2026 05:00
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds first-class “deployment environment profiles” to Beacon’s Helm workflow by generating per-environment values overlays and teaching beacon:deploy to apply both shared + environment-specific values during Helm upgrades.

Changes:

  • Generate values.local.yaml, values.staging.yaml, and values.production.yaml alongside values.yaml in Helm chart scaffolds.
  • Add environment profile discovery + selection (interactive prompt + --environment flag) and pass both values files to Helm.
  • Expand unit/feature coverage for chart generation, environment discovery, install output, and deploy behavior; update README.

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
src/Helm/HelmChartGenerator.php Adds overlay values files to generated chart outputs.
stubs/helm/values.local.yaml.stub New local overlay defaults (replicas/image tag/env).
stubs/helm/values.staging.yaml.stub New staging overlay defaults.
stubs/helm/values.production.yaml.stub New production overlay defaults.
src/Deploy/DeploymentEnvironmentProfiles.php Introduces profile set model (defaults, prompt options, overlay path helpers).
src/Deploy/DeploymentEnvironmentProfileRepository.php Discovers available profiles from values.*.yaml overlays.
src/Commands/DeployCommand.php Adds --environment, prompts for env, and applies shared + overlay values in deploy.
src/Deploy/HelmReleaseDeployer.php Adds support for passing multiple -f values files to Helm.
tests/Unit/Helm/HelmChartGeneratorTest.php Verifies overlays are rendered and written.
tests/Unit/Deploy/DeploymentEnvironmentProfileRepositoryTest.php Verifies discovery + ordering + default behavior.
tests/Feature/InstallCommandTest.php Asserts overlays are generated by install flow.
tests/Feature/DeployCommandTest.php Asserts deploy prompts/flags and Helm arguments include both values files.
README.md Documents overlay generation and deploy behavior.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/Commands/DeployCommand.php Outdated
Comment thread src/Commands/DeployCommand.php Outdated
Comment thread README.md Outdated
Comment thread src/Commands/DeployCommand.php Outdated
Comment thread src/Commands/DeployCommand.php Outdated
Comment thread tests/Feature/DeployCommandTest.php Outdated
Comment thread src/Deploy/DeploymentEnvironmentProfileRepository.php
@ibourgeois ibourgeois merged commit c8a8977 into main Apr 9, 2026
12 checks passed
@ibourgeois ibourgeois deleted the feat/47-deployment-environment-profiles branch April 9, 2026 05:11
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.

feat: add deployment environment profiles

2 participants