{ "description": "TLSStore is the CRD implementation of a Traefik TLS Store.\nFor the time being, only the TLSStore named default is supported.\nThis means that you cannot have two stores that are named default in different Kubernetes namespaces.\nMore info: https://doc.traefik.io/traefik/v3.7/reference/routing-configuration/http/tls/tls-certificates/#certificates-stores#certificates-stores", "properties": { "apiVersion": { "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", "type": "string" }, "kind": { "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", "type": "string" }, "metadata": { "type": "object" }, "spec": { "description": "TLSStoreSpec defines the desired state of a TLSStore.", "properties": { "certificates": { "description": "Certificates is a list of secret names, each secret holding a key/certificate pair to add to the store.", "items": { "description": "Certificate holds a secret name for the TLSStore resource.", "properties": { "secretName": { "description": "SecretName is the name of the referenced Kubernetes Secret to specify the certificate details.", "type": "string" } }, "required": [ "secretName" ], "type": "object", "additionalProperties": false }, "type": "array" }, "defaultCertificate": { "description": "DefaultCertificate defines the default certificate configuration.", "properties": { "secretName": { "description": "SecretName is the name of the referenced Kubernetes Secret to specify the certificate details.", "type": "string" } }, "required": [ "secretName" ], "type": "object", "additionalProperties": false }, "defaultGeneratedCert": { "description": "DefaultGeneratedCert defines the default generated certificate configuration.", "properties": { "domain": { "description": "Domain is the domain definition for the DefaultCertificate.", "properties": { "main": { "description": "Main defines the main domain name.", "type": "string" }, "sans": { "description": "SANs defines the subject alternative domain names.", "items": { "type": "string" }, "type": "array" } }, "type": "object", "additionalProperties": false }, "resolver": { "description": "Resolver is the name of the resolver that will be used to issue the DefaultCertificate.", "type": "string" } }, "type": "object", "additionalProperties": false } }, "type": "object", "additionalProperties": false } }, "required": [ "metadata", "spec" ], "type": "object" }