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: docs/operator-manual/resource_actions.md
+40Lines changed: 40 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -235,3 +235,43 @@ See the [Deployment actions discovery script](https://github.com/argoproj/argo-c
235
235
```
236
236
237
237
The [resource scale actions](../user-guide/scale_application_resources.md) documentation shows how this function behaves in the UI.
238
+
239
+
## Contributing a Custom Resource Action
240
+
241
+
A resource action can be bundled into Argo CD. Custom resource action scripts are located in the `resource_customizations` directory of [https://github.com/argoproj/argo-cd](https://github.com/argoproj/argo-cd). Each contributed custom action needs to have a Lua script for discovery and a Lua script for the actual action logic. It also needs to have testdata and expected K8s resource manifests, which represent the outcome of performing the action.
242
+
243
+
The following directory structure must be respected:
244
+
245
+
```
246
+
argo-cd
247
+
|-- resource_customizations
248
+
| |-- your.crd.group.io # CRD group
249
+
| | |-- MyKind # Resource kind
250
+
| | | |-- actions # Actions folder
251
+
| | | | |-- action_test.yaml # Test inputs and expected results
252
+
| | | | |-- testdata # Folder with sample K8s manifest yaml files, for testing the outcome of performing the custom actions
253
+
| | | | |-- discovery.lua # Conditions upon which the custom action would be visible in the UI
254
+
| | | | |-- <action_name> # Folder for each custom action, named as the custom action
It is required to provide both discovery tests and action tests for your custom action.
258
+
259
+
Example of a [complete custom action](https://github.com/argoproj/argo-cd/tree/master/resource_customizations/argoproj.io/AnalysisRun/actions) called `terminate` for AnalysisRun.
260
+
261
+
262
+
Example of `action_test.yaml` file content with `discoveryTests` and `actionTests`:
Argo CD v3.3 upgrades the bundled Kustomize version to 5.7.1. There are no breaking changes in Kustomize 5.7.1 according
11
+
to the [release notes](https://github.com/kubernetes-sigs/kustomize/releases/tag/kustomize%2Fv5.7.1).
12
+
However, bear in mind that Kustomize 5.7.1 introduces code to replace the `shlex` library used for parsing arguments in the exec plugin.
13
+
If any existing manifests become corrupted, please follow the[release notes](https://github.com/kubernetes-sigs/kustomize/releases/tag/kustomize%2Fv5.7.1) instructions.
14
+
3
15
## Breaking Changes
4
16
5
17
### Anonymous call to Settings API returns fewer fields
6
18
7
19
The Settings API now returns less information when accessed anonymously.
8
20
It no longer returns the `resourceOverrides` field which is considered sensitive information.
21
+
22
+
### New ENV Variable to control K8s Server Side Timeout of API Requests
23
+
24
+
The new environment variable `ARGOCD_K8S_SERVER_SIDE_TIMEOUT` can be used to control the K8s server side timeout of API requests.
25
+
In 3.2 and before this change, the K8s server side timeout was controlled by `ARGOCD_K8S_TCP_TIMEOUT`
26
+
which is also used to control the TCP timeout when communicating with the K8s API server.
27
+
From now onwards, the Kubernetes server-side timeout is controlled by a separate environment variable.
0 commit comments