This service provides reconcilers for a number of workspace configurations to ensure they remain aligned. This includes reconcilers for:
- namespace
- storage (EFS and S3)
- service account
- AWS IAM Policies
See Kubebuilder docs for full instructions.
- Kustomize version matching the KUSTOMIZE_VERSION (specified in Makefile)
You can run the controller locally for debugging purposes. Make sure your kubectl is pointed at the correct cluster.
make install # installs CRDs to the cluster
make run # run a local instance of the controllermake manifests # generate the latest manifests
make install # installs CRDs to the cluster
make docker-build docker-push IMG=public.ecr.aws/eodh/workspace-controller:<tag> # build and push
make deploy IMG=public.ecr.aws/eodh/workspace-controller:<tag> # deploy controller to clustermake uninstall # removes CRDs from cluster
make undeploy # remove controller from the clustermake install # installs CRDs to the clusterAfter updating any api/**/*_types.go files run:
make manifests # generate the manifests
make # regenerate the code
make install # install the CRDs to the clusterTo update the Helm chart:
make helm CHART=chart/workspace-operatorBe careful not to overwrite manual changes to the Helm manifests. Always commit to Git just before applying make helm and compare changes, reverting the change where the modification undoes manual changes.
To publish the Helm chart:
helm package chart/workspace-operator
aws ecr-public get-login-password --region us-east-1 | helm registry login --username AWS --password-stdin public.ecr.aws
helm push workspace-operator-x.y.z.tgz oci://public.ecr.aws/eodh/helmkustomize build config/crd > crds.yaml # crds
kustomize build config/default > manifests.yaml # all other manifestsA file path with following parameters is required to be passed to the operator with --config <path> flag.
aws:
accountID: 123456789
region: eu-west-2
oidc:
provider: oidc.eks.my-region.amazonaws.com/id/A1B2C3D4E5F6G7H8