master (N/A)
- Update UBI Image to 8.4
- Fix ArangoSync Liveness Probe
- Allow runtime update of Sidecar images
- Allow Agent recreation with preserved IDs
- The internal metrics exporter can not be disabled
- Changing the topics' log level without restarting the container. When the topic is removed from the argument list then it will not be turned off in the ArangoDB automatically.
1.2.2 (2021-09-09)
- Update 'github.com/arangodb/arangosync-client' dependency to v0.7.0
- Add HighPriorityPlan to ArangoDeployment Status
- Add Pending Member phase
- Add Ephemeral Volumes for apps feature
- Check if the DB server is cleaned out.
- Render Pod Template in ArangoMember Spec and Status
- Add Pod PropagationModes
- Fix MemberUp action for ActiveFailover
1.2.1 (2021-07-28)
- Fix ArangoMember race with multiple ArangoDeployments within single namespace
- Allow to define Member Recreation Policy within group
- Replace 'github.com/dgrijalva/jwt-go' with 'github.com/golang-jwt/jwt'
- Update 'github.com/gin-gonic/gin' dependency to v1.7.2
1.2.0 (2021-07-16)
- Enable "Operator Internal Metrics Exporter" by default
- Enable "Operator Maintenance Management Support" by default
- Add Operator
/api/v1/version
endpoint
1.1.10 (2021-07-06)
- Switch K8S CRD API to V1
- Deprecate Alpine image usage
- Use persistent name and namespace in ArangoDeployment reconcilation loop
- Remove finalizers when Server container is already terminated and reduce initial reconciliation delay
- Add new logger services - reconciliation and event
1.1.9 (2021-05-28)
- Add IP, DNS, ShortDNS, HeadlessService (Default) communication methods
- Migrate ArangoExporter into Operator code
1.1.8 (2021-04-21)
- Prevent Single member recreation
- Add OwnerReference to ClusterIP member service
- Add InternalPort to ServerGroupSpec to allow user to expose tcp connection over localhost for sidecars
1.1.7 (2021-04-14)
- Bump Kubernetes Dependencies to 1.19.x
- Add ArangoMember status propagation
- Add ShutdownMethod option for members
- Fix Maintenance Plan actions
1.1.6 (2021-03-02)
- Add ArangoMember Resource and required RBAC rules
1.1.5 (2021-02-20)
- Fix AKS Volume Resize mode
- Use cached status in member client creation
- Remove failed DBServers
- Remove deadlock in internal cache
- Replace CleanOut action with ResignLeadership on rotate PVC resize mode
1.1.4 (2021-02-15)
- Add support for spec.ClusterDomain to be able to use FQDN in ArangoDB cluster communication
- Add Version Check feature with extended Upgrade checks
- Fix Upgrade failures recovery
- Add ResignLeadership action before Upgrade, Restart and Shutdown actions
1.1.3 (2020-12-16)
- Add v2alpha1 API for ArangoDeployment and ArangoDeploymentReplication
- Migrate CRD to apiextensions.k8s.io/v1
- Add customizable log levels per service
- Move Upgrade as InitContainer and fix Direct Image discovery mode
- Allow to remove currently executed plan by annotation
1.1.2 (2020-11-11)
- Fix Bootstrap phase and move it under Plan
1.1.1 (2020-11-04)
- Allow to mount EmptyDir
- Allow to specify initContainers in pods
- Add serviceAccount, resources and securityContext fields to ID Group
- Allow to override Entrypoint
- Add NodeSelector to Deployment Helm Chart
1.1.0 (2020-10-14)
- Change NumberOfCores and MemoryOverride flags to be set to true by default
- Enable by default and promote to Production Ready - JWT Rotation Feature, TLS Rotation Feature
- Deprecate K8S < 1.16
- Fix Upgrade procedure to safely evict pods during upgrade
- Fix Panics in Deployments without authentication
- Fix ChaosMonkey mode
- Allow append on empty annotations
- Add annotations and labels on pod creation
1.0.8 (2020-09-10)
- Fix Volume rotation on AKS
1.0.7 (2020-09-09)
- Always use JWT Authorized requests in internal communication
- Add Operator Maintenance Management feature
- Add support for ARANGODB_OVERRIDE_DETECTED_NUMBER_OF_CORES ArangoDB Environment Variable
- Allow to use privileged pods in ArangoStorage
1.0.6 (2020-08-19)
- Add Operator Namespaced mode (Alpha)
- Fix ActiveFailover Upgrade procedure
1.0.5 (2020-08-05)
- Add Labels and Annotations to ServiceMonitor
- Allow to expose Exporter in HTTP with secured Deployments
- Change rotation by annotation order (coordinator before dbserver)
- Fix NodeAffinity propagation
- Allow to disable Foxx Queues on Cluster mode
1.0.4 (2020-07-28)
- Add Encryption Key rotation feature for ArangoDB EE 3.7+
- Improve TLS CA and Keyfile rotation for CE and EE
- Add runtime TLS rotation for ArangoDB EE 3.7+
- Add Kustomize support
- Improve Helm 3 support
- Allow to customize ID Pod selectors
- Add Label and Envs Pod customization
- Improved JWT Rotation
- Allow to customize Security Context in pods
- Remove dead Coordinators in Cluster mode
- Add AutoRecovery flag to recover cluster in case of deadlock
- Add Operator Single mode
- Improve SecurityContext settings
- Update k8s dependency to 1.15.11
- Add Scope parameter to Operator
1.0.3 (2020-05-25)
- Prevent deletion of not known PVC's
- Move Restore as Plan
1.0.2 (2020-04-16)
- Added additional checks in UpToDate condition
- Added extended Rotation check for Cluster mode
- Removed old rotation logic (rotation of ArangoDeployment may be enforced after Operator upgrade)
- Added UpToDate condition in ArangoDeployment Status
1.0.1 (2020-03-25)
- Added Customizable Affinity settings for ArangoDB Member Pods
- Added possibility to override default images used by ArangoDeployment
- Added possibility to set probes on all groups
- Added Image Discovery type in ArangoDeployment spec
- Prevent Agency Members recreation
- Added Customizable Volumes and VolumeMounts for ArangoDB server container
- Added MemoryOverride flag for ArangoDB >= 3.6.3
- Improved Rotation discovery process
- Added annotation to rotate ArangoDeployment in secure way
1.0.0 (2020-03-03)
- Removal of v1alpha support for ArangoDeployment, ArangoDeploymentReplication, ArangoBackup
- Added new command to operator - version
0.4.5 (2020-03-02)
- Add Customizable SecurityContext for ArangoDeployment pods
0.4.4 (2020-02-27)
- Add new VolumeResize mode to be compatible with Azure flow
- Allow to customize probe configuration options
- Add new upgrade flag for ArangoDB 3.6.0<=
0.4.3 (2020-01-31)
- Prevent DBServer deletion if there are any shards active on it
- Add Maintenance mode annotation for ArangoDeployment
0.4.2 (2019-11-12)
- AntiAffinity for operator pods.
- Add CRD API v1 with support for v1alpha.
- Allow to set annotations in ArangoDeployment resources.
- Add UBI based image.
0.4.0 (2019-10-09)
- Further helm chart fixes for linter.
- Support hot backup.
- Disable scaling buttons if scaling is not possible.
0.3.16 (2019-09-25)
- Revised helm charts.
- Use separate service account for operator.
- Support for ResignLeadership job.
- Allow to set ImagePullSecrets in pods.
- Bug fixes.
0.3.15 (never released, only previews existed)
0.3.14 (2019-08-07)
- Bug fixes for custom sidecars.
- More tests
0.3.13 (2019-08-02)
- Added side car changed to pod rotation criterium
- Added ArangoDB version and image id to member status
- Fix bug with MemberOfCluster condition
- Added test for resource change
0.3.12 (2019-07-04)
- Limit source IP ranges for external services
0.3.11 (2019-06-07)
- Introduced volume claim templates for all server groups that require volume.
- Added arangodb-exporter support as sidecar to all arangodb pods.
- Fixed a bug in the case that all coordinators failed.
- Increase some timeouts in cluster observation.
- Ignore connection errors when removing servers.
- Switch to go 1.12 and modules.
- User sidecars.
0.3.10 (2019-04-04)
- Added Pod Disruption Budgets for all server groups in production mode.
- Added Priority Class Name to be specified per server group.
- Forward resource requirements to k8s.
- Automatic creation of randomized root password on demand.
- Volume resizing (only enlarge).
- Allow to disable liveness probes, increase timeouts in defaults.
- Handle case of all coordinators gone better.
- Added
MY_NODE_NAME
andNODE_NAME
env vars for all pods. - Internal communications with ArangoDB more secure through tokens which are limited to certain API paths.
- Rolling upgrade waits till all shards are in sync before proceeding to next dbserver, even if it takes longer than 15 min.
- Improve installation and upgrade instructions in README.
0.3.9 (2019-02-28)
- Fixed a serious bug in rolling upgrades which was introduced in 0.3.8.
- Document the drain procedure for k8s nodes.
- Wait for shards to be in sync before continuing upgrade process.
- Rotate members when patch-level upgrade.
- Don't trigger cleanout server during upgrade.
- More robust remove-server actions.
0.3.8 (2019-02-19)
- Added scaling limits to spec and enforce in operator.
- npm update for dashboard to alleviate security problems.
- Added bare metal walk through to documentation.
- Wait for coordinator to be ready in kubernetes.
- Schedule only one CleanOutServer job in drain scenario, introduce Drain phase.
- Take care of case that server is terminated by drain before cleanout has completed.
- Added undocumented force-status-reload status field.
- Take care of case that all coordinators have failed: delete all coordinator pods and create new ones.
- Updated lodash for dashboard.
- Try harder to remove server from cluster if it does not work right away.
- Update member status, if once decided to drain, continue draining. This takes care of more corner cases.
0.3.7 (2019-01-03)
Merged pull requests:
0.3.6 (2018-12-06)
Closed issues:
- Dashboards not aware of kube-proxy #278
Merged pull requests:
- Link to k8s platform tutorials. #313
- Updated Go-Driver to latest version. #312
- NodeSelector #311
- Docs: Formatting #310
- Doc: remove duplicate chapter #309
- Doc: remove blanks after tripple tics #308
- License Key #307
- Updated packages containing vulnerabilities #306
- Advertised Endpoints #299
0.3.5 (2018-11-20)
Closed issues:
- Istio compatibility issue #260
Merged pull requests:
- Fixing imageID retrieval issue when sidecars are injected. #302
- Bug fix/fix immutable reset #301
- Fixing small type in readme #300
- Make timeout configurable. #298
- fixed getLoadBalancerIP to also handle hostnames #297
0.3.4 (2018-11-06)
Merged pull requests:
- Try to repair changelog generator. #296
- Fixing uninitialised
lastNumberOfServers
. #294 - Fixes for semiautomation. #293
- add ebs volumes to eks doc #295
0.3.3 (2018-11-02)
Closed issues:
manifests/arango-crd.yaml
not in repository #292
Merged pull requests:
- Make semiautomation files self-contained. #291
0.3.2 (2018-11-02)
Closed issues:
- Operator redeployed not fully functional #273
- Busy Update Loop on PKS #272
- scaling down in production starts pending pods to terminate them immediately #267
- crd inclusion in helm chart prevents subsequent deployments to alternate namespaces #261
- Tutorials with real world examples #229
Merged pull requests:
- UI Fix #290
- Revisited scale up and scale down. #288
- Bug fix/extra crd yaml #287
- Documentation/add aks tutorial #286
- IPv6 revisited #285
- Bug fix/readiness upgrade fix #283
- Revert "Skip LoadBalancer Test" #282
- Updated node modules to fix vulnerabilities #281
- First stab at semiautomation. #280
- When doing tests, always pull the image. #279
- Break PKS Loop #277
- Fixed readiness route. #276
- Bug fix/scale up error #275
- minor fix in template generation #274
- Added
disableIPV6
Spec entry. #271 - Test Image Option #270
- Skip LoadBalancer Test #269
- Test/templates #266
- Updated examples to use version 3.3.17. #265
- Unified Readiness Test #264
- Use correct templateoptions for helm charts #258
- Add advanced dc2dc to acceptance test. #252
- adding EKS tutorial #289
0.3.1 (2018-09-25)
Closed issues:
- Helm chart not deploying custom resource definitions #254
go get
failing due to nonexistent arangodb/arangosync repo #249- Helm chart download links broken (404) #248
- Make it easy to deploy in another namespace #230
- Deployment Failed to Start in different Namespace other than Default #223
Merged pull requests:
- Bugfix/sed on linux #259
- README updates, removing
kubectl apply -f crd.yaml
#256 - Include CRD in helm chart #255
0.3.0 (2018-09-07)
Closed issues:
- Provide an option to add SubjectAltName or option to disable SSL #239
- Use go-upgrade-rules #234
- Spot the difference #225
- How to Delete ArangoDeployment #224
- Unable to delete pods, stuck in terminating state #220
- Do not allow "critical" cmdline arguments to be overwritten #207
Merged pull requests:
- Avoid use of arangosync packages #250
- Fixed PV creation on kubernetes 1.11 #247
- Resilience improvements #246
- Adding GKE tutorial #245
- Reject critical options during validation fixes #207 #243
- Trying to stabalize resilience tests #242
- Adding helm charts for deploying the operators #238
- Include license in upgrade check #237
- Use new CurrentImage field to prevent unintended upgrades. #236
- Use go-upgrade-rules to make "is upgrade allowed" decision fixes #234 #235
- Updated versions to known "proper" versions #233
- Applying defaults after immutable fields have been reset #232
- Updated go-driver to latest version #231
- EE note for Kubernetes DC2DC #222
- Documented dashboard usage #219
- Load balancing tests #218
- Add links to other operators in dashboard menu #217
- Grouping style elements in 1 place #216
- Adding ArangoDeploymentReplication dashboard. #215
- Do not build initcontainer for imageid pod #214
- Dashboard for ArangoLocalStorage operator #213
- Adjust documentation based on new load balancer support. #212
- Feature/dashboard #211
- Use gin as HTTP server framework #210
- Dashboard design concept #209
0.2.2 (2018-06-29)
Closed issues:
- Unable to unset standard storage class in GKE using kubectl #200
- Fix operators Deployment spec wrt minimum availability #198
- Rotate server when cmdline arguments change #189
Merged pull requests:
- Set a
role=leader
label on the Pod who won the leader election #208 - Rotate server on changed arguments #206
- Documentation fixes #205
- Fixed get/set Default flag for StorageClasses #204
- Log improvements #203
- All operator Pods will now reach the Ready state. #201
0.2.1 (2018-06-19)
0.2.0 (2018-06-19)
Closed issues:
- Guard operations that yield downtime with an
downtimeAllowed
field #190 - Require at least 2 dbservers for
Cluster
deployment #178 - Resource re-deployments when changing specific specs #164
- PVC's can get stuck in Terminating state #157
- PVC #156
- Add timeout for reconciliation plan(items) #154
- Add setting to specify ServiceAccount for deployment #146
- Finalizers TODO #138
- Prevent deleting pods (manually) using finalizers #134
- Set controller of pods to support
kubectl drain
#132 - Add option to taint pods #131
- OpenShift: No DB is getting deployed #128
- ArangoDeploymentTasks #34
- ArangoLocalStorage tasks #33
Merged pull requests:
- Adding downtimeAllowed field #194
- Added tutorial for configuring DC2DC of Kubernetes #187
- Various TLS & Sync related fixes #186
- Use standard EventRecord to use event compression #185
- Fixed ID prefix for single servers #184
- Allow changing server group storage class. #183
- Added test timeouts to all stages #182
- Added renewal of deployment TLS CA certificate #181
- Min dbserver count is 2. Revert phase when cleanout has failed #180
- Prefer distinct nodes, even when not required #179
- Added duration test app #177
- Improved readiness probe, database services only use ready pods #176
- Documenting acceptance test #175
- Avoid useless warnings in log #174
- Hide "dangerous" functions of MemberStatusList #173
- Avoid overwriting status changes #172
- Abort reconcilientation plan on failed cleanout server #171
- Improving documentation #170
- Remove service stickyness #169
- Prevent deleting the PV when the PVC has already been attached to it #168
- Various test improvements #167
- Added unit tests for pv_creator.go #166
- Added finalizer on deployment, used to remove child finalizers on delete #165
- Fix endless rotation because of serviceAccount
default
#163 - Force volumes to unique nodes for production environments #162
- Improved Service documentation #161
- Reconciliation plan-item timeout #160
- Operator high-availability #155
- Cleanup long terminating stateful pods #153
- Allow customization of serviceAccountName for pods #152
- Cleanup stateless pods that are in terminating state for a long time #151
- Added no-execute tolerations on operators to failover quicker #150
- Replication shard status in ArangoDeploymentReplication status #148
- Sync access packages #147
- Adding syncmaster&worker reconciliation support. #145
- Fixes needed to run on latest openshift. #144
ArangoDeploymentReplication
resource #143- Adding deployment replication spec #142
- No stickyness for EA service of type LoadBalancer #141
- Added
tolerations
field to configure tolerations of generated pods. #140 - Inspect node schedulable state #139
- Make use of GOCACHE as docker volume for improved build times #137
- Feature: finalizers #136
- Added a spec regarding the rules for eviction & replacement of pods #133
- Added support for running arangosync master & worker servers. #130
- Updated go-certificates & go-driver to latest versions #127
- Added Database external access service feature #126
- Updated to latest go-driver #125
- BREAKING CHANGE: Deployment mode ResilientSingle renamed to ActiveFailover #124
- add persistent-volume tests #97
0.1.0 (2018-04-06)
Closed issues:
- make sure scripts terminate to avoid hanging CI #63
- prefix environment variables #62
- warning when passing string literal "None" as spec.tls.caSecretName #60
Merged pull requests:
- Fixed down/upgrading resilient single deployments. #123
- Various docs improvements & fixes #122
- Added tests for query cursors on various deployments. #121
- Remove upgrade resilient single 3.2 -> 3.3 test. #120
- Various renamings in tests such that common names are used. #119
- Added envvar (CLEANUPDEPLOYMENTS) to cleanup failed tests. #118
- Added test that removes PV, PVC & Pod or dbserver. [ci VERBOSE=1] [ci LONG=1] [ci TESTOPTIONS="-test.run ^TestResiliencePVDBServer$"] #117
- Fixed expected value for ENGINE file in init container of dbserver. #116
- Improved liveness detection #115
- Run chaos-monkey in go-routine to avoid blocking the operator #114
- Added examples for exposing metrics to Prometheus #113
- Replace HTTP server with HTTPS server #112
- Disabled colorizing logs #111
- Safe resource watcher #110
- Archive log files #109
- Doc - Follow file name conventions of main docs, move to Tutorials #108
- Quickly fail when deployment no longer exists #107
- BREAKING CHANGE: Renamed all enum values to title case #104
- Changed TLSSpec.TTL to new string based
Duration
type #103 - Added automatic renewal of TLS server certificates #102
- Adding GettingStarted page and structuring docs for website #101
- Added LivenessProbe & Readiness probe #100
- Patch latest version number in README #99
- Adding CHANGELOG.md generation #98
- Adding chaos-monkey for deployments #96
- Check contents of persisted volume when dbserver is restarting #95
- Added helper to prepull arangodb (enterprise) image. This allows the normal tests to have decent timeouts while prevent a timeout caused by a long during image pull. #94
- Fixing PV cleanup #93
- Check member failure #92
- Tracking recent pod terminations #91
- Enable LONG on kube-arangodb-long test #90
- Tests/multi deployment #89
- Tests/modes #88
- increase timeout for long running tests #87
- fix rocksdb_encryption_test #86
- fix - /api/version will answer on all servers (not leader only) #85
- fixes required after merge #84
- Deployment state -> phase #83
- Added detection on unschedulable pods #82
- AsOwner no longer things the owner refers to a controller. It refers to the ArangoDeployment #81
- Store & compare hash of secrets. #80
- Control jenkins from git commit log. #79
- Fix scale-up #78
- Added terminated-pod cleanup to speed up re-creation of pods. #77
- add upgrade tests #76
- check result of api version call #75
- Also watch changes in PVCs and Services #74
- Feature/test individual pod deletion #72
- Moved low level resource (pod,pvc,secret,service) creation & inspection to resources sub-package. #71
- Moved reconciliation code to separate package #70
- Test/different deployments resilient #69
- Store accepted spec #68
- Fixed behavior for scaling UI integration wrt startup of the cluster #67
- Fixed immitable
mode
field. #66 - Integrate with scaling web-UI #65
- add test for different deployments #64
- Fixed validation of tls.caSecretName=None #61
- Feature/add tests for immutable cluster parameters #59
- rename test function #58
- Detecting ImageID & ArangoDB version. #57
- Adds ssl support for scaling test #53
- Rotation support for members. #49
- begin to add tests for
apis/storage/v1alpha
#36
0.0.1 (2018-03-20)
Merged pull requests:
- Changed scope of ArangoLocalStorage to Cluster. #56
- External crd creation #55
- Rename default docker image to kube-arangodb #54
- Splitting operator in two parts #52
- Turn on TLS by default #51
- Rename repository to
kube-arangodb
#48 - Use single image tag to prevent polluting the docker hub #47
- Renamed pkg/apis/arangodb to pkg/apis/deployment #46
- Added release code #45
- Cleaning up deployment, avoiding docker overrides #44
- TLS support #43
- Adds "Storage Resource" to user README #42
- Reworked TLS spec #41
- Set sesion affinity for coordinator #40
- Set PublishNotReadyAddresses on coordinator&syncmasters service #39
- Prepare test cluster #38
- Run tests on multiple clusters in parallel #37
- Implemented isDefault behavior of storage class #35
- add some tests for util/k8sutil/erros.go #32
- Adding
ArangoLocalStorage
resource (wip) #31 - Added custom resource spec for ArangoDB Storage operator. #30
- Added unit tests for k8s secrets & utility methods #28
- Added unit test for creating affinity #27
- More simple tests #26
- Changed default storage engine to RocksDB #24
- Adding command line tests for arangod commandlines. #23
- UnitTests for plan_builder #22
- Unit tests for apis/arangodb/v1alpha package #21
- Fix bash error #20
- Renamed Controller to Operator #19
- Cleanup kubernetes after tests #18
- Adding rocksdb encryption key support #17
- Adding test design #16
- avoid sub-shell creation #15
- Adding authentication support #14
- Scaling deployments #13
- Test framework #11
- Change docs to "authentication default on" #10
- Pod monitoring #9
- Pod affinity #8
- Extended storage docs wrt local storage #7
- Adding event support #6
- Added pod probes #5
- Creating pods #4
- Extending spec & status object. Implementing service & pvc creation #3
- Initial API objects & vendoring #2
- Added specification of custom resource #1
* This Change Log was automatically generated by github_changelog_generator