diff --git a/controller/unbootstrap.go b/controller/unbootstrap.go index 7149301d..4bf69df4 100644 --- a/controller/unbootstrap.go +++ b/controller/unbootstrap.go @@ -7,6 +7,8 @@ import ( apiConfig "github.com/openziti/edge-api/rest_management_api_client/config" "github.com/openziti/edge-api/rest_management_api_client/edge_router_policy" "github.com/openziti/edge-api/rest_management_api_client/identity" + "github.com/openziti/edge-api/rest_management_api_client/service_edge_router_policy" + "github.com/openziti/edge-api/rest_management_api_client/service_policy" "github.com/openziti/zrok/controller/config" "github.com/openziti/zrok/controller/zrokEdgeSdk" "github.com/openziti/zrok/sdk/golang/sdk" @@ -18,6 +20,12 @@ func Unbootstrap(cfg *config.Config) error { if err != nil { return err } + if err := unbootstrapServiceEdgeRouterPolicies(edge); err != nil { + logrus.Errorf("error unbootstrapping service edge router policies: %v", err) + } + if err := unbootstrapServicePolicies(edge); err != nil { + logrus.Errorf("error unbootstrapping service policies: %v", err) + } if err := unbootstrapEdgeRouterPolicies(edge); err != nil { logrus.Errorf("error unbootstrapping edge router policies: %v", err) } @@ -33,6 +41,46 @@ func Unbootstrap(cfg *config.Config) error { return nil } +func unbootstrapServiceEdgeRouterPolicies(edge *rest_management_api_client.ZitiEdgeManagement) error { + filter := "tags.zrok != null" + limit := int64(100) + offset := int64(0) + listReq := &service_edge_router_policy.ListServiceEdgeRouterPoliciesParams{ + Filter: &filter, + Limit: &limit, + Offset: &offset, + Context: context.Background(), + } + listResp, err := edge.ServiceEdgeRouterPolicy.ListServiceEdgeRouterPolicies(listReq, nil) + if err != nil { + return err + } + for _, serp := range listResp.Payload.Data { + logrus.Infof("found service edge router policy: %v", *serp.ID) + } + return nil +} + +func unbootstrapServicePolicies(edge *rest_management_api_client.ZitiEdgeManagement) error { + filter := "tags.zrok != null" + limit := int64(100) + offset := int64(0) + req := &service_policy.ListServicePoliciesParams{ + Filter: &filter, + Limit: &limit, + Offset: &offset, + Context: context.Background(), + } + resp, err := edge.ServicePolicy.ListServicePolicies(req, nil) + if err != nil { + return err + } + for _, sp := range resp.Payload.Data { + logrus.Infof("found service policy: %v", *sp.ID) + } + return nil +} + func unbootstrapEdgeRouterPolicies(edge *rest_management_api_client.ZitiEdgeManagement) error { filter := "tags.zrok != null" limit := int64(100)