-
Story
-
Resolution: Done
-
Undefined
-
None
-
None
-
False
-
None
-
False
-
Service Delivery
-
None
From OCM we will be creating in the regional service cluster a namespace for each customer cluster. For example, we create a namespace named `ocm-production-123`, where `123` is the identifier of the customer cluster in OCM. Inside that namespace we create a HypershiftDeployment object named `my-cluster`, where `my-cluster` is the name of the cluster cluster in OCM. We put inside the `ocm-production-123` all the objects related to that customer cluster, mostly secrets, but we may also put other kinds of objects in the future.
We want to have the same organization in the HyperShift management cluster, so we use the `targetNamespace` field of the HypershiftDeployment object to request the creation of that `ocm-production-123` namespace:
targetNamespace: ocm-production-123
With this configuration the hypershift-deployment-controller (indirectly via manifestwork) takes care of creating that namespace inside the HyperShift management cluster.
But when we delete the original namespace in the service cluster the corresponding namespace in the management cluster isn't deleted. We don't have access to that cluster at all, so we need a mechanism to delete it.
This card is a request to add that mechanism to the hypershift-deployment-controller. For example, a `deleteTargetNamespace` flag to indicate that we want that behaviour:
targetNamespace: ocm-production-123 deleteTargetNamespace: true
More in general this card is about being able to delete everything (original namespace, HypershiftDeployment, target namespace, HostedCluster, node pools, etc) without having to do anything other than deleting the original namespace.