Files
KubeDiagrams/examples/external-secrets/external-secrets.io.kdc

78 lines
2.2 KiB
Plaintext

nodes:
#
# ExternalSecret
#
ExternalSecret/external-secrets.io/v1:
scope: Namespaced
custom_icon: icons/ExternalSecret.png
edges: |
# Edge to the secret store of this external secret
edges.add_edge_to(
"spec.secretStoreRef",
query_path(resource, "spec.secretStoreRef.name"),
get_namespace(resource),
query_path(resource, "spec.secretStoreRef.kind"),
query_path(resource, "apiVersion"),
"REFERENCE"
)
# Edge to the generated secret
edges.add_edge_to(
None,
get_name(resource),
get_namespace(resource),
"Secret",
"v1",
"OWNER"
)
nodes: |
# Create the secret for this external secret
nodes.append({
"kind": "Secret",
"apiVersion": "v1",
"metadata": {
"name": get_name(resource),
"namespace": get_namespace(resource),
"labels": query_path(resource, "metadata.labels"),
"annotations": query_path(resource, "metadata.annotations")
}
})
ExternalSecret/external-secrets.io/v1alpha1: ExternalSecret/external-secrets.io/v1
ExternalSecret/external-secrets.io/v1beta1: ExternalSecret/external-secrets.io/v1
#
# SecretStore
#
SecretStore/external-secrets.io/v1:
scope: Namespaced
custom_icon: icons/SecretStore.png
edges: |
# Edge to the AWS Secrets Manager of this secret store
edges.add_edge_to(
"spec.provider.aws.service",
".",
None,
"SecretsManager",
"aws/v1",
"REFERENCE"
)
nodes: |
# Create an AWS Secrets Manager node if defined
provider_aws_service = query_path(resource, "spec.provider.aws.service")
if provider_aws_service is not None:
nodes.append({
"kind": "SecretsManager",
"apiVersion": "aws/v1",
"metadata": {
"name": provider_aws_service
}
})
SecretStore/external-secrets.io/v1alpha1: SecretStore/external-secrets.io/v1
SecretStore/external-secrets.io/v1beta1: SecretStore/external-secrets.io/v1
#
# AWS Secrets Manager
#
SecretsManager/aws/v1:
scope: Outside # of the Kubernetes world
diagram_node_classname: diagrams.aws.security.SecretsManager