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
+46-25Lines changed: 46 additions & 25 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,11 +7,11 @@ Threat Stack Agent Helm Chart
7
7
8
8
This project defines the helm chart to deploy the Threat Stack container agent in the recommended configuration for kubernetes.
9
9
10
-
>>>
11
-
**Note:** The chart `version` is independent of the version of the agent packaged/installed by the chart. The default version of the Threat Stack agent to be installed by the helm chart is defined by the helm chart's `appVersion` field.
10
+
> **Note**
11
+
>
12
+
> The chart `version` is independent of the version of the agent packaged/installed by the chart. The default version of the Threat Stack agent to be installed by the helm chart is defined by the helm chart's `appVersion` field.
12
13
13
14
Because agent updates and improvements from version to version can require backwards-incompatible chart changes, *we do not recommend customers override the agent version*.
14
-
>>>
15
15
16
16
This chart installs the agent in the recommended configuration for kubernetes clusters. Configuration values should be overridden by passing helm one or more yaml files of overrides. See [Additional Installation Notes](#additional-installation-notes) section for specific recommendations. For a full list of values defined for this chart, see the `values.yaml` in this repository.
17
17
@@ -62,16 +62,16 @@ The following kubernetes objects are created when the chart is installed:
62
62
| ebpfEnabled | bool |`false`| Enables using ebpf-based monitoring where applicable. With some workloads, an increase in resource usage by the agent has been seen, so you may need to increase cpu and/or memory limits when enabling eBPF sensors |
63
63
| eksAmazon2 | bool |`false`| If `true`, the Daemonset definition will be modified to execute commands for the agent to work correctly on EKS with Amazon Linux 2 nodes. Defaults to `false`|
| gkeContainerOs | bool |`false`| If `true`, the Daemonset definition will be modified to execute commands for the agent to work correctly on GKE with ContainerOS node |
| gkeUbuntu | bool |`false`| If `true`, the Daemonset definition will be modified to execute commands for the agent to work correctly on GKE with Ubuntu nodes. Defaults to `false`|
| image.repository | string |`"threatstack/ts-docker2"`| The docker repository for the container image to install. It defaults to Threat Stack's offical docker hub repository for the agent. **NOTE:** Changing this could lead to pulling an unofficial, incorrect, or incompatible image, and is strongly discouraged. |
@@ -89,9 +89,9 @@ The instructions below assume the helm chart has been released to a repository.
89
89
90
90
In this, one should not add the helm repository as directed below (step 1), and omit the `--repo https://pkg.threatstack.com/helm` from any command. Also, instead of the chart name being `threatstack-agent`, you should use `<PATH_TO_CHART>/threatstack-agent-<VERSION>.tgz` in helm commands.
91
91
92
-
>>>
93
-
**WARNING:** Creating a local helm chart does not sign the chart package. Any verfication of the provenance of the chart will fail.
94
-
>>>
92
+
>**Warning**
93
+
>
94
+
> Creating a local helm chart does not sign the chart package. Any verfication of the provenance of the chart will fail.
95
95
96
96
#### Installing publicly released chart
97
97
@@ -101,8 +101,8 @@ The threatstack agent helm chart follows the standard installation process for c
1. Using the default `values.yaml`, create a local yaml that overrides the configuration as desired or needed for the target cluster (See [Additional Installation Notes][#additional-installation-notes] below)
105
-
1. Install the threatstack agent with helm
104
+
2. Using the default `values.yaml`, create a local yaml that overrides the configuration as desired or needed for the target cluster (See [Additional Installation Notes][#additional-installation-notes] below)
> **NOTE:** Most of the overridable values for the threatstack agent helm chart are **not** sensitive, and therefore can (and should) be checked into a source control system.
148
+
> **Note**
149
+
>
150
+
> Most of the overridable values for the threatstack agent helm chart are **not** sensitive, and therefore can (and should) be checked into a source control system.
149
151
150
152
##### Using the `agentSetupExternalSecretRef` value block
151
153
152
-
>>>
153
-
**IMPORTANT:** Using `agentSetupExternalSecretRef` decouples secret management from the helm chart. Therefore, if the value of the secret changes, the agent DaemonSet and Deployment will _not_ be redeployed/restarted. The user will need to force a redeployment of the helm chart explicitly.
154
+
> **Warning**
155
+
>
156
+
> Using `agentSetupExternalSecretRef` decouples secret management from the helm chart. Therefore, if the value of the secret changes, the agent DaemonSet and Deployment will _not_ be redeployed/restarted. The user will need to force a redeployment of the helm chart explicitly.
154
157
155
-
However, if the secret's name or secret's entry name changes in the `values.yaml` of the chart, helm will recognize this change with a new release, and trigger a redeployment of the DaemonsSet and Deployment. One way to take advantage of this is to update the secrets entry value name (what is defined at `agentSetupExternalSecretRef.value`) when changing the secret data, and doing a redeploy of the chart. The chart trigger a redeployment of the agent pods.
156
-
>>>
158
+
However, if the secret's name or secret's entry name changes in the `values.yaml` of the chart, helm will recognize this change with a new release, and trigger a redeployment of the DaemonsSet and Deployment. One way to take advantage of this is to update the secrets entry value name (what is defined at `agentDeployKey`) when changing the secret data, and doing a redeploy of the chart. The chart trigger a redeployment of the agent pods.
157
159
158
-
An alternative to having the chart define the `ts-setup-args`secret itself, you can instead have it point to your own self-managed secret. Doing so requires the following three values to be set:
160
+
An alternative to having the chart define secret itself, you can instead have it point to your own self-managed secret. Doing so requires the following three values to be set:
159
161
160
-
*`agentSetupExternalSecretRef.name` :: This is the name of your self-managed secret.
161
-
*`agentSetupExternalSecretRef.key` :: This is the key in your self-managed secret that is associated with the data you want to supply from the secret, to the Threat Stack agent setup registration.
162
+
*`agentSetupExternalSecretRef.name` : This is the name of your self-managed secret.
163
+
*`agentSetupExternalSecretRef.key` : This is the key in your self-managed secret that is associated with the data you want to supply from the secret, to the Threat Stack agent setup registration.
164
+
165
+
E.g:
166
+
```yaml
167
+
# self-managed secret spec
168
+
apiVersion: v1
169
+
kind: Secret
170
+
metadata:
171
+
name: tsagent-setup-key
172
+
type: Opaque
173
+
stringData:
174
+
value: "foo"
175
+
```
176
+
177
+
```yaml
178
+
# values.yaml
179
+
...
180
+
181
+
agentSetupExternalSecretRef:
182
+
name: tsagent-setup-key
183
+
key: value
184
+
...
185
+
```
162
186
163
187
Do not set the `agentSetupExternalSecretRef` block *and* the `agentDeployKey` settings at the same time. This will cause unnecessary kubernetes resource definitions to be created. If you had previously used the `agentDeployKey` value, the secret associated with it may be destroyed on deployment.
164
188
165
-
Using the `agentSetupExternalSecretRef` block will cause the chart to ignore the `agentDeployKey`, `rulesets`, and `additionalSetupConfig` values defined in `values.yaml` or any other values override file, until existing pods are terminated/rescheduled.
189
+
Using the `agentSetupExternalSecretRef` block will cause the chart to ignore the `agentDeployKey`.
166
190
167
-
The value defined in the secret by `agentSetupExternalSecretRef.name`/`agentSetupExternalSecretRef.key`should be defined as in the example below to properly setup up the agent. Failure to do so can cause the agent to not properly register itself with the Threat Stack platform.
191
+
The value defined in the secret by `agentSetupExternalSecretRef.name`/`agentSetupExternalSecretRef.key`must be set only with the **Agent key**.
0 commit comments