From c20a3160267ca6d17d08973582f2c14e07a6acd4 Mon Sep 17 00:00:00 2001 From: cdryzun Date: Tue, 5 Sep 2023 19:05:08 +0800 Subject: [PATCH] feat: fix delete --- api/v1alpha1/appservice_types.go | 5 ++--- controllers/appservice_controller.go | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/api/v1alpha1/appservice_types.go b/api/v1alpha1/appservice_types.go index 8d0596f..1ed5765 100644 --- a/api/v1alpha1/appservice_types.go +++ b/api/v1alpha1/appservice_types.go @@ -56,9 +56,8 @@ type AppServiceStatus struct { type AppService struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - - Spec AppServiceSpec `json:"spec,omitempty"` - Status AppServiceStatus `json:"status,omitempty"` + Spec AppServiceSpec `json:"spec,omitempty"` + Status AppServiceStatus `json:"status,omitempty"` } //+kubebuilder:object:root=true diff --git a/controllers/appservice_controller.go b/controllers/appservice_controller.go index 7d0f599..dd25214 100644 --- a/controllers/appservice_controller.go +++ b/controllers/appservice_controller.go @@ -27,6 +27,7 @@ import ( "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/log" @@ -158,6 +159,16 @@ func NewDeploy(instance *apptreesirpubv1alpha1.AppService) *appsv1.Deployment { Name: instance.Name, Namespace: instance.Namespace, Labels: labels, + OwnerReferences: []metav1.OwnerReference{ + *metav1.NewControllerRef( + instance, + schema.GroupVersionKind{ + Group: apptreesirpubv1alpha1.SchemeBuilder.GroupVersion.Group, + Version: apptreesirpubv1alpha1.SchemeBuilder.GroupVersion.Version, + Kind: "AppService", + }, + ), + }, }, Spec: appsv1.DeploymentSpec{ Replicas: instance.Spec.Size, @@ -185,6 +196,16 @@ func NewService(instance *apptreesirpubv1alpha1.AppService) *corev1.Service { Name: instance.Name, Namespace: instance.Namespace, Labels: labels, + OwnerReferences: []metav1.OwnerReference{ + *metav1.NewControllerRef( + instance, + schema.GroupVersionKind{ + Group: apptreesirpubv1alpha1.SchemeBuilder.GroupVersion.Group, + Version: apptreesirpubv1alpha1.SchemeBuilder.GroupVersion.Version, + Kind: "AppService", + }, + ), + }, }, Spec: corev1.ServiceSpec{ Type: corev1.ServiceTypeNodePort,