Core module for random string generator
What does this MR do?
This is the first of probably several MRs that introduces code to implement a secret-generator.
The code is split between 3 packages:
- pkg/support/secrets
- pkg/support/secrets/generator
- pkg/support/secrets/secret
The generator package actually generates the three types of secret values:
- simple key-value random strings with various formats and any length
- SSH public/private key pairs (not included in this MR)
- TLS certificate/key pairs (not included in this MR)
The secret package manages the K8s Secret resource.
The top level secrets package contains the main processing operations for a generated secret:
- initial secret generation
- secret regeneration
- automatic regeneration of expired secrets
This MR only adds a subset of the secret package.
There is a second commit that bumps the golangci-lint version to the latest container we have. I found that the 1.50.1 version in the tool-versions file would hang and use excessive CPU and memory when used locally.
https://github.com/golangci/golangci-lint/issues/3565
Checklist
See Definition of done.
For anything in this list which will not be completed, please provide a reason in the MR discussion.
Required
-
Merge Request Title and Description are up to date, accurate, and descriptive -
MR targeting the appropriate branch -
MR has a green pipeline on GitLab.com -
When ready for review, MR is labeled "~workflow::ready for review" per the Distribution MR workflow
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes -
Documentation created/updated -
Tests added -
Integration tests added to GitLab QA -
Equivalent MR/issue for omnibus-gitlab opened -
Validate potential values for new configuration settings. Formats such as integer 10
, duration10s
, URIscheme://user:passwd@host:port
may require quotation or other special handling when rendered in a template and written to a configuration file.
Related issues
Closes #1501 (closed)
Related to gitlab-org/charts/gitlab#3212