Skip to content

Commit febda0d

Browse files
authored
revert watch CR from all namespace (#85)
1 parent 987b7af commit febda0d

File tree

4 files changed

+39
-39
lines changed

4 files changed

+39
-39
lines changed

bundle-restricted/manifests/ibm-namespace-scope-operator-restricted.clusterserviceversion.yaml

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -47,33 +47,6 @@ spec:
4747
mediatype: image/png
4848
install:
4949
spec:
50-
clusterPermissions:
51-
- rules:
52-
- apiGroups:
53-
- rbac.authorization.k8s.io
54-
resources:
55-
- roles
56-
- rolebindings
57-
verbs:
58-
- get
59-
- list
60-
- apiGroups:
61-
- ''
62-
resources:
63-
- configmaps
64-
- pods
65-
verbs:
66-
- get
67-
- list
68-
- apiGroups:
69-
- operator.ibm.com
70-
resources:
71-
- namespacescopes
72-
verbs:
73-
- get
74-
- list
75-
- watch
76-
serviceAccountName: ibm-namespace-scope-operator
7750
deployments:
7851
- name: ibm-namespace-scope-operator
7952
spec:

controllers/namespacescope_controller.go

Lines changed: 27 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -232,16 +232,14 @@ func (r *NamespaceScopeReconciler) PushRbacToNamespace(instance *operatorv1.Name
232232
}
233233

234234
for _, toNs := range instance.Status.ValidatedMembers {
235-
if toNs != operatorNs {
236-
if err := r.generateRBACForNSS(instance, fromNs, toNs); err != nil {
237-
return err
238-
}
235+
if toNs == operatorNs {
236+
continue
239237
}
240-
241-
if toNs != instance.Namespace {
242-
if err := r.generateRBACToNamespace(instance, saNames, fromNs, toNs); err != nil {
243-
return err
244-
}
238+
if err := r.generateRBACForNSS(instance, fromNs, toNs); err != nil {
239+
return err
240+
}
241+
if err := r.generateRBACToNamespace(instance, saNames, fromNs, toNs); err != nil {
242+
return err
245243
}
246244
}
247245
return nil
@@ -272,8 +270,14 @@ func (r *NamespaceScopeReconciler) DeleteRbacFromUnmanagedNamespace(instance *op
272270
"namespace-scope-configmap": instance.Namespace + "-" + instance.Spec.ConfigmapName,
273271
}
274272

273+
operatorNs, err := util.GetOperatorNamespace()
274+
if err != nil {
275+
klog.Error("get operator namespace failed: ", err)
276+
return err
277+
}
278+
275279
for _, toNs := range unmanagedNss {
276-
if toNs == instance.Namespace {
280+
if toNs == operatorNs {
277281
continue
278282
}
279283

@@ -301,14 +305,20 @@ func (r *NamespaceScopeReconciler) DeleteAllRbac(instance *operatorv1.NamespaceS
301305
"namespace-scope-configmap": instance.Namespace + "-" + instance.Spec.ConfigmapName,
302306
}
303307

308+
operatorNs, err := util.GetOperatorNamespace()
309+
if err != nil {
310+
klog.Error("get operator namespace failed: ", err)
311+
return err
312+
}
313+
304314
usingMembers, err := r.getAllValidatedNamespaceMembers(instance)
305315
if err != nil {
306316
return err
307317
}
308318
deletedMembers := util.GetListDifference(instance.Spec.NamespaceMembers, usingMembers)
309319

310320
for _, toNs := range deletedMembers {
311-
if toNs == instance.Namespace {
321+
if toNs == operatorNs {
312322
continue
313323
}
314324
if err := r.DeleteRoleBinding(labels, toNs); err != nil {
@@ -839,8 +849,13 @@ func (r *NamespaceScopeReconciler) checkNamespaceAdminAuth(namespace string) boo
839849

840850
func (r *NamespaceScopeReconciler) getValidatedNamespaces(instance *operatorv1.NamespaceScope) ([]string, error) {
841851
var validatedNs []string
852+
operatorNs, err := util.GetOperatorNamespace()
853+
if err != nil {
854+
klog.Error("get operator namespace failed: ", err)
855+
return validatedNs, err
856+
}
842857
for _, nsMem := range instance.Spec.NamespaceMembers {
843-
if nsMem == instance.Namespace {
858+
if nsMem == operatorNs {
844859
validatedNs = append(validatedNs, nsMem)
845860
continue
846861
}

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,7 @@ golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACk
318318
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
319319
golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
320320
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
321+
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975 h1:/Tl7pH94bvbAAHBdZJT947M/+gp0+CqQXDtMRC0fseo=
321322
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
322323
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI=
323324
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
@@ -346,6 +347,7 @@ golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLL
346347
golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
347348
golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
348349
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
350+
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7 h1:AeiKBIuRw3UomYXSbLy0Mc2dDLfdtbT/IVn4keq83P0=
349351
golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
350352
golang.org/x/net v0.0.0-20201021035429-f5854403a974 h1:IX6qOQeG5uLjB/hjjwjedwfjND0hgjPMMyO1RoIXQNI=
351353
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
@@ -379,6 +381,7 @@ golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7w
379381
golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
380382
golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
381383
golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
384+
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884=
382385
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
383386
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f h1:+Nyd8tzPX9R7BWHguqsrbFdRx3WQ/1ib8I44HXV5yTA=
384387
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -408,6 +411,7 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY
408411
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
409412
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
410413
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
414+
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
411415
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
412416
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
413417
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

main.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import (
3434

3535
operatorv1 "github.com/IBM/ibm-namespace-scope-operator/api/v1"
3636
"github.com/IBM/ibm-namespace-scope-operator/controllers"
37+
util "github.com/IBM/ibm-namespace-scope-operator/controllers/common"
3738
// +kubebuilder:scaffold:imports
3839
)
3940

@@ -65,9 +66,16 @@ func main() {
6566
rbacv1.SchemeGroupVersion.WithKind("RoleBinding"): {LabelSelector: "namespace-scope-configmap"},
6667
}
6768

69+
operatorNs, err := util.GetOperatorNamespace()
70+
if err != nil {
71+
klog.Error("Failed to get operator namespace: ", err)
72+
os.Exit(1)
73+
}
74+
6875
mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{
6976
Scheme: scheme,
7077
MetricsBindAddress: metricsAddr,
78+
Namespace: operatorNs,
7179
Port: 9443,
7280
LeaderElection: enableLeaderElection,
7381
LeaderElectionID: "6a4a72f9.ibm.com",

0 commit comments

Comments
 (0)