Skip to content

Commit b741c4d

Browse files
authored
Some handover documentation (#615)
* Try to clarify the purpose * Fix usage example referring to a different SecretClass than it defines * Fix usage documentation still referring to ephemeral CSI volumes * Clarify that the usage page is not really for end users * Fix the stacklet page link
1 parent 57cb4f3 commit b741c4d

File tree

4 files changed

+13
-11
lines changed

4 files changed

+13
-11
lines changed

docs/modules/secret-operator/examples/usage-pod.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ spec:
1010
volumeClaimTemplate:
1111
metadata:
1212
annotations:
13-
secrets.stackable.tech/class: secret
13+
secrets.stackable.tech/class: tls
1414
secrets.stackable.tech/scope: node,pod,service=secret-consumer-nginx
1515
spec:
1616
storageClassName: secrets.stackable.tech

docs/modules/secret-operator/pages/index.adoc

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,12 @@
77
* {github}[GitHub {external-link-icon}^]
88
* {crd}[CRD documentation {external-link-icon}^]
99

10-
This is an operator for Kubernetes that provisions and injects secrets into Kubernetes Pods.
10+
This is an operator for Kubernetes that provisions and injects credentials (such as TLS certificates and Kerberos keytabs) into Kubernetes Pods, so that they can authenticate each others' identities.
1111

12-
Kubernetes Secret objects contain sensitive payloads such as passwords, tokens or keys.
12+
Kubernetes Secrets contain sensitive payloads such as passwords, tokens or keys.
1313
These objects are usually self-contained and static in the sense that their contents remain unchanged as long as their owners do not update them.
14+
Kubernetes also has little-to-no built-in support for dealing with Secrets that have to vary depending on details of the target Pod, such as its assigned Node or the individual Pod identity (when created from a template controller, such as a Deployment or StatefulSet).
1415

15-
The Stackable Secret Operator enhances the functionality of Kubernetes Secrets by introducing the concept of a SecretClass.
16-
A SecretClass represents a reference to a source of sensitive data.
17-
In addition to Kubernetes Secret objects, the operator can provision Pods with TLS Certificates, Kerberos keytabs or authentication tokens from external services.
16+
The Stackable Secret Operator introduces a new mechanism to mount secrets depending on different xref:scope.adoc[aspects] of the target Pod.
17+
It also allows administrators to dictate cluster-wide xref:secretclass.adoc[policies] for how these credentials are provisioned.
18+
For example, TLS certificates can be provisioned xref:secretclass.adoc#backend-k8ssearch[manually] (but with the ability to _select_ the correct certificate automatically), xref:secretclass.adoc#backend-autotls[by a built-in certificate authority], or by delegating to xref:secretclass.adoc#backend-certmanager[cert-manager].

docs/modules/secret-operator/pages/secretclass.adoc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22
:description: A SecretClass in Kubernetes defines secret categories, handling certificate provision and secret management via multiple backends.
33
:cert-manager: https://cert-manager.io/
44

5-
A _SecretClass_ is a cluster-global Kubernetes resource that defines a category of secrets that the Secret Operator knows how to provision.
5+
A _SecretClass_ is a cluster-global Kubernetes resource that defines a source of credentials that the Secret Operator knows how to provision.
66

7-
This is intended to provide an abstraction between how the secret is used ("I need a certificate for my cluster's TLS PKI") and how
8-
it is provisioned (automatically and generated by the operator's internal CA, provisioned by the cluster administrator, or provisioned by an
9-
external service such as Hashicorp Vault).
7+
This is intended to provide an abstraction between how the secret is used ("I need a certificate for my cluster's TLS PKI"),
8+
and the policy for how it is provisioned (automatically and generated by the operator's internal CA, provisioned by the cluster administrator, or provisioned by an external service such as Hashicorp Vault).
109

1110
A SecretClass looks like this:
1211

docs/modules/secret-operator/pages/usage.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
= Usage
22

3-
The operator injects secret data into xref:volume.adoc[] mounts that declare a CSI volume with `driver: secrets.stackable.tech`.
3+
The operator injects secret data into xref:volume.adoc[] mounts that declare an ephemeral volume with `storageClassName: secrets.stackable.tech`.
4+
5+
NOTE: This page is only relevant for developers deploying their own Pods. Users deploying a Stackable Data Platform xref:concepts:stacklet.adoc[stacklet] should use the stacklet's secret class field instead.
46

57
A minimal secret-consuming Pod looks like this:
68

0 commit comments

Comments
 (0)