Skip to content

Commit 6572dfb

Browse files
Merge pull request #21 from bharath-b-rh/eso-50
ESO-50: Add controller to manage annotations on the external-secrets CRD
2 parents e5b5e4d + 7193433 commit 6572dfb

File tree

18 files changed

+939
-115
lines changed

18 files changed

+939
-115
lines changed

api/v1alpha1/conditions.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,16 @@ const (
2121
// - Failed
2222
// - Ready: operand successfully deployed and ready
2323
Ready string = "Ready"
24+
25+
// UpdateAnnotation is the condition type used to inform status of
26+
// updating the annotations.
27+
// Status:
28+
// - True
29+
// - False
30+
// Reason:
31+
// - Completed
32+
// - Failed
33+
UpdateAnnotation string = "UpdateAnnotation"
2434
)
2535

2636
const (
@@ -29,4 +39,6 @@ const (
2939
ReasonReady string = "Ready"
3040

3141
ReasonInProgress string = "Progressing"
42+
43+
ReasonCompleted string = "Completed"
3244
)

cmd/external-secrets-operator/main.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
appsv1 "k8s.io/api/apps/v1"
2525
corev1 "k8s.io/api/core/v1"
2626
rbacv1 "k8s.io/api/rbac/v1"
27+
crdv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
2728
"k8s.io/apimachinery/pkg/runtime"
2829
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
2930
clientgoscheme "k8s.io/client-go/kubernetes/scheme"
@@ -52,6 +53,7 @@ func init() {
5253
utilruntime.Must(corev1.AddToScheme(scheme))
5354
utilruntime.Must(rbacv1.AddToScheme(scheme))
5455
utilruntime.Must(certmanagerv1.AddToScheme(scheme))
56+
utilruntime.Must(crdv1.AddToScheme(scheme))
5557

5658
utilruntime.Must(operatorv1alpha1.AddToScheme(scheme))
5759
// +kubebuilder:scaffold:scheme

pkg/controller/common/utils.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
appsv1 "k8s.io/api/apps/v1"
99
corev1 "k8s.io/api/core/v1"
1010
rbacv1 "k8s.io/api/rbac/v1"
11+
crdv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
1112
"k8s.io/apimachinery/pkg/runtime"
1213
"k8s.io/apimachinery/pkg/runtime/serializer"
1314
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -38,6 +39,9 @@ func init() {
3839
if err := webhook.AddToScheme(scheme); err != nil {
3940
panic(err)
4041
}
42+
if err := crdv1.AddToScheme(scheme); err != nil {
43+
panic(err)
44+
}
4145
}
4246

4347
func UpdateResourceLabels(obj client.Object, labels map[string]string) {

pkg/controller/commontest/utils.go

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package commontest
2+
3+
import (
4+
"fmt"
5+
6+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
7+
8+
operatorv1alpha1 "github.com/openshift/external-secrets-operator/api/v1alpha1"
9+
)
10+
11+
const (
12+
// TestExternalSecretsResourceName is the name for ExternalSecrets test CR.
13+
TestExternalSecretsResourceName = "cluster"
14+
15+
// TestExternalSecretsImageName is the sample image name for external-secrets operand.
16+
TestExternalSecretsImageName = "registry.redhat.io/external-secrets-operator/external-secrets-operator-rhel9"
17+
18+
// TestExternalSecretsNamespace is the sample namespace name for external-secrets deployment.
19+
TestExternalSecretsNamespace = "test-external-secrets"
20+
21+
// TestCRDName can be used for sample CRD resources.
22+
TestCRDName = "test-crd"
23+
)
24+
25+
var (
26+
// TestClientError is the error to return for client failure scenarios.
27+
TestClientError = fmt.Errorf("test client error")
28+
)
29+
30+
// TestExternalSecrets returns a sample ExternalSecrets object.
31+
func TestExternalSecrets() *operatorv1alpha1.ExternalSecrets {
32+
return &operatorv1alpha1.ExternalSecrets{
33+
ObjectMeta: metav1.ObjectMeta{
34+
Name: TestExternalSecretsResourceName,
35+
},
36+
}
37+
}
38+
39+
// TestExternalSecretsManager returns a sample ExternalSecretsManager object.
40+
func TestExternalSecretsManager() *operatorv1alpha1.ExternalSecretsManager {
41+
return &operatorv1alpha1.ExternalSecretsManager{
42+
ObjectMeta: metav1.ObjectMeta{
43+
Name: TestExternalSecretsResourceName,
44+
},
45+
}
46+
}

0 commit comments

Comments
 (0)