Skip to content

Commit ba043d9

Browse files
authored
Prepare for release v0.65.0-rc.0 (#827)
ProductLine: KubeDB Release: v2026.5.18-rc.0 Release-tracker: kubedb/CHANGELOG#135 Signed-off-by: 1gtm <1gtm@appscode.com>
1 parent a936042 commit ba043d9

258 files changed

Lines changed: 42870 additions & 2274 deletions

File tree

Some content is hidden

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

go.mod

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ require (
2727
kmodules.xyz/client-go v0.34.3
2828
kmodules.xyz/custom-resources v0.34.0
2929
kmodules.xyz/monitoring-agent-api v0.34.1
30-
kubedb.dev/apimachinery v0.64.0
31-
kubedb.dev/db-client-go v0.19.0
32-
kubeops.dev/petset v0.0.15
30+
kubedb.dev/apimachinery v0.65.0-rc.0
31+
kubedb.dev/db-client-go v0.20.0-rc.0
32+
kubeops.dev/petset v0.0.17-0.20260418091244-7f666912d240
3333
sigs.k8s.io/controller-runtime v0.22.4
3434
sigs.k8s.io/yaml v1.6.0
3535
stash.appscode.dev/apimachinery v0.42.1
@@ -168,10 +168,10 @@ require (
168168
kmodules.xyz/offshoot-api v0.34.0 // indirect
169169
kmodules.xyz/prober v0.34.0 // indirect
170170
kmodules.xyz/resource-metadata v0.42.4 // indirect
171-
kubeops.dev/csi-driver-cacerts v0.5.0 // indirect
172-
kubeops.dev/operator-shard-manager v0.0.5 // indirect
173-
kubeops.dev/sidekick v0.0.12 // indirect
174-
kubestash.dev/apimachinery v0.27.0 // indirect
171+
kubeops.dev/csi-driver-cacerts v0.5.1-0.20260418091014-4f539f46235c // indirect
172+
kubeops.dev/operator-shard-manager v0.0.6-0.20260418091213-65daf7da824d // indirect
173+
kubeops.dev/sidekick v0.0.15-0.20260418091208-a1cb9f4a3553 // indirect
174+
kubestash.dev/apimachinery v0.28.0-rc.0 // indirect
175175
open-cluster-management.io/api v1.2.0 // indirect
176176
sigs.k8s.io/gateway-api v1.4.0 // indirect
177177
sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect

go.sum

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -748,20 +748,20 @@ kmodules.xyz/prober v0.34.0 h1:ElZkZYCjLaytAA0M8EH42To7i9gh1IIX+d0qfaIohys=
748748
kmodules.xyz/prober v0.34.0/go.mod h1:rsu/fxxfNxY70GDbH6Ju8G66459hi7AhWSSBoiIp8ic=
749749
kmodules.xyz/resource-metadata v0.42.4 h1:nFVo+PKmwWdzVwk7U3VZuKBQj3tPo6fyY5BC7gE2OB8=
750750
kmodules.xyz/resource-metadata v0.42.4/go.mod h1:++18wSB28Wrw3ZxnOd8o8IVg7oMyWPwaPfuLw21QnPc=
751-
kubedb.dev/apimachinery v0.64.0 h1:JWxE5ael0PK64QMozFTxL6qmIJDDK1CEvZcGZ0qpCyM=
752-
kubedb.dev/apimachinery v0.64.0/go.mod h1:fUQDWDXkc9bwcHCkao//SfHBpSSFwbvM+UNQmcsxUDI=
753-
kubedb.dev/db-client-go v0.19.0 h1:k6JlKK8ADscZTZzkFxIu/0hZ/74u5R2aFBJp9o3b2Dc=
754-
kubedb.dev/db-client-go v0.19.0/go.mod h1:l6fpqKWSwHlZvD5MJBAsB4Gz58rSewybqO7StCWXhXI=
755-
kubeops.dev/csi-driver-cacerts v0.5.0 h1:WaKfoIyh7rx9rNZ65wJ3GkzhECkOjxd9dcO0iEx3xKU=
756-
kubeops.dev/csi-driver-cacerts v0.5.0/go.mod h1:VNbwC3gTWfmdQCVxd8mkVx+n1+0F1lOA5X3usyZN1rk=
757-
kubeops.dev/operator-shard-manager v0.0.5 h1:i7VnyUfIa9u3RQhSTVWNsooXcgmrWWxJyI9gJ10onE8=
758-
kubeops.dev/operator-shard-manager v0.0.5/go.mod h1:NE6GzlhwLRiwiUUpqi4Uf+J7e/gniITM0uJnE5r1mzY=
759-
kubeops.dev/petset v0.0.15 h1:iwTRFAp0RNw0A87sw2c97UZ6WIA9H/nhJBpDhXLa7fk=
760-
kubeops.dev/petset v0.0.15/go.mod h1:sw96WiXfzhpmKpXj4a5AdmEHs0Bx4QMhf+iW15zY4Gg=
761-
kubeops.dev/sidekick v0.0.12 h1:pmUjQLZDKxgREiM6z0PogLR1aDbgvkE9jRjbxG6dEt0=
762-
kubeops.dev/sidekick v0.0.12/go.mod h1:RU7QH3E8DOLw15rBYlOOJSyczuwAnVVtYyZjJb00UB8=
763-
kubestash.dev/apimachinery v0.27.0 h1:cBPAQRmXFlI/Z0A4IOCQ1r5fQcsV2/iLV8UrGTg7weQ=
764-
kubestash.dev/apimachinery v0.27.0/go.mod h1:f3xtr2V2PWmpktitX4CQgE1g8Y49fyFbO8/FLpk/lJ4=
751+
kubedb.dev/apimachinery v0.65.0-rc.0 h1:iqFYZGMvGEBUIPVTdJnT4uz8RNYgUCokWh6IM99yNcE=
752+
kubedb.dev/apimachinery v0.65.0-rc.0/go.mod h1:xaNhk00QIN6lMbg7T97XoSYZqJc8D0zP3jsN9u2Ih/Q=
753+
kubedb.dev/db-client-go v0.20.0-rc.0 h1:gU7sqcaMzD5G27gaLMYNTRGLF5Le44kT9Q9C0uL5TdM=
754+
kubedb.dev/db-client-go v0.20.0-rc.0/go.mod h1:+paHZL4gXER6pl2YySdzjGlUNZHc7xDkOignwYYkwmg=
755+
kubeops.dev/csi-driver-cacerts v0.5.1-0.20260418091014-4f539f46235c h1:ZKmBV3fFfCWQ3jDeWBbUi2J4WjJ2ff88n+cTqJ8ZXT8=
756+
kubeops.dev/csi-driver-cacerts v0.5.1-0.20260418091014-4f539f46235c/go.mod h1:VNbwC3gTWfmdQCVxd8mkVx+n1+0F1lOA5X3usyZN1rk=
757+
kubeops.dev/operator-shard-manager v0.0.6-0.20260418091213-65daf7da824d h1:/nZYflp2w1x+wQmxDtHR0Sbzl39fcuaJ66oqgVXBBwQ=
758+
kubeops.dev/operator-shard-manager v0.0.6-0.20260418091213-65daf7da824d/go.mod h1:NE6GzlhwLRiwiUUpqi4Uf+J7e/gniITM0uJnE5r1mzY=
759+
kubeops.dev/petset v0.0.17-0.20260418091244-7f666912d240 h1:6FyI0dCC/1aaJqdCqEtyRjownOCH2PP2KWpU1i0mgv4=
760+
kubeops.dev/petset v0.0.17-0.20260418091244-7f666912d240/go.mod h1:zb++ZwjAon+cueexxhRSSxzJnNX1J/scqvDrGgeRHcQ=
761+
kubeops.dev/sidekick v0.0.15-0.20260418091208-a1cb9f4a3553 h1:metVCjSnZJmPcON1wUuedyve0lV8IPNXxuGt6FgDMi4=
762+
kubeops.dev/sidekick v0.0.15-0.20260418091208-a1cb9f4a3553/go.mod h1:JelNzrL+K2S3BvkxDi2bE9lxaP5Y+HeDQooXIlKBorM=
763+
kubestash.dev/apimachinery v0.28.0-rc.0 h1:/8obzAxKhWzX4ar9Qyobqp7GFfVKKS1HnJD9q0orXZQ=
764+
kubestash.dev/apimachinery v0.28.0-rc.0/go.mod h1:f3xtr2V2PWmpktitX4CQgE1g8Y49fyFbO8/FLpk/lJ4=
765765
open-cluster-management.io/api v1.2.0 h1:+yeQgJiErrur5S4s205UM37EcZ2XbC9pFSm0xgV5/hU=
766766
open-cluster-management.io/api v1.2.0/go.mod h1:YcmA6SpGEekIMxdoeVIIyOaBhMA6ImWRLXP4g8n8T+4=
767767
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*
2+
Copyright AppsCode Inc. and Contributors
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package v1alpha1
18+
19+
import (
20+
dbapi "kubedb.dev/apimachinery/apis/kubedb/v1"
21+
22+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
23+
)
24+
25+
var _ Accessor = &ClickHouseArchiver{}
26+
27+
func (m *ClickHouseArchiver) GetObjectMeta() metav1.ObjectMeta {
28+
return m.ObjectMeta
29+
}
30+
31+
func (m *ClickHouseArchiver) GetConsumers() *dbapi.AllowedConsumers {
32+
return m.Spec.Databases
33+
}
34+
35+
var _ ListAccessor = ClickHouseArchiverList{}
36+
37+
func (l ClickHouseArchiverList) GetItems() []Accessor {
38+
res := make([]Accessor, len(l.Items))
39+
for i := range l.Items {
40+
res[i] = &l.Items[i]
41+
}
42+
return res
43+
}
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
/*
2+
Copyright AppsCode Inc. and Contributors
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package v1alpha1
18+
19+
import (
20+
dbapi "kubedb.dev/apimachinery/apis/kubedb/v1"
21+
22+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
23+
kmapi "kmodules.xyz/client-go/api/v1"
24+
storageapi "kubestash.dev/apimachinery/apis/storage/v1alpha1"
25+
)
26+
27+
const (
28+
ResourceKindClickHouseArchiver = "ClickHouseArchiver"
29+
ResourceSingularClickHouseArchiver = "clickhousearchiver"
30+
ResourcePluralClickHouseArchiver = "clickhousearchivers"
31+
)
32+
33+
// +genclient
34+
// +k8s:openapi-gen=true
35+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
36+
37+
// +kubebuilder:object:root=true
38+
// +kubebuilder:resource:path=clickhousearchivers,singular=clickhousearchiver,shortName=charchiver,categories={archiver,kubedb,appscode}
39+
// +kubebuilder:subresource:status
40+
type ClickHouseArchiver struct {
41+
metav1.TypeMeta `json:",inline"`
42+
metav1.ObjectMeta `json:"metadata,omitempty"`
43+
44+
Spec ClickHouseArchiverSpec `json:"spec,omitempty"`
45+
Status ClickHouseArchiverStatus `json:"status,omitempty"`
46+
}
47+
48+
// ClickHouseArchiverSpec defines the desired state of ClickHouseArchiver
49+
type ClickHouseArchiverSpec struct {
50+
// Databases define which ClickHouse databases are allowed to consume this archiver
51+
Databases *dbapi.AllowedConsumers `json:"databases"`
52+
// Pause defines if the backup process should be paused or not
53+
// +optional
54+
Pause bool `json:"pause,omitempty"`
55+
// RetentionPolicy field is the RetentionPolicy of the backupConfiguration's backend
56+
// +optional
57+
RetentionPolicy *kmapi.ObjectReference `json:"retentionPolicy"`
58+
// FullBackup defines the sessionConfig of the fullBackup
59+
// This options will eventually go to the full-backup job's yaml
60+
// +optional
61+
FullBackup *ClickHouseFullBackupOptions `json:"fullBackup"`
62+
// IncrementalBackup defines the configuration for incremental backup
63+
// +optional
64+
IncrementalBackup *ClickHouseIncrementalBackupOptions `json:"incrementalBackup"`
65+
// ManifestBackup defines the sessionConfig of the manifestBackup
66+
// This options will eventually go to the manifest-backup job's yaml
67+
// +optional
68+
ManifestBackup *ManifestBackupOptions `json:"manifestBackup"`
69+
// +optional
70+
EncryptionSecret *kmapi.ObjectReference `json:"encryptionSecret"`
71+
// BackupStorage is the backend storageRef of the BackupConfiguration
72+
// +optional
73+
BackupStorage *BackupStorage `json:"backupStorage"`
74+
// DeletionPolicy defines the created repository's deletionPolicy
75+
// +optional
76+
DeletionPolicy *storageapi.BackupConfigDeletionPolicy `json:"deletionPolicy"`
77+
}
78+
79+
// ClickHouseArchiverStatus defines the observed state of ClickHouseArchiver
80+
type ClickHouseArchiverStatus struct {
81+
// Specifies the information of all the databases managed by this archiver
82+
// +optional
83+
DatabaseRefs []ArchiverDatabaseRef `json:"databaseRefs,omitempty"`
84+
}
85+
86+
// +kubebuilder:object:root=true
87+
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
88+
type ClickHouseArchiverList struct {
89+
metav1.TypeMeta `json:",inline"`
90+
metav1.ListMeta `json:"metadata,omitempty"`
91+
Items []ClickHouseArchiver `json:"items"`
92+
}
93+
94+
func init() {
95+
SchemeBuilder.Register(&ClickHouseArchiver{}, &ClickHouseArchiverList{})
96+
}

vendor/kubedb.dev/apimachinery/apis/archiver/v1alpha1/const.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,3 +94,14 @@ const (
9494
ReasonSuccessfullyCompletedInitialBackupSession = "SuccessfullyCompletedInitialBackup"
9595
ReasonFailedToCompleteInitialBackupSession = "FailedToCompleteInitialBackup"
9696
)
97+
98+
const (
99+
BackupDirClickHouseMetadata = "metadata"
100+
BackupDirClickHouseData = "data"
101+
BackupDirClickHouseIncremental = "incremental"
102+
103+
ComponentNameMetadata = "metadata"
104+
ComponentNameData = "data"
105+
106+
ClickHouseDriver = "ClickHouseBackup"
107+
)

vendor/kubedb.dev/apimachinery/apis/archiver/v1alpha1/helpers.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,10 @@ func (MSSQLServerArchiver) CustomResourceDefinition() *apiextensions.CustomResou
5050
return crds.MustCustomResourceDefinition(SchemeGroupVersion.WithResource(ResourcePluralMSSQLServerArchiver))
5151
}
5252

53+
func (ClickHouseArchiver) CustomResourceDefinition() *apiextensions.CustomResourceDefinition {
54+
return crds.MustCustomResourceDefinition(SchemeGroupVersion.WithResource(ResourcePluralClickHouseArchiver))
55+
}
56+
5357
func SetDefaultLogBackupOptions(log *LogBackupOptions) *LogBackupOptions {
5458
if log == nil {
5559
log = &LogBackupOptions{
@@ -83,3 +87,13 @@ func SetKeyValueToExtraArgs(args map[string]runtime.RawExtension, key string, va
8387
}
8488
return nil
8589
}
90+
91+
func SetDefaultIncrementalBackupOptions(log *ClickHouseIncrementalBackupOptions) *ClickHouseIncrementalBackupOptions {
92+
if log == nil {
93+
log = &ClickHouseIncrementalBackupOptions{
94+
SuccessfulLogHistoryLimit: 5,
95+
FailedLogHistoryLimit: 5,
96+
}
97+
}
98+
return log
99+
}

0 commit comments

Comments
 (0)