Files

85 lines
2.5 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",
query_path(resource, "spec.provider.aws.region"),
None,
query_path(resource, "spec.provider.aws.service"),
"aws/v1",
"REFERENCE"
)
nodes: |
# Create an AWS Secrets Manager node if defined
provider_aws_region = query_path(resource, "spec.provider.aws.region")
if provider_aws_region is not None:
nodes.append({
"kind": query_path(resource, "spec.provider.aws.service"),
"apiVersion": "aws/v1",
"metadata": {
"name": provider_aws_region
}
})
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
#
# AWS Parameter Store
#
ParameterStore/aws/v1:
scope: Outside # of the Kubernetes world
diagram_node_classname: diagrams.aws.management.SystemsManagerParameterStore