install/crd.yaml
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
# name must match the spec fields below, and be in the form: <plural>.<group>
name: kudecs.kubernetes-misc.xyz
spec:
# group name to use for REST API: /apis/<group>/<version>
group: kubernetes-misc.xyz
# list of versions supported by this CustomResourceDefinition
versions:
- name: v1
# Each version can be enabled/disabled by Served flag.
served: true
# One and only one version must be marked as the storage version.
storage: true
# either Namespaced or Cluster
scope: Namespaced
names:
# plural name to be used in the URL: /apis/<group>/<version>/<plural>
plural: kudecs
# singular name to be used as an alias on the CLI and for display
singular: kudec
# kind is normally the CamelCased singular type. Your resource manifests use this.
kind: kudec
# shortNames allow shorter string to match your resource on the CLI
shortNames:
- kd
# preserveUnknownFields: false
validation:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
days:
type: integer
countryName:
type: string
stateName:
type: string
localityName:
type: string
organizationName:
type: string
organizationalUnit:
type: string
commonName:
type: string
emailAddress:
type: string
injectedSecrets:
type: array
items:
type: object
properties:
# The namespace to create the secret in
namespace:
type: string
# The name of the secret
secretName:
type: string
# private / public - which to use from the master
sourceKey:
type: string
enum: ["private", "public"]
# what to call the "file" in the secret
keyName:
type: string