FSKY Foundry is now Gitfield. All users, organizations, repos, and other things remain. Update your remote URLs, container image tags, and logins from foundry.fsky.io to gitfield.org.
renew only considers certificates that are missing, expired, or inside their renewal window. It does not reconcile pending deploy targets for a still-valid certificate. Reproduced by making an initial local-CA deploy fail, correcting the target path, and running renew --no-jitter --verbose: it says the cert is valid and does not deploy it; gibcert deploy service succeeds.
Relevant code: cmd/gibcert/main.go:1339-1367 collects and returns when there are no due certificates; deploy runs only inside the due-certificate loop (1453-1469). The shipped systemd timer invokes renew.
Make scheduled renewal recover pending deploys independently of issuance. Respect the existing deploy metadata/drift policy and reload behavior; do not reissue a certificate merely to retry deployment.
Acceptance: after a deploy failure leaves valid canonical material and a pending target, fixing the target then running renew deploys it and runs the appropriate hook/reload without issuing a new certificate.
`renew` only considers certificates that are missing, expired, or inside their renewal window. It does not reconcile pending deploy targets for a still-valid certificate. Reproduced by making an initial local-CA deploy fail, correcting the target path, and running `renew --no-jitter --verbose`: it says the cert is valid and does not deploy it; `gibcert deploy service` succeeds.
Relevant code: `cmd/gibcert/main.go:1339-1367` collects and returns when there are no due certificates; deploy runs only inside the due-certificate loop (`1453-1469`). The shipped systemd timer invokes `renew`.
Make scheduled renewal recover pending deploys independently of issuance. Respect the existing deploy metadata/drift policy and reload behavior; do not reissue a certificate merely to retry deployment.
Acceptance: after a deploy failure leaves valid canonical material and a pending target, fixing the target then running `renew` deploys it and runs the appropriate hook/reload without issuing a new certificate.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
renewonly considers certificates that are missing, expired, or inside their renewal window. It does not reconcile pending deploy targets for a still-valid certificate. Reproduced by making an initial local-CA deploy fail, correcting the target path, and runningrenew --no-jitter --verbose: it says the cert is valid and does not deploy it;gibcert deploy servicesucceeds.Relevant code:
cmd/gibcert/main.go:1339-1367collects and returns when there are no due certificates; deploy runs only inside the due-certificate loop (1453-1469). The shipped systemd timer invokesrenew.Make scheduled renewal recover pending deploys independently of issuance. Respect the existing deploy metadata/drift policy and reload behavior; do not reissue a certificate merely to retry deployment.
Acceptance: after a deploy failure leaves valid canonical material and a pending target, fixing the target then running
renewdeploys it and runs the appropriate hook/reload without issuing a new certificate.