Skip to content

Commit 5a17357

Browse files
committed
Recreate deployment when selector is changed
1 parent 83734c2 commit 5a17357

File tree

1 file changed

+12
-0
lines changed

1 file changed

+12
-0
lines changed

controllers/workspace/provision/deployment.go

+12
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,18 @@ func SyncDeploymentToCluster(
9292
}
9393
}
9494

95+
if !cmp.Equal(specDeployment.Spec.Selector, clusterDeployment.Spec.Selector) {
96+
clusterAPI.Logger.Info("Deployment selector is different. Recreating deployment...")
97+
clusterDeployment.Spec = specDeployment.Spec
98+
err := clusterAPI.Client.Delete(context.TODO(), clusterDeployment)
99+
if err != nil {
100+
return DeploymentProvisioningStatus{ProvisioningStatus{Err: err}}
101+
}
102+
return DeploymentProvisioningStatus{
103+
ProvisioningStatus: ProvisioningStatus{Requeue: true},
104+
}
105+
}
106+
95107
if !cmp.Equal(specDeployment, clusterDeployment, deploymentDiffOpts) {
96108
clusterAPI.Logger.Info("Updating deployment...")
97109
clusterDeployment.Spec = specDeployment.Spec

0 commit comments

Comments
 (0)