Repository navigation
fix: bind after service create, and keep manifest fields on deploy - #6004
Merged
norman-abramovitz merged 6 commits intoOct 14, 2026
Merged
norman-abramovitz merged 6 commits into
norman-abramovitz merged 6 commits into
Conversation
Cloud Controller names a job's resource link after its resource type, so create and update jobs return links.service_instances; only the delete job uses the singular. The wizard read service_instance, never found the new guid and skipped the bind without an error. The spec and translator fixtures used the singular key, so the tests passed. Fixes cloudfoundry#6001
fetchManifest added STRATOS_PROJECT by loading the manifest into RawManifestApplication and writing that back, which dropped every field the struct does not model: metadata, processes, sidecars, the newer health check and log rate keys, the top-level version. Edit the YAML document instead and set only the env entry. An app without its own env block gets one from the decoded struct, so env it inherits through a merge key is kept. Fixes cloudfoundry#6003
The guide asked for 48-character subjects without a type prefix, while CONTRIBUTING.md and the history use type(scope): summary, which release tooling reads. Point at CONTRIBUTING.md, aim for 50 characters and cap subjects at 72, where GitHub truncates them.
norman-abramovitz
approved these changes
Oct 14, 2026
norman-abramovitz
left a comment
Contributor
There was a problem hiding this comment.
LGTM - Need more tests
norman-abramovitz
approved these changes
Oct 14, 2026
norman-abramovitz
left a comment
Contributor
There was a problem hiding this comment.
LGTM for the updated files
Contributor
Author
With the plural job link read, the wizard binds the chosen app for a synchronous and an asynchronous broker on the fast and the polled path, so the cloudfoundry#6001 expected-failure markers from cloudfoundry#6005 come off, in the unit spec and the e2e spec. The service write tests fragment no longer lists bind after create as a known gap.
norman-abramovitz
approved these changes
Oct 14, 2026
norman-abramovitz
left a comment
Contributor
There was a problem hiding this comment.
LGTM Approving additional changes to the service broker unit tests.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two bug fixes found while looking at async service creation and label support (#4089).
Bind after create (#6001)
The create-service-instance wizard reads the new instance's guid from the finished CF job's links, under
links.service_instance. Cloud Controller names that link after the job's resource type, which isservice_instancesfor create and update jobs (only the delete job uses the singular). The guid was never found, sothe bind was skipped without an error. Checked against a live CF (API 3.226.0): the create job returned
links.service_instances.The frontend now reads the plural key. The spec and translator test fixtures used the singular key, which is why the
tests passed; they now use the shape CF sends.
Manifest fields on deploy (#6003)
fetchManifestaddedSTRATOS_PROJECTby loading the manifest intoRawManifestApplication(24 fields) andwriting that back, dropping everything else:
metadata,processes,sidecars,readiness-health-check-*,log-rate-limit-per-second, the top-levelversion. It now edits the YAML document and sets only the env entry. Anapplication without its own
envblock gets one from the decoded struct, so env inherited through a YAML merge keyis kept.
Tests
TestFetchManifest_KeepsFieldsItDoesNotModelfailed on all six fields before the fix.TestFetchManifest_AddsEnvVarAlongsideExistingEnvcovers an existing env block and a merge-key app; it fails if themerge-key branch builds env from scratch.
make check gatepasses.Changelog fragment:
changelog.d/0007-service-bind-and-manifest-fields.md.AI disclosure (RFC-0047): prepared with AI coding assistance; reviewed by the author.