ContainerImage.Pinniped/deploy/crd.yaml

86 lines
2.7 KiB
YAML

#! Copyright 2020 VMware, Inc.
#! SPDX-License-Identifier: Apache-2.0
#! Example of valid CredentialIssuerConfig object:
#! ---
#! apiVersion: crd.pinniped.dev/v1alpha1
#! kind: CredentialIssuerConfig
#! metadata:
#! name: credential-issuer-config
#! namespace: integration
#! status:
#! kubeConfigInfo:
#! server: https://foo
#! certificateAuthorityData: bar
#! strategies:
#! - type: KubeClusterSigningCertificate
#! status: Error
#! reason: CouldNotFetchKey
#! message: "There was an error getting the signing cert"
#! lastUpdateTime: 2020-08-21T20:08:18Z
#@ load("@ytt:data", "data")
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: credentialissuerconfigs.crd.pinniped.dev
spec:
group: crd.pinniped.dev
versions:
#! Any changes to these schemas should also be reflected in the types.go file(s)
- name: v1alpha1
served: true
storage: true
schema:
openAPIV3Schema:
type: object
properties:
status:
type: object
properties:
strategies:
type: array
items:
type: object
required: [ type, status, reason, message, lastUpdateTime ]
properties:
type: #! this property is called "type"
type: string
minLength: 1
pattern: '^KubeClusterSigningCertificate$'
status:
type: string
minLength: 1
pattern: '^Success$|^Error$'
reason:
type: string
minLength: 1
pattern: '^CouldNotFetchKey$|^FetchedKey$'
message:
type: string
minLength: 1
lastUpdateTime:
type: string
format: date-time
minLength: 1
kubeConfigInfo:
type: object
required: [ server, certificateAuthorityData ]
properties:
server:
type: string
minLength: 1
pattern: '^https://|^http://'
certificateAuthorityData:
type: string
minLength: 1
scope: Namespaced
names:
plural: credentialissuerconfigs
singular: credentialissuerconfig
kind: CredentialIssuerConfig
shortNames:
- cic