Quarks Secret
- Backlog: Pivotal Tracker
- Slack: #quarks-dev on https://slack.cloudfoundry.org
- Docker: https://hub.docker.com/r/cfcontainerization/quarks-secret/tags
- Helm hub
- Github
Description
Quarks Secret lets you automatically generate secrets such as passwords, certificates and ssh keys, to ease management of credentials in Kubernetes.
Installation
Add the quarks repository to helm if you haven’t already:
|
|
The simplest way to install the latest release of Quarks Secret, is by using helm 3 with the default values:
|
|
The operator will watch for QuarksSecret resources in a separate namespace from the one it has been deployed to. By default, it creates a namespace staging and starts watching it.
A complete list of the chart settings is available here.
Upgrade
Can be managed as a standard helm package:
|
|
so just be sure to keep your customization in a values file
Watching multiple namespaces
By default the component will watch for resources created in the staging namespace, but it can be configured to watch over multiple namespaces.
Refer to the quarks-operator instructions as they are shared between all the Quarks components.
Overview of Quarks Secret
A QuarkSecret is a Kubernetes Object that contains instuctions on the type of Kubernetes Secret that must be generated which can be later referenced in a Pod.
For instance, to generate a basic auth password, we can apply the following yaml with kubectl:
|
|
the type field denotes the type of secret that should be generated, currently quarks-secret supports the following types:
passwordcertificatetlssshrsabasic-authdockerconfigjsoncopytemplatedconfig
Generate credentials
Quarks Secret can be used to generate passwords, certificates and keys. It uses the cfssl package to generate these. The generated values are stored in kubernetes secrets.
Certificates
Example of a QuarksSecret resource, which generates a Kubernetes secret containing a certificate:
|
|
The example can be applied to the namespace where the operator is watching for resources ( staging by default )
If a certificate is generated, the Quarks Secret operator ensures that a certificate signing request (CSR) is generated and is approved by the Kubernetes API server.
k8s TLS
|
|
This QuarksSecret resource example generates a Kubernetes Secret of kubernetes.io/tls type,
which contains keys named tls.crt and tls.key that contain the certificate and private key to use for TLS.
It is primarily used with TLS termination of the k8s Ingress resource or Istio Secure Gateways.
Due to its use cases, only local signerType is supported.
RSA keys
|
|
Basic Authentication
|
|
Examples
The examples directory on Github.