cisco-open / cluster-registry-controller

An operator that automatically synchronizes Kubernetes resources across multiple clusters
Apache License 2.0
22 stars 8 forks source link

initial e2e CI job with 2 KinD clusters #35

Open tiswanso opened 1 year ago

tiswanso commented 1 year ago
Q A
Bug fix? no
New feature? no
API breaks? no
Deprecations? no
Related tickets none
License Apache 2.0

What's in this PR?

Validates the README example via a GH actions job called `e2e`. The job steps: 1) build the cluster-registry-controller container 2) create 2 KinD clusters 3) do the README example steps to validate cluster-registry sync behavior a) install cluster-registry-controller in both clusters via helm chart b) copy cluster CR from c1 to c2 and vice versa c) copy kubeconfig secret from c1 to c2 and vice versa d) check CR status is synced 4) publish both clusters' `cluster` CR data as job artifacts 5) cleanup ### Why?

This is a representative test workflow to show the capability and config of github actions. There are similar tests in other open source projects, e.g. see NSM interdomain tests. There are no functional tests which validate the behavior of the cluster-registry-controller at the moment.

Additional context

The changes also include an example codespaces setup with a custom devcontainer that is built with all dependencies for KinD testing within the codespace.

Checklist

tiswanso commented 1 year ago

removed the example codespaces .devcontainer from this PR

tiswanso commented 1 year ago

ping ... let's either get this in or decide on a better approach