@@ -26,7 +26,9 @@ import (
2626 "k8s.io/klog/v2"
2727
2828 virtualworkspacesoptions "github.com/kcp-dev/kcp/cmd/virtual-workspaces/options"
29+ "github.com/kcp-dev/kcp/pkg/virtual/finalizingworkspaces"
2930 "github.com/kcp-dev/kcp/pkg/virtual/initializingworkspaces"
31+ "github.com/kcp-dev/kcp/sdk/apis/tenancy/finalization"
3032 "github.com/kcp-dev/kcp/sdk/apis/tenancy/initialization"
3133 tenancyv1alpha1 "github.com/kcp-dev/kcp/sdk/apis/tenancy/v1alpha1"
3234 conditionsv1alpha1 "github.com/kcp-dev/kcp/sdk/apis/third_party/conditions/apis/conditions/v1alpha1"
@@ -73,19 +75,31 @@ func (c *controller) updateVirtualWorkspaceURLs(ctx context.Context, wt *tenancy
7375 continue
7476 }
7577
78+ base := u .Path
79+ // add initializing workspace URLs
7680 u .Path = path .Join (
77- u . Path ,
81+ base ,
7882 virtualworkspacesoptions .DefaultRootPathPrefix ,
7983 initializingworkspaces .VirtualWorkspaceName ,
8084 string (initialization .InitializerForType (wt )),
8185 )
8286
8387 desiredURLs .Insert (u .String ())
88+
89+ // add finalizing workspace URLs
90+ u .Path = path .Join (
91+ base ,
92+ virtualworkspacesoptions .DefaultRootPathPrefix ,
93+ finalizingworkspaces .VirtualWorkspaceName ,
94+ string (finalization .FinalizerForType (wt )),
95+ )
96+
97+ desiredURLs .Insert (u .String ())
8498 }
8599
86100 wt .Status .VirtualWorkspaces = nil
87101
88- for _ , u := range sets.List [ string ] (desiredURLs ) {
102+ for _ , u := range sets .List (desiredURLs ) {
89103 wt .Status .VirtualWorkspaces = append (wt .Status .VirtualWorkspaces , tenancyv1alpha1.VirtualWorkspace {
90104 URL : u ,
91105 })
0 commit comments