Update network-services-operator with multicluster support, migrate e2e tests to Chainsaw #9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Multicluster support
This PR introduces the use of the (currently experimental) multicluster-runtime library that brings the ability to attach an operator to multiple clusters with minimal changes to reconciler code. A new
cluster-discovery-mode
flag has been introduced, and supports the following options:kind
library to discover kind clusters, and engage each one. I expect this to be useful in e2e tests as we move forward.Project
resources in the API server that the default kubeconfig interacts with, and engages a cluster for eachProject
found. Currently it is expected that the project control plane is available via the path/apis/resourcemanager.datumapis.com/v1alpha/projects/{project_name}/control-plane
on the same host that the main kubeconfig attaches to.An initial implementation of a multicluster-runtime
Provider
for Datum which watchesProject
resources is included in this PR. As that library stabilizes, we'll move it out to another location that other Datum operators can use.Note
The multicluster-runtime dependency is currently referencing a fork. As changes are merged
in to multicluster-runtime, such as kubernetes-sigs/multicluster-runtime#18, the dependency on the fork will be removed.
End to end tests
End to end tests have been replaced with Chainsaw. I referenced the opentelemetry-operator project's use of chainsaw in the Makefile and GitHub action changes.