Skip to content
This repository has been archived by the owner on Jul 10, 2024. It is now read-only.

Commit

Permalink
Changed label setting to mutative in remaining controllers
Browse files Browse the repository at this point in the history
  • Loading branch information
ianshen1104 committed Aug 2, 2022
1 parent e0c7588 commit fcfd6a6
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 8 deletions.
20 changes: 18 additions & 2 deletions submarine-cloud-v3/controllers/submarine_observer_rbac.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,22 @@ import (
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
)

var observerAdditionalLabels = map[string]string{"app.kubernetes.io/name": observerName, "app.kubernetes.io/version": appVersion, "app.kubernetes.io/component": "observer"}

func (r *SubmarineReconciler) newSubmarineObserverRole(ctx context.Context, submarine *submarineapacheorgv1alpha1.Submarine) *rbacv1.Role {
role, err := ParseRoleYaml(observerRbacYamlPath)
if err != nil {
r.Log.Error(err, "ParseRoleYaml")
}
role.Namespace = submarine.Namespace
role.Labels = map[string]string{"app.kubernetes.io/name": observerName, "app.kubernetes.io/version": appVersion, "app.kubernetes.io/component": "observer"}
roleLabels := role.GetLabels()
if roleLabels == nil {
role.SetLabels(make(map[string]string))
roleLabels = role.GetLabels()
}
for k, v := range observerAdditionalLabels {
roleLabels[k] = v
}
err = controllerutil.SetControllerReference(submarine, role, r.Scheme)
if err != nil {
r.Log.Error(err, "Set Role ControllerReference")
Expand All @@ -52,7 +61,14 @@ func (r *SubmarineReconciler) newSubmarineObserverRoleBinding(ctx context.Contex
r.Log.Error(err, "Set RoleBinding ControllerReference")
}
roleBinding.Namespace = submarine.Namespace
roleBinding.Labels = map[string]string{"app.kubernetes.io/name": observerName, "app.kubernetes.io/version": appVersion, "app.kubernetes.io/component": "observer"}
roleBindingLabels := roleBinding.GetLabels()
if roleBindingLabels == nil {
roleBinding.SetLabels(make(map[string]string))
roleBindingLabels = roleBinding.GetLabels()
}
for k, v := range observerAdditionalLabels {
roleBindingLabels[k] = v
}
err = controllerutil.SetControllerReference(submarine, roleBinding, r.Scheme)
if err != nil {
r.Log.Error(err, "Set RoleBinding ControllerReference")
Expand Down
18 changes: 16 additions & 2 deletions submarine-cloud-v3/controllers/submarine_server_rbac.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,14 @@ func (r *SubmarineReconciler) newSubmarineServerRole(ctx context.Context, submar
r.Log.Error(err, "ParseRoleYaml")
}
role.Namespace = submarine.Namespace
role.Labels = map[string]string{"app.kubernetes.io/name": serverName, "app.kubernetes.io/version": appVersion, "app.kubernetes.io/component": "server"}
roleLabels := role.GetLabels()
if roleLabels == nil {
role.SetLabels(make(map[string]string))
roleLabels = role.GetLabels()
}
for k, v := range serverAdditionalLabels {
roleLabels[k] = v
}
err = controllerutil.SetControllerReference(submarine, role, r.Scheme)
if err != nil {
r.Log.Error(err, "Set Role ControllerReference")
Expand All @@ -62,7 +69,14 @@ func (r *SubmarineReconciler) newSubmarineServerRoleBinding(ctx context.Context,
r.Log.Error(err, "Set RoleBinding ControllerReference")
}
roleBinding.Namespace = submarine.Namespace
roleBinding.Labels = map[string]string{"app.kubernetes.io/name": serverName, "app.kubernetes.io/version": appVersion, "app.kubernetes.io/component": "server"}
roleBindingLabels := roleBinding.GetLabels()
if roleBindingLabels == nil {
roleBinding.SetLabels(make(map[string]string))
roleBindingLabels = roleBinding.GetLabels()
}
for k, v := range serverAdditionalLabels {
roleBindingLabels[k] = v
}
err = controllerutil.SetControllerReference(submarine, roleBinding, r.Scheme)
if err != nil {
r.Log.Error(err, "Set RoleBinding ControllerReference")
Expand Down
29 changes: 26 additions & 3 deletions submarine-cloud-v3/controllers/submarine_storage_rbac.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,22 @@ import (
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
)

var storageAdditionalLabels = map[string]string{"app.kubernetes.io/name": storageName, "app.kubernetes.io/version": appVersion, "app.kubernetes.io/component": "storage"}

func (r *SubmarineReconciler) newSubmarineStorageRole(ctx context.Context, submarine *submarineapacheorgv1alpha1.Submarine) *rbacv1.Role {
role, err := ParseRoleYaml(storageRbacYamlPath)
if err != nil {
r.Log.Error(err, "ParseRoleYaml")
}
role.Namespace = submarine.Namespace
role.Labels = map[string]string{"app.kubernetes.io/name": storageName, "app.kubernetes.io/version": appVersion, "app.kubernetes.io/component": "storage"}
roleLabels := role.GetLabels()
if roleLabels == nil {
role.SetLabels(make(map[string]string))
roleLabels = role.GetLabels()
}
for k, v := range storageAdditionalLabels {
roleLabels[k] = v
}
err = controllerutil.SetControllerReference(submarine, role, r.Scheme)
if err != nil {
r.Log.Error(err, "Set Role ControllerReference")
Expand All @@ -60,7 +69,14 @@ func (r *SubmarineReconciler) newSubmarineStorageRoleBinding(ctx context.Context
r.Log.Error(err, "Set RoleBinding ControllerReference")
}
roleBinding.Namespace = submarine.Namespace
roleBinding.Labels = map[string]string{"app.kubernetes.io/name": storageName, "app.kubernetes.io/version": appVersion, "app.kubernetes.io/component": "storage"}
roleBindingLabels := roleBinding.GetLabels()
if roleBindingLabels == nil {
roleBinding.SetLabels(make(map[string]string))
roleBindingLabels = roleBinding.GetLabels()
}
for k, v := range storageAdditionalLabels {
roleBindingLabels[k] = v
}
err = controllerutil.SetControllerReference(submarine, roleBinding, r.Scheme)
if err != nil {
r.Log.Error(err, "Set RoleBinding ControllerReference")
Expand All @@ -74,7 +90,14 @@ func (r *SubmarineReconciler) newSubmarineStorageServiceAccount(ctx context.Cont
r.Log.Error(err, "ParseServiceAccountYaml")
}
serviceAccount.Namespace = submarine.Namespace
serviceAccount.Labels = map[string]string{"app.kubernetes.io/name": storageName, "app.kubernetes.io/version": appVersion, "app.kubernetes.io/component": "storage"}
serviceAccountLabels := serviceAccount.GetLabels()
if serviceAccountLabels == nil {
serviceAccount.SetLabels(make(map[string]string))
serviceAccountLabels = serviceAccount.GetLabels()
}
for k, v := range storageAdditionalLabels {
serviceAccountLabels[k] = v
}
err = controllerutil.SetControllerReference(submarine, serviceAccount, r.Scheme)
if err != nil {
r.Log.Error(err, "Set ServiceAccount ControllerReference")
Expand Down
11 changes: 10 additions & 1 deletion submarine-cloud-v3/controllers/submarine_virtualservice.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,22 @@ import (
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
)

var virtualServiceAdditionalLabels = map[string]string{"app.kubernetes.io/name": virtualServiceName, "app.kubernetes.io/version": appVersion, "app.kubernetes.io/component": "virtual-service"}

func (r *SubmarineReconciler) newSubmarineVirtualService(ctx context.Context, submarine *submarineapacheorgv1alpha1.Submarine) *istiov1alpha3.VirtualService {
virtualService, err := ParseVirtualService(virtualServiceYamlPath)
if err != nil {
r.Log.Error(err, "ParseVirtualService")
}
virtualService.Namespace = submarine.Namespace
virtualService.Labels = map[string]string{"app.kubernetes.io/name": virtualServiceName, "app.kubernetes.io/version": appVersion, "app.kubernetes.io/component": "virtual-service"}
virtualServiceLabels := virtualService.GetLabels()
if virtualServiceLabels == nil {
virtualService.SetLabels(make(map[string]string))
virtualServiceLabels = virtualService.GetLabels()
}
for k, v := range virtualServiceAdditionalLabels {
virtualServiceLabels[k] = v
}
err = controllerutil.SetControllerReference(submarine, virtualService, r.Scheme)
if err != nil {
r.Log.Error(err, "Set VirtualService ControllerReference")
Expand Down

0 comments on commit fcfd6a6

Please sign in to comment.