- Added PodListeners API with DeepCopy methods (#432)
- Added customizable requeueAfter options to resource reconcilers (#424)
- Added KerberosProvider to Authentication (#405)
- Replaced deprecated Requeue with RequeueAfter in reconcilers (#422)
- Updated golangci-lint version and improve Makefile targets (#431)
- Updated Go version from 1.24.9 to 1.25.3 (#402)
- Enhanced GetLabels() to return immutable labels map (#406)
- Updated Go setup to use go-version-file in lint and test workflows (#403)
- Bumped github.com/onsi/gomega from 1.38.2 to 1.39.0 (#425)
- Bumped github.com/onsi/ginkgo/v2 from 2.27.2 to 2.27.5 (#427, #397)
- Bumped k8s.io deps to 0.35.0 (#430)
- Bumped k8s.io/client-go from 0.34.2 to 0.34.3 and 0.34.1 to 0.34.2 (#418, #410)
- Bumped k8s.io/kubectl from 0.34.1 to 0.34.2 and 0.33.3 to 0.34.1 (#411, #390)
- Bumped sigs.k8s.io/controller-runtime from 0.21.0 to 0.22.4 (#398)
- Bumped golangci/golangci-lint-action from 8 to 9 (#407)
- Bumped actions/checkout from 5 to 6 (#413)
- Bumped DavidAnson/markdownlint-cli2-action from 20 to 21 and 21 to 22 (#412, #416)
- Updated Go version from 1.24.1 to 1.24.9 (#394)
- Fixed test workflow does not contain permissions (#396)
- Fixed lint workflow does not contain permissions (#395)
- Bumped sigs.k8s.io/controller-runtime from v0.20.4 to v0.21.0 (#362)
- Bumped k8s.io/client-go from 0.32.3 to 0.33.4 (#374, #368, #364, #356)
- Bumped k8s.io/kubectl from 0.32.3 to 0.33.3 (#369, #365)
- Bumped github.com/onsi/ginkgo/v2 from 2.23.4 to 2.25.1 (#380)
- Bumped github.com/onsi/gomega from 1.37.0 to 1.38.2 (#384, #371)
- Bumped github.com/stretchr/testify from 1.10.0 to 1.11.1 (#385)
- Bumped actions/setup-go from 5 to 6 (#389)
- Bumped actions/checkout from 4 to 5 (#372)
- Bumped DavidAnson/markdownlint-cli2-action from 19 to 20 (#355)
- Updated CHANGELOG for v0.12.4 release (#400)
- Updated golangci-lint version to v2.1.6 in workflow and Makefile (#361)
- Implemented retry mechanism for resource updates (#342)
- Updated commons operator CRD (#332)
- Updated listener CRD (#337)
- Reduced log verbosity for cluster and pdb reconciler (#344)
- Optimized envOverrides handling in BaseWorkloadBuilder (#343)
- Fixed order envOverrides in BaseWorkloadBuilder (#341)
- Updated default value for LDAP email field to 'mail' (#339)
- Updated default value for LDAP group field to 'memberof' (#338)
- Bumped golang.org/x/net in the go_modules group (#345, #324)
- Bumped sigs.k8s.io/controller-runtime from 0.20.2 to 0.20.3 (#319)
- Bumped github.com/onsi/ginkgo/v2 from 2.22.2 to 2.23.4 (#333, #327, #318)
- Bumped go to 1.24 and k8s api to 0.23.3 (#328)
- Added gh action depbot support (#335)
- Bumped ci go version to 1.24 (#334)
- Bumped DavidAnson/markdownlint-cli2-action from 18 to 19 (#336)
- Enabled k8s matrix testing (#304)
- Bumped k8s.io/kubectl from 0.32.1 to 0.32.2 (#313)
- Bumped k8s.io/client-go from 0.32.1 to 0.32.2 (#314)
- Bumped sigs.k8s.io/controller-runtime from 0.20.0 to 0.20.1 (#308)
- Bumped github.com/onsi/ginkgo/v2 from 2.22.1 to 2.22.2 (#306)
- Bumped github.com/evanphx/json-patch (#310)
- Bumped k8s.io/kubectl from 0.31.3 to 0.32.1 (#300)
- Updated dependencies version in Makefile (#303)
- Bumped k8s.io/client-go from 0.31.4 to 0.32.1 (#298)
- Bumped sigs.k8s.io/controller-runtime from 0.19.3 to 0.20.0 (#301)
- Added support for processing Python log files in Vector (#291)
- Added service traffic policy and preferred address type to listener class (#294)
- Added listener read field and updated pod select field (#293)
- Fixed incorrect vector data volume name (#289)
- Bumped github.com/onsi/gomega from 1.36.1 to 1.36.2 (#295)
- Bumped github.com/onsi/ginkgo/v2 from 2.22.0 to 2.22.1 (#292)
- Improved secret volume scope interface readable (#286)
- Refactored vector build to make it easier to use (#284)
- Used getter methods for labels and annotations in PDB options (#274)
- Removed kubebuilder validation tags to fix CR installation failure (#273)
- Bumped golang from 1.23.2 to 1.23.4 (#283)
- Bumped k8s.io/client-go from 0.31.3 to 0.31.4 (#276)
- Bumped github.com/onsi/gomega from 1.35.1 to 1.36.1 (#275, #269)
- Bumped sigs.k8s.io/controller-runtime from 0.19.1 to 0.19.3 (#272, #267)
- Bumped github.com/onsi/ginkgo/v2 from 2.21.0 to 2.22.0 (#268)
- Added API
CreateDoesNotExistin client package (#241)
- Added option argument to rbac and config in builder (#251)
- Refactored GitHub Action (#244)
- Refactored Makefile to be more standardized (#243)
- Bumped domain to kubedoop.dev (#242)
- Added merge role-group from role support (#239)
- Refactored code base to pass Go lint (#246)
- Merge supports structs and safely handles struct pointers (#247)
- Bumped
k8s.io/kubectlfrom 0.31.2 to 0.31.3 (#264) - Bumped
github.com/stretchr/testifyfrom 1.9.0 to 1.10.0 (#262) - Bumped
k8s.io/client-gofrom 0.31.2 to 0.31.3 (#263) - Bumped
k8s.io/apifrom 0.31.2 to 0.31.3 (#261)
- Fixed the origin cli-args override to empty when
cliOverridesis nil in builder (#256) - Fixed
clusterIpis None whenserviceTypeis nodePort in builder (#255) - Fixed vector config name error (#254)
- Checked container name is passed for log config in productlogging (#253)
- Fixed vector watcher path error (#252)
- Fixed set
gracefulShutdownTimeoutpanic in builder (#250) - Fixed logback render some nil value in productlogging (#240)
- Updated example data in reconciler tests (#249)
- Updated shields in README (#245)
- Added code of conduct (#258)
- Changed update interval from weekly to daily (#260)
- Updated project license (#257)
- Fixed typo
providerHintin auth (#234) - Added the missed
logTypefield and corrected typo in productlogging (#231)
- Bumped toolchain in Makefile to latest version (#233)
- Bumped golang from 1.23.0 to 1.23.2 (#232)
- Refactored GitHub Action (#235)
- Fixed nil
RoleConfigSpechandling inPodDisruptionBudgetreconciliation
- Added PodDisruptionBudget support and reconciliation logic (#227)
- Added readiness probe for vector (#224)
- Added LoggingSpec support (#210)
- Added AuthenticationSpec support (#209)
- Enhanced rbac builder to add policy rules (#196)
- Refactored log config generation in productlogging (#220)
- Replaced slice dereference with ptr.To for replica counts (#223)
- Renamed CommandOverrides to CliOverrides for consistency (#222)
- Unified Options struct to Option type for consistency in builder (#221)
- Changed AuthenticationClass to cluster scope in api (#208)
- Changed authentication.oidc.provisioner to providerHint in api (#207)
- Fixed client.Get to reset err and ignore object does not exist error (#219)
- Fixed container env out of order in build (#211)
- Appended vector data dir volume (#199)
- Bumped github.com/onsi/gomega from 1.34.2 to 1.35.1 (#225)
- Bumped github.com/onsi/ginkgo/v2 from 2.20.2 to 2.21.0 (#226)
- Bumped k8s.io/kubectl from 0.31.1 to 0.31.2 (#216)
- Bumped k8s.io/client-go from 0.31.1 to 0.31.2 (#215)
- Bumped sigs.k8s.io/controller-runtime from 0.19.0 to 0.19.1 (#218)
- Removed doc issue template in GitHub Actions (#206)
- Remove
expirationTimefrom constants - Add
AnnotationSecretsCertRestartBufferto constants - Add inline connection to s3 bucket connection
- Refactor cluster and role reconciler to improve log and error handling, and improve the cluster stoppped logic
- Add CRD doc for LDAP provider credentials
- Refactor
client.Get, now it wrappedctrlclient.Getand addclient.GetWithOwnerNamespaceclient.GetWithObject - Refactor config builder, remove
AddDecodeDataandAddDecodeData. Secret builder usestringDatanow, it don't need to decode data - Add
AddItemto config builder to add single item to config - Add Properties util to config package, support get and set properties, and move xml util to config package.
- Service builder support listener class
- Rename image spec fields, such as
platformVersiontokubedoopVersion
- Remove
AddDecodeDataandAddDecodeDatafrom config builder, because it only convert string to byte, and it is not necessary
- bump k8s.io/client-go from 0.31.0 to 0.31.1
- bump k8s.io/kubectl from 0.31.0 to 0.31.1
- Add
listenerclasstype to apis - Add enrichment and restarter labels to constants
- Replace vector image with product image, now vector command available in product image
- Fix image default policy is
Always, and can not auto referenct CRD image policy
- Add
ServiceTypefield to service builder, can buildheadlessservice - Add
productloggingpackage, and implement logback, log4j, log4j2 configuration - Add vector builder for easy integration with vector sidecar
- Fix re-reconciler with 0 seconds interval when resource not ready
- Fix rbac builder could not set subjects and roleRef
- Fix container builder missing memory request field
- Bump github.com/onsi/ginkgo/v2 from 2.20.1 to 2.20.2
- Bump github.com/onsi/gomega from 1.34.1 to 1.34.2
BROKENCHANGE:
- Bump k8s version to 1.31.0
- Bump golang version to 1.23.0
- Remove
DatabaseAPI group
- Add
ServiceTypefield to service builder - Remove include
zncdatavariable - Remove
DatabaseAPI group - Enchance bash util script, insert
shutdownto script
- Fix dependabot commit message prefix is not
build
-
sigs.k8s.io/controller-runtime from 0.18.2 to 0.19.0
-
k8s.io/client-go from 0.30.1 to 0.31.0
-
k8s.io/api from 0.30.1 to 0.31.0
-
k8s.io/apimachinery from 0.30.1 to 0.31.0
-
k8s.io/kubectl from 0.30.1 to 0.31.0
-
github.com/cisco-open/k8s-objectmatcher from 1.9.0 to 1.10.0
-
github.com/onsi/ginkgo/v2 from 2.20.0 to 2.20.1
-
golang from 1.22.6 to 1.23.0
- Change stack name from
stacktokubedoop - Add directory constants for kubedoop system, directories include data, config, logs, kerberso,tls and so on
- Add generic bash script utilities and constants for operator, include some reuseful scripts, vector constants and so on
- Change
Imagestruct fieldstackVersiontoplatformVersion,RepositorytoRepo
- Add depbot to auto update dependencies
- Add golang lint to Makefile and update gh action use it
- Remove manual dispatch workflow
- Rename image spec fields, such as
stackVersiontoplatformVersion
- golang from 1.22.3 to 1.22.6
- github.com/onsi/ginkgo/v2 from 2.19.0 to 2.20.0
- github.com/stretchr/testify from 1.8.4 to 1.9.0
- Added support for logging to standard output and error streams in Vector, including new log sources and transformers.
- Added log collection for log4j and log4j2 XML log files in Vector, introducing corresponding log sources and transformers.
- Added listener and secret constants.
- Added a volume builder for listener and secret.
- Fix formatting errors that still exist in
vector.yaml
JobBuilderdefault implementationJobis public now- Remove
builder.RoleGroupInfo, because it confuses withreconciler.RoleGroupInfo
- Fix Can not get image pull policy in workload builder, now you can get
util.Imageobject. - Fix Can not set vaild replicas and the value always be 1
- Fix the cluster is still running when operation be updated
stopped - Fix the
vectory.yamlindent format error
MergeRoleGroupSpecmethod can be modified directly on the passed roleGroup object, we did not update any code, but add some test cases to ensure it is correct.
- Add listener CRD type to apis
- Fix
CreateOrUpdatemethod can not handle crd - Fix xml configurations may not be in the same propretry order after marshal
- Update
EnvsToEnvVarstoNewEnvVarsFromMap, because the previous method name was ambiguous - Update
XMLConfigurationfunctions to support add, delete and marshall and construct from xml string - Extract
CreateOrUpdatefromclient.Client, so you can use alone
- Fix
XMLConfigurationcan not unmarshal xml string to struct - Fix
XMLConfigurationcan not handle xml string header when unmarshal to marshal - Fix
XMLConfigurationmarshal xml string contains escape characters, e.g: \n - Update
GenerateRandomStrto generate random string with length, letters, numbers and special characters, and addGenerateSimplePassword - Remove the base64 decode of Secret.Data obtained by controller-runtime, because the data is already decoded
- Remove incorrectly named functions in
util.configuration.go
BROKENCHANGE: Update reconciler and builder package
- Add vector log builder
- Refactor reconciler and builder, and add test case
- Add image selection
- Remove s3 finalizer constant
- Fix code indentation can not handle multiple lines
BROKENCHANGE: Update S3Connection and S3Bucket group to S3Connection.s3.zncdata.dev and S3Bucket.s3.zncdata.dev, Update DatabaseConnection and Database group to DatabaseConnection.database.zncdata.dev and Database.database.zncdata.dev
- Add group
s3.zncdata.devtos3package, and moveS3ConnectionandS3Buckettos3package - Add group
database.zncdata.devtodatabasepackage, and moveDatabaseConnectionandDatabasetodatabasepackage - Add
AuthenticationClass.authentication.zncdata.dev, and support oidc ldap tls and static - Use
SecretClassprovideS3Connectioncredential
- typo fix issue template
- Add
cluster operationloggingpdbresourceapi to commons - Add resource builder and basic reconciler, you can implement in operator
- Add s3 client-side to verification tls certificate
- Add issue template
- Bump go version to 1.22
- Add go boilerplate to auto generate license header
BREAKCHANGE Update github group to zncdatadev
- Add
propertiesconfiguration util - Add
xmlconfiguration util - Add code of string intendation, tabs and spaces can be converted to each other
- Add name string generator, use
-to connect words - Add StatefulSet check to
CreateOrUpdate - Add golang template parse function
- Add base64 util function, support method:
Base64.EncodeandBase64.Decode
- Update domain to
zncdata.dev - Update credential struct name
- Fix
mysqlword typo
- remove
DatabaseConnection.spec.providerenum by CRD validation
- fix crds not register to k8s
- update
s3bucket.spec.nametobucketNameanddatabass.spec.nametodatabaseName
- Add
DatabaseConnectionandDatabasestruct, and implement mysql, postgres, redis. - Add
S3ConectionandS3Bucketstruct. - Add
AuthenticationClassstruct, and implement oidc. - Add errors and conditions constants
- Add
CreateOrUpdatefor k8s object create or update.