Skip to content

Commit a16b171

Browse files
authored
K8SPS-417: add podDisruptionBudget support (#991)
1 parent 16f5a73 commit a16b171

File tree

76 files changed

+1231
-389
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+1231
-389
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ undeploy: manifests ## Undeploy operator
159159

160160
CONTROLLER_GEN = $(shell pwd)/bin/controller-gen
161161
controller-gen: ## Download controller-gen locally if necessary.
162-
$(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.3)
162+
$(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.18.0)
163163

164164
KUSTOMIZE = $(shell pwd)/bin/kustomize
165165
kustomize: ## Download kustomize locally if necessary.

api/v1alpha1/perconaservermysql_types.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,8 +189,9 @@ type PodSpec struct {
189189
SchedulerName string `json:"schedulerName,omitempty"`
190190
RuntimeClassName *string `json:"runtimeClassName,omitempty"`
191191

192-
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
193-
ServiceAccountName string `json:"serviceAccountName,omitempty"`
192+
PodSecurityContext *corev1.PodSecurityContext `json:"podSecurityContext,omitempty"`
193+
ServiceAccountName string `json:"serviceAccountName,omitempty"`
194+
PodDisruptionBudget *PodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`
194195

195196
Configuration string `json:"configuration,omitempty"`
196197

api/v1alpha1/zz_generated.deepcopy.go

Lines changed: 6 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/crd/bases/ps.percona.com_perconaservermysqlbackups.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.3
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: perconaservermysqlbackups.ps.percona.com
88
spec:
99
group: ps.percona.com

config/crd/bases/ps.percona.com_perconaservermysqlrestores.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.3
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: perconaservermysqlrestores.ps.percona.com
88
spec:
99
group: ps.percona.com

config/crd/bases/ps.percona.com_perconaservermysqls.yaml

Lines changed: 66 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
33
kind: CustomResourceDefinition
44
metadata:
55
annotations:
6-
controller-gen.kubebuilder.io/version: v0.16.3
6+
controller-gen.kubebuilder.io/version: v0.18.0
77
name: perconaservermysqls.ps.percona.com
88
spec:
99
group: ps.percona.com
@@ -877,6 +877,19 @@ spec:
877877
additionalProperties:
878878
type: string
879879
type: object
880+
podDisruptionBudget:
881+
properties:
882+
maxUnavailable:
883+
anyOf:
884+
- type: integer
885+
- type: string
886+
x-kubernetes-int-or-string: true
887+
minAvailable:
888+
anyOf:
889+
- type: integer
890+
- type: string
891+
x-kubernetes-int-or-string: true
892+
type: object
880893
podSecurityContext:
881894
properties:
882895
appArmorProfile:
@@ -3110,6 +3123,19 @@ spec:
31103123
additionalProperties:
31113124
type: string
31123125
type: object
3126+
podDisruptionBudget:
3127+
properties:
3128+
maxUnavailable:
3129+
anyOf:
3130+
- type: integer
3131+
- type: string
3132+
x-kubernetes-int-or-string: true
3133+
minAvailable:
3134+
anyOf:
3135+
- type: integer
3136+
- type: string
3137+
x-kubernetes-int-or-string: true
3138+
type: object
31133139
podSecurityContext:
31143140
properties:
31153141
appArmorProfile:
@@ -5888,6 +5914,19 @@ spec:
58885914
additionalProperties:
58895915
type: string
58905916
type: object
5917+
podDisruptionBudget:
5918+
properties:
5919+
maxUnavailable:
5920+
anyOf:
5921+
- type: integer
5922+
- type: string
5923+
x-kubernetes-int-or-string: true
5924+
minAvailable:
5925+
anyOf:
5926+
- type: integer
5927+
- type: string
5928+
x-kubernetes-int-or-string: true
5929+
type: object
58915930
podSecurityContext:
58925931
properties:
58935932
appArmorProfile:
@@ -7227,6 +7266,19 @@ spec:
72277266
additionalProperties:
72287267
type: string
72297268
type: object
7269+
podDisruptionBudget:
7270+
properties:
7271+
maxUnavailable:
7272+
anyOf:
7273+
- type: integer
7274+
- type: string
7275+
x-kubernetes-int-or-string: true
7276+
minAvailable:
7277+
anyOf:
7278+
- type: integer
7279+
- type: string
7280+
x-kubernetes-int-or-string: true
7281+
type: object
72307282
podSecurityContext:
72317283
properties:
72327284
appArmorProfile:
@@ -8442,6 +8494,19 @@ spec:
84428494
additionalProperties:
84438495
type: string
84448496
type: object
8497+
podDisruptionBudget:
8498+
properties:
8499+
maxUnavailable:
8500+
anyOf:
8501+
- type: integer
8502+
- type: string
8503+
x-kubernetes-int-or-string: true
8504+
minAvailable:
8505+
anyOf:
8506+
- type: integer
8507+
- type: string
8508+
x-kubernetes-int-or-string: true
8509+
type: object
84458510
podSecurityContext:
84468511
properties:
84478512
appArmorProfile:

config/crd/patches/versionlabel_in_perconaserverformysql.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: CustomResourceDefinition
33
metadata:
44
name: perconaservermysqls.ps.percona.com
55
labels:
6-
app.kubernetes.io/version: v0.11.0
6+
app.kubernetes.io/version: v0.12.0
77
app.kubernetes.io/name: percona-server-crd
88
app.kubernetes.io/part-of: percona-server-mysql-operator
99
app.kubernetes.io/component: crd

config/crd/patches/versionlabel_in_perconaserverformysqlbackups.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: CustomResourceDefinition
33
metadata:
44
name: perconaservermysqlbackups.ps.percona.com
55
labels:
6-
app.kubernetes.io/version: v0.11.0
6+
app.kubernetes.io/version: v0.12.0
77
app.kubernetes.io/name: percona-server-crd
88
app.kubernetes.io/part-of: percona-server-mysql-operator
99
app.kubernetes.io/component: crd

config/crd/patches/versionlabel_in_perconaserverformysqlrestores.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ kind: CustomResourceDefinition
33
metadata:
44
name: perconaservermysqlrestores.ps.percona.com
55
labels:
6-
app.kubernetes.io/version: v0.11.0
6+
app.kubernetes.io/version: v0.12.0
77
app.kubernetes.io/name: percona-server-crd
88
app.kubernetes.io/part-of: percona-server-mysql-operator
99
app.kubernetes.io/component: crd

config/rbac/cluster/role.yaml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,17 @@ rules:
9494
- list
9595
- patch
9696
- watch
97+
- apiGroups:
98+
- policy
99+
resources:
100+
- poddisruptionbudgets
101+
verbs:
102+
- create
103+
- get
104+
- list
105+
- patch
106+
- update
107+
- watch
97108
- apiGroups:
98109
- ps.percona.com
99110
resources:

0 commit comments

Comments
 (0)