Skip to content

Commit 765a451

Browse files
myJamongclaude
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 329f997 commit 765a451

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)