Merge "Switch off index.synchronizeForced"
diff --git a/container-images/gerrit-base/Dockerfile b/container-images/gerrit-base/Dockerfile
index 77512d7..af480ae 100644
--- a/container-images/gerrit-base/Dockerfile
+++ b/container-images/gerrit-base/Dockerfile
@@ -15,7 +15,7 @@
mkdir -p /var/war
# Download Gerrit release
-ARG GERRIT_WAR_URL=https://gerrit-releases.storage.googleapis.com/gerrit-3.9.1.war
+ARG GERRIT_WAR_URL=https://gerrit-releases.storage.googleapis.com/gerrit-3.9.4.war
RUN curl -f -k -o /var/war/gerrit.war ${GERRIT_WAR_URL} && \
ln -s /var/war/gerrit.war /var/gerrit/bin/gerrit.war
diff --git a/crd/current/gerritclusters.gerritoperator.google.com-v1.yml b/crd/current/gerritclusters.gerritoperator.google.com-v1.yml
index e97e62f..afb2e87 100644
--- a/crd/current/gerritclusters.gerritoperator.google.com-v1.yml
+++ b/crd/current/gerritclusters.gerritoperator.google.com-v1.yml
@@ -19,78 +19,8 @@
properties:
spec:
properties:
- storage:
- properties:
- pluginCache:
- properties:
- enabled:
- type: boolean
- type: object
- storageClasses:
- properties:
- readWriteOnce:
- type: string
- readWriteMany:
- type: string
- nfsWorkaround:
- properties:
- enabled:
- type: boolean
- chownOnStartup:
- type: boolean
- idmapdConfig:
- type: string
- type: object
- type: object
- sharedStorage:
- properties:
- externalPVC:
- properties:
- enabled:
- type: boolean
- claimName:
- type: string
- type: object
- size:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- volumeName:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- type: object
- type: object
containerImages:
properties:
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
busyBox:
properties:
registry:
@@ -100,80 +30,32 @@
type: object
gerritImages:
properties:
- registry:
- type: string
org:
type: string
+ registry:
+ type: string
tag:
type: string
type: object
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
type: object
- ingress:
+ fluentBitSidecar:
properties:
+ config:
+ type: string
enabled:
type: boolean
- host:
+ image:
type: string
- annotations:
- additionalProperties:
- type: string
- type: object
- tls:
- properties:
- enabled:
- type: boolean
- secret:
- type: string
- type: object
- ssh:
- properties:
- enabled:
- type: boolean
- type: object
- ambassador:
- properties:
- id:
- items:
- type: string
- type: array
- createHost:
- type: boolean
- type: object
- istio:
- properties:
- gatewaySelector:
- additionalProperties:
- type: string
- type: object
- type: object
type: object
- refdb:
- properties:
- database:
- enum:
- - NONE
- - ZOOKEEPER
- - SPANNER
- type: string
- zookeeper:
- properties:
- connectString:
- type: string
- rootNode:
- type: string
- type: object
- spanner:
- properties:
- projectName:
- type: string
- instance:
- type: string
- database:
- type: string
- type: object
- type: object
- serverId:
- type: string
gerrits:
items:
properties:
@@ -250,23 +132,6 @@
type: object
spec:
properties:
- serviceAccount:
- type: string
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -369,6 +234,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -423,6 +296,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -479,6 +360,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -533,6 +422,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -563,53 +460,239 @@
type: array
type: object
type: object
- topologySpreadConstraints:
+ configFiles:
+ additionalProperties:
+ type: string
+ type: object
+ debug:
+ properties:
+ enabled:
+ type: boolean
+ suspend:
+ type: boolean
+ type: object
+ envVars:
items:
properties:
- labelSelector:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ type: object
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ type: object
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
type: object
type: object
- matchLabelKeys:
- items:
+ type: object
+ type: array
+ gracefulStopTimeout:
+ type: integer
+ libs:
+ items:
+ properties:
+ data:
+ properties:
+ executable:
+ type: boolean
+ secretRef:
+ type: string
+ type: object
+ name:
+ type: string
+ sha1:
+ type: string
+ url:
+ type: string
+ type: object
+ type: array
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ properties:
+ port:
+ type: integer
+ service:
type: string
- type: array
- maxSkew:
- type: integer
- minDomains:
- type: integer
- nodeAffinityPolicy:
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ terminationGracePeriodSeconds:
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ mode:
+ enum:
+ - PRIMARY
+ - REPLICA
+ type: string
+ plugins:
+ items:
+ properties:
+ data:
+ properties:
+ executable:
+ type: boolean
+ secretRef:
+ type: string
+ type: object
+ installAsLibrary:
+ type: boolean
+ name:
type: string
- nodeTaintsPolicy:
+ sha1:
type: string
- topologyKey:
- type: string
- whenUnsatisfiable:
+ url:
type: string
type: object
type: array
priorityClassName:
type: string
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ properties:
+ port:
+ type: integer
+ service:
+ type: string
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ terminationGracePeriodSeconds:
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
replicas:
type: integer
- updatePartition:
- type: integer
resources:
properties:
claims:
@@ -634,6 +717,27 @@
x-kubernetes-int-or-string: true
type: object
type: object
+ secretRef:
+ type: string
+ service:
+ properties:
+ httpPort:
+ type: integer
+ sshPort:
+ type: integer
+ type:
+ type: string
+ type: object
+ serviceAccount:
+ type: string
+ site:
+ properties:
+ size:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
startupProbe:
properties:
exec:
@@ -696,257 +800,106 @@
timeoutSeconds:
type: integer
type: object
- readinessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- type: integer
- grpc:
- properties:
- port:
- type: integer
- service:
- type: string
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- type: object
- initialDelaySeconds:
- type: integer
- periodSeconds:
- type: integer
- successThreshold:
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- terminationGracePeriodSeconds:
- type: integer
- timeoutSeconds:
- type: integer
- type: object
- livenessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- type: integer
- grpc:
- properties:
- port:
- type: integer
- service:
- type: string
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- type: object
- initialDelaySeconds:
- type: integer
- periodSeconds:
- type: integer
- successThreshold:
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- terminationGracePeriodSeconds:
- type: integer
- timeoutSeconds:
- type: integer
- type: object
- gracefulStopTimeout:
- type: integer
- service:
- properties:
- sshPort:
- type: integer
- type:
- type: string
- httpPort:
- type: integer
- type: object
- site:
- properties:
- size:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- plugins:
+ tolerations:
items:
properties:
- installAsLibrary:
- type: boolean
- name:
+ effect:
type: string
- url:
+ key:
type: string
- sha1:
+ operator:
type: string
- data:
- properties:
- secretRef:
- type: string
- executable:
- type: boolean
- type: object
- type: object
- type: array
- libs:
- items:
- properties:
- name:
- type: string
- url:
- type: string
- sha1:
- type: string
- data:
- properties:
- secretRef:
- type: string
- executable:
- type: boolean
- type: object
- type: object
- type: array
- configFiles:
- additionalProperties:
- type: string
- type: object
- envVars:
- items:
- properties:
- name:
- type: string
+ tolerationSeconds:
+ type: integer
value:
type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- type: object
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- type: object
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- resource:
- type: string
- type: object
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- type: object
- type: object
type: object
type: array
- secretRef:
- type: string
- mode:
- enum:
- - PRIMARY
- - REPLICA
- type: string
- debug:
- properties:
- enabled:
- type: boolean
- suspend:
- type: boolean
- type: object
+ topologySpreadConstraints:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ maxSkew:
+ type: integer
+ minDomains:
+ type: integer
+ nodeAffinityPolicy:
+ type: string
+ nodeTaintsPolicy:
+ type: string
+ topologyKey:
+ type: string
+ whenUnsatisfiable:
+ type: string
+ type: object
+ type: array
+ updatePartition:
+ type: integer
type: object
type: object
type: array
+ ingress:
+ properties:
+ ambassador:
+ properties:
+ createHost:
+ type: boolean
+ id:
+ items:
+ type: string
+ type: array
+ type: object
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ enabled:
+ type: boolean
+ host:
+ type: string
+ istio:
+ properties:
+ gatewaySelector:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ ssh:
+ properties:
+ enabled:
+ type: boolean
+ type: object
+ tls:
+ properties:
+ enabled:
+ type: boolean
+ secret:
+ type: string
+ type: object
+ type: object
receiver:
properties:
metadata:
@@ -1022,21 +975,6 @@
type: object
spec:
properties:
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -1139,6 +1077,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1193,6 +1139,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1249,6 +1203,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1303,6 +1265,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1333,147 +1303,8 @@
type: array
type: object
type: object
- topologySpreadConstraints:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- matchLabelKeys:
- items:
- type: string
- type: array
- maxSkew:
- type: integer
- minDomains:
- type: integer
- nodeAffinityPolicy:
- type: string
- nodeTaintsPolicy:
- type: string
- topologyKey:
- type: string
- whenUnsatisfiable:
- type: string
- type: object
- type: array
- priorityClassName:
+ credentialSecretRef:
type: string
- replicas:
- type: integer
- maxSurge:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- maxUnavailable:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- type: object
- readinessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- type: integer
- grpc:
- properties:
- port:
- type: integer
- service:
- type: string
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- type: object
- initialDelaySeconds:
- type: integer
- periodSeconds:
- type: integer
- successThreshold:
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- terminationGracePeriodSeconds:
- type: integer
- timeoutSeconds:
- type: integer
- type: object
livenessProbe:
properties:
exec:
@@ -1536,25 +1367,195 @@
timeoutSeconds:
type: integer
type: object
- service:
+ maxSurge:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ maxUnavailable:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ priorityClassName:
+ type: string
+ readinessProbe:
properties:
- type:
- type: string
- httpPort:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ properties:
+ port:
+ type: integer
+ service:
+ type: string
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ terminationGracePeriodSeconds:
+ type: integer
+ timeoutSeconds:
type: integer
type: object
- credentialSecretRef:
- type: string
+ replicas:
+ type: integer
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ service:
+ properties:
+ httpPort:
+ type: integer
+ type:
+ type: string
+ type: object
+ tolerations:
+ items:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ type: integer
+ value:
+ type: string
+ type: object
+ type: array
+ topologySpreadConstraints:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ maxSkew:
+ type: integer
+ minDomains:
+ type: integer
+ nodeAffinityPolicy:
+ type: string
+ nodeTaintsPolicy:
+ type: string
+ topologyKey:
+ type: string
+ whenUnsatisfiable:
+ type: string
+ type: object
+ type: array
type: object
type: object
- fluentBitSidecar:
+ refdb:
properties:
- image:
+ database:
+ enum:
+ - NONE
+ - SPANNER
+ - ZOOKEEPER
type: string
- config:
- type: string
- enabled:
- type: boolean
+ spanner:
+ properties:
+ database:
+ type: string
+ instance:
+ type: string
+ projectName:
+ type: string
+ type: object
+ zookeeper:
+ properties:
+ connectString:
+ type: string
+ rootNode:
+ type: string
+ type: object
type: object
scheduledTasks:
properties:
@@ -1634,79 +1635,6 @@
type: object
spec:
properties:
- schedule:
- type: string
- config:
- properties:
- remotes:
- items:
- properties:
- name:
- type: string
- url:
- type: string
- timeout:
- type: string
- fetch:
- items:
- properties:
- remoteRepo:
- type: string
- localRepo:
- type: string
- refSpec:
- type: string
- required:
- - remoteRepo
- type: object
- type: array
- required:
- - name
- - url
- type: object
- type: array
- required:
- - remotes
- type: object
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- type: object
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -1809,6 +1737,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1863,6 +1799,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1919,6 +1863,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1973,6 +1925,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -2003,8 +1963,81 @@
type: array
type: object
type: object
+ config:
+ properties:
+ remotes:
+ items:
+ properties:
+ fetch:
+ items:
+ properties:
+ localRepo:
+ type: string
+ refSpec:
+ type: string
+ remoteRepo:
+ type: string
+ required:
+ - remoteRepo
+ type: object
+ type: array
+ name:
+ type: string
+ timeout:
+ type: string
+ url:
+ type: string
+ required:
+ - name
+ - url
+ type: object
+ type: array
+ required:
+ - remotes
+ type: object
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ schedule:
+ type: string
secretRef:
type: string
+ tolerations:
+ items:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ type: integer
+ value:
+ type: string
+ type: object
+ type: array
required:
- schedule
- config
@@ -2012,6 +2045,69 @@
type: object
type: array
type: object
+ serverId:
+ type: string
+ storage:
+ properties:
+ pluginCache:
+ properties:
+ enabled:
+ type: boolean
+ type: object
+ sharedStorage:
+ properties:
+ externalPVC:
+ properties:
+ claimName:
+ type: string
+ enabled:
+ type: boolean
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ size:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ volumeName:
+ type: string
+ type: object
+ storageClasses:
+ properties:
+ nfsWorkaround:
+ properties:
+ chownOnStartup:
+ type: boolean
+ enabled:
+ type: boolean
+ idmapdConfig:
+ type: string
+ type: object
+ readWriteMany:
+ type: string
+ readWriteOnce:
+ type: string
+ type: object
+ type: object
type: object
status:
properties:
diff --git a/crd/current/gerritnetworks.gerritoperator.google.com-v1.yml b/crd/current/gerritnetworks.gerritoperator.google.com-v1.yml
index 8b5f2fc..09170ef 100644
--- a/crd/current/gerritnetworks.gerritoperator.google.com-v1.yml
+++ b/crd/current/gerritnetworks.gerritoperator.google.com-v1.yml
@@ -19,15 +19,45 @@
properties:
spec:
properties:
+ gerritReplica:
+ properties:
+ httpPort:
+ type: integer
+ name:
+ type: string
+ sshPort:
+ type: integer
+ type: object
ingress:
properties:
+ ambassador:
+ properties:
+ createHost:
+ type: boolean
+ id:
+ items:
+ type: string
+ type: array
+ type: object
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
enabled:
type: boolean
host:
type: string
- annotations:
- additionalProperties:
- type: string
+ istio:
+ properties:
+ gatewaySelector:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ ssh:
+ properties:
+ enabled:
+ type: boolean
type: object
tls:
properties:
@@ -36,52 +66,22 @@
secret:
type: string
type: object
- ssh:
- properties:
- enabled:
- type: boolean
- type: object
- ambassador:
- properties:
- id:
- items:
- type: string
- type: array
- createHost:
- type: boolean
- type: object
- istio:
- properties:
- gatewaySelector:
- additionalProperties:
- type: string
- type: object
- type: object
- type: object
- receiver:
- properties:
- name:
- type: string
- httpPort:
- type: integer
type: object
primaryGerrit:
properties:
- sshPort:
+ httpPort:
type: integer
name:
type: string
- httpPort:
+ sshPort:
type: integer
type: object
- gerritReplica:
+ receiver:
properties:
- sshPort:
+ httpPort:
type: integer
name:
type: string
- httpPort:
- type: integer
type: object
type: object
status:
diff --git a/crd/current/gerrits.gerritoperator.google.com-v1.yml b/crd/current/gerrits.gerritoperator.google.com-v1.yml
index f579945..649ea83 100644
--- a/crd/current/gerrits.gerritoperator.google.com-v1.yml
+++ b/crd/current/gerrits.gerritoperator.google.com-v1.yml
@@ -19,164 +19,6 @@
properties:
spec:
properties:
- containerImages:
- properties:
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- busyBox:
- properties:
- registry:
- type: string
- tag:
- type: string
- type: object
- gerritImages:
- properties:
- registry:
- type: string
- org:
- type: string
- tag:
- type: string
- type: object
- type: object
- storage:
- properties:
- pluginCache:
- properties:
- enabled:
- type: boolean
- type: object
- storageClasses:
- properties:
- readWriteOnce:
- type: string
- readWriteMany:
- type: string
- nfsWorkaround:
- properties:
- enabled:
- type: boolean
- chownOnStartup:
- type: boolean
- idmapdConfig:
- type: string
- type: object
- type: object
- sharedStorage:
- properties:
- externalPVC:
- properties:
- enabled:
- type: boolean
- claimName:
- type: string
- type: object
- size:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- volumeName:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- type: object
- type: object
- ingress:
- properties:
- enabled:
- type: boolean
- host:
- type: string
- tlsEnabled:
- type: boolean
- ssh:
- properties:
- enabled:
- type: boolean
- type: object
- type: object
- refdb:
- properties:
- database:
- enum:
- - NONE
- - ZOOKEEPER
- - SPANNER
- type: string
- zookeeper:
- properties:
- connectString:
- type: string
- rootNode:
- type: string
- type: object
- spanner:
- properties:
- projectName:
- type: string
- instance:
- type: string
- database:
- type: string
- type: object
- type: object
- serverId:
- type: string
- fluentBitSidecar:
- properties:
- image:
- type: string
- config:
- type: string
- enabled:
- type: boolean
- type: object
- sshdAdvertisedReadPort:
- type: integer
- serviceAccount:
- type: string
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -279,6 +121,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -333,6 +183,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -389,6 +247,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -443,6 +309,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -473,201 +347,137 @@
type: array
type: object
type: object
- topologySpreadConstraints:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- matchLabelKeys:
- items:
- type: string
- type: array
- maxSkew:
- type: integer
- minDomains:
- type: integer
- nodeAffinityPolicy:
- type: string
- nodeTaintsPolicy:
- type: string
- topologyKey:
- type: string
- whenUnsatisfiable:
- type: string
- type: object
- type: array
- priorityClassName:
- type: string
- replicas:
- type: integer
- updatePartition:
- type: integer
- resources:
+ configFiles:
+ additionalProperties:
+ type: string
+ type: object
+ containerImages:
properties:
- claims:
+ busyBox:
+ properties:
+ registry:
+ type: string
+ tag:
+ type: string
+ type: object
+ gerritImages:
+ properties:
+ org:
+ type: string
+ registry:
+ type: string
+ tag:
+ type: string
+ type: object
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
items:
properties:
name:
type: string
type: object
type: array
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
type: object
- startupProbe:
+ debug:
properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- type: integer
- grpc:
- properties:
- port:
- type: integer
- service:
- type: string
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
+ enabled:
+ type: boolean
+ suspend:
+ type: boolean
+ type: object
+ envVars:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
properties:
+ key:
+ type: string
name:
type: string
- value:
+ optional:
+ type: boolean
+ type: object
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
type: string
type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- type: object
- initialDelaySeconds:
- type: integer
- periodSeconds:
- type: integer
- successThreshold:
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- terminationGracePeriodSeconds:
- type: integer
- timeoutSeconds:
- type: integer
- type: object
- readinessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- type: integer
- grpc:
- properties:
- port:
- type: integer
- service:
- type: string
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
+ resourceFieldRef:
properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ type: object
+ secretKeyRef:
+ properties:
+ key:
+ type: string
name:
type: string
- value:
- type: string
+ optional:
+ type: boolean
type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- type: object
- initialDelaySeconds:
- type: integer
- periodSeconds:
- type: integer
- successThreshold:
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- terminationGracePeriodSeconds:
- type: integer
- timeoutSeconds:
- type: integer
+ type: object
+ type: object
+ type: array
+ fluentBitSidecar:
+ properties:
+ config:
+ type: string
+ enabled:
+ type: boolean
+ image:
+ type: string
type: object
+ gracefulStopTimeout:
+ type: integer
+ ingress:
+ properties:
+ enabled:
+ type: boolean
+ host:
+ type: string
+ ssh:
+ properties:
+ enabled:
+ type: boolean
+ type: object
+ tlsEnabled:
+ type: boolean
+ type: object
+ libs:
+ items:
+ properties:
+ data:
+ properties:
+ executable:
+ type: boolean
+ secretRef:
+ type: string
+ type: object
+ name:
+ type: string
+ sha1:
+ type: string
+ url:
+ type: string
+ type: object
+ type: array
livenessProbe:
properties:
exec:
@@ -730,17 +540,161 @@
timeoutSeconds:
type: integer
type: object
- gracefulStopTimeout:
+ mode:
+ enum:
+ - PRIMARY
+ - REPLICA
+ type: string
+ plugins:
+ items:
+ properties:
+ data:
+ properties:
+ executable:
+ type: boolean
+ secretRef:
+ type: string
+ type: object
+ installAsLibrary:
+ type: boolean
+ name:
+ type: string
+ sha1:
+ type: string
+ url:
+ type: string
+ type: object
+ type: array
+ priorityClassName:
+ type: string
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ properties:
+ port:
+ type: integer
+ service:
+ type: string
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ terminationGracePeriodSeconds:
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ refdb:
+ properties:
+ database:
+ enum:
+ - NONE
+ - SPANNER
+ - ZOOKEEPER
+ type: string
+ spanner:
+ properties:
+ database:
+ type: string
+ instance:
+ type: string
+ projectName:
+ type: string
+ type: object
+ zookeeper:
+ properties:
+ connectString:
+ type: string
+ rootNode:
+ type: string
+ type: object
+ type: object
+ replicas:
type: integer
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ secretRef:
+ type: string
+ serverId:
+ type: string
service:
properties:
+ httpPort:
+ type: integer
sshPort:
type: integer
type:
type: string
- httpPort:
- type: integer
type: object
+ serviceAccount:
+ type: string
site:
properties:
size:
@@ -749,116 +703,192 @@
- type: string
x-kubernetes-int-or-string: true
type: object
- plugins:
- items:
- properties:
- installAsLibrary:
- type: boolean
- name:
- type: string
- url:
- type: string
- sha1:
- type: string
- data:
- properties:
- secretRef:
+ sshdAdvertisedReadPort:
+ type: integer
+ startupProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
type: string
- executable:
- type: boolean
- type: object
- type: object
- type: array
- libs:
- items:
- properties:
- name:
- type: string
- url:
- type: string
- sha1:
- type: string
- data:
- properties:
- secretRef:
- type: string
- executable:
- type: boolean
- type: object
- type: object
- type: array
- configFiles:
- additionalProperties:
- type: string
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ properties:
+ port:
+ type: integer
+ service:
+ type: string
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ terminationGracePeriodSeconds:
+ type: integer
+ timeoutSeconds:
+ type: integer
type: object
- envVars:
+ storage:
+ properties:
+ pluginCache:
+ properties:
+ enabled:
+ type: boolean
+ type: object
+ sharedStorage:
+ properties:
+ externalPVC:
+ properties:
+ claimName:
+ type: string
+ enabled:
+ type: boolean
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ size:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ volumeName:
+ type: string
+ type: object
+ storageClasses:
+ properties:
+ nfsWorkaround:
+ properties:
+ chownOnStartup:
+ type: boolean
+ enabled:
+ type: boolean
+ idmapdConfig:
+ type: string
+ type: object
+ readWriteMany:
+ type: string
+ readWriteOnce:
+ type: string
+ type: object
+ type: object
+ tolerations:
items:
properties:
- name:
+ effect:
type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ type: integer
value:
type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- type: object
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- type: object
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- resource:
- type: string
- type: object
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- type: object
- type: object
type: object
type: array
- secretRef:
- type: string
- mode:
- enum:
- - PRIMARY
- - REPLICA
- type: string
- debug:
- properties:
- enabled:
- type: boolean
- suspend:
- type: boolean
- type: object
+ topologySpreadConstraints:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ maxSkew:
+ type: integer
+ minDomains:
+ type: integer
+ nodeAffinityPolicy:
+ type: string
+ nodeTaintsPolicy:
+ type: string
+ topologyKey:
+ type: string
+ whenUnsatisfiable:
+ type: string
+ type: object
+ type: array
+ updatePartition:
+ type: integer
type: object
status:
properties:
- ready:
- type: boolean
appliedConfigMapVersions:
additionalProperties:
type: string
@@ -867,6 +897,8 @@
additionalProperties:
type: string
type: object
+ ready:
+ type: boolean
type: object
type: object
served: true
diff --git a/crd/current/gitgcs.gerritoperator.google.com-v1.yml b/crd/current/gitgcs.gerritoperator.google.com-v1.yml
index 393a0ce..8395c1f 100644
--- a/crd/current/gitgcs.gerritoperator.google.com-v1.yml
+++ b/crd/current/gitgcs.gerritoperator.google.com-v1.yml
@@ -19,59 +19,6 @@
properties:
spec:
properties:
- cluster:
- type: string
- schedule:
- type: string
- projects:
- items:
- type: string
- type: array
- disableBitmapIndex:
- type: boolean
- disablePackRefs:
- type: boolean
- preservePacks:
- type: boolean
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- type: object
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -174,6 +121,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -228,6 +183,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -284,6 +247,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -338,6 +309,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -368,21 +347,74 @@
type: array
type: object
type: object
+ cluster:
+ type: string
+ disableBitmapIndex:
+ type: boolean
+ disablePackRefs:
+ type: boolean
+ preservePacks:
+ type: boolean
+ projects:
+ items:
+ type: string
+ type: array
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ schedule:
+ type: string
+ tolerations:
+ items:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ type: integer
+ value:
+ type: string
+ type: object
+ type: array
type: object
status:
properties:
- replicateAll:
- type: boolean
excludedProjects:
items:
type: string
type: array
+ replicateAll:
+ type: boolean
state:
enum:
- ACTIVE
- - INACTIVE
- CONFLICT
- ERROR
+ - INACTIVE
type: string
type: object
type: object
diff --git a/crd/current/incomingreplicationtasks.gerritoperator.google.com-v1.yml b/crd/current/incomingreplicationtasks.gerritoperator.google.com-v1.yml
index fd684f5..9cfe33b 100644
--- a/crd/current/incomingreplicationtasks.gerritoperator.google.com-v1.yml
+++ b/crd/current/incomingreplicationtasks.gerritoperator.google.com-v1.yml
@@ -17,168 +17,6 @@
properties:
spec:
properties:
- containerImages:
- properties:
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- busyBox:
- properties:
- registry:
- type: string
- tag:
- type: string
- type: object
- gerritImages:
- properties:
- registry:
- type: string
- org:
- type: string
- tag:
- type: string
- type: object
- type: object
- storage:
- properties:
- pluginCache:
- properties:
- enabled:
- type: boolean
- type: object
- storageClasses:
- properties:
- readWriteOnce:
- type: string
- readWriteMany:
- type: string
- nfsWorkaround:
- properties:
- enabled:
- type: boolean
- chownOnStartup:
- type: boolean
- idmapdConfig:
- type: string
- type: object
- type: object
- sharedStorage:
- properties:
- externalPVC:
- properties:
- enabled:
- type: boolean
- claimName:
- type: string
- type: object
- size:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- volumeName:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- type: object
- type: object
- schedule:
- type: string
- config:
- properties:
- remotes:
- items:
- properties:
- name:
- type: string
- url:
- type: string
- timeout:
- type: string
- fetch:
- items:
- properties:
- remoteRepo:
- type: string
- localRepo:
- type: string
- refSpec:
- type: string
- required:
- - remoteRepo
- type: object
- type: array
- required:
- - name
- - url
- type: object
- type: array
- required:
- - remotes
- type: object
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- type: object
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -281,6 +119,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -335,6 +181,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -391,6 +245,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -445,6 +307,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -475,8 +345,170 @@
type: array
type: object
type: object
+ config:
+ properties:
+ remotes:
+ items:
+ properties:
+ fetch:
+ items:
+ properties:
+ localRepo:
+ type: string
+ refSpec:
+ type: string
+ remoteRepo:
+ type: string
+ required:
+ - remoteRepo
+ type: object
+ type: array
+ name:
+ type: string
+ timeout:
+ type: string
+ url:
+ type: string
+ required:
+ - name
+ - url
+ type: object
+ type: array
+ required:
+ - remotes
+ type: object
+ containerImages:
+ properties:
+ busyBox:
+ properties:
+ registry:
+ type: string
+ tag:
+ type: string
+ type: object
+ gerritImages:
+ properties:
+ org:
+ type: string
+ registry:
+ type: string
+ tag:
+ type: string
+ type: object
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ type: object
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ schedule:
+ type: string
secretRef:
type: string
+ storage:
+ properties:
+ pluginCache:
+ properties:
+ enabled:
+ type: boolean
+ type: object
+ sharedStorage:
+ properties:
+ externalPVC:
+ properties:
+ claimName:
+ type: string
+ enabled:
+ type: boolean
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ size:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ volumeName:
+ type: string
+ type: object
+ storageClasses:
+ properties:
+ nfsWorkaround:
+ properties:
+ chownOnStartup:
+ type: boolean
+ enabled:
+ type: boolean
+ idmapdConfig:
+ type: string
+ type: object
+ readWriteMany:
+ type: string
+ readWriteOnce:
+ type: string
+ type: object
+ type: object
+ tolerations:
+ items:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ type: integer
+ value:
+ type: string
+ type: object
+ type: array
required:
- schedule
- config
diff --git a/crd/current/receivers.gerritoperator.google.com-v1.yml b/crd/current/receivers.gerritoperator.google.com-v1.yml
index f015fe9..cb19795 100644
--- a/crd/current/receivers.gerritoperator.google.com-v1.yml
+++ b/crd/current/receivers.gerritoperator.google.com-v1.yml
@@ -19,119 +19,6 @@
properties:
spec:
properties:
- containerImages:
- properties:
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- busyBox:
- properties:
- registry:
- type: string
- tag:
- type: string
- type: object
- gerritImages:
- properties:
- registry:
- type: string
- org:
- type: string
- tag:
- type: string
- type: object
- type: object
- storage:
- properties:
- storageClasses:
- properties:
- readWriteOnce:
- type: string
- readWriteMany:
- type: string
- nfsWorkaround:
- properties:
- enabled:
- type: boolean
- chownOnStartup:
- type: boolean
- idmapdConfig:
- type: string
- type: object
- type: object
- sharedStorage:
- properties:
- externalPVC:
- properties:
- enabled:
- type: boolean
- claimName:
- type: string
- type: object
- size:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- volumeName:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- type: object
- type: object
- ingress:
- properties:
- enabled:
- type: boolean
- host:
- type: string
- tlsEnabled:
- type: boolean
- ssh:
- properties:
- enabled:
- type: boolean
- type: object
- type: object
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -234,6 +121,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -288,6 +183,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -344,6 +247,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -398,6 +309,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -428,146 +347,49 @@
type: array
type: object
type: object
- topologySpreadConstraints:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- matchLabelKeys:
- items:
- type: string
- type: array
- maxSkew:
- type: integer
- minDomains:
- type: integer
- nodeAffinityPolicy:
- type: string
- nodeTaintsPolicy:
- type: string
- topologyKey:
- type: string
- whenUnsatisfiable:
- type: string
- type: object
- type: array
- priorityClassName:
- type: string
- replicas:
- type: integer
- maxSurge:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- maxUnavailable:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- resources:
+ containerImages:
properties:
- claims:
+ busyBox:
+ properties:
+ registry:
+ type: string
+ tag:
+ type: string
+ type: object
+ gerritImages:
+ properties:
+ org:
+ type: string
+ registry:
+ type: string
+ tag:
+ type: string
+ type: object
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
items:
properties:
name:
type: string
type: object
type: array
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
type: object
- readinessProbe:
+ credentialSecretRef:
+ type: string
+ ingress:
properties:
- exec:
+ enabled:
+ type: boolean
+ host:
+ type: string
+ ssh:
properties:
- command:
- items:
- type: string
- type: array
+ enabled:
+ type: boolean
type: object
- failureThreshold:
- type: integer
- grpc:
- properties:
- port:
- type: integer
- service:
- type: string
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- type: object
- initialDelaySeconds:
- type: integer
- periodSeconds:
- type: integer
- successThreshold:
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- terminationGracePeriodSeconds:
- type: integer
- timeoutSeconds:
- type: integer
+ tlsEnabled:
+ type: boolean
type: object
livenessProbe:
properties:
@@ -631,22 +453,232 @@
timeoutSeconds:
type: integer
type: object
- service:
+ maxSurge:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ maxUnavailable:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ priorityClassName:
+ type: string
+ readinessProbe:
properties:
- type:
- type: string
- httpPort:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ properties:
+ port:
+ type: integer
+ service:
+ type: string
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ terminationGracePeriodSeconds:
+ type: integer
+ timeoutSeconds:
type: integer
type: object
- credentialSecretRef:
- type: string
+ replicas:
+ type: integer
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ service:
+ properties:
+ httpPort:
+ type: integer
+ type:
+ type: string
+ type: object
+ storage:
+ properties:
+ sharedStorage:
+ properties:
+ externalPVC:
+ properties:
+ claimName:
+ type: string
+ enabled:
+ type: boolean
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ size:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ volumeName:
+ type: string
+ type: object
+ storageClasses:
+ properties:
+ nfsWorkaround:
+ properties:
+ chownOnStartup:
+ type: boolean
+ enabled:
+ type: boolean
+ idmapdConfig:
+ type: string
+ type: object
+ readWriteMany:
+ type: string
+ readWriteOnce:
+ type: string
+ type: object
+ type: object
+ tolerations:
+ items:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ type: integer
+ value:
+ type: string
+ type: object
+ type: array
+ topologySpreadConstraints:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ maxSkew:
+ type: integer
+ minDomains:
+ type: integer
+ nodeAffinityPolicy:
+ type: string
+ nodeTaintsPolicy:
+ type: string
+ topologyKey:
+ type: string
+ whenUnsatisfiable:
+ type: string
+ type: object
+ type: array
type: object
status:
properties:
- ready:
- type: boolean
appliedCredentialSecretVersion:
type: string
+ ready:
+ type: boolean
type: object
type: object
served: true
diff --git a/helm-charts/gerrit-operator-crds/templates/gerritclusters.gerritoperator.google.com-v1.yml b/helm-charts/gerrit-operator-crds/templates/gerritclusters.gerritoperator.google.com-v1.yml
index 93b7353..4222ff1 100644
--- a/helm-charts/gerrit-operator-crds/templates/gerritclusters.gerritoperator.google.com-v1.yml
+++ b/helm-charts/gerrit-operator-crds/templates/gerritclusters.gerritoperator.google.com-v1.yml
@@ -19,78 +19,8 @@
properties:
spec:
properties:
- storage:
- properties:
- pluginCache:
- properties:
- enabled:
- type: boolean
- type: object
- storageClasses:
- properties:
- readWriteOnce:
- type: string
- readWriteMany:
- type: string
- nfsWorkaround:
- properties:
- enabled:
- type: boolean
- chownOnStartup:
- type: boolean
- idmapdConfig:
- type: string
- type: object
- type: object
- sharedStorage:
- properties:
- externalPVC:
- properties:
- enabled:
- type: boolean
- claimName:
- type: string
- type: object
- size:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- volumeName:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- type: object
- type: object
containerImages:
properties:
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
busyBox:
properties:
registry:
@@ -100,80 +30,32 @@
type: object
gerritImages:
properties:
- registry:
- type: string
org:
type: string
+ registry:
+ type: string
tag:
type: string
type: object
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
type: object
- ingress:
+ fluentBitSidecar:
properties:
+ config:
+ type: string
enabled:
type: boolean
- host:
+ image:
type: string
- annotations:
- additionalProperties:
- type: string
- type: object
- tls:
- properties:
- enabled:
- type: boolean
- secret:
- type: string
- type: object
- ssh:
- properties:
- enabled:
- type: boolean
- type: object
- ambassador:
- properties:
- id:
- items:
- type: string
- type: array
- createHost:
- type: boolean
- type: object
- istio:
- properties:
- gatewaySelector:
- additionalProperties:
- type: string
- type: object
- type: object
type: object
- refdb:
- properties:
- database:
- enum:
- - NONE
- - ZOOKEEPER
- - SPANNER
- type: string
- zookeeper:
- properties:
- connectString:
- type: string
- rootNode:
- type: string
- type: object
- spanner:
- properties:
- projectName:
- type: string
- instance:
- type: string
- database:
- type: string
- type: object
- type: object
- serverId:
- type: string
gerrits:
items:
properties:
@@ -250,23 +132,6 @@
type: object
spec:
properties:
- serviceAccount:
- type: string
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -369,6 +234,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -423,6 +296,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -479,6 +360,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -533,6 +422,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -563,53 +460,239 @@
type: array
type: object
type: object
- topologySpreadConstraints:
+ configFiles:
+ additionalProperties:
+ type: string
+ type: object
+ debug:
+ properties:
+ enabled:
+ type: boolean
+ suspend:
+ type: boolean
+ type: object
+ envVars:
items:
properties:
- labelSelector:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
+ configMapKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
+ type: object
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
+ type: string
+ type: object
+ resourceFieldRef:
+ properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ type: object
+ secretKeyRef:
+ properties:
+ key:
+ type: string
+ name:
+ type: string
+ optional:
+ type: boolean
type: object
type: object
- matchLabelKeys:
- items:
+ type: object
+ type: array
+ gracefulStopTimeout:
+ type: integer
+ libs:
+ items:
+ properties:
+ data:
+ properties:
+ executable:
+ type: boolean
+ secretRef:
+ type: string
+ type: object
+ name:
+ type: string
+ sha1:
+ type: string
+ url:
+ type: string
+ type: object
+ type: array
+ livenessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ properties:
+ port:
+ type: integer
+ service:
type: string
- type: array
- maxSkew:
- type: integer
- minDomains:
- type: integer
- nodeAffinityPolicy:
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ terminationGracePeriodSeconds:
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ mode:
+ enum:
+ - PRIMARY
+ - REPLICA
+ type: string
+ plugins:
+ items:
+ properties:
+ data:
+ properties:
+ executable:
+ type: boolean
+ secretRef:
+ type: string
+ type: object
+ installAsLibrary:
+ type: boolean
+ name:
type: string
- nodeTaintsPolicy:
+ sha1:
type: string
- topologyKey:
- type: string
- whenUnsatisfiable:
+ url:
type: string
type: object
type: array
priorityClassName:
type: string
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ properties:
+ port:
+ type: integer
+ service:
+ type: string
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ terminationGracePeriodSeconds:
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
replicas:
type: integer
- updatePartition:
- type: integer
resources:
properties:
claims:
@@ -634,6 +717,27 @@
x-kubernetes-int-or-string: true
type: object
type: object
+ secretRef:
+ type: string
+ service:
+ properties:
+ httpPort:
+ type: integer
+ sshPort:
+ type: integer
+ type:
+ type: string
+ type: object
+ serviceAccount:
+ type: string
+ site:
+ properties:
+ size:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
startupProbe:
properties:
exec:
@@ -696,257 +800,106 @@
timeoutSeconds:
type: integer
type: object
- readinessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- type: integer
- grpc:
- properties:
- port:
- type: integer
- service:
- type: string
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- type: object
- initialDelaySeconds:
- type: integer
- periodSeconds:
- type: integer
- successThreshold:
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- terminationGracePeriodSeconds:
- type: integer
- timeoutSeconds:
- type: integer
- type: object
- livenessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- type: integer
- grpc:
- properties:
- port:
- type: integer
- service:
- type: string
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- type: object
- initialDelaySeconds:
- type: integer
- periodSeconds:
- type: integer
- successThreshold:
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- terminationGracePeriodSeconds:
- type: integer
- timeoutSeconds:
- type: integer
- type: object
- gracefulStopTimeout:
- type: integer
- service:
- properties:
- sshPort:
- type: integer
- type:
- type: string
- httpPort:
- type: integer
- type: object
- site:
- properties:
- size:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- plugins:
+ tolerations:
items:
properties:
- installAsLibrary:
- type: boolean
- name:
+ effect:
type: string
- url:
+ key:
type: string
- sha1:
+ operator:
type: string
- data:
- properties:
- secretRef:
- type: string
- executable:
- type: boolean
- type: object
- type: object
- type: array
- libs:
- items:
- properties:
- name:
- type: string
- url:
- type: string
- sha1:
- type: string
- data:
- properties:
- secretRef:
- type: string
- executable:
- type: boolean
- type: object
- type: object
- type: array
- configFiles:
- additionalProperties:
- type: string
- type: object
- envVars:
- items:
- properties:
- name:
- type: string
+ tolerationSeconds:
+ type: integer
value:
type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- type: object
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- type: object
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- resource:
- type: string
- type: object
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- type: object
- type: object
type: object
type: array
- secretRef:
- type: string
- mode:
- enum:
- - PRIMARY
- - REPLICA
- type: string
- debug:
- properties:
- enabled:
- type: boolean
- suspend:
- type: boolean
- type: object
+ topologySpreadConstraints:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ maxSkew:
+ type: integer
+ minDomains:
+ type: integer
+ nodeAffinityPolicy:
+ type: string
+ nodeTaintsPolicy:
+ type: string
+ topologyKey:
+ type: string
+ whenUnsatisfiable:
+ type: string
+ type: object
+ type: array
+ updatePartition:
+ type: integer
type: object
type: object
type: array
+ ingress:
+ properties:
+ ambassador:
+ properties:
+ createHost:
+ type: boolean
+ id:
+ items:
+ type: string
+ type: array
+ type: object
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
+ enabled:
+ type: boolean
+ host:
+ type: string
+ istio:
+ properties:
+ gatewaySelector:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ ssh:
+ properties:
+ enabled:
+ type: boolean
+ type: object
+ tls:
+ properties:
+ enabled:
+ type: boolean
+ secret:
+ type: string
+ type: object
+ type: object
receiver:
properties:
metadata:
@@ -1022,21 +975,6 @@
type: object
spec:
properties:
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -1139,6 +1077,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1193,6 +1139,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1249,6 +1203,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1303,6 +1265,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1333,147 +1303,8 @@
type: array
type: object
type: object
- topologySpreadConstraints:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- matchLabelKeys:
- items:
- type: string
- type: array
- maxSkew:
- type: integer
- minDomains:
- type: integer
- nodeAffinityPolicy:
- type: string
- nodeTaintsPolicy:
- type: string
- topologyKey:
- type: string
- whenUnsatisfiable:
- type: string
- type: object
- type: array
- priorityClassName:
+ credentialSecretRef:
type: string
- replicas:
- type: integer
- maxSurge:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- maxUnavailable:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- type: object
- readinessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- type: integer
- grpc:
- properties:
- port:
- type: integer
- service:
- type: string
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- type: object
- initialDelaySeconds:
- type: integer
- periodSeconds:
- type: integer
- successThreshold:
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- terminationGracePeriodSeconds:
- type: integer
- timeoutSeconds:
- type: integer
- type: object
livenessProbe:
properties:
exec:
@@ -1536,25 +1367,195 @@
timeoutSeconds:
type: integer
type: object
- service:
+ maxSurge:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ maxUnavailable:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ priorityClassName:
+ type: string
+ readinessProbe:
properties:
- type:
- type: string
- httpPort:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ properties:
+ port:
+ type: integer
+ service:
+ type: string
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ terminationGracePeriodSeconds:
+ type: integer
+ timeoutSeconds:
type: integer
type: object
- credentialSecretRef:
- type: string
+ replicas:
+ type: integer
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ service:
+ properties:
+ httpPort:
+ type: integer
+ type:
+ type: string
+ type: object
+ tolerations:
+ items:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ type: integer
+ value:
+ type: string
+ type: object
+ type: array
+ topologySpreadConstraints:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ maxSkew:
+ type: integer
+ minDomains:
+ type: integer
+ nodeAffinityPolicy:
+ type: string
+ nodeTaintsPolicy:
+ type: string
+ topologyKey:
+ type: string
+ whenUnsatisfiable:
+ type: string
+ type: object
+ type: array
type: object
type: object
- fluentBitSidecar:
+ refdb:
properties:
- image:
+ database:
+ enum:
+ - NONE
+ - SPANNER
+ - ZOOKEEPER
type: string
- config:
- type: string
- enabled:
- type: boolean
+ spanner:
+ properties:
+ database:
+ type: string
+ instance:
+ type: string
+ projectName:
+ type: string
+ type: object
+ zookeeper:
+ properties:
+ connectString:
+ type: string
+ rootNode:
+ type: string
+ type: object
type: object
scheduledTasks:
properties:
@@ -1634,79 +1635,6 @@
type: object
spec:
properties:
- schedule:
- type: string
- config:
- properties:
- remotes:
- items:
- properties:
- name:
- type: string
- url:
- type: string
- timeout:
- type: string
- fetch:
- items:
- properties:
- remoteRepo:
- type: string
- localRepo:
- type: string
- refSpec:
- type: string
- required:
- - remoteRepo
- type: object
- type: array
- required:
- - name
- - url
- type: object
- type: array
- required:
- - remotes
- type: object
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- type: object
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -1809,6 +1737,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1863,6 +1799,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1919,6 +1863,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -1973,6 +1925,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -2003,8 +1963,81 @@
type: array
type: object
type: object
+ config:
+ properties:
+ remotes:
+ items:
+ properties:
+ fetch:
+ items:
+ properties:
+ localRepo:
+ type: string
+ refSpec:
+ type: string
+ remoteRepo:
+ type: string
+ required:
+ - remoteRepo
+ type: object
+ type: array
+ name:
+ type: string
+ timeout:
+ type: string
+ url:
+ type: string
+ required:
+ - name
+ - url
+ type: object
+ type: array
+ required:
+ - remotes
+ type: object
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ schedule:
+ type: string
secretRef:
type: string
+ tolerations:
+ items:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ type: integer
+ value:
+ type: string
+ type: object
+ type: array
required:
- schedule
- config
@@ -2012,6 +2045,69 @@
type: object
type: array
type: object
+ serverId:
+ type: string
+ storage:
+ properties:
+ pluginCache:
+ properties:
+ enabled:
+ type: boolean
+ type: object
+ sharedStorage:
+ properties:
+ externalPVC:
+ properties:
+ claimName:
+ type: string
+ enabled:
+ type: boolean
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ size:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ volumeName:
+ type: string
+ type: object
+ storageClasses:
+ properties:
+ nfsWorkaround:
+ properties:
+ chownOnStartup:
+ type: boolean
+ enabled:
+ type: boolean
+ idmapdConfig:
+ type: string
+ type: object
+ readWriteMany:
+ type: string
+ readWriteOnce:
+ type: string
+ type: object
+ type: object
type: object
status:
properties:
diff --git a/helm-charts/gerrit-operator-crds/templates/gerritnetworks.gerritoperator.google.com-v1.yml b/helm-charts/gerrit-operator-crds/templates/gerritnetworks.gerritoperator.google.com-v1.yml
index 3964f7e..465a234 100644
--- a/helm-charts/gerrit-operator-crds/templates/gerritnetworks.gerritoperator.google.com-v1.yml
+++ b/helm-charts/gerrit-operator-crds/templates/gerritnetworks.gerritoperator.google.com-v1.yml
@@ -19,15 +19,45 @@
properties:
spec:
properties:
+ gerritReplica:
+ properties:
+ httpPort:
+ type: integer
+ name:
+ type: string
+ sshPort:
+ type: integer
+ type: object
ingress:
properties:
+ ambassador:
+ properties:
+ createHost:
+ type: boolean
+ id:
+ items:
+ type: string
+ type: array
+ type: object
+ annotations:
+ additionalProperties:
+ type: string
+ type: object
enabled:
type: boolean
host:
type: string
- annotations:
- additionalProperties:
- type: string
+ istio:
+ properties:
+ gatewaySelector:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ ssh:
+ properties:
+ enabled:
+ type: boolean
type: object
tls:
properties:
@@ -36,52 +66,22 @@
secret:
type: string
type: object
- ssh:
- properties:
- enabled:
- type: boolean
- type: object
- ambassador:
- properties:
- id:
- items:
- type: string
- type: array
- createHost:
- type: boolean
- type: object
- istio:
- properties:
- gatewaySelector:
- additionalProperties:
- type: string
- type: object
- type: object
- type: object
- receiver:
- properties:
- name:
- type: string
- httpPort:
- type: integer
type: object
primaryGerrit:
properties:
- sshPort:
+ httpPort:
type: integer
name:
type: string
- httpPort:
+ sshPort:
type: integer
type: object
- gerritReplica:
+ receiver:
properties:
- sshPort:
+ httpPort:
type: integer
name:
type: string
- httpPort:
- type: integer
type: object
type: object
status:
diff --git a/helm-charts/gerrit-operator-crds/templates/gerrits.gerritoperator.google.com-v1.yml b/helm-charts/gerrit-operator-crds/templates/gerrits.gerritoperator.google.com-v1.yml
index 6cc88f9..7537822 100644
--- a/helm-charts/gerrit-operator-crds/templates/gerrits.gerritoperator.google.com-v1.yml
+++ b/helm-charts/gerrit-operator-crds/templates/gerrits.gerritoperator.google.com-v1.yml
@@ -19,164 +19,6 @@
properties:
spec:
properties:
- containerImages:
- properties:
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- busyBox:
- properties:
- registry:
- type: string
- tag:
- type: string
- type: object
- gerritImages:
- properties:
- registry:
- type: string
- org:
- type: string
- tag:
- type: string
- type: object
- type: object
- storage:
- properties:
- pluginCache:
- properties:
- enabled:
- type: boolean
- type: object
- storageClasses:
- properties:
- readWriteOnce:
- type: string
- readWriteMany:
- type: string
- nfsWorkaround:
- properties:
- enabled:
- type: boolean
- chownOnStartup:
- type: boolean
- idmapdConfig:
- type: string
- type: object
- type: object
- sharedStorage:
- properties:
- externalPVC:
- properties:
- enabled:
- type: boolean
- claimName:
- type: string
- type: object
- size:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- volumeName:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- type: object
- type: object
- ingress:
- properties:
- enabled:
- type: boolean
- host:
- type: string
- tlsEnabled:
- type: boolean
- ssh:
- properties:
- enabled:
- type: boolean
- type: object
- type: object
- refdb:
- properties:
- database:
- enum:
- - NONE
- - ZOOKEEPER
- - SPANNER
- type: string
- zookeeper:
- properties:
- connectString:
- type: string
- rootNode:
- type: string
- type: object
- spanner:
- properties:
- projectName:
- type: string
- instance:
- type: string
- database:
- type: string
- type: object
- type: object
- serverId:
- type: string
- fluentBitSidecar:
- properties:
- image:
- type: string
- config:
- type: string
- enabled:
- type: boolean
- type: object
- sshdAdvertisedReadPort:
- type: integer
- serviceAccount:
- type: string
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -279,6 +121,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -333,6 +183,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -389,6 +247,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -443,6 +309,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -473,201 +347,137 @@
type: array
type: object
type: object
- topologySpreadConstraints:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- matchLabelKeys:
- items:
- type: string
- type: array
- maxSkew:
- type: integer
- minDomains:
- type: integer
- nodeAffinityPolicy:
- type: string
- nodeTaintsPolicy:
- type: string
- topologyKey:
- type: string
- whenUnsatisfiable:
- type: string
- type: object
- type: array
- priorityClassName:
- type: string
- replicas:
- type: integer
- updatePartition:
- type: integer
- resources:
+ configFiles:
+ additionalProperties:
+ type: string
+ type: object
+ containerImages:
properties:
- claims:
+ busyBox:
+ properties:
+ registry:
+ type: string
+ tag:
+ type: string
+ type: object
+ gerritImages:
+ properties:
+ org:
+ type: string
+ registry:
+ type: string
+ tag:
+ type: string
+ type: object
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
items:
properties:
name:
type: string
type: object
type: array
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
type: object
- startupProbe:
+ debug:
properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- type: integer
- grpc:
- properties:
- port:
- type: integer
- service:
- type: string
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
+ enabled:
+ type: boolean
+ suspend:
+ type: boolean
+ type: object
+ envVars:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ valueFrom:
+ properties:
+ configMapKeyRef:
properties:
+ key:
+ type: string
name:
type: string
- value:
+ optional:
+ type: boolean
+ type: object
+ fieldRef:
+ properties:
+ apiVersion:
+ type: string
+ fieldPath:
type: string
type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- type: object
- initialDelaySeconds:
- type: integer
- periodSeconds:
- type: integer
- successThreshold:
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- terminationGracePeriodSeconds:
- type: integer
- timeoutSeconds:
- type: integer
- type: object
- readinessProbe:
- properties:
- exec:
- properties:
- command:
- items:
- type: string
- type: array
- type: object
- failureThreshold:
- type: integer
- grpc:
- properties:
- port:
- type: integer
- service:
- type: string
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
+ resourceFieldRef:
properties:
+ containerName:
+ type: string
+ divisor:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ resource:
+ type: string
+ type: object
+ secretKeyRef:
+ properties:
+ key:
+ type: string
name:
type: string
- value:
- type: string
+ optional:
+ type: boolean
type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- type: object
- initialDelaySeconds:
- type: integer
- periodSeconds:
- type: integer
- successThreshold:
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- terminationGracePeriodSeconds:
- type: integer
- timeoutSeconds:
- type: integer
+ type: object
+ type: object
+ type: array
+ fluentBitSidecar:
+ properties:
+ config:
+ type: string
+ enabled:
+ type: boolean
+ image:
+ type: string
type: object
+ gracefulStopTimeout:
+ type: integer
+ ingress:
+ properties:
+ enabled:
+ type: boolean
+ host:
+ type: string
+ ssh:
+ properties:
+ enabled:
+ type: boolean
+ type: object
+ tlsEnabled:
+ type: boolean
+ type: object
+ libs:
+ items:
+ properties:
+ data:
+ properties:
+ executable:
+ type: boolean
+ secretRef:
+ type: string
+ type: object
+ name:
+ type: string
+ sha1:
+ type: string
+ url:
+ type: string
+ type: object
+ type: array
livenessProbe:
properties:
exec:
@@ -730,17 +540,161 @@
timeoutSeconds:
type: integer
type: object
- gracefulStopTimeout:
+ mode:
+ enum:
+ - PRIMARY
+ - REPLICA
+ type: string
+ plugins:
+ items:
+ properties:
+ data:
+ properties:
+ executable:
+ type: boolean
+ secretRef:
+ type: string
+ type: object
+ installAsLibrary:
+ type: boolean
+ name:
+ type: string
+ sha1:
+ type: string
+ url:
+ type: string
+ type: object
+ type: array
+ priorityClassName:
+ type: string
+ readinessProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ properties:
+ port:
+ type: integer
+ service:
+ type: string
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ terminationGracePeriodSeconds:
+ type: integer
+ timeoutSeconds:
+ type: integer
+ type: object
+ refdb:
+ properties:
+ database:
+ enum:
+ - NONE
+ - SPANNER
+ - ZOOKEEPER
+ type: string
+ spanner:
+ properties:
+ database:
+ type: string
+ instance:
+ type: string
+ projectName:
+ type: string
+ type: object
+ zookeeper:
+ properties:
+ connectString:
+ type: string
+ rootNode:
+ type: string
+ type: object
+ type: object
+ replicas:
type: integer
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ secretRef:
+ type: string
+ serverId:
+ type: string
service:
properties:
+ httpPort:
+ type: integer
sshPort:
type: integer
type:
type: string
- httpPort:
- type: integer
type: object
+ serviceAccount:
+ type: string
site:
properties:
size:
@@ -749,116 +703,192 @@
- type: string
x-kubernetes-int-or-string: true
type: object
- plugins:
- items:
- properties:
- installAsLibrary:
- type: boolean
- name:
- type: string
- url:
- type: string
- sha1:
- type: string
- data:
- properties:
- secretRef:
+ sshdAdvertisedReadPort:
+ type: integer
+ startupProbe:
+ properties:
+ exec:
+ properties:
+ command:
+ items:
type: string
- executable:
- type: boolean
- type: object
- type: object
- type: array
- libs:
- items:
- properties:
- name:
- type: string
- url:
- type: string
- sha1:
- type: string
- data:
- properties:
- secretRef:
- type: string
- executable:
- type: boolean
- type: object
- type: object
- type: array
- configFiles:
- additionalProperties:
- type: string
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ properties:
+ port:
+ type: integer
+ service:
+ type: string
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ terminationGracePeriodSeconds:
+ type: integer
+ timeoutSeconds:
+ type: integer
type: object
- envVars:
+ storage:
+ properties:
+ pluginCache:
+ properties:
+ enabled:
+ type: boolean
+ type: object
+ sharedStorage:
+ properties:
+ externalPVC:
+ properties:
+ claimName:
+ type: string
+ enabled:
+ type: boolean
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ size:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ volumeName:
+ type: string
+ type: object
+ storageClasses:
+ properties:
+ nfsWorkaround:
+ properties:
+ chownOnStartup:
+ type: boolean
+ enabled:
+ type: boolean
+ idmapdConfig:
+ type: string
+ type: object
+ readWriteMany:
+ type: string
+ readWriteOnce:
+ type: string
+ type: object
+ type: object
+ tolerations:
items:
properties:
- name:
+ effect:
type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ type: integer
value:
type: string
- valueFrom:
- properties:
- configMapKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- type: object
- fieldRef:
- properties:
- apiVersion:
- type: string
- fieldPath:
- type: string
- type: object
- resourceFieldRef:
- properties:
- containerName:
- type: string
- divisor:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- resource:
- type: string
- type: object
- secretKeyRef:
- properties:
- key:
- type: string
- name:
- type: string
- optional:
- type: boolean
- type: object
- type: object
type: object
type: array
- secretRef:
- type: string
- mode:
- enum:
- - PRIMARY
- - REPLICA
- type: string
- debug:
- properties:
- enabled:
- type: boolean
- suspend:
- type: boolean
- type: object
+ topologySpreadConstraints:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ maxSkew:
+ type: integer
+ minDomains:
+ type: integer
+ nodeAffinityPolicy:
+ type: string
+ nodeTaintsPolicy:
+ type: string
+ topologyKey:
+ type: string
+ whenUnsatisfiable:
+ type: string
+ type: object
+ type: array
+ updatePartition:
+ type: integer
type: object
status:
properties:
- ready:
- type: boolean
appliedConfigMapVersions:
additionalProperties:
type: string
@@ -867,6 +897,8 @@
additionalProperties:
type: string
type: object
+ ready:
+ type: boolean
type: object
type: object
served: true
diff --git a/helm-charts/gerrit-operator-crds/templates/gitgcs.gerritoperator.google.com-v1.yml b/helm-charts/gerrit-operator-crds/templates/gitgcs.gerritoperator.google.com-v1.yml
index 49f9768..af553cd 100644
--- a/helm-charts/gerrit-operator-crds/templates/gitgcs.gerritoperator.google.com-v1.yml
+++ b/helm-charts/gerrit-operator-crds/templates/gitgcs.gerritoperator.google.com-v1.yml
@@ -19,59 +19,6 @@
properties:
spec:
properties:
- cluster:
- type: string
- schedule:
- type: string
- projects:
- items:
- type: string
- type: array
- disableBitmapIndex:
- type: boolean
- disablePackRefs:
- type: boolean
- preservePacks:
- type: boolean
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- type: object
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -174,6 +121,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -228,6 +183,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -284,6 +247,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -338,6 +309,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -368,21 +347,74 @@
type: array
type: object
type: object
+ cluster:
+ type: string
+ disableBitmapIndex:
+ type: boolean
+ disablePackRefs:
+ type: boolean
+ preservePacks:
+ type: boolean
+ projects:
+ items:
+ type: string
+ type: array
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ schedule:
+ type: string
+ tolerations:
+ items:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ type: integer
+ value:
+ type: string
+ type: object
+ type: array
type: object
status:
properties:
- replicateAll:
- type: boolean
excludedProjects:
items:
type: string
type: array
+ replicateAll:
+ type: boolean
state:
enum:
- ACTIVE
- - INACTIVE
- CONFLICT
- ERROR
+ - INACTIVE
type: string
type: object
type: object
diff --git a/helm-charts/gerrit-operator-crds/templates/incomingreplicationtasks.gerritoperator.google.com-v1.yml b/helm-charts/gerrit-operator-crds/templates/incomingreplicationtasks.gerritoperator.google.com-v1.yml
index cd7a4ae..ba453db 100644
--- a/helm-charts/gerrit-operator-crds/templates/incomingreplicationtasks.gerritoperator.google.com-v1.yml
+++ b/helm-charts/gerrit-operator-crds/templates/incomingreplicationtasks.gerritoperator.google.com-v1.yml
@@ -17,168 +17,6 @@
properties:
spec:
properties:
- containerImages:
- properties:
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- busyBox:
- properties:
- registry:
- type: string
- tag:
- type: string
- type: object
- gerritImages:
- properties:
- registry:
- type: string
- org:
- type: string
- tag:
- type: string
- type: object
- type: object
- storage:
- properties:
- pluginCache:
- properties:
- enabled:
- type: boolean
- type: object
- storageClasses:
- properties:
- readWriteOnce:
- type: string
- readWriteMany:
- type: string
- nfsWorkaround:
- properties:
- enabled:
- type: boolean
- chownOnStartup:
- type: boolean
- idmapdConfig:
- type: string
- type: object
- type: object
- sharedStorage:
- properties:
- externalPVC:
- properties:
- enabled:
- type: boolean
- claimName:
- type: string
- type: object
- size:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- volumeName:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- type: object
- type: object
- schedule:
- type: string
- config:
- properties:
- remotes:
- items:
- properties:
- name:
- type: string
- url:
- type: string
- timeout:
- type: string
- fetch:
- items:
- properties:
- remoteRepo:
- type: string
- localRepo:
- type: string
- refSpec:
- type: string
- required:
- - remoteRepo
- type: object
- type: array
- required:
- - name
- - url
- type: object
- type: array
- required:
- - remotes
- type: object
- resources:
- properties:
- claims:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- type: object
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -281,6 +119,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -335,6 +181,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -391,6 +245,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -445,6 +307,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -475,8 +345,170 @@
type: array
type: object
type: object
+ config:
+ properties:
+ remotes:
+ items:
+ properties:
+ fetch:
+ items:
+ properties:
+ localRepo:
+ type: string
+ refSpec:
+ type: string
+ remoteRepo:
+ type: string
+ required:
+ - remoteRepo
+ type: object
+ type: array
+ name:
+ type: string
+ timeout:
+ type: string
+ url:
+ type: string
+ required:
+ - name
+ - url
+ type: object
+ type: array
+ required:
+ - remotes
+ type: object
+ containerImages:
+ properties:
+ busyBox:
+ properties:
+ registry:
+ type: string
+ tag:
+ type: string
+ type: object
+ gerritImages:
+ properties:
+ org:
+ type: string
+ registry:
+ type: string
+ tag:
+ type: string
+ type: object
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ type: object
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ schedule:
+ type: string
secretRef:
type: string
+ storage:
+ properties:
+ pluginCache:
+ properties:
+ enabled:
+ type: boolean
+ type: object
+ sharedStorage:
+ properties:
+ externalPVC:
+ properties:
+ claimName:
+ type: string
+ enabled:
+ type: boolean
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ size:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ volumeName:
+ type: string
+ type: object
+ storageClasses:
+ properties:
+ nfsWorkaround:
+ properties:
+ chownOnStartup:
+ type: boolean
+ enabled:
+ type: boolean
+ idmapdConfig:
+ type: string
+ type: object
+ readWriteMany:
+ type: string
+ readWriteOnce:
+ type: string
+ type: object
+ type: object
+ tolerations:
+ items:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ type: integer
+ value:
+ type: string
+ type: object
+ type: array
required:
- schedule
- config
diff --git a/helm-charts/gerrit-operator-crds/templates/receivers.gerritoperator.google.com-v1.yml b/helm-charts/gerrit-operator-crds/templates/receivers.gerritoperator.google.com-v1.yml
index 864f018..3c16d6d 100644
--- a/helm-charts/gerrit-operator-crds/templates/receivers.gerritoperator.google.com-v1.yml
+++ b/helm-charts/gerrit-operator-crds/templates/receivers.gerritoperator.google.com-v1.yml
@@ -19,119 +19,6 @@
properties:
spec:
properties:
- containerImages:
- properties:
- imagePullPolicy:
- type: string
- imagePullSecrets:
- items:
- properties:
- name:
- type: string
- type: object
- type: array
- busyBox:
- properties:
- registry:
- type: string
- tag:
- type: string
- type: object
- gerritImages:
- properties:
- registry:
- type: string
- org:
- type: string
- tag:
- type: string
- type: object
- type: object
- storage:
- properties:
- storageClasses:
- properties:
- readWriteOnce:
- type: string
- readWriteMany:
- type: string
- nfsWorkaround:
- properties:
- enabled:
- type: boolean
- chownOnStartup:
- type: boolean
- idmapdConfig:
- type: string
- type: object
- type: object
- sharedStorage:
- properties:
- externalPVC:
- properties:
- enabled:
- type: boolean
- claimName:
- type: string
- type: object
- size:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- volumeName:
- type: string
- selector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- type: object
- type: object
- ingress:
- properties:
- enabled:
- type: boolean
- host:
- type: string
- tlsEnabled:
- type: boolean
- ssh:
- properties:
- enabled:
- type: boolean
- type: object
- type: object
- tolerations:
- items:
- properties:
- effect:
- type: string
- key:
- type: string
- operator:
- type: string
- tolerationSeconds:
- type: integer
- value:
- type: string
- type: object
- type: array
affinity:
properties:
nodeAffinity:
@@ -234,6 +121,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -288,6 +183,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -344,6 +247,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -398,6 +309,14 @@
type: string
type: object
type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ mismatchLabelKeys:
+ items:
+ type: string
+ type: array
namespaceSelector:
properties:
matchExpressions:
@@ -428,146 +347,49 @@
type: array
type: object
type: object
- topologySpreadConstraints:
- items:
- properties:
- labelSelector:
- properties:
- matchExpressions:
- items:
- properties:
- key:
- type: string
- operator:
- type: string
- values:
- items:
- type: string
- type: array
- type: object
- type: array
- matchLabels:
- additionalProperties:
- type: string
- type: object
- type: object
- matchLabelKeys:
- items:
- type: string
- type: array
- maxSkew:
- type: integer
- minDomains:
- type: integer
- nodeAffinityPolicy:
- type: string
- nodeTaintsPolicy:
- type: string
- topologyKey:
- type: string
- whenUnsatisfiable:
- type: string
- type: object
- type: array
- priorityClassName:
- type: string
- replicas:
- type: integer
- maxSurge:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- maxUnavailable:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- resources:
+ containerImages:
properties:
- claims:
+ busyBox:
+ properties:
+ registry:
+ type: string
+ tag:
+ type: string
+ type: object
+ gerritImages:
+ properties:
+ org:
+ type: string
+ registry:
+ type: string
+ tag:
+ type: string
+ type: object
+ imagePullPolicy:
+ type: string
+ imagePullSecrets:
items:
properties:
name:
type: string
type: object
type: array
- limits:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- requests:
- additionalProperties:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
type: object
- readinessProbe:
+ credentialSecretRef:
+ type: string
+ ingress:
properties:
- exec:
+ enabled:
+ type: boolean
+ host:
+ type: string
+ ssh:
properties:
- command:
- items:
- type: string
- type: array
+ enabled:
+ type: boolean
type: object
- failureThreshold:
- type: integer
- grpc:
- properties:
- port:
- type: integer
- service:
- type: string
- type: object
- httpGet:
- properties:
- host:
- type: string
- httpHeaders:
- items:
- properties:
- name:
- type: string
- value:
- type: string
- type: object
- type: array
- path:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- scheme:
- type: string
- type: object
- initialDelaySeconds:
- type: integer
- periodSeconds:
- type: integer
- successThreshold:
- type: integer
- tcpSocket:
- properties:
- host:
- type: string
- port:
- anyOf:
- - type: integer
- - type: string
- x-kubernetes-int-or-string: true
- type: object
- terminationGracePeriodSeconds:
- type: integer
- timeoutSeconds:
- type: integer
+ tlsEnabled:
+ type: boolean
type: object
livenessProbe:
properties:
@@ -631,22 +453,232 @@
timeoutSeconds:
type: integer
type: object
- service:
+ maxSurge:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ maxUnavailable:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ priorityClassName:
+ type: string
+ readinessProbe:
properties:
- type:
- type: string
- httpPort:
+ exec:
+ properties:
+ command:
+ items:
+ type: string
+ type: array
+ type: object
+ failureThreshold:
+ type: integer
+ grpc:
+ properties:
+ port:
+ type: integer
+ service:
+ type: string
+ type: object
+ httpGet:
+ properties:
+ host:
+ type: string
+ httpHeaders:
+ items:
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ type: object
+ type: array
+ path:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ scheme:
+ type: string
+ type: object
+ initialDelaySeconds:
+ type: integer
+ periodSeconds:
+ type: integer
+ successThreshold:
+ type: integer
+ tcpSocket:
+ properties:
+ host:
+ type: string
+ port:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ terminationGracePeriodSeconds:
+ type: integer
+ timeoutSeconds:
type: integer
type: object
- credentialSecretRef:
- type: string
+ replicas:
+ type: integer
+ resources:
+ properties:
+ claims:
+ items:
+ properties:
+ name:
+ type: string
+ type: object
+ type: array
+ limits:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ requests:
+ additionalProperties:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ type: object
+ type: object
+ service:
+ properties:
+ httpPort:
+ type: integer
+ type:
+ type: string
+ type: object
+ storage:
+ properties:
+ sharedStorage:
+ properties:
+ externalPVC:
+ properties:
+ claimName:
+ type: string
+ enabled:
+ type: boolean
+ type: object
+ selector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ size:
+ anyOf:
+ - type: integer
+ - type: string
+ x-kubernetes-int-or-string: true
+ volumeName:
+ type: string
+ type: object
+ storageClasses:
+ properties:
+ nfsWorkaround:
+ properties:
+ chownOnStartup:
+ type: boolean
+ enabled:
+ type: boolean
+ idmapdConfig:
+ type: string
+ type: object
+ readWriteMany:
+ type: string
+ readWriteOnce:
+ type: string
+ type: object
+ type: object
+ tolerations:
+ items:
+ properties:
+ effect:
+ type: string
+ key:
+ type: string
+ operator:
+ type: string
+ tolerationSeconds:
+ type: integer
+ value:
+ type: string
+ type: object
+ type: array
+ topologySpreadConstraints:
+ items:
+ properties:
+ labelSelector:
+ properties:
+ matchExpressions:
+ items:
+ properties:
+ key:
+ type: string
+ operator:
+ type: string
+ values:
+ items:
+ type: string
+ type: array
+ type: object
+ type: array
+ matchLabels:
+ additionalProperties:
+ type: string
+ type: object
+ type: object
+ matchLabelKeys:
+ items:
+ type: string
+ type: array
+ maxSkew:
+ type: integer
+ minDomains:
+ type: integer
+ nodeAffinityPolicy:
+ type: string
+ nodeTaintsPolicy:
+ type: string
+ topologyKey:
+ type: string
+ whenUnsatisfiable:
+ type: string
+ type: object
+ type: array
type: object
status:
properties:
- ready:
- type: boolean
appliedCredentialSecretVersion:
type: string
+ ready:
+ type: boolean
type: object
type: object
served: true
diff --git a/helm-charts/gerrit-replica/Chart.yaml b/helm-charts/gerrit-replica/Chart.yaml
index 0fc9a45..13f767a 100644
--- a/helm-charts/gerrit-replica/Chart.yaml
+++ b/helm-charts/gerrit-replica/Chart.yaml
@@ -1,5 +1,5 @@
apiVersion: v2
-appVersion: 3.9.1
+appVersion: 3.9.4
description: |-
The Gerrit replica serves as a read-only Gerrit instance to serve repositories
that it receives from a Gerrit instance via replication. It can be used to
diff --git a/helm-charts/gerrit/Chart.yaml b/helm-charts/gerrit/Chart.yaml
index cafaa43..0ebf4a9 100644
--- a/helm-charts/gerrit/Chart.yaml
+++ b/helm-charts/gerrit/Chart.yaml
@@ -1,5 +1,5 @@
apiVersion: v2
-appVersion: 3.9.1
+appVersion: 3.9.4
description: |-
Gerrit is a free, web-based team code collaboration tool. Software developers
in a team can review each other's modifications on their source code using
diff --git a/operator/pom.xml b/operator/pom.xml
index e5ca845..65952bc 100644
--- a/operator/pom.xml
+++ b/operator/pom.xml
@@ -15,13 +15,13 @@
<properties>
<revision>1.0.0-SNAPSHOT</revision>
- <fabric8.version>6.6.2</fabric8.version>
+ <fabric8.version>6.11.0</fabric8.version>
<flogger.version>0.8</flogger.version>
<guice.version>5.1.0</guice.version>
- <javaoperatorsdk.version>4.3.3</javaoperatorsdk.version>
+ <javaoperatorsdk.version>4.8.3</javaoperatorsdk.version>
<jetty.version>11.0.15</jetty.version>
<log42.version>2.23.0</log42.version>
- <lombok.version>1.18.28</lombok.version>
+ <lombok.version>1.18.30</lombok.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<docker.registry>docker.io</docker.registry>
@@ -270,7 +270,7 @@
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-params</artifactId>
- <version>5.9.2</version>
+ <version>5.10.2</version>
<scope>test</scope>
</dependency>
</dependencies>
diff --git a/operator/src/main/java/com/google/gerrit/k8s/operator/GerritOperator.java b/operator/src/main/java/com/google/gerrit/k8s/operator/GerritOperator.java
index 6f9be7e..c0ca428 100644
--- a/operator/src/main/java/com/google/gerrit/k8s/operator/GerritOperator.java
+++ b/operator/src/main/java/com/google/gerrit/k8s/operator/GerritOperator.java
@@ -61,7 +61,12 @@
}
public void start() throws Exception {
- operator = new Operator(client);
+ operator =
+ new Operator(
+ overrider ->
+ overrider
+ .withSSABasedCreateUpdateMatchForDependentResources(false)
+ .withKubernetesClient(client));
for (Reconciler<?> reconciler : reconcilers) {
logger.atInfo().log(
String.format("Registering reconciler: %s", reconciler.getClass().getSimpleName()));
diff --git a/operator/src/main/java/com/google/gerrit/k8s/operator/gerrit/dependent/GerritStatefulSet.java b/operator/src/main/java/com/google/gerrit/k8s/operator/gerrit/dependent/GerritStatefulSet.java
index 5e86085..7858503 100644
--- a/operator/src/main/java/com/google/gerrit/k8s/operator/gerrit/dependent/GerritStatefulSet.java
+++ b/operator/src/main/java/com/google/gerrit/k8s/operator/gerrit/dependent/GerritStatefulSet.java
@@ -405,17 +405,19 @@
}
private boolean isGerritRestartRequired(Gerrit gerrit, Context<Gerrit> context) {
- if (wasConfigMapUpdated(GerritInitConfigMap.getName(gerrit), gerrit)
- || wasConfigMapUpdated(GerritConfigMap.getName(gerrit), gerrit)) {
+ if (wasConfigMapUpdated(GerritInitConfigMap.getName(gerrit), gerrit, context)
+ || wasConfigMapUpdated(GerritConfigMap.getName(gerrit), gerrit, context)) {
return true;
}
return wasSecretUpdated(gerrit, context);
}
- private boolean wasConfigMapUpdated(String configMapName, Gerrit gerrit) {
+ private boolean wasConfigMapUpdated(
+ String configMapName, Gerrit gerrit, Context<Gerrit> context) {
String configMapVersion =
- client
+ context
+ .getClient()
.configMaps()
.inNamespace(gerrit.getMetadata().getNamespace())
.withName(configMapName)
@@ -437,7 +439,8 @@
String secretName = gerrit.getSpec().getSecretRef();
Optional<Secret> gerritSecret =
Optional.ofNullable(
- client
+ context
+ .getClient()
.secrets()
.inNamespace(gerrit.getMetadata().getNamespace())
.withName(secretName)
@@ -459,7 +462,8 @@
for (String secretName : gerrit.getModuleDataSecretNames()) {
String appliedVersion = gerrit.getStatus().getAppliedSecretVersions().get(secretName);
String actualVersion =
- client
+ context
+ .getClient()
.secrets()
.inNamespace(gerrit.getMetadata().getNamespace())
.withName(secretName)
diff --git a/operator/src/main/java/com/google/gerrit/k8s/operator/gitgc/GitGarbageCollectionReconciler.java b/operator/src/main/java/com/google/gerrit/k8s/operator/gitgc/GitGarbageCollectionReconciler.java
index 6700bb5..a2eabbc 100644
--- a/operator/src/main/java/com/google/gerrit/k8s/operator/gitgc/GitGarbageCollectionReconciler.java
+++ b/operator/src/main/java/com/google/gerrit/k8s/operator/gitgc/GitGarbageCollectionReconciler.java
@@ -55,7 +55,6 @@
public GitGarbageCollectionReconciler(KubernetesClient client) {
this.client = client;
this.dependentCronJob = new GitGarbageCollectionCronJob();
- this.dependentCronJob.setKubernetesClient(client);
}
@Override
diff --git a/operator/src/main/java/com/google/gerrit/k8s/operator/gitgc/dependent/GitGarbageCollectionCronJob.java b/operator/src/main/java/com/google/gerrit/k8s/operator/gitgc/dependent/GitGarbageCollectionCronJob.java
index 24364d7..568a573 100644
--- a/operator/src/main/java/com/google/gerrit/k8s/operator/gitgc/dependent/GitGarbageCollectionCronJob.java
+++ b/operator/src/main/java/com/google/gerrit/k8s/operator/gitgc/dependent/GitGarbageCollectionCronJob.java
@@ -45,7 +45,8 @@
String ns = gitGc.getMetadata().getNamespace();
String name = gitGc.getMetadata().getName();
GerritCluster gerritCluster =
- client
+ context
+ .getClient()
.resources(GerritCluster.class)
.inNamespace(ns)
.withName(gitGc.getSpec().getCluster())
diff --git a/operator/src/main/java/com/google/gerrit/k8s/operator/network/ambassador/dependent/GerritClusterMappingGETReplica.java b/operator/src/main/java/com/google/gerrit/k8s/operator/network/ambassador/dependent/GerritClusterMappingGETReplica.java
index 1e25449..9b30a57 100644
--- a/operator/src/main/java/com/google/gerrit/k8s/operator/network/ambassador/dependent/GerritClusterMappingGETReplica.java
+++ b/operator/src/main/java/com/google/gerrit/k8s/operator/network/ambassador/dependent/GerritClusterMappingGETReplica.java
@@ -49,7 +49,7 @@
gerritNetwork, GERRIT_MAPPING_GET_REPLICA, this.getClass().getSimpleName()))
.endMetadata()
.withNewSpecLike(getCommonSpec(gerritNetwork, replicaServiceName))
- .withNewV2QueryParameters()
+ .withNewQueryParameters()
.withAdditionalProperties(
new HashMap<String, Object>() {
{
diff --git a/operator/src/main/java/com/google/gerrit/k8s/operator/network/ambassador/dependent/GerritClusterMappingReceiverGET.java b/operator/src/main/java/com/google/gerrit/k8s/operator/network/ambassador/dependent/GerritClusterMappingReceiverGET.java
index a828340..e42a0d6 100644
--- a/operator/src/main/java/com/google/gerrit/k8s/operator/network/ambassador/dependent/GerritClusterMappingReceiverGET.java
+++ b/operator/src/main/java/com/google/gerrit/k8s/operator/network/ambassador/dependent/GerritClusterMappingReceiverGET.java
@@ -49,7 +49,7 @@
gerritNetwork, GERRIT_MAPPING_RECEIVER_GET, this.getClass().getSimpleName()))
.endMetadata()
.withNewSpecLike(getCommonSpec(gerritNetwork, receiverServiceName))
- .withNewV2QueryParameters()
+ .withNewQueryParameters()
.withAdditionalProperties(
new HashMap<String, Object>() {
{
diff --git a/operator/src/main/java/com/google/gerrit/k8s/operator/network/istio/dependent/GerritIstioServiceEntries.java b/operator/src/main/java/com/google/gerrit/k8s/operator/network/istio/dependent/GerritIstioServiceEntries.java
index ed75855..e6ba9a8 100644
--- a/operator/src/main/java/com/google/gerrit/k8s/operator/network/istio/dependent/GerritIstioServiceEntries.java
+++ b/operator/src/main/java/com/google/gerrit/k8s/operator/network/istio/dependent/GerritIstioServiceEntries.java
@@ -14,6 +14,9 @@
package com.google.gerrit.k8s.operator.network.istio.dependent;
+import static com.google.gerrit.k8s.operator.gerrit.dependent.GerritStatefulSet.HTTP_PORT;
+import static com.google.gerrit.k8s.operator.gerrit.dependent.GerritStatefulSet.SSH_PORT;
+
import com.google.gerrit.k8s.operator.api.model.cluster.GerritCluster;
import com.google.gerrit.k8s.operator.api.model.network.GerritNetwork;
import com.google.gerrit.k8s.operator.gerrit.dependent.GerritService;
@@ -63,12 +66,12 @@
List.of(
new PortBuilder()
.withName("ssh-primary")
- .withNumber(gerritNetwork.getSpec().getPrimaryGerrit().getSshPort())
+ .withNumber(SSH_PORT)
.withProtocol("TCP")
.build(),
new PortBuilder()
.withName("http")
- .withNumber(gerritNetwork.getSpec().getPrimaryGerrit().getHttpPort())
+ .withNumber(HTTP_PORT)
.withProtocol("HTTP")
.build()))
.endSpec()
diff --git a/operator/src/main/java/com/google/gerrit/k8s/operator/receiver/dependent/ReceiverSecret.java b/operator/src/main/java/com/google/gerrit/k8s/operator/receiver/dependent/ReceiverSecret.java
deleted file mode 100644
index 2028d20..0000000
--- a/operator/src/main/java/com/google/gerrit/k8s/operator/receiver/dependent/ReceiverSecret.java
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (C) 2023 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-package com.google.gerrit.k8s.operator.receiver.dependent;
-
-import com.google.gerrit.k8s.operator.api.model.receiver.Receiver;
-import io.fabric8.kubernetes.api.model.Secret;
-import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependent;
-import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResource;
-import io.javaoperatorsdk.operator.processing.event.ResourceID;
-import io.javaoperatorsdk.operator.processing.event.source.SecondaryToPrimaryMapper;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-@KubernetesDependent
-public class ReceiverSecret extends KubernetesDependentResource<Secret, Receiver>
- implements SecondaryToPrimaryMapper<Secret> {
- public ReceiverSecret() {
- super(Secret.class);
- }
-
- @Override
- public Set<ResourceID> toPrimaryResourceIDs(Secret secret) {
- return client
- .resources(Receiver.class)
- .inNamespace(secret.getMetadata().getNamespace())
- .list()
- .getItems()
- .stream()
- .filter(g -> g.getSpec().getCredentialSecretRef().equals(secret.getMetadata().getName()))
- .map(g -> ResourceID.fromResource(g))
- .collect(Collectors.toSet());
- }
-}
diff --git a/operator/src/main/java/com/google/gerrit/k8s/operator/tasks/incomingrepl/dependent/IncomingReplicationTaskCronJob.java b/operator/src/main/java/com/google/gerrit/k8s/operator/tasks/incomingrepl/dependent/IncomingReplicationTaskCronJob.java
index 96dbc62..72b596c 100644
--- a/operator/src/main/java/com/google/gerrit/k8s/operator/tasks/incomingrepl/dependent/IncomingReplicationTaskCronJob.java
+++ b/operator/src/main/java/com/google/gerrit/k8s/operator/tasks/incomingrepl/dependent/IncomingReplicationTaskCronJob.java
@@ -93,7 +93,7 @@
.withFsGroup(100L)
.endSecurityContext()
.addAllToInitContainers(initContainers)
- .addToContainers(buildTaskContainer(incomingReplTask))
+ .addToContainers(buildTaskContainer(incomingReplTask, context))
.withVolumes(getVolumes(incomingReplTask))
.endSpec()
.endTemplate()
@@ -125,7 +125,8 @@
name, getComponentName(name), IncomingReplicationTaskReconciler.class.getSimpleName());
}
- private Container buildTaskContainer(IncomingReplicationTask incomingReplTask) {
+ private Container buildTaskContainer(
+ IncomingReplicationTask incomingReplTask, Context<IncomingReplicationTask> context) {
ContainerBuilder taskContainerBuilder =
new ContainerBuilder()
@@ -139,12 +140,13 @@
.getGerritImages()
.getFullImageName("fetch-job"))
.withResources(incomingReplTask.getSpec().getResources())
- .withVolumeMounts(getVolumeMounts(incomingReplTask));
+ .withVolumeMounts(getVolumeMounts(incomingReplTask, context));
return taskContainerBuilder.build();
}
- private List<VolumeMount> getVolumeMounts(IncomingReplicationTask incomingReplTask) {
+ private List<VolumeMount> getVolumeMounts(
+ IncomingReplicationTask incomingReplTask, Context<IncomingReplicationTask> context) {
List<VolumeMount> volumeMounts = new ArrayList<>();
volumeMounts.add(GerritCluster.getGitRepositoriesVolumeMount("/var/gerrit/git"));
@@ -169,7 +171,8 @@
String secretRef = incomingReplTask.getSpec().getSecretRef();
if (secretRef != null && !secretRef.isBlank()) {
Secret secret =
- client
+ context
+ .getClient()
.resources(Secret.class)
.inNamespace(incomingReplTask.getMetadata().getNamespace())
.withName(secretRef)
diff --git a/operator/src/main/java/com/google/gerrit/k8s/operator/util/CRUDKubernetesDependentPVCResource.java b/operator/src/main/java/com/google/gerrit/k8s/operator/util/CRUDKubernetesDependentPVCResource.java
index be18ab7..bc554fd 100644
--- a/operator/src/main/java/com/google/gerrit/k8s/operator/util/CRUDKubernetesDependentPVCResource.java
+++ b/operator/src/main/java/com/google/gerrit/k8s/operator/util/CRUDKubernetesDependentPVCResource.java
@@ -32,7 +32,8 @@
protected final PersistentVolumeClaim desired(P primary, Context<P> context) {
PersistentVolumeClaim pvc = desiredPVC(primary, context);
PersistentVolumeClaim existingPvc =
- client
+ context
+ .getClient()
.persistentVolumeClaims()
.inNamespace(pvc.getMetadata().getNamespace())
.withName(pvc.getMetadata().getName())
diff --git a/operator/src/main/java/com/google/gerrit/k8s/operator/util/CRUDReconcileAddKubernetesDependentResource.java b/operator/src/main/java/com/google/gerrit/k8s/operator/util/CRUDReconcileAddKubernetesDependentResource.java
index 3fcbc2b..6e1cd79 100644
--- a/operator/src/main/java/com/google/gerrit/k8s/operator/util/CRUDReconcileAddKubernetesDependentResource.java
+++ b/operator/src/main/java/com/google/gerrit/k8s/operator/util/CRUDReconcileAddKubernetesDependentResource.java
@@ -35,6 +35,7 @@
@Override
public Result<R> match(R actualResource, R desired, P primary, Context<P> context) {
- return GenericKubernetesResourceMatcher.match(desired, actualResource, false, true);
+ return GenericKubernetesResourceMatcher.match(
+ desired, actualResource, false, false, true, context);
}
}
diff --git a/operator/src/main/java/com/google/gerrit/k8s/operator/util/KubernetesDependentCustomResource.java b/operator/src/main/java/com/google/gerrit/k8s/operator/util/KubernetesDependentCustomResource.java
index e0f7782..9b2f516 100644
--- a/operator/src/main/java/com/google/gerrit/k8s/operator/util/KubernetesDependentCustomResource.java
+++ b/operator/src/main/java/com/google/gerrit/k8s/operator/util/KubernetesDependentCustomResource.java
@@ -15,25 +15,15 @@
package com.google.gerrit.k8s.operator.util;
import io.fabric8.kubernetes.api.model.HasMetadata;
-import io.fabric8.kubernetes.api.model.Namespaced;
import io.fabric8.kubernetes.api.model.ObjectMeta;
-import io.fabric8.kubernetes.client.dsl.Resource;
import io.javaoperatorsdk.operator.api.reconciler.Context;
import io.javaoperatorsdk.operator.processing.dependent.Matcher.Result;
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.GenericKubernetesResourceMatcher;
-import io.javaoperatorsdk.operator.processing.dependent.kubernetes.GenericResourceUpdatePreProcessor;
-import io.javaoperatorsdk.operator.processing.event.ResourceID;
import java.util.Map;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
public abstract class KubernetesDependentCustomResource<
R extends HasMetadata, P extends HasMetadata>
extends CRUDReconcileAddKubernetesDependentResource<R, P> {
-
- private static final Logger log =
- LoggerFactory.getLogger(KubernetesDependentCustomResource.class);
-
public KubernetesDependentCustomResource(Class<R> resourceType) {
super(resourceType);
}
@@ -49,36 +39,19 @@
@Override
public Result<R> match(R actualResource, R desired, P primary, Context<P> context) {
- return GenericKubernetesResourceMatcher.match(desired, actualResource, true, true);
+ return GenericKubernetesResourceMatcher.match(
+ desired, actualResource, true, false, true, context);
}
@Override
public R create(R target, P primary, Context<P> context) {
- return prepare(setApiVersionAnnotation(target, primary), primary, "Creating").create();
+ R newResource = super.create(target, primary, context);
+ return setApiVersionAnnotation(newResource, primary);
}
@Override
public R update(R actual, R target, P primary, Context<P> context) {
- R updatedActual =
- GenericResourceUpdatePreProcessor.processorFor(resourceType())
- .replaceSpecOnActual(actual, target, context);
- updatedActual = setApiVersionAnnotation(updatedActual, primary);
- return prepare(updatedActual, primary, "Updating").replace();
- }
-
- protected Resource<R> prepare(R desired, P primary, String actionName) {
- log.debug(
- "{} target resource with type: {}, with id: {}",
- actionName,
- desired.getClass(),
- ResourceID.fromResource(desired));
-
- desired.addOwnerReference(primary);
-
- if (desired instanceof Namespaced) {
- return client.resource(desired).inNamespace(desired.getMetadata().getNamespace());
- } else {
- return client.resource(desired);
- }
+ R updatedActual = super.update(actual, target, primary, context);
+ return setApiVersionAnnotation(updatedActual, primary);
}
}
diff --git a/operator/src/test/java/com/google/gerrit/k8s/operator/gitgc/dependent/GitGarbageCollectionTest.java b/operator/src/test/java/com/google/gerrit/k8s/operator/gitgc/dependent/GitGarbageCollectionTest.java
index 01c61dd..f175256 100644
--- a/operator/src/test/java/com/google/gerrit/k8s/operator/gitgc/dependent/GitGarbageCollectionTest.java
+++ b/operator/src/test/java/com/google/gerrit/k8s/operator/gitgc/dependent/GitGarbageCollectionTest.java
@@ -18,11 +18,18 @@
import com.google.gerrit.k8s.operator.api.model.cluster.GerritCluster;
import com.google.gerrit.k8s.operator.api.model.gitgc.GitGarbageCollection;
+import com.google.gerrit.k8s.operator.gitgc.GitGarbageCollectionReconciler;
import io.fabric8.kubernetes.api.model.HasMetadata;
import io.fabric8.kubernetes.api.model.batch.v1.CronJob;
import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
-import io.fabric8.kubernetes.internal.KubernetesDeserializer;
import io.javaoperatorsdk.operator.ReconcilerUtils;
+import io.javaoperatorsdk.operator.api.config.BaseConfigurationService;
+import io.javaoperatorsdk.operator.api.reconciler.Context;
+import io.javaoperatorsdk.operator.api.reconciler.DefaultContext;
+import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
+import io.javaoperatorsdk.operator.processing.Controller;
+import io.javaoperatorsdk.operator.processing.retry.GenericRetry;
+import io.javaoperatorsdk.operator.processing.retry.GenericRetryExecution;
import java.net.HttpURLConnection;
import java.util.stream.Stream;
import org.junit.Rule;
@@ -44,9 +51,6 @@
@BeforeAll
public void setup() throws Exception {
- KubernetesDeserializer.registerCustomKind(
- "gerritoperator.google.com/v1beta1", "GerritCluster", GerritCluster.class);
-
kubernetesServer.before();
}
@@ -67,12 +71,25 @@
.andReturn(HttpURLConnection.HTTP_OK, gerritCluster)
.once();
+ Context<GitGarbageCollection> context =
+ getContext(new GitGarbageCollectionReconciler(kubernetesServer.getClient()), input);
GitGarbageCollectionCronJob dependentCronjob = new GitGarbageCollectionCronJob();
- dependentCronjob.setKubernetesClient(kubernetesServer.getClient());
- assertThat(dependentCronjob.desired(input, null))
+ assertThat(dependentCronjob.desired(input, context))
.isEqualTo(ReconcilerUtils.loadYaml(CronJob.class, this.getClass(), expectedCronJob));
}
+ private Context<GitGarbageCollection> getContext(
+ Reconciler<GitGarbageCollection> reconciler, GitGarbageCollection primary) {
+ Controller<GitGarbageCollection> controller =
+ new Controller<GitGarbageCollection>(
+ reconciler,
+ new BaseConfigurationService().getConfigurationFor(reconciler),
+ kubernetesServer.getClient());
+
+ return new DefaultContext<GitGarbageCollection>(
+ new GenericRetryExecution(new GenericRetry()), controller, primary);
+ }
+
private static Stream<Arguments> provideYamlManifests() {
return Stream.of(
Arguments.of(
diff --git a/operator/src/test/java/com/google/gerrit/k8s/operator/server/GerritAdmissionWebhookTest.java b/operator/src/test/java/com/google/gerrit/k8s/operator/server/GerritAdmissionWebhookTest.java
index fa41b6f..11a57a8 100644
--- a/operator/src/test/java/com/google/gerrit/k8s/operator/server/GerritAdmissionWebhookTest.java
+++ b/operator/src/test/java/com/google/gerrit/k8s/operator/server/GerritAdmissionWebhookTest.java
@@ -26,7 +26,6 @@
import com.google.gerrit.k8s.operator.api.model.gerrit.Gerrit;
import com.google.gerrit.k8s.operator.api.model.gerrit.GerritSpec;
import com.google.gerrit.k8s.operator.api.model.gerrit.GerritTemplateSpec.GerritMode;
-import com.google.gerrit.k8s.operator.api.model.receiver.Receiver;
import com.google.gerrit.k8s.operator.api.model.shared.GerritClusterIngressConfig;
import com.google.gerrit.k8s.operator.test.TestAdmissionWebhookServer;
import io.fabric8.kubernetes.api.model.DefaultKubernetesResourceList;
@@ -36,7 +35,6 @@
import io.fabric8.kubernetes.api.model.admission.v1.AdmissionRequest;
import io.fabric8.kubernetes.api.model.admission.v1.AdmissionReview;
import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
-import io.fabric8.kubernetes.internal.KubernetesDeserializer;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
@@ -73,10 +71,6 @@
@BeforeAll
public void setup() throws Exception {
- KubernetesDeserializer.registerCustomKind(
- "gerritoperator.google.com/v1beta1", "Gerrit", Gerrit.class);
- KubernetesDeserializer.registerCustomKind(
- "gerritoperator.google.com/v1beta1", "Receiver", Receiver.class);
server = new TestAdmissionWebhookServer();
kubernetesServer.before();
diff --git a/operator/src/test/java/com/google/gerrit/k8s/operator/server/GerritClusterAdmissionWebhookTest.java b/operator/src/test/java/com/google/gerrit/k8s/operator/server/GerritClusterAdmissionWebhookTest.java
index f801b1e..49bec25 100644
--- a/operator/src/test/java/com/google/gerrit/k8s/operator/server/GerritClusterAdmissionWebhookTest.java
+++ b/operator/src/test/java/com/google/gerrit/k8s/operator/server/GerritClusterAdmissionWebhookTest.java
@@ -23,10 +23,8 @@
import com.google.gerrit.k8s.operator.admission.servlet.GerritAdmissionWebhook;
import com.google.gerrit.k8s.operator.admission.servlet.GerritClusterAdmissionWebhook;
import com.google.gerrit.k8s.operator.api.model.cluster.GerritCluster;
-import com.google.gerrit.k8s.operator.api.model.gerrit.Gerrit;
import com.google.gerrit.k8s.operator.api.model.gerrit.GerritTemplate;
import com.google.gerrit.k8s.operator.api.model.gerrit.GerritTemplateSpec.GerritMode;
-import com.google.gerrit.k8s.operator.api.model.receiver.Receiver;
import com.google.gerrit.k8s.operator.api.model.receiver.ReceiverTemplate;
import com.google.gerrit.k8s.operator.api.model.receiver.ReceiverTemplateSpec;
import com.google.gerrit.k8s.operator.test.ReceiverUtil;
@@ -38,7 +36,6 @@
import io.fabric8.kubernetes.api.model.admission.v1.AdmissionRequest;
import io.fabric8.kubernetes.api.model.admission.v1.AdmissionReview;
import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
-import io.fabric8.kubernetes.internal.KubernetesDeserializer;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
@@ -63,12 +60,6 @@
@BeforeAll
public void setup() throws Exception {
- KubernetesDeserializer.registerCustomKind(
- "gerritoperator.google.com/v1beta1", "Gerrit", Gerrit.class);
- KubernetesDeserializer.registerCustomKind(
- "gerritoperator.google.com/v1beta1", "GerritCluster", GerritCluster.class);
- KubernetesDeserializer.registerCustomKind(
- "gerritoperator.google.com/v1beta1", "Receiver", Receiver.class);
server = new TestAdmissionWebhookServer();
kubernetesServer.before();
diff --git a/operator/src/test/java/com/google/gerrit/k8s/operator/server/GitGcAdmissionWebhookTest.java b/operator/src/test/java/com/google/gerrit/k8s/operator/server/GitGcAdmissionWebhookTest.java
index 0df47c3..7a2da9f 100644
--- a/operator/src/test/java/com/google/gerrit/k8s/operator/server/GitGcAdmissionWebhookTest.java
+++ b/operator/src/test/java/com/google/gerrit/k8s/operator/server/GitGcAdmissionWebhookTest.java
@@ -21,7 +21,6 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gerrit.k8s.operator.admission.servlet.GitGcAdmissionWebhook;
-import com.google.gerrit.k8s.operator.api.model.cluster.GerritCluster;
import com.google.gerrit.k8s.operator.api.model.gitgc.GitGarbageCollection;
import com.google.gerrit.k8s.operator.api.model.gitgc.GitGarbageCollectionSpec;
import com.google.gerrit.k8s.operator.test.TestAdmissionWebhookServer;
@@ -31,7 +30,6 @@
import io.fabric8.kubernetes.api.model.admission.v1.AdmissionRequest;
import io.fabric8.kubernetes.api.model.admission.v1.AdmissionReview;
import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
-import io.fabric8.kubernetes.internal.KubernetesDeserializer;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
@@ -65,10 +63,6 @@
@BeforeAll
public void setup() throws Exception {
- KubernetesDeserializer.registerCustomKind(
- "gerritoperator.google.com/v1beta1", "GerritCluster", GerritCluster.class);
- KubernetesDeserializer.registerCustomKind(
- "gerritoperator.google.com/v1beta1", "GitGarbageCollection", GitGarbageCollection.class);
server = new TestAdmissionWebhookServer();
kubernetesServer.before();
diff --git a/operator/src/test/java/com/google/gerrit/k8s/operator/tasks/incomingrepl/dependent/IncomingReplicationTaskTest.java b/operator/src/test/java/com/google/gerrit/k8s/operator/tasks/incomingrepl/dependent/IncomingReplicationTaskTest.java
index 1b64cff..4c9cf7e 100644
--- a/operator/src/test/java/com/google/gerrit/k8s/operator/tasks/incomingrepl/dependent/IncomingReplicationTaskTest.java
+++ b/operator/src/test/java/com/google/gerrit/k8s/operator/tasks/incomingrepl/dependent/IncomingReplicationTaskTest.java
@@ -19,12 +19,20 @@
import com.google.gerrit.k8s.operator.api.model.cluster.GerritCluster;
import com.google.gerrit.k8s.operator.api.model.tasks.incomingrepl.IncomingReplicationTask;
import com.google.gerrit.k8s.operator.cluster.dependent.ClusterManagedIncomingReplicationTask;
+import com.google.gerrit.k8s.operator.tasks.incomingrepl.IncomingReplicationTaskReconciler;
import io.fabric8.kubernetes.api.model.ConfigMap;
import io.fabric8.kubernetes.api.model.Secret;
import io.fabric8.kubernetes.api.model.SecretBuilder;
import io.fabric8.kubernetes.api.model.batch.v1.CronJob;
import io.fabric8.kubernetes.client.server.mock.KubernetesServer;
import io.javaoperatorsdk.operator.ReconcilerUtils;
+import io.javaoperatorsdk.operator.api.config.BaseConfigurationService;
+import io.javaoperatorsdk.operator.api.reconciler.Context;
+import io.javaoperatorsdk.operator.api.reconciler.DefaultContext;
+import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
+import io.javaoperatorsdk.operator.processing.Controller;
+import io.javaoperatorsdk.operator.processing.retry.GenericRetry;
+import io.javaoperatorsdk.operator.processing.retry.GenericRetryExecution;
import java.net.HttpURLConnection;
import java.util.Map;
import java.util.stream.Stream;
@@ -84,22 +92,33 @@
.andReturn(HttpURLConnection.HTTP_OK, testSecret)
.always();
- IncomingReplicationTaskCronJob incomingReplicationTaskCronJob =
- new IncomingReplicationTaskCronJob();
- incomingReplicationTaskCronJob.setKubernetesClient(kubernetesServer.getClient());
- CronJob cronJob = incomingReplicationTaskCronJob.desired(incomingReplTask, null);
+ Context<IncomingReplicationTask> context =
+ getContext(new IncomingReplicationTaskReconciler(), incomingReplTask);
+ CronJob cronJob = new IncomingReplicationTaskCronJob().desired(incomingReplTask, context);
assertThat(cronJob)
.isEqualTo(ReconcilerUtils.loadYaml(CronJob.class, this.getClass(), expectedCronJob));
IncomingReplicationTaskConfigMap incomingReplicationTaskConfigMap =
new IncomingReplicationTaskConfigMap();
- ConfigMap configMap = incomingReplicationTaskConfigMap.desired(incomingReplTask, null);
+ ConfigMap configMap = incomingReplicationTaskConfigMap.desired(incomingReplTask, context);
assertThat(configMap)
.isEqualTo(ReconcilerUtils.loadYaml(ConfigMap.class, this.getClass(), expectedConfigMap));
}
+ private Context<IncomingReplicationTask> getContext(
+ Reconciler<IncomingReplicationTask> reconciler, IncomingReplicationTask primary) {
+ Controller<IncomingReplicationTask> controller =
+ new Controller<IncomingReplicationTask>(
+ reconciler,
+ new BaseConfigurationService().getConfigurationFor(reconciler),
+ kubernetesServer.getClient());
+
+ return new DefaultContext<IncomingReplicationTask>(
+ new GenericRetryExecution(new GenericRetry()), controller, primary);
+ }
+
private static Stream<Arguments> provideYamlManifests() {
return Stream.of(
Arguments.of(
diff --git a/operator/src/test/java/com/google/gerrit/k8s/operator/test/AbstractGerritOperatorE2ETest.java b/operator/src/test/java/com/google/gerrit/k8s/operator/test/AbstractGerritOperatorE2ETest.java
index 84087a8..c0ceb7d 100644
--- a/operator/src/test/java/com/google/gerrit/k8s/operator/test/AbstractGerritOperatorE2ETest.java
+++ b/operator/src/test/java/com/google/gerrit/k8s/operator/test/AbstractGerritOperatorE2ETest.java
@@ -60,6 +60,11 @@
LocallyRunOperatorExtension.builder()
.withNamespaceDeleteTimeout(120)
.waitForNamespaceDeletion(true)
+ .withConfigurationService(
+ overrider ->
+ overrider
+ .withSSABasedCreateUpdateMatchForDependentResources(false)
+ .withKubernetesClient(client))
.withReconciler(new GerritClusterReconciler())
.withReconciler(gerritReconciler)
.withReconciler(new GitGarbageCollectionReconciler(client))