You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+58-17Lines changed: 58 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,28 +1,61 @@
1
-
# external-secrets-operator for OpenShift
1
+
# external-secrets-operator for Red Hat OpenShift
2
+
This repository contains External Secrets Operator for Red Hat OpenShift. The operator runs in `external-secrets-operator` namespace.
3
+
The External Secrets Operator provides the ability to deploy [`external-secrets`](https://github.com/openshift/external-secrets) using different configurations
2
4
3
-
This repository contains External Secrets Operator designed for OpenShift. The operator runs in `external-secrets-operator` namespace.
4
-
5
-
The operator based on operator-sdk framework to install external-secrets operator helm chart from https://github.com/openshift/external-secrets
5
+
The External Secrets Operator for Red Hat OpenShift operates as a cluster-wide service to deploy and manage the external-secrets
6
+
application. The external-secrets application integrates with external secrets management systems and performs secret fetching,
7
+
refreshing, and provisioning within the cluster.
6
8
7
9
## Description
8
-
// TODO(user): An in-depth paragraph about your project and overview of use
10
+
Use the External Secrets Operator for Red Hat OpenShift to integrate external-secrets application with the
11
+
OpenShift Container Platform cluster. The external-secrets application fetches secrets stored in the external providers such as
12
+
AWS Secrets Manager, HashiCorp Vault, Google Secrets Manager, Azure Key Vault, IBM Cloud Secrets Manager,
13
+
AWS Systems Manager Parameter Store and integrates them with Kubernetes in a secure manner.
14
+
15
+
Using the External Secrets Operator ensures the following:
16
+
- Decouples applications from the secret-lifecycle management.
17
+
- Centralizes secret storage to support compliance requirements.
18
+
- Enables secure and automated secret rotation.
19
+
- Supports multi-cloud secret sourcing with fine-grained access control.
20
+
- Centralizes and audits access control.
21
+
22
+
The External Secrets Operator for Red Hat OpenShift uses the [`external-secrets`](https://github.com/openshift/external-secrets) helm charts
23
+
to install application. The operator has three controllers to achieve the same:
24
+
-`external_secrets_manager` controller: This is responsible for
25
+
* reconciling the `externalsecretsmanagers.openshift.operator.io` resource.
26
+
* providing the status of other controllers.
27
+
-`external_secrets` controller: This is responsible for
28
+
* reconciling the `externalsecrets.openshift.operator.io` resource.
29
+
* installing and managing the `external-secrets` application based on the user defined configurations in `externalsecrets.openshift.operator.io` resource.
30
+
* reconciling the `externalsecretsmanagers.openshift.operator.io` resource for the global configurations and updates the `external-scerets` deployment accordingly.
31
+
-`crd_annotator` controller:
32
+
* This is responsible for adding `cert-manager.io/inject-ca-from` annotation in the `external-secrets` provided CRDs.
33
+
* This is an optional controller, which will be activated only when [`cert-manager`](https://cert-manager.io/) is installed.
34
+
* When `cert-manager` is installed after External Secrets Operator installation, `external-secrets-operator-controller-manager` deployment must be restarted to activate the controller.
35
+
36
+
The operator automatically creates a cluster-scoped `externalsecretsmanagers.openshift.operator.io` object named `cluster`.
37
+
38
+
For more information about
39
+
-`external-secrets-operator for Red Hat OpenShift`, refer to the [link](https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/security_and_compliance/external-secrets-operator-for-red-hat-openshift)
40
+
-`external-secrets` application, refer to the [link](https://external-secrets.io/latest/).
41
+
-`cert-manager Operator for Red Hat OpenShift`, refer to the [link](https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/security_and_compliance/cert-manager-operator-for-red-hat-openshift)
9
42
10
43
## Getting Started
11
44
12
45
### Prerequisites
13
-
- go version v1.22.0+
46
+
- go version 1.23.6+
14
47
- docker version 17.03+.
15
-
- kubectl version v1.11.3+.
16
-
- Access to a Kubernetes v1.11.3+ cluster.
48
+
- kubectl version v1.32.1+.
49
+
- Access to a Kubernetes v1.32.1+ cluster.
17
50
18
51
### To Deploy on the cluster
19
52
**Build and push your image to the location specified by `IMG`:**
20
53
21
54
```sh
22
-
make docker-build docker-push IMG=<some-registry>/external-secrets-operator:tag
55
+
make docker-build docker-push IMG=<some-registry>/external-secrets-operator:<tag>
23
56
```
24
57
25
-
**NOTE:** This image ought to be published in the personal registry you specified.
58
+
> **NOTE:** This image ought to be published in the personal registry you specified.
26
59
And it is required to have access to pull the image from the working environment.
27
60
Make sure you have the proper permission to the registry if the above commands don’t work.
28
61
@@ -35,10 +68,10 @@ make install
35
68
**Deploy the Manager to the cluster with the image specified by `IMG`:**
36
69
37
70
```sh
38
-
make deploy IMG=<some-registry>/external-secrets-operator:tag
71
+
make deploy IMG=<some-registry>/external-secrets-operator:<tag>
39
72
```
40
73
41
-
> **NOTE**: If you encounter RBAC errors, you may need to grant yourself cluster-admin
74
+
> **NOTE:** If you encounter RBAC errors, you may need to grant yourself cluster-admin
42
75
privileges or be logged in as admin.
43
76
44
77
**Create instances of your solution**
@@ -48,7 +81,7 @@ You can apply the samples (examples) from the config/sample:
48
81
kubectl apply -k config/samples/
49
82
```
50
83
51
-
>**NOTE**: Ensure that the samples has default values to test it out.
84
+
>**NOTE:** Ensure that the samples has default values to test it out.
52
85
53
86
### To Uninstall
54
87
**Delete the instances (CRs) from the cluster:**
@@ -79,7 +112,7 @@ Following are the steps to build the installer and distribute this project to us
79
112
make build-installer IMG=<some-registry>/external-secrets-operator:tag
80
113
```
81
114
82
-
NOTE: The makefile target mentioned above generates an 'install.yaml'
115
+
> **NOTE:** The makefile target mentioned above generates an 'install.yaml'
83
116
file in the dist directory. This file contains all the resources built
84
117
with Kustomize, which are necessary to install this project without
85
118
its dependencies.
@@ -92,12 +125,20 @@ Users can just run kubectl apply -f <URL for YAML BUNDLE> to install the project
92
125
kubectl apply -f https://raw.githubusercontent.com/<org>/external-secrets-operator/<tag or branch>/dist/install.yaml
93
126
```
94
127
128
+
> **NOTE:** Run `make help` for more information on all potential `make` targets
129
+
130
+
More information can be found via the [Kubebuilder Documentation](https://book.kubebuilder.io/introduction.html)
131
+
95
132
## Contributing
96
-
// TODO(user): Add detailed information on how you would like others to contribute to this project
133
+
We welcome contributions from the community! To contribute:
97
134
98
-
**NOTE:** Run `make help` for more information on all potential `make` targets
135
+
- Fork this repository and create a new branch.
136
+
- Make your changes and test them thoroughly.
137
+
- Run make targets to verify the behavior.
138
+
- Submit a Pull Request describing your changes and the motivation behind them.
139
+
- Run make help to view all available development targets.
99
140
100
-
More information can be found via the [Kubebuilder Documentation](https://book.kubebuilder.io/introduction.html)
141
+
We appreciate issues, bug reports, feature requests, and feedback!
0 commit comments