Skip to content

feat: add ingress provider selection #49#59

Merged
ibourgeois merged 2 commits into
mainfrom
feat/49-ingress-provider-selection
Apr 9, 2026
Merged

feat: add ingress provider selection #49#59
ibourgeois merged 2 commits into
mainfrom
feat/49-ingress-provider-selection

Conversation

@ibourgeois
Copy link
Copy Markdown
Contributor

Summary

  • add ingress provider selection to the Beacon install flow with support for disabled, Ingress NGINX, and Traefik strategies
  • recommend an ingress provider from the current Kubernetes context when Beacon can infer one practically
  • persist the selected ingress strategy into generated Helm values so ingress enablement and class names are scaffolded consistently

Testing

php84 vendor/bin/pest tests/Unit/Install/InstallConfigurationCollectorTest.php tests/Unit/Helm/HelmChartGeneratorTest.php tests/Feature/InstallCommandTest.php
php84 vendor/bin/pest tests/Unit/Install/IngressProviderRecommendationRepositoryTest.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 #49

Copilot AI review requested due to automatic review settings April 9, 2026 05:53
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 ingress provider selection + recommendation to Beacon’s install flow, and persists the chosen strategy into generated Helm values so ingress enablement/class naming are scaffolded consistently.

Changes:

  • Introduces ingress provider selection (none, nginx, traefik) into interactive install prompts and configuration summary.
  • Adds a kubectl-context-based recommendation mechanism for a default ingress provider when it can be inferred.
  • Persists ingress provider state into Helm chart values.yaml via stub placeholders and generator replacements.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/Unit/Install/InstallConfigurationCollectorTest.php Verifies default ingress provider behavior and recommendation injection into defaults/prompts.
tests/Unit/Install/IngressProviderRecommendationRepositoryTest.php Covers recommendation logic based on kubectl config current-context.
tests/Unit/Helm/HelmChartGeneratorTest.php Ensures rendered Helm values include ingress provider/enabled/className.
tests/Feature/InstallCommandTest.php Updates install prompt expectations and verifies generated chart values include provider.
stubs/helm/values.yaml.stub Adds ingress placeholders for provider/enabled/className in chart values.
src/Install/InstallConfigurationCollector.php Adds ingress recommendation wiring + prompt step when Helm is selected.
src/Install/InstallConfiguration.php Adds ingress provider options, validation, labels, and Helm value helpers.
src/Install/IngressProviderRecommendationRepository.php New repository to infer provider from kubectl current context.
src/Install/IngressProviderRecommendation.php New value object for validated ingress recommendation data.
src/Helm/HelmChartGenerator.php Injects ingress placeholders into Helm stub replacements.
src/Commands/InstallCommand.php Includes ingress selection in the install summary output for Helm installs.
README.md Documents the new ingress provider prompt and persistence behavior.

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

Comment thread src/Install/InstallConfigurationCollector.php
@ibourgeois ibourgeois merged commit 4f16d00 into main Apr 9, 2026
12 checks passed
@ibourgeois ibourgeois deleted the feat/49-ingress-provider-selection branch April 9, 2026 06:05
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 ingress provider selection and recommendation

2 participants