apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: mutantdeployments.neiam.org
spec:
group: neiam.org
versions:
- name: v1
served: true
storage: true
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
deployment:
type: object
x-kubernetes-preserve-unknown-fields: true
mutations:
type: array
items:
type: object
properties:
label:
type: string
env:
type: object
additionalProperties:
type: string
instances:
type: integer
required:
- deployment
- mutations
scope: Namespaced
names:
plural: mutantdeployments
singular: mutantdeployment
kind: MutantDeployment
shortNames:
- md
---
# A Mutation: a base Deployment plus variants of it, like a
# MutantDeployment, but configured at runtime through the operator's HTTP
# API rather than declared in git. Schema matches `Mutation` in src/crd.rs.
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: mutations.neiam.org
spec:
group: neiam.org
scope: Namespaced
names:
plural: mutations
singular: mutation
kind: Mutation
shortNames:
- mut
versions:
- name: v1
served: true
storage: true
subresources:
status: {}
additionalPrinterColumns:
- name: Base
type: string
jsonPath: .spec.deployment.metadata.name
- name: Ready
type: string
jsonPath: .status.summary
- name: Secret
type: string
jsonPath: .status.secret
- name: Age
type: date
jsonPath: .metadata.creationTimestamp
schema:
openAPIV3Schema:
type: object
required:
- spec
properties:
spec:
type: object
required:
- deployment
properties:
deployment:
description: The base Deployment every variant is derived from.
type: object
x-kubernetes-preserve-unknown-fields: true
variants:
type: array
default: []
items:
type: object
required:
- label
- instances
properties:
label:
description: Suffix of the variant's Deployment name; unique within the Mutation.
type: string
pattern: '^[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])?$'
env:
type: object
default: {}
additionalProperties:
type: string
instances:
type: integer
format: int32
minimum: 0
status:
type: object
properties:
summary:
description: e.g. "2/3 variants ready".
type: string
nullable: true
secret:
description: The Mutation's generated Secret, holding a random `token`.
type: string
nullable: true
message:
type: string
nullable: true
variants:
type: array
items:
type: object
required:
- label
- state
properties:
label:
type: string
state:
type: string
enum: [Progressing, Ready, Invalid, Conflict]
message:
type: string
nullable: true
deployment:
description: The generated Deployment.
type: string
nullable: true
replicas:
type: integer
format: int32
nullable: true
readyReplicas:
type: integer
format: int32
nullable: true
neiam
/mutant-operator
An Experimental Operator
public · Issues · Pulls · Labels · Forks · Compare · Actions queued · Badges · Packages
⭐
Log in to mark this repository.
4.8 KiB · text
History
df2320f