Skip to content

Target standard cf-deployment and isolate instant-bosh compatibility - #4

Open
rkoster wants to merge 11 commits into
mainfrom
cf-deployment-default-targets
Open

rkoster wants to merge 11 commits into
mainfrom
cf-deployment-default-targets

Conversation

@rkoster

@rkoster rkoster commented Oct 30, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Make the default CF volume-service ops target upstream cf-deployment groups: api, cc-worker, scheduler, and diego-cell.
  • Keep instant-bosh consolidated control/compute group targeting in separate compatibility ops/runtime-config files; acceptance and Devbox scripts select those explicitly.
  • Use minimal as the default acceptance errand VM type and override to instant-bosh default via a separate compatibility ops file.
  • Add Go deployment tests, inspired by cf-deployment units: interpolate standard and instant-bosh fixtures, verify aliases/runtime-config scopes/ops targets/errand VM types, and optionally validate standard ops against a real cf-deployment manifest.
  • Update workflow, docs, and deployment instructions. Include the previously committed README clarification that Devbox is optional and only provides the actual build prerequisites.

Validation

  • scripts/test-deployment passes with fixtures and with instant-bosh embedded cf-deployment.yml.
  • Interpolated default CF volume-service ops against embedded upstream CF manifest: API, worker, scheduler all set true.
  • actionlint, shell syntax, devbox JSON, and git diff --check pass.

The full acceptance workflow will run on this PR.

Copilot AI balanced review requested due to automatic review settings October 30, 2026 12:22

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

The instant-bosh deployment exits before deploying JuiceFS because its domain lookup targets api instead of control, with additional issues in compatibility guidance and test execution.

4 open issues
What changed in this PR

This PR makes JuiceFS’s default Cloud Foundry configuration target upstream cf-deployment, while separating instant-bosh compatibility settings.

Changes:

  • Target standard CF instance groups by default and add explicit instant-bosh variants.
  • Add deployment interpolation tests, fixtures, vendored YAML support, and CI integration.
  • Update deployment guidance and clarify that Devbox is optional.
File Description
scripts/​test-deployment Adds the deployment-test entry point.
scripts/​deploy Updates domain lookup and selects compatibility files.
scripts/​acceptance/​run Selects instant-bosh configurations explicitly.
README.md Updates prerequisites, deployment guidance, and test commands.
docs/​azure-managed-identities.md Documents standard CF targets and instant-bosh differences.
deployment/​tests/​vendor/​modules.txt Records the vendored YAML dependency.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​yamlprivateh.go Vendors YAML character helpers.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​yamlh.go Vendors YAML internal types.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​yaml.go Vendors the YAML public API.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​writerc.go Vendors YAML output buffering.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​sorter.go Vendors YAML key ordering.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​resolve.go Vendors YAML scalar resolution.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​README.md Includes dependency documentation.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​readerc.go Vendors YAML input decoding.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​parserc.go Vendors YAML parsing.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​NOTICE Includes dependency notices.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​LICENSE Includes dependency licenses.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​encode.go Vendors YAML encoding.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​decode.go Vendors YAML decoding.
deployment/​tests/​vendor/​gopkg.in/​yaml.v3/​apic.go Vendors YAML parser and emitter helpers.
deployment/​tests/​README.md Documents deployment-test usage.
deployment/​tests/​operations_test.go Checks targets, aliases, runtime scopes, and errand VM types.
deployment/​tests/​go.sum Adds test dependency checksums.
deployment/​tests/​go.mod Defines the deployment-test module.
deployment/​tests/​fixtures/​instant-bosh-cf.yml Models consolidated CF groups.
deployment/​tests/​fixtures/​cf-deployment.yml Models standard CF groups.
deployment/​runtime-configs/​README.md Explains standard and compatibility configurations.
deployment/​runtime-configs/​operations/​use-azure-managed-identities.yml Clarifies the BPM requirement in a comment.
deployment/​runtime-configs/​juicefs-volume-driver.yml Targets diego-cell by default.
deployment/​runtime-configs/​instant-bosh/​juicefs-volume-driver.yml Adds the compute compatibility configuration.
deployment/​operations/​cf/​non-ha-validation.yml Clarifies DNS alias scope in comments.
deployment/​operations/​cf/​instant-bosh/​enable-volume-services.yml Enables volume services on control.
deployment/​operations/​cf/​instant-bosh/​acceptance-errand-vm.yml Overrides the errand VM type to default.
deployment/​operations/​cf/​enable-volume-services.yml Targets standard Cloud Controller groups.
deployment/​operations/​cf/​enable-juicefs-acceptance-tests.yml Defaults the errand VM type to minimal.
AGENTS.md Updates development and topology guidance.
.github/​workflows/​acceptance.yml Adds deployment validation and dependency-cache input.

Review effort: Balanced

Comment thread scripts/deploy Resolved
Comment thread scripts/test-deployment Resolved
Comment thread scripts/test-deployment Resolved
Comment thread docs/azure-managed-identities.md Resolved
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.

2 participants