Skip to content

Commit 7a09842

Browse files
authored
Operator rework ("STFU") (#263)
* Project setup * Import CRD definition from main * Noop controller loop * Start to reenable config stuff * VMVP, burninate product-config stuff for now * Add readiness probe * Peers service should be headless * Bare minimum hdfs * ZNode management * Use apply_owned helper for ZKC controller * Support stopping the ZookeeperCluster * Migrate ZK operator to use kube via stackable-operator * Try to become a bit more consistent in how roles are referred to Fixes #14 * Let operator-rs handle tracing init * Adapt CLI to resemble the old ZK operator Fixes #16 * Formatting for all ZK errors Fixes #13 * Switch to Stackable ZooKeeper image Fixes #15 * Use correct ZK field manager * ZK docs Fixes #17 * Drop old operators * Adapt cargo config and lockfile for STFU import * Adapt example YAMLs for STFU import * Restore automatic CRD serializer * Rename operator to operator-binary (to better cooperate with CI scripts) * Add author tags * Migrate CRD towards RoleGroup configuration (although config properties are currently ignored) * Changelog * Use PodBuilder for building ZK pod template * Configurable version + label/selector improvements * Use product-config framework to configure ZooKeeper * Fix error message when trying to serialize zoo.cfg * Note in the changelog that product-config is back! * Bump version number to match old version * Replace eyre with anyhow * Allow overriding product-config * Comment on the purpose of `erase_controller_result_type` * Try to clarify purpose of `apply_owned` * Reorganize zk_reconciler a bit * Add comments about readiness probe * Use stackable-operator helper for building ownerrefs * Rename ZOOKEEPER_BROKERS field in znode CMs to ZOOKEEPER * Try to clarify purpose of znode_controller a bit * Comment up znode_reconciler * Fix broken rustdoc links * Fix docs typo * Use RoleGroupRef consistently * Support multiple rolegroups * Support both internal and external discovery for both zk and znode Still need to figure out how to hook up the endpoints watching properly, so external discovery might be stale at times... * Watch ZK endpoints for ZK controller * Store discovery version in ZK status * Remove operator-rs override * Use APP_PORT constant consistently * Enable metrics export * Disable Rust 2021 compat warnings We already use Rust 2021, so they aren't relevant to us. * Only take --product-config for `run` subcommand * Try to document ZookeeperCluster::pods a bit better * Rename ZookeeperPodRef::zookeeper_id to zookeeper_myid * Rename ZookeeperPodRef::role_service_name to role_group_service_name * Discovery error handling * Standardize on operator-rs Client rather than kube Client * Update operator-rs * Remove the objref to the controlled object from controller errors This is now provided by kube-runtime, so we don't need to add this ourselves. * Switch to release build of operator-rs * Drop templated docs reference from cargo.toml * Try to clarify the purpose of ZookeeperZnode somewhat * Use framework-provided Command enum * Adopt docs for removed config properties * Fix ZookeeperCluster status updates * Update docs to also create a ZNode * Use `zk_version` consistently
1 parent d03afe7 commit 7a09842

32 files changed

+2428
-2882
lines changed

.github/workflows/rust.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ env:
1616
CARGO_TERM_COLOR: always
1717
CARGO_INCREMENTAL: '0'
1818
CARGO_PROFILE_DEV_DEBUG: '0'
19-
RUSTFLAGS: "-D warnings -W rust-2021-compatibility"
19+
RUSTFLAGS: "-D warnings"
2020

2121
jobs:
2222

CHANGELOG.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,14 @@ All notable changes to this project will be documented in this file.
44

55
## [Unreleased]
66

7-
## [0.6.0] - 2021-12-06
7+
### Changed
8+
9+
- Migrated to StatefulSet rather than direct Pod management ([#263]).
10+
- Migrated to PersistentVolumeClaim rather than manual sticky scheduling ([#263]).
811

12+
[#263]: https://github.com/stackabletech/zookeeper-operator/pull/263
13+
14+
## [0.6.0] - 2021-12-06
915

1016
## [0.5.0] - 2021-11-12
1117

0 commit comments

Comments
 (0)