Skip to content

Add ability to print auto-generated schema and remove automatic creation of CRD #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
lfrancke opened this issue Feb 8, 2021 · 1 comment · Fixed by #71
Closed

Comments

@lfrancke
Copy link
Member

lfrancke commented Feb 8, 2021

Currently we're automatically trying to create the CRD in Kubernetes and we also specify the CRD manually (in a file we have to keep in sync with the spec).

Ideally we'd like to leverage somthing like kube-rs/kube#497 once it's implemented to add functionality in operator-rs to:

  • Print a CRD to stdout
  • To save a CRD in a file
  • To create a CRD in Kubernetes

These things should either live in an additonal binary or they should be options to the original one.

@lfrancke lfrancke changed the title Try kube-rs autogeneration of schema Add ability to print auto-generated schema and remove automatic creation of CRD May 3, 2021
@lfrancke lfrancke removed the size/M label May 25, 2021
@lfrancke
Copy link
Member Author

This will be added in kube-rs 0.57

@maltesander maltesander linked a pull request Jul 8, 2021 that will close this issue
nightkr added a commit that referenced this issue Nov 15, 2021
nightkr added a commit that referenced this issue Dec 14, 2021
* 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant