quorate/vendor/platform/layshaft/crd.yaml

94 lines
3 KiB
YAML
Raw Normal View History

apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: unlocknodes.layshaft.quorate.dev
spec:
group: layshaft.quorate.dev
scope: Namespaced
names:
plural: unlocknodes
singular: unlocknode
kind: UnlockNode
versions:
- name: v1alpha1
served: true
storage: true
subresources:
status: {}
schema:
openAPIV3Schema:
type: object
required: [spec]
properties:
spec:
type: object
required: [address, unlocker, rotator, periodSeconds, clientPeriodSeconds]
properties:
address: {type: string, format: uri}
unlocker: {type: string, minLength: 1}
rotator: {type: string, minLength: 1}
keyPath: {type: string, minLength: 1}
periodSeconds: {type: integer, minimum: 1}
clientPeriodSeconds: {type: integer, minimum: 1}
status:
type: object
properties:
unlock:
type: object
required: [current, due]
properties:
current: {type: integer, format: int64}
target: {type: integer, format: int64, nullable: true}
retiring: {type: integer, format: int64, nullable: true}
due: {type: string, format: date-time}
unlocker: &client
type: object
required: [current, due]
properties:
current: {type: string, minLength: 1}
target: {type: string, nullable: true, minLength: 1}
due: {type: string, format: date-time}
rotator: *client
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: controllerstates.layshaft.quorate.dev
spec:
group: layshaft.quorate.dev
scope: Namespaced
names:
plural: controllerstates
singular: controllerstate
kind: ControllerState
versions:
- name: v1alpha1
served: true
storage: true
subresources:
status: {}
schema:
openAPIV3Schema:
type: object
properties:
spec: {type: object}
status:
type: object
required: [current, known, retiring, peers, due]
properties:
current: {type: string, minLength: 1}
known:
type: array
items: {type: string, minLength: 1}
retiring:
type: array
items: {type: string, minLength: 1}
due: {type: string, format: date-time}
peers:
type: object
additionalProperties:
type: object
required: [current]
properties:
current: {type: string, minLength: 1}
target: {type: string, nullable: true, minLength: 1}