chore(xtask): read certificate fields through the certs crate, not the openssl CLI
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 53/100
Research direction
Start by reading the existing cert_* functions in the certs crate and the seven OpenSSL CLI call sites across the five xtask files; the issue does not name those files. Trace the reuse gate in certs.rs and check how cargo xtask env up documents prerequisites. Done means certificate reads use the crate, the subject-organization reader is available, and any remaining shell-out is documented.
Written by the indexing model from the issue text.
Description
What
xtask reads certificate fields by shelling out to the openssl CLI, in seven places across five files. The certs crate already parses certificates in Rust and exposes cert_issuer_and_expiry, cert_validity, cert_public_key_sha256 and cert_pem_from_der. It has no reader for the subject organization, which is the one xtask needs most now that the organization names the site.
Two consequences.
openssl is an undocumented prerequisite of cargo xtask env up. site_certificate_fingerprint calls it on every run of the glb, combined-site, provider-traffic, static-weighted and llmd-pool-metrics topologies, and nothing in the docs says so. A machine without it fails partway through a run rather than at a prerequisite check.
The reuse gate in certs.rs decides whether to regenerate a site identity by reading its subject organization. Regenerating mints a new private key, so that read sits on a path where being unable to answer has to be an error rather than a guess. Asking a library is a better shape for that than spawning a process.
Proposal
Add an organization reader to certs beside the existing cert_* functions, and move xtask's certificate reads onto the certs crate. Where a shell-out remains, say so in the env up prerequisites.
Context
Came out of review on #305, which made the certificate's subject organization the site name and added the reuse gate that reads it.
- Dominant language
- Rust
- Stars
- 10
- Forks
- 24
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 136
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from praxis-proxy/grid
-
priority/high triage/accepted
Difficulty 1/5 Under an hour Newbie friendliness 76/100
praxis-proxy/grid#532 ·
Maintainers usually reply within 1 day
-
ci(gateway): add the gateway to the fips jobPossibly taken @evacchi claimed this 2 days ago. Openarea/security priority/medium triage/accepted
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
praxis-proxy/grid#504 · 1 comment ·
Maintainers usually reply within 1 day
-
operator: follow-ups from the review of #494Possibly taken @pazqo claimed this 2 days ago. Openpriority/medium triage/accepted
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
praxis-proxy/grid#496 · 1 assignee ·
Maintainers usually reply within 1 day
-
swim: purge only the changed grid's state when its signed binding changesPossibly taken @pazqo claimed this 1 day ago. Openarea/core priority/medium triage/accepted
Difficulty 4/5 3-5 days Newbie friendliness 38/100
praxis-proxy/grid#541 ·
Maintainers usually reply within 1 day
-
Make GridNetwork sovereignty validation consistent across legacy fieldsPossibly taken @liavweiss claimed this 1 day ago. Openpriority/high triage/accepted
Difficulty 4/5 3-5 days Newbie friendliness 35/100
praxis-proxy/grid#535 · 1 comment ·
Maintainers usually reply within 1 day
All issues in praxis-proxy/grid
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 69/100
Maintainers usually reply within 1 day
-
A match arm above the largest i64 is compared as 0Possibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 83/100
DioxusLabs/dioxus#6063 ·
Maintainers usually reply within 1 day
-
`nsh-core` fails to compile when taffy's default `calc` feature is enabled elsewhere in the graphOpen
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
longbridge/nsh#966 ·
Maintainers usually reply within 1 day
-
Windows docs: pin a tested ConPTY version for Kitty graphics; 1.25.260930003 corrupts large uploadsOpen
Difficulty 1/5 1-3 hours Newbie friendliness 88/100
raphamorim/rio#2021 ·
Maintainers usually reply within 1 day