Skip to content

feat(environment): product profile import and hosted build fixes - #1117

Open
crisfiorini-oss wants to merge 6 commits into
codefly-dev:mainfrom
crisfiorini-oss:feat/azure-key-vault-secrets
Open

crisfiorini-oss wants to merge 6 commits into
codefly-dev:mainfrom
crisfiorini-oss:feat/azure-key-vault-secrets

Conversation

@crisfiorini-oss

@crisfiorini-oss crisfiorini-oss commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Cloud-neutral CLI changes that hosted delivery needs. The CLI consumes infra-base outputs and knows nothing about a specific cloud: following review on 2026-10-28, all Azure-specific code was removed from this PR.

Changes

  • codefly environment import: --configuration-source and --configuration-profiles let the product select its configuration profile when the coordinate contract from infra-base is placement-only. A value that conflicts with the contract is refused. infra-base#1494 and platform-obin#220 use these flags. Profile reads are confined with the standard library's os.Root, and pinned modules are resolved before validation.
  • Module-qualified secret mappings: a <module>/<service> service-secrets entry is selected before the unqualified <service> one, matching service configuration and identity. Workspace validation checks the selected environment.
  • Hosted builds: for an environment with a registry, image builds and frontend bundles use the environment's existing host-networked BuildKit builder.
  • Image cache: the cache identity includes file permission bits, so a file the image's non-root user cannot read is not reused.
  • docs/cli-reference.md is marked generated in .gitattributes.

Removed after review

  • Azure Key Vault secret store, Azure Key Vault release signer, Azure credential helper and the Azure SDK.
  • Planner-input export (deploy secrets --export-input/--input) and the publisher image, which existed only for the Azure store.
  • Changes nothing consumes: the deploy gitops cell verb, deploy secrets --supplied/--mint and the related planner changes, draft promotion PRs, and a Cloud KMS error-classification change.
Build or reuse Search result and choice
Reuse existing owners Extends the existing importer, profile materialization, service-secrets selection, BuildKit builder provisioner and image cache. No new client, store, signer or dependency. Cloud-specific secret publication stays in infra-base.

Testing

Before merging main: go build ./..., go vet and golangci-lint (0 issues) on the changed packages; tests passed for cmd/environment, pkg/environments, and the projection, frontend, cache and builder tests in pkg/gitops and pkg/orchestration. The command reference was regenerated with go test ./cmd -run TestCLIReferenceIsCurrent -update-reference.

Main merged cleanly with the same diff. The local rebuild after the merge ran out of devbox disk, so CI covers it. Three pkg/solutionrun frontend tests fail only on the devbox ("not a git repository" in a temp directory); this PR does not change those tests.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GehdohoEWY15W4Vj1EBoox

Generator qualification follow-up

The review finding about --input --rotate is no longer applicable: the planner-input mode was removed in this PR. The generate qualification step now passes the workflow's read-only GitHub token to Core's existing agent release lookup and downloader. This addresses unauthenticated API rate limits without skipping tests or changing the qualification gates. A failed release lookup falls back to the test's isolated local agent directory, which can surface as a missing-file error.

Build or reuse Search result and choice
Generator release access Core's agent manager already supports GITHUB_TOKEN for release lookup and verified download. Reuse that mechanism; do not add an agent cache, downloader or alternate fixture.

After rebasing onto main: git diff --check and go test ./pkg/conformance -run 'Test.*(Generate|Workflow|Packages)' -count=1 passed. Full suites run in pull request CI.

@crisfiorini-oss crisfiorini-oss changed the title feat(deploy): publish Azure Key Vault secrets with retained-material checks feat(azure): publish Key Vault secrets and sign release manifests Oct 23, 2026
@crisfiorini-oss
crisfiorini-oss marked this pull request as draft October 26, 2026 20:57
@crisfiorini-oss
crisfiorini-oss force-pushed the feat/azure-key-vault-secrets branch from 3ea67a1 to 14172ae Compare October 28, 2026 16:04
@crisfiorini-oss crisfiorini-oss changed the title feat(azure): publish Key Vault secrets and sign release manifests feat(azure): reuse deployment commands for hosted delivery Oct 28, 2026
@crisfiorini-oss
crisfiorini-oss marked this pull request as ready for review October 28, 2026 16:51
@crisfiorini-oss
crisfiorini-oss marked this pull request as draft October 28, 2026 16:58
@crisfiorini-oss
crisfiorini-oss marked this pull request as ready for review October 28, 2026 17:10
@crisfiorini-oss
crisfiorini-oss marked this pull request as draft October 28, 2026 17:58
@crisfiorini-oss crisfiorini-oss changed the title feat(azure): reuse deployment commands for hosted delivery feat(environment): product profile import and hosted build fixes Oct 28, 2026
crisfiorini-oss and others added 6 commits October 28, 2026 21:23
The CLI consumes infra-base outputs and stays cloud-neutral. Remove the
Azure Key Vault secret store and release signer, the Azure credential
helper, the Azure SDK, and the planner-input export/publisher image that
existed only for them. Also drop changes nothing consumes: the
`deploy gitops cell` verb, the --supplied/--mint planner flags, draft
promotion PRs, and the Cloud KMS error-classification change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GehdohoEWY15W4Vj1EBoox
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