Allow Dynamic Certificate Cert/Keys in Generated Secret
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 739
- Forks
- 85
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 1
Description
Is your feature request related to a problem? Please describe.
Not a problem, per se, but hard-coded backend values do not fit my use case. For my use case, which is a Government compliance use case, I may not use self-signed certificates anywhere in my cluster, so I must replace them with trusted certificates.
Describe the solution you'd like
Allow for the configuration of hard-coded TLS keys/certs values to become configurable when provisioning the following certificates:
- pinniped-concierge-api-tls-serving-certificate
- pinniped-concierge-impersonation-proxy-signer-ca-certificate
- pinniped-concierge-impersonation-proxy-tls-serving-certificate
- pinniped-concierge-impersonation-proxy-ca-certificate
The following are currently hard-coded (there may be others as well):
Allowing these to become configurable will allow unpredictable use cases to become attainable when keys/values for consuming these certificates, are expected to be in a different format. Configuration can default to the current values if no additional configuration is provided.
Describe alternatives you've considered
I've considered using External Secrets as a translation layer, but this is currently not possible with their implementation. See comment https://github.com/external-secrets/external-secrets/issues/850#issuecomment-1190372993.
Are you considering submitting a PR for this feature?
Right now, I will not have time to support a PR for this feature, but I would like to if I can ever catch up.
Additional context
See conversation on Slack at https://kubernetes.slack.com/archives/C01BW364RJA/p1658264659180309
Contributor 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.
Research direction
Start with internal/controller/apicerts/certs_manager.go around lines 23-26 and review how the listed Pinniped certificate secrets are provisioned. Define how configurable certificate and key values should be supplied while preserving the current defaults, and verify that all four named secrets receive the intended values.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- authentication, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100