deploy(k8s): add CRD definitions for operator
This commit is contained in:
parent
756af4fb73
commit
fa091b9d22
127
deploy/crd/app-crd.yaml
Normal file
127
deploy/crd/app-crd.yaml
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
name: apps.code.dev
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.16.0
|
||||||
|
spec:
|
||||||
|
group: code.dev
|
||||||
|
names:
|
||||||
|
kind: App
|
||||||
|
listKind: AppList
|
||||||
|
plural: apps
|
||||||
|
singular: app
|
||||||
|
shortNames:
|
||||||
|
- app
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
additionalPrinterColumns:
|
||||||
|
- name: Replicas
|
||||||
|
jsonPath: .spec.replicas
|
||||||
|
type: integer
|
||||||
|
- name: Ready
|
||||||
|
jsonPath: .status.phase
|
||||||
|
type: string
|
||||||
|
- name: Age
|
||||||
|
jsonPath: .metadata.creationTimestamp
|
||||||
|
type: date
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
type: object
|
||||||
|
required: [spec]
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
type: object
|
||||||
|
required: []
|
||||||
|
properties:
|
||||||
|
image:
|
||||||
|
type: string
|
||||||
|
default: myapp/app:latest
|
||||||
|
replicas:
|
||||||
|
type: integer
|
||||||
|
default: 3
|
||||||
|
env:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
required: [name]
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
value:
|
||||||
|
type: string
|
||||||
|
valueFrom:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
secretRef:
|
||||||
|
type: object
|
||||||
|
required: [name, secretName, secretKey]
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
secretName:
|
||||||
|
type: string
|
||||||
|
secretKey:
|
||||||
|
type: string
|
||||||
|
resources:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
requests:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
cpu:
|
||||||
|
type: string
|
||||||
|
memory:
|
||||||
|
type: string
|
||||||
|
limits:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
cpu:
|
||||||
|
type: string
|
||||||
|
memory:
|
||||||
|
type: string
|
||||||
|
livenessProbe:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
port:
|
||||||
|
type: integer
|
||||||
|
default: 8080
|
||||||
|
path:
|
||||||
|
type: string
|
||||||
|
default: /health
|
||||||
|
initialDelaySeconds:
|
||||||
|
type: integer
|
||||||
|
default: 5
|
||||||
|
readinessProbe:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
port:
|
||||||
|
type: integer
|
||||||
|
default: 8080
|
||||||
|
path:
|
||||||
|
type: string
|
||||||
|
default: /health
|
||||||
|
initialDelaySeconds:
|
||||||
|
type: integer
|
||||||
|
default: 5
|
||||||
|
imagePullPolicy:
|
||||||
|
type: string
|
||||||
|
default: IfNotPresent
|
||||||
|
status:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
readyReplicas:
|
||||||
|
type: integer
|
||||||
|
phase:
|
||||||
|
type: string
|
||||||
94
deploy/crd/email-worker-crd.yaml
Normal file
94
deploy/crd/email-worker-crd.yaml
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
name: emailworkers.code.dev
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.16.0
|
||||||
|
spec:
|
||||||
|
group: code.dev
|
||||||
|
names:
|
||||||
|
kind: EmailWorker
|
||||||
|
listKind: EmailWorkerList
|
||||||
|
plural: emailworkers
|
||||||
|
singular: emailworker
|
||||||
|
shortNames:
|
||||||
|
- ew
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
additionalPrinterColumns:
|
||||||
|
- name: Age
|
||||||
|
jsonPath: .metadata.creationTimestamp
|
||||||
|
type: date
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
type: object
|
||||||
|
required: [spec]
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
type: object
|
||||||
|
required: []
|
||||||
|
properties:
|
||||||
|
image:
|
||||||
|
type: string
|
||||||
|
default: myapp/email-worker:latest
|
||||||
|
env:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
required: [name]
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
value:
|
||||||
|
type: string
|
||||||
|
valueFrom:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
secretRef:
|
||||||
|
type: object
|
||||||
|
required: [name, secretName, secretKey]
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
secretName:
|
||||||
|
type: string
|
||||||
|
secretKey:
|
||||||
|
type: string
|
||||||
|
resources:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
requests:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
cpu:
|
||||||
|
type: string
|
||||||
|
memory:
|
||||||
|
type: string
|
||||||
|
limits:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
cpu:
|
||||||
|
type: string
|
||||||
|
memory:
|
||||||
|
type: string
|
||||||
|
imagePullPolicy:
|
||||||
|
type: string
|
||||||
|
default: IfNotPresent
|
||||||
|
status:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
readyReplicas:
|
||||||
|
type: integer
|
||||||
|
phase:
|
||||||
|
type: string
|
||||||
96
deploy/crd/git-hook-crd.yaml
Normal file
96
deploy/crd/git-hook-crd.yaml
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
name: githooks.code.dev
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.16.0
|
||||||
|
spec:
|
||||||
|
group: code.dev
|
||||||
|
names:
|
||||||
|
kind: GitHook
|
||||||
|
listKind: GitHookList
|
||||||
|
plural: githooks
|
||||||
|
singular: githook
|
||||||
|
shortNames:
|
||||||
|
- ghk
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
additionalPrinterColumns:
|
||||||
|
- name: Age
|
||||||
|
jsonPath: .metadata.creationTimestamp
|
||||||
|
type: date
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
type: object
|
||||||
|
required: [spec]
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
type: object
|
||||||
|
required: []
|
||||||
|
properties:
|
||||||
|
image:
|
||||||
|
type: string
|
||||||
|
default: myapp/git-hook:latest
|
||||||
|
env:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
required: [name]
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
value:
|
||||||
|
type: string
|
||||||
|
valueFrom:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
secretRef:
|
||||||
|
type: object
|
||||||
|
required: [name, secretName, secretKey]
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
secretName:
|
||||||
|
type: string
|
||||||
|
secretKey:
|
||||||
|
type: string
|
||||||
|
resources:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
requests:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
cpu:
|
||||||
|
type: string
|
||||||
|
memory:
|
||||||
|
type: string
|
||||||
|
limits:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
cpu:
|
||||||
|
type: string
|
||||||
|
memory:
|
||||||
|
type: string
|
||||||
|
imagePullPolicy:
|
||||||
|
type: string
|
||||||
|
default: IfNotPresent
|
||||||
|
workerId:
|
||||||
|
type: string
|
||||||
|
status:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
readyReplicas:
|
||||||
|
type: integer
|
||||||
|
phase:
|
||||||
|
type: string
|
||||||
108
deploy/crd/gitserver-crd.yaml
Normal file
108
deploy/crd/gitserver-crd.yaml
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
name: gitservers.code.dev
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.16.0
|
||||||
|
spec:
|
||||||
|
group: code.dev
|
||||||
|
names:
|
||||||
|
kind: GitServer
|
||||||
|
listKind: GitServerList
|
||||||
|
plural: gitservers
|
||||||
|
singular: gitserver
|
||||||
|
shortNames:
|
||||||
|
- gs
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
additionalPrinterColumns:
|
||||||
|
- name: Age
|
||||||
|
jsonPath: .metadata.creationTimestamp
|
||||||
|
type: date
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
type: object
|
||||||
|
required: [spec]
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
type: object
|
||||||
|
required: []
|
||||||
|
properties:
|
||||||
|
image:
|
||||||
|
type: string
|
||||||
|
default: myapp/gitserver:latest
|
||||||
|
env:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
required: [name]
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
value:
|
||||||
|
type: string
|
||||||
|
valueFrom:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
secretRef:
|
||||||
|
type: object
|
||||||
|
required: [name, secretName, secretKey]
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
secretName:
|
||||||
|
type: string
|
||||||
|
secretKey:
|
||||||
|
type: string
|
||||||
|
resources:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
requests:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
cpu:
|
||||||
|
type: string
|
||||||
|
memory:
|
||||||
|
type: string
|
||||||
|
limits:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
cpu:
|
||||||
|
type: string
|
||||||
|
memory:
|
||||||
|
type: string
|
||||||
|
sshServiceType:
|
||||||
|
type: string
|
||||||
|
default: NodePort
|
||||||
|
storageSize:
|
||||||
|
type: string
|
||||||
|
default: 10Gi
|
||||||
|
imagePullPolicy:
|
||||||
|
type: string
|
||||||
|
default: IfNotPresent
|
||||||
|
sshDomain:
|
||||||
|
type: string
|
||||||
|
sshPort:
|
||||||
|
type: integer
|
||||||
|
default: 22
|
||||||
|
httpPort:
|
||||||
|
type: integer
|
||||||
|
default: 8022
|
||||||
|
status:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
readyReplicas:
|
||||||
|
type: integer
|
||||||
|
phase:
|
||||||
|
type: string
|
||||||
87
deploy/crd/migrate-crd.yaml
Normal file
87
deploy/crd/migrate-crd.yaml
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
apiVersion: apiextensions.k8s.io/v1
|
||||||
|
kind: CustomResourceDefinition
|
||||||
|
metadata:
|
||||||
|
name: migrates.code.dev
|
||||||
|
annotations:
|
||||||
|
controller-gen.kubebuilder.io/version: v0.16.0
|
||||||
|
spec:
|
||||||
|
group: code.dev
|
||||||
|
names:
|
||||||
|
kind: Migrate
|
||||||
|
listKind: MigrateList
|
||||||
|
plural: migrates
|
||||||
|
singular: migrate
|
||||||
|
shortNames:
|
||||||
|
- mig
|
||||||
|
scope: Namespaced
|
||||||
|
versions:
|
||||||
|
- name: v1
|
||||||
|
served: true
|
||||||
|
storage: true
|
||||||
|
subresources:
|
||||||
|
status: {}
|
||||||
|
additionalPrinterColumns:
|
||||||
|
- name: Status
|
||||||
|
jsonPath: .status.phase
|
||||||
|
type: string
|
||||||
|
- name: Age
|
||||||
|
jsonPath: .metadata.creationTimestamp
|
||||||
|
type: date
|
||||||
|
schema:
|
||||||
|
openAPIV3Schema:
|
||||||
|
type: object
|
||||||
|
required: [spec]
|
||||||
|
properties:
|
||||||
|
apiVersion:
|
||||||
|
type: string
|
||||||
|
kind:
|
||||||
|
type: string
|
||||||
|
metadata:
|
||||||
|
type: object
|
||||||
|
spec:
|
||||||
|
type: object
|
||||||
|
required: []
|
||||||
|
properties:
|
||||||
|
image:
|
||||||
|
type: string
|
||||||
|
default: myapp/migrate:latest
|
||||||
|
env:
|
||||||
|
type: array
|
||||||
|
description: "Must include APP_DATABASE_URL"
|
||||||
|
items:
|
||||||
|
type: object
|
||||||
|
required: [name]
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
value:
|
||||||
|
type: string
|
||||||
|
valueFrom:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
secretRef:
|
||||||
|
type: object
|
||||||
|
required: [name, secretName, secretKey]
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
type: string
|
||||||
|
secretName:
|
||||||
|
type: string
|
||||||
|
secretKey:
|
||||||
|
type: string
|
||||||
|
command:
|
||||||
|
type: string
|
||||||
|
default: up
|
||||||
|
description: "Migration command: up, down, fresh, refresh, reset"
|
||||||
|
backoffLimit:
|
||||||
|
type: integer
|
||||||
|
default: 3
|
||||||
|
status:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
phase:
|
||||||
|
type: string
|
||||||
|
startTime:
|
||||||
|
type: string
|
||||||
|
completionTime:
|
||||||
|
type: string
|
||||||
Loading…
Reference in New Issue
Block a user