Skip to content

Ceremony: require configs to specify a profile URL#8770

Merged
aarongable merged 5 commits into
mainfrom
ceremony-profiles
Jun 2, 2026
Merged

Ceremony: require configs to specify a profile URL#8770
aarongable merged 5 commits into
mainfrom
ceremony-profiles

Conversation

@aarongable
Copy link
Copy Markdown
Contributor

@aarongable aarongable commented May 29, 2026

The idea here is that, by putting the profile URL directly in front of the people planning and executing ceremonies, it will improve correspondence between configured profiles and the profiles we commit to in our CPS. It will also eliminate issuance under undocumented profiles.

This addresses the fourth action item from https://bugzilla.mozilla.org/show_bug.cgi?id=2038351#c12

Fixes #8760

Comment thread cmd/ceremony/cert.go Fixed
Comment thread cmd/ceremony/cert.go Fixed
@aarongable aarongable force-pushed the ceremony-profiles branch from 894bf58 to c99b0f3 Compare May 29, 2026 19:22
Comment thread cmd/ceremony/cert.go Fixed
@aarongable aarongable force-pushed the ceremony-profiles branch from c99b0f3 to d0601b9 Compare May 29, 2026 19:28
@aarongable aarongable marked this pull request as ready for review May 29, 2026 21:26
@aarongable aarongable requested a review from a team as a code owner May 29, 2026 21:26
@aarongable aarongable requested a review from ezekiel May 29, 2026 21:26
Comment thread cmd/ceremony/cert.go Outdated
Co-authored-by: Matthew McPherrin <mattm@letsencrypt.org>
ezekiel
ezekiel previously approved these changes May 29, 2026
@ezekiel ezekiel requested review from beautifulentropy and jsha May 29, 2026 22:27
Comment thread cmd/ceremony/cert.go Outdated
Comment on lines +107 to +110
policyURLRegex := regexp.MustCompile(
`^https://github\.com/letsencrypt/cp-cps/blob/v[0-9.]+/CP-CPS.md#[0-9a-zA-Z-]+$`)
if !policyURLRegex.MatchString(profile.PolicyURL) {
return errors.New("PolicyURL must point to a specific subsection of a specific version of our markdown CPS")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

When we error, we should print the regex. That way it's easy to see, for instance, that the tool is looking for the github version of the URL rather than the website version.

Also, the regex should be provided as a flag with this github URL as a default. That way if the base URL changes, or someone other than us wants to use this tool, it's possible.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I've updated the error message.

I'm leery of letting this URL be overridden by a flag. Even though yes, it would work, it
a) makes the testing much more complex, and
b) would be the only flag taken by the ceremony tool.

I'm not fully convinced that providing an easier experience to unknown and unnamed third parties who may be using our ceremony tool rises quite to the level of justifying adding a whole new configuration mechanism to a compliance-critical tool.

@aarongable aarongable merged commit 5e5f1a9 into main Jun 2, 2026
17 checks passed
@aarongable aarongable deleted the ceremony-profiles branch June 2, 2026 17:09
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.

Tie ceremony configs to CP/CPS profiles

5 participants