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: operator/README.md
+47-37Lines changed: 47 additions & 37 deletions
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,19 @@
1
1
# operator
2
2
3
-
FunctionStream Operator is a Kubernetes operator designed to manage custom resources for serverless function orchestration and package management on Kubernetes clusters.
3
+
FunctionStream Operator is a Kubernetes operator designed to manage custom resources for serverless function
4
+
orchestration and package management on Kubernetes clusters.
4
5
5
6
## Description
6
7
7
-
This project provides a Kubernetes operator that automates the lifecycle of custom resources such as Functions and Packages. It enables users to define, deploy, and manage serverless functions and their dependencies using Kubernetes-native APIs. The operator ensures that the desired state specified in custom resources is reflected in the actual cluster state, supporting extensibility and integration with cloud-native workflows.
8
+
This project provides a Kubernetes operator that automates the lifecycle of custom resources such as Functions and
9
+
Packages. It enables users to define, deploy, and manage serverless functions and their dependencies using
10
+
Kubernetes-native APIs. The operator ensures that the desired state specified in custom resources is reflected in the
11
+
actual cluster state, supporting extensibility and integration with cloud-native workflows.
8
12
9
13
## Deploying with Helm Chart
10
14
11
-
The recommended way to deploy the FunctionStream Operator is using the provided Helm chart. This method simplifies installation, upgrades, and configuration management.
15
+
The recommended way to deploy the FunctionStream Operator is using the provided Helm chart. This method simplifies
16
+
installation, upgrades, and configuration management.
12
17
13
18
### Prerequisites
14
19
@@ -33,20 +38,25 @@ The recommended way to deploy the FunctionStream Operator is using the provided
33
38
This will install the operator in the `fs` namespace with the release name `fs`.
34
39
35
40
3.**(Optional) Customize your deployment:**
36
-
- You can override default values by editing `deploy/chart/values.yaml`, by providing your own values file, or by using the `--set` flag.
37
-
- To use your own values file:
38
-
```sh
39
-
helm install fs ./deploy/chart \
40
-
--namespace fs --create-namespace \
41
-
-f my-values.yaml
42
-
```
43
-
- To override values from the command line:
44
-
```sh
45
-
helm install fs ./deploy/chart \
46
-
--namespace fs \
47
-
--set controllerManager.replicas=2
48
-
```
49
-
- For a full list of configurable options, see [`deploy/chart/values.yaml`](deploy/chart/values.yaml).
41
+
- You can override default values by editing `deploy/chart/values.yaml`, by providing your own values file, or by
42
+
using the `--set` flag.
43
+
- To use your own values file:
44
+
45
+
```sh
46
+
helm install fs ./deploy/chart \
47
+
--namespace fs --create-namespace \
48
+
-f my-values.yaml
49
+
```
50
+
51
+
- To override values from the command line:
52
+
53
+
```sh
54
+
helm install fs ./deploy/chart \
55
+
--namespace fs \
56
+
--set controllerManager.replicas=2
57
+
```
58
+
59
+
- For a full list of configurable options, see [`deploy/chart/values.yaml`](deploy/chart/values.yaml).
50
60
51
61
### Upgrading
52
62
@@ -65,7 +75,8 @@ To uninstall the operator and all associated resources:
65
75
helm uninstall fs --namespace fs
66
76
```
67
77
68
-
>**Note:** By default, CRDs are retained after uninstall. You can control this behavior via the `crd.keep` value in`values.yaml`.
78
+
>**Note:** By default, CRDs are retained after uninstall. You can control this behavior via the `crd.keep` value in
79
+
`values.yaml`.
69
80
70
81
## Getting Started
71
82
@@ -101,7 +112,7 @@ make deploy IMG=<some-registry>/operator:tag
101
112
```
102
113
103
114
> **NOTE**: If you encounter RBAC errors, you may need to grant yourself cluster-admin
104
-
privileges or be logged in as admin.
115
+
> privileges or be logged in as admin.
105
116
106
117
**Create instances of your solution**
107
118
You can apply the samples (examples) from the config/sample:
@@ -110,7 +121,7 @@ You can apply the samples (examples) from the config/sample:
110
121
kubectl apply -k config/samples/
111
122
```
112
123
113
-
>**NOTE**: Ensure that the samples has default values to test it out.
124
+
>**NOTE**: Ensure that the samples has default values to test it out.
114
125
115
126
### To Uninstall
116
127
@@ -140,34 +151,34 @@ Following the options to release and provide this solution to the users.
140
151
141
152
1. Build the installer for the image built and published in the registry:
142
153
143
-
```sh
144
-
make build-installer IMG=<some-registry>/operator:tag
145
-
```
154
+
```sh
155
+
make build-installer IMG=<some-registry>/operator:tag
156
+
```
146
157
147
-
**NOTE:** The makefile target mentioned above generates an 'install.yaml'
148
-
file in the dist directory. This file contains all the resources built
149
-
with Kustomize, which are necessary to install this project without its
150
-
dependencies.
158
+
**NOTE:** The makefile target mentioned above generates an 'install.yaml'
159
+
file in the dist directory. This file contains all the resources built
160
+
with Kustomize, which are necessary to install this project without its
161
+
dependencies.
151
162
152
163
2. Using the installer
153
164
154
-
Users can just run 'kubectl apply -f <URL for YAML BUNDLE>' to install
155
-
the project, i.e.:
165
+
Users can just run 'kubectl apply -f <URL for YAML BUNDLE>' to install
166
+
the project, i.e.:
156
167
157
-
```sh
158
-
kubectl apply -f https://raw.githubusercontent.com/<org>/operator/<tag or branch>/dist/install.yaml
159
-
```
168
+
```sh
169
+
kubectl apply -f https://raw.githubusercontent.com/<org>/operator/<tag or branch>/dist/install.yaml
170
+
```
160
171
161
172
### By providing a Helm Chart
162
173
163
174
1. Build the chart using the optional helm plugin
164
175
165
-
```sh
166
-
kubebuilder edit --plugins=helm/v1-alpha
167
-
```
176
+
```sh
177
+
kubebuilder edit --plugins=helm/v1-alpha
178
+
```
168
179
169
180
2. See that a chart was generated under 'dist/chart', and users
170
-
can obtain this solution from there.
181
+
can obtain this solution from there.
171
182
172
183
**NOTE:** If you change the project, you need to update the Helm Chart
173
184
using the same command above to sync the latest changes. Furthermore,
@@ -176,7 +187,6 @@ the '--force' flag and manually ensure that any custom configuration
176
187
previously added to 'dist/chart/values.yaml' or 'dist/chart/manager/manager.yaml'
177
188
is manually re-applied afterwards.
178
189
179
-
180
190
**NOTE:** Run `make help` for more information on all potential `make` targets
181
191
182
192
More information can be found via the [Kubebuilder Documentation](https://book.kubebuilder.io/introduction.html)
0 commit comments