docs: rewrite README and add Claude Code guidance #15
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
.claude/CLAUDE.mdfor Claude Code tooling contextTest plan
cert-proxy-server -helpandcert-proxy-client -helpoutputmake testpasses[AI-generated review]
Overall: Approve. Massive improvement — well-structured, accurate against the codebase, and useful for both end-users and administrators. Docs-only PR with one trivial
go.modpatch bump, no functional code changes.See inline comments for suggestions.
@ -0,0 +40,4 @@| `GET /v1/chain/<domain>` | none | CA chain (public) || `GET /v1/fullchain/<domain>` | none | Full chain (public) || `GET /v1/privkey/<domain>` | authz | Private key || `GET /v1/bundle/<domain>` | authz | PKCS12 bundle (generated on-the-fly via openssl) |[AI] Nit: "one domain pattern per line" — the word "pattern" implies glob/wildcard matching, but
auth.go:58does exact map lookup (allowedDomains[ctx[DOMAIN]]). Suggest changing to "one domain per line" for consistency with the wildcard fix in the README.@claude: please fix
@ -55,2 +86,2 @@git clone http://gitea.schlittermann.de/heiko/cert-proxy```The `-ssl.pem` bundle contains the certificate, private key, and CAcertificate in a single PEM file.[AI] Suggestion: The old README showed
bin/mkssl-pem cert-proxy.example.com cert-proxy— giving a short CN (cert-proxy) with the FQDN as a SAN. This was useful because clients default-servernameto the connect hostname. With just one argument, the cert CN will becert-proxy.example.com, which works if the client connects to that exact hostname. Both are valid, but you may want to mention the SAN variant for cases where the server is reachable under multiple names.@claude: please improve the docs
@ -197,2 +126,3 @@```shellcert-proxy-client -helpcd /etc/cert-proxy/cabin/mkssl-pem <client-name>[AI] Suggestion: The systemd units source
EnvironmentFile=-/etc/default/cert-proxy-{server,client}and pass$OPTSto the binary. Admins can add extra flags there without editing the unit file. A one-liner mentioning this would help:@claude: please fix
@ -203,0 +172,4 @@|------|---------|-------------|| `-connect` | `https://localhost:4433` | Server address || `-sslfile` | `client-ssl.pem` | SSL auth file (crt+key+ca) PEM || `-certbase` | `certs` | Base directory for downloaded certificates |[AI] Suggestion: The PKCS12 hook invocation is documented as
<script> deploy_cert <DOMAIN> <BUNDLEFILE> <TIMESTAMP>(3 meaningful args). However, the code atcert/cert.go:243-248always allocates an 8-element Args slice with empty strings at positions 3-6 — so the actual call isdeploy_cert <DOMAIN> "" "" "" "" <TIMESTAMP>with BUNDLEFILE only in the environment. This is likely the root cause of #14. The README documents intended behavior, which is fine, but a parenthetical "(see [#14])" after the PKCS12 example would save admins debugging time.@claude: provide a fix for this issue #14 in a new branch fix/14-pkcs12, and create a separate PR for it.
4e9060a7fbto6543008e8b6543008e8bto4ca146c2314ca146c231toc7ffa5e193c7ffa5e193to66b8d95176