Skip to content

Commit 3075f5d

Browse files
lake-yooclaude
andcommitted
Add revisionHistoryLimit option to PerconaServerMongoDB CRD
This allows users to control the number of ControllerRevision objects retained for StatefulSets managed by the operator. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent ed0939b commit 3075f5d

10 files changed

Lines changed: 30 additions & 2 deletions

File tree

config/crd/bases/psmdb.percona.com_perconaservermongodbs.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11759,6 +11759,9 @@ spec:
1175911759
- size
1176011760
type: object
1176111761
type: array
11762+
revisionHistoryLimit:
11763+
format: int32
11764+
type: integer
1176211765
roles:
1176311766
items:
1176411767
properties:

deploy/bundle.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Warning: 'patchesStrategicMerge' is deprecated. Please use 'patches' instead. Run 'kustomize edit fix' to update your Kustomization automatically.
12
apiVersion: apiextensions.k8s.io/v1
23
kind: CustomResourceDefinition
34
metadata:
@@ -12646,6 +12647,9 @@ spec:
1264612647
- size
1264712648
type: object
1264812649
type: array
12650+
revisionHistoryLimit:
12651+
format: int32
12652+
type: integer
1264912653
roles:
1265012654
items:
1265112655
properties:

deploy/cr.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ spec:
4343
# terminationGracePeriod: false
4444
# backupIfUnhealthy: false
4545
updateStrategy: SmartUpdate
46+
# revisionHistoryLimit: 10
4647
# ignoreAnnotations:
4748
# - service.beta.kubernetes.io/aws-load-balancer-backend-protocol
4849
# ignoreLabels:

deploy/crd.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Warning: 'patchesStrategicMerge' is deprecated. Please use 'patches' instead. Run 'kustomize edit fix' to update your Kustomization automatically.
12
apiVersion: apiextensions.k8s.io/v1
23
kind: CustomResourceDefinition
34
metadata:
@@ -12646,6 +12647,9 @@ spec:
1264612647
- size
1264712648
type: object
1264812649
type: array
12650+
revisionHistoryLimit:
12651+
format: int32
12652+
type: integer
1264912653
roles:
1265012654
items:
1265112655
properties:

deploy/cw-bundle.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Warning: 'patchesStrategicMerge' is deprecated. Please use 'patches' instead. Run 'kustomize edit fix' to update your Kustomization automatically.
12
apiVersion: apiextensions.k8s.io/v1
23
kind: CustomResourceDefinition
34
metadata:
@@ -12646,6 +12647,9 @@ spec:
1264612647
- size
1264712648
type: object
1264812649
type: array
12650+
revisionHistoryLimit:
12651+
format: int32
12652+
type: integer
1264912653
roles:
1265012654
items:
1265112655
properties:

e2e-tests/version-service/conf/crd.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
# Warning: 'patchesStrategicMerge' is deprecated. Please use 'patches' instead. Run 'kustomize edit fix' to update your Kustomization automatically.
12
apiVersion: apiextensions.k8s.io/v1
23
kind: CustomResourceDefinition
34
metadata:
@@ -12646,6 +12647,9 @@ spec:
1264612647
- size
1264712648
type: object
1264812649
type: array
12650+
revisionHistoryLimit:
12651+
format: int32
12652+
type: integer
1264912653
roles:
1265012654
items:
1265112655
properties:

pkg/apis/psmdb/v1/psmdb_types.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ type PerconaServerMongoDBSpec struct {
8686
ImagePullPolicy corev1.PullPolicy `json:"imagePullPolicy,omitempty"`
8787
PMM PMMSpec `json:"pmm,omitempty"`
8888
UpdateStrategy appsv1.StatefulSetUpdateStrategyType `json:"updateStrategy,omitempty"`
89+
RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"`
8990
UpgradeOptions UpgradeOptions `json:"upgradeOptions,omitempty"`
9091
SchedulerName string `json:"schedulerName,omitempty"`
9192
ClusterServiceDNSSuffix string `json:"clusterServiceDNSSuffix,omitempty"`

pkg/apis/psmdb/v1/zz_generated.deepcopy.go

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pkg/psmdb/mongos.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,9 @@ func MongosStatefulsetSpec(cr *api.PerconaServerMongoDB, template corev1.PodTemp
5151
Selector: &metav1.LabelSelector{
5252
MatchLabels: naming.MongosLabels(cr),
5353
},
54-
Template: template,
55-
UpdateStrategy: updateStrategy,
54+
Template: template,
55+
UpdateStrategy: updateStrategy,
56+
RevisionHistoryLimit: cr.Spec.RevisionHistoryLimit,
5657
}
5758
}
5859

pkg/psmdb/statefulset.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,7 @@ func StatefulSpec(ctx context.Context, cr *api.PerconaServerMongoDB, replset *ap
453453
},
454454
},
455455
UpdateStrategy: updateStrategy,
456+
RevisionHistoryLimit: cr.Spec.RevisionHistoryLimit,
456457
VolumeClaimTemplates: volumeClaimTemplates,
457458
}, nil
458459
}

0 commit comments

Comments
 (0)