Replies: 1 comment
-
Bumping this one as I started implementing some of those ideas in |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hey community!
For some time now, the existing
microcks-ansible-operator
is showing some limitations:However, the need for a top-notch operator is there as there is also a demand for new features like populating a whole new Microcks instance for all its configuration (secrets, hub connections, etc..) and its content (API definitions, importers) as well as maybe triggering new actions (tests?) through the creation of a simple new Kubernetes CR. We'd like full GitOps behavior for Microcks in order to provide API/Services mock sandboxes as a service!
For all these above reasons, we can hardly imagine building on the existing operator! We started new explorations on re-writing an operator using the Java Operator SDK that presents idioms that totally align with Go SDK for operators and that are common to our existing code base. New base for our next operator is located here: microcks-operator
With this discussion, I'd like to introduce the design for new CRDs that we have in mind, and like to collect as much feedback as possible. Please share your thoughts on features, CRD schemas, attribute naming, extension capabilities, status tracking, expected behavior, and whatever you feel is important to have for a top-notch operator.
Microcks install
The
Microcks
CR replaces the previousMicrocksInstall
.apiVersion
has changed but the structure remains quite similar. We pay attention though to provide more extensions points (viaextraAnnotations
or directspec
).For startup, we plan to have a namespace scoped operator but may change it to support both namespace and cluster-wide scopes.
API definition source
One of the first new CR we'd like to introduce is the
APISource
(or directlySource
?) that will allow the operator to feed a Microcks instance content with importers or artifacts (preferably related to the same API definition but nothing would prevent to put unrelated API defs here).APISource
may contain either raw artifacts references (just read once during the import) or informations to create importers (that are then created and activated as scheduled imports). Theconditions
allow tracking the status of each and every artifact or importer. A global status flag should also be defined to globally know if the CR application is a success or not.As
APISource
may need to access protected/private repository, it will rely on exiting secrets in Microcks instance. As a consequence, secrets might also be automatically created/imported/synched by the Microcks operator in the last CR.Secret source
A
SecretSource
allows the operator to create Secrets within a Microcks instance. Secrets can be either directly created from a definition in the CR or created by sychronization with an already existing KubernetesSecret
.Join the discussion!
Please comment on what you think, what you'd like to see, and what you'd like to have in this new operator! Join the discussion!
Beta Was this translation helpful? Give feedback.
All reactions