feat(certificatemanager): restore #171, which merged into a branch instead of main - #182
Merged
Conversation
…ustConfig Restores #171. That pull request was stacked, and it merged into its parent branch rather than into main - GitHub marks a stacked pull request merged once its commits reach its base, and its base was a branch. #167, #168, #169 and #170 went the same way but were recovered when #173 landed, because #173 descended from them. Nothing descended from #171, so certificate manager was the one batch left behind: main has carried a Merged badge and no code since. This is that content on top of current main, nothing else - the three types, their schemas, six fixtures, and the package registration. Verified locally against the service account CI uses, all three CRUD 7/7 with Replace skipped and discovery 4/4. Two things it needed, both recorded in the CHANGELOG: roles/certificatemanager.owner rather than editor, which carries no delete permission at all; and a trust config that is not empty, since the API rejects one carrying neither a trust store nor an allowlisted certificate.
…ecovery # Conflicts: # CHANGELOG.md
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.
Restores #171, which is marked Merged but whose code is not on
main.What happened
#171 was stacked. It merged into its parent branch, not into
main— GitHubmarks a stacked pull request merged as soon as its commits are reachable from
its base, and its base was a branch. #167, #168, #169 and #170 went the same
way, but they were recovered when #173 landed, because #173 descended from them.
Nothing descended from #171, so certificate manager is the one batch still
missing:
maincurrently has a Merged badge and no code.pkg/resources/certificatemanagerdoes not exist on
main, and neither do the three schemas or six fixtures.What this is
That content, on top of current
main, and nothing else — 13 files. No rebase ofthe old branch, which is three commits behind and would have touched 88.
GCP::CertificateManager::CertificateMapcertmanager-certificate-mapGCP::CertificateManager::DnsAuthorizationcertmanager-dns-authorizationGCP::CertificateManager::TrustConfigcertmanager-trust-configVerified locally against the same service account CI uses. CI will run exactly
these three cases.
Two things worth keeping
The role is
roles/certificatemanager.owner, not.editor. The draft askedfor editor. Editor carries every
.createpermission and no.deletepermission at all — only
deleteTagBinding. With it, Create through Update passand Destroy fails on a permission denial that reads exactly like a plugin bug.
A trust config cannot be empty. The fixture and the schema comment both said
a config with no stores "is valid and trusts nothing". The API rejects it. The
fixture pins one throwaway self-signed anchor, inline, holding no private key.
The blank line before its closing
"""is load-bearing: Certificate Managerappends a trailing newline to every
pemCertificateit stores, whatever wassent, so a PEM declared without one passes Create and then fails Verify,
Extract, Sync and Update against its own certificate. That bites any forma with
an inline PEM, so it is in the CHANGELOG.
Not covered
Replace — no
-replace.pklfixtures.CertificateandCertificateMapEntryare not in this batch.