Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions config/crd/bases/myoperator.01cloud.io_userconfigs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,7 @@ spec:
- logs
- scaledeployment
- scalereplicaset
- persistentvolume
type: string
required:
- operation
Expand Down
8 changes: 8 additions & 0 deletions config/rbac/role.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,17 @@ rules:
- apiGroups:
- ""
resources:
- configmap
- configmaps
verbs:
- '*'
- apiGroups:
- ""
resources:
- limitranges
- namespaces
- persistentvolume
- persistentvolumeclaim
- persistentvolumeclaims
- persistentvolumes
- pods
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ require (
k8s.io/api v0.31.0
k8s.io/apimachinery v0.31.3
k8s.io/client-go v0.31.0
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8
sigs.k8s.io/controller-runtime v0.19.1
)

Expand Down Expand Up @@ -104,6 +103,7 @@ require (
k8s.io/component-base v0.31.0 // indirect
k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/kube-openapi v0.0.0-20240709000822-3c01b740850f // indirect
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.30.3 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
Expand Down
3 changes: 2 additions & 1 deletion internal/controller/suite_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import (

"k8s.io/client-go/kubernetes/scheme"
"k8s.io/client-go/rest"

ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/envtest"
logf "sigs.k8s.io/controller-runtime/pkg/log"
Expand All @@ -19,7 +21,6 @@ import (
myoperatorv1alpha1 "01cloud/zoperator/api/v1alpha1"

sealedsecretsv1alpha1 "github.com/bitnami-labs/sealed-secrets/pkg/apis/sealedsecrets/v1alpha1"
ctrl "sigs.k8s.io/controller-runtime"
// +kubebuilder:scaffold:imports
)

Expand Down
14 changes: 8 additions & 6 deletions internal/controller/userconfig_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,18 @@ import (
"fmt"

corev1 "k8s.io/api/core/v1"

metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
ctrl "sigs.k8s.io/controller-runtime"

"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/predicate"

sealedsecretsv1alpha1 "github.com/bitnami-labs/sealed-secrets/pkg/apis/sealedsecrets/v1alpha1"

myoperatorv1alpha1 "01cloud/zoperator/api/v1alpha1"
usecase "01cloud/zoperator/internal/usecase"

sealedsecretsv1alpha1 "github.com/bitnami-labs/sealed-secrets/pkg/apis/sealedsecrets/v1alpha1"
"sigs.k8s.io/controller-runtime/pkg/log"
)

// UserConfigReconciler reconciles a UserConfig object
Expand Down Expand Up @@ -72,11 +70,15 @@ const (
// +kubebuilder:rbac:groups=apps,resources=daemonsets/scale,verbs=get;list;watch;create;update;patch;delete
// +kubebuilder:rbac:groups=apps,resources=statefulsets,verbs=get;list;watch;create;update;patch;delete
// +kubebuilder:rbac:groups=apps,resources=statefulsets/scale,verbs=get;list;watch;create;update;patch;delete
// +kubebuilder:rbac:groups=core,resources=persistentvolumeclaims,verbs=get;list;watch;create;update;patch;delete
// +kubebuilder:rbac:groups=core,resources=persistentvolumeclaim,verbs=get;list;watch;create;update;patch;delete
// +kubebuilder:rbac:groups="",resources=persistentvolumeclaim,verbs=get;list;watch;create;update;patch;delete
Comment on lines +73 to 74
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove one from core and "", as keeping both of them does not make sense

// +kubebuilder:rbac:groups=core,resources=persistentvolumeclaims,verbs=get;list;watch;create;update;patch;delete
// +kubebuilder:rbac:groups="",resources=persistentvolumeclaims,verbs=get;list;watch;create;update;patch;delete

// +kubebuilder:rbac:groups=core,resources=persistentvolumeclaims/status,verbs=get;update;patch
// +kubebuilder:rbac:groups=core,resources=persistentvolume,verbs=get;list;watch;create;update;patch;delete
// +kubebuilder:rbac:groups=core,resources=persistentvolumes,verbs=get;list;watch;create;update;patch;delete

// +kubebuilder:rbac:groups=core,resources=persistentvolumes/status,verbs=get;update;patch

// Reconcile handles the reconciliation loop for UserConfig resources
Expand Down
2 changes: 1 addition & 1 deletion internal/usecase/delete.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import (

apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
ctrl "sigs.k8s.io/controller-runtime"

ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"

myoperatorv1alpha1 "01cloud/zoperator/api/v1alpha1"
Expand Down
2 changes: 1 addition & 1 deletion internal/usecase/kubeconfig_generator.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ import (
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
clientcmdapi "k8s.io/client-go/tools/clientcmd/api"
ctrl "sigs.k8s.io/controller-runtime"

ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"

Expand Down
3 changes: 2 additions & 1 deletion internal/usecase/namespace.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package usecase

import (
myoperatorv1alpha1 "01cloud/zoperator/api/v1alpha1"
"context"
"fmt"

corev1 "k8s.io/api/core/v1"
apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"

myoperatorv1alpha1 "01cloud/zoperator/api/v1alpha1"
)

func (u *UserConfigUseCase) ReconcileNamespace(ctx context.Context, uc *myoperatorv1alpha1.UserConfig) error {
Expand Down
2 changes: 1 addition & 1 deletion internal/usecase/network_policies.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import (
"fmt"

corev1 "k8s.io/api/core/v1"

networkingv1 "k8s.io/api/networking/v1"

apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/intstr"
Expand Down
16 changes: 16 additions & 0 deletions internal/usecase/rbac.go
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,22 @@ func mapActualResource(resource string) string {
return "networkpolicies"
case "sealedsecret", "sealedsecrets":
return "sealedsecrets"
case "persistentvolumeclaim", "persistentvolumeclaims":
return "persistentvolumeclaims"
case "persistentvolume", "persistentvolumes":
return "persistentvolumes"
case "configmap", "configmaps":
return "configmaps"
case "persistentvolumeclaim/status", "persistentvolumeclaims/status":
return "persistentvolumeclaims/status"
case "persistentvolume/status", "persistentvolumes/status":
return "persistentvolumes/status"
case "resourcequota/status", "resourcequotas/status":
return "resourcequotas/status"
case "limitrange/status", "limitranges/status":
return "limitranges/status"
case "serviceaccount/token", "serviceaccounts/token":
return "serviceaccounts/token"
case "logs":
return "pods/log"
case "scaledeployment":
Expand Down
5 changes: 4 additions & 1 deletion internal/usecase/resource_quota.go
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
package usecase

import (
myoperatorv1alpha1 "01cloud/zoperator/api/v1alpha1"
"context"
"fmt"
"reflect"

corev1 "k8s.io/api/core/v1"

apierrors "k8s.io/apimachinery/pkg/api/errors"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

"sigs.k8s.io/controller-runtime/pkg/client"

myoperatorv1alpha1 "01cloud/zoperator/api/v1alpha1"
)

func (u *UserConfigUseCase) ReconcileResourceQuota(ctx context.Context, userConfig *myoperatorv1alpha1.UserConfig) error {
Expand Down
6 changes: 5 additions & 1 deletion internal/usecase/sealed_secrets.go
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
package usecase

import (
myoperatorv1alpha1 "01cloud/zoperator/api/v1alpha1"
"context"
"fmt"

sealedsecretsv1alpha1 "github.com/bitnami-labs/sealed-secrets/pkg/apis/sealedsecrets/v1alpha1"

corev1 "k8s.io/api/core/v1"

apierrors "k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/controller/controllerutil"
"sigs.k8s.io/controller-runtime/pkg/log"

myoperatorv1alpha1 "01cloud/zoperator/api/v1alpha1"
)

func (u *UserConfigUseCase) ReconcileSealedSecrets(ctx context.Context, uc *myoperatorv1alpha1.UserConfig) error {
Expand Down
4 changes: 3 additions & 1 deletion internal/usecase/usecase.go
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
package usecase

import (
myoperatorv1alpha1 "01cloud/zoperator/api/v1alpha1"
"context"

"k8s.io/apimachinery/pkg/runtime"

ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/client"

myoperatorv1alpha1 "01cloud/zoperator/api/v1alpha1"
)

type UseCase interface {
Expand Down
9 changes: 4 additions & 5 deletions test/e2e/e2e_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,14 @@ import (
. "github.com/onsi/gomega/gstruct"
"github.com/onsi/gomega/types"

"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
"sigs.k8s.io/controller-runtime/pkg/client"

corev1 "k8s.io/api/core/v1"
networkingv1 "k8s.io/api/networking/v1"
rbacv1 "k8s.io/api/rbac/v1"
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/rest"
"k8s.io/client-go/tools/clientcmd"
"sigs.k8s.io/controller-runtime/pkg/client"

myoperatorv1alpha1 "01cloud/zoperator/api/v1alpha1"
"01cloud/zoperator/test/utils"
Expand Down
Loading