kes
kes copied to clipboard
ux feat: kes init
What is the problem you want to solve?
Stringing together a config can be a bit overwhelming. Make it easy to install kes on bare metal.
How do you want to solve it?
Add interactive kes init that will guide through configuration.
λ kes init
(loads config if present, if present the values will be default)
Specify IP address you would like to expose KES to?
> 0.0.0.0:7373_
Specify DNS name the server should use?
> localhost_
Would you like KES to generate certificates?
> Yes_
(If no, have them specify files)
Specify certificate file name prefix:
> server_
Generated server.key and server.cert...
Choose your cache configuration:
A) Liberal (5 minutes)
B) Moderate (1 minute)
C) Conservative (30 seconds)
> B_
Choose logging level:
A) Error logging
B) Audit Logging
C) Both
> A_
Select KMS Configuration:
A) Do not persist keys (in-memory only)
B) Hashicorp Vault
C) Fortanix SDKMS
D) Thales CipherTrust Manager / Gemalto KeySecure
E) AWS SecretsManager
F) GCP SecretManager
G) Azure KeyVault
H) File system (testing only)
> A_
Created config.yaml. Start server with 'kes server'.
λ
Additional context
- Are there alternative solutions?
Just have it spit out a default config+certs.
- Would your solution cause a major breaking API change?
No
- Anything else that is important?
Maybe include policy generation, but it seems a bit excessive for initial setup.