Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions class/defaults.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,5 @@ parameters:
cluster_secret_stores: {}
ecr_authorization_tokens: {}
external_secrets: {}

secrets: {}
4 changes: 4 additions & 0 deletions component/resources.jsonnet
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
local com = import 'lib/commodore.libjsonnet';
local kap = import 'lib/kapitan.libjsonnet';
local kube = import 'lib/kube.libjsonnet';

local eso = import 'lib/external-secrets-operator.libsonnet';

Expand Down Expand Up @@ -54,9 +55,12 @@ local ecr_authorization_tokens = com.generateResources(
}
);

local secrets = com.generateResources(params.secrets, kube.Secret);

{
[if std.length(stores) > 0 then '20_secret_stores']: stores,
[if std.length(clusterstores) > 0 then '20_cluster_secret_stores']: clusterstores,
[if std.length(external_secrets) > 0 then '20_external_secrets']: external_secrets,
[if std.length(ecr_authorization_tokens) > 0 then '20_ecr_authorization_tokens']: ecr_authorization_tokens,
[if std.length(params.secrets) > 0 then '99_secrets']: secrets,
}
4 changes: 4 additions & 0 deletions docs/modules/ROOT/pages/references/parameters.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,7 @@ The key can be just a name, or `<namespace>/<name>`.
If the key is just a name, the resulting `ExternalSecret` is deployed in the namespace in which the operator is deployed.
The component sets `metadata.name` and `metadata.namespace` based on the object key.
The value is used as is and setting `metadata.name` or `metadata.namespace` overrides the values parsed from the object key.

== `secrets`
A dict of secrets to create in the namespace.
The key is the name of the secret, the value is the content of the secret.
10 changes: 10 additions & 0 deletions tests/defaults.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,3 +104,13 @@ parameters:
apiVersion: generators.external-secrets.io/v1alpha1
kind: ClusterGenerator
name: "my-password-generator"

secrets:
my-secret:
stringData:
secret-key: '?{vaultkv:${cluster:tenant}/${cluster:name}/secret-value}'
my-other-secret:
metadata:
namespace: testing
stringData:
secret-key: '?{vaultkv:${cluster:tenant}/${cluster:name}/other-secret}'
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: v1
data: {}
kind: Secret
metadata:
annotations: {}
labels:
name: my-other-secret
name: my-other-secret
namespace: testing
stringData:
secret-key: t-silent-test-1234/c-green-test-1234/other-secret
type: Opaque
---
apiVersion: v1
data: {}
kind: Secret
metadata:
annotations: {}
labels:
name: my-secret
name: my-secret
stringData:
secret-key: t-silent-test-1234/c-green-test-1234/secret-value
type: Opaque