diff --git a/charts/turbinia/README.md b/charts/turbinia/README.md index b47bad2..fc6d05c 100644 --- a/charts/turbinia/README.md +++ b/charts/turbinia/README.md @@ -448,7 +448,6 @@ kubectl delete pvc -l release=my-release | `oauth2proxy.configuration.oidcIssuerUrl` | OpenID Connect issuer URL | `https://accounts.google.com` | | `oauth2proxy.redis.enabled` | Enable Redis for OAuth Session Storage | `false` | - Specify each parameter using the --set key=value[,key=value] argument to helm install. For example, ```console @@ -457,8 +456,8 @@ helm install my-release osdfir-charts/turbinia --set controller.enabled=true The above command installs Turbinia with the Turbinia Controller deployed. -Alternatively, the `values.yaml` and `values-production.yaml` file can be -directly updated if the Helm chart was pulled locally. For example, +Alternatively, the `values.yaml` file can be directly updated if the Helm chart +was pulled locally. For example, ```console helm pull osdfir-charts/turbinia --untar @@ -476,13 +475,13 @@ helm install my-release ../turbinia This section outlines how to deploy and manage the Turbinia configuration file within OSDFIR infrastructure. There are three primary methods: -### Using Default Configurations +### Using Default Configurations** -If you don't provide your own Turbinia config file during deployment, -the Turbinia deployment will automatically retrieve the latest default configs -from the Turbinia Github repository. This method requires no further action from you. + If you don't provide your own Turbinia config file during deployment, + the Turbinia deployment will automatically retrieve the latest default configs + from the Turbinia Github repository. This method requires no further action from you. -> **Note:** When using the default method, you cannot update the Turbinia config file directly. + > **NOTE:** When using the default method, you cannot update the Turbinia config file directly. ### Embedding Turbinia config in the Helm Chart @@ -491,6 +490,79 @@ the Helm chart deployment, follow these steps: 1. Download and extract the Helm chart: + ```console + helm pull osdfir-charts/turbinia --untar + cd turbinia/ + ``` + +2. Download the default Turbinia config: + + ```console + wget https://raw.githubusercontent.com/google/turbinia/master/turbinia/config/turbinia_config_tmpl.py > turbinia.conf + ``` + +3. Modify the config file then deploy the Helm chart: + + ```console + helm install my-release ../turbinia + ``` + + > **NOTE**: The Helm chart uses the `config.override` value in the `values.yaml` file to determine the location of your config file. By default, `config.override` is set to the root directory of the Helm chart. + +To update config changes using this method: + +1. Modify your Config File + + Make the necessary changes to your Turbinia config file. + +2. Upgrade the Helm Release: + + ```console + helm upgrade my-release ../turbinia + ``` + + This will automatically apply the updated config changes and restart the Turbinia deployment so the changes can be picked up. + +### Managing Turbinia configs externally + +For more advanced configuration management, you can manage the Turbinia config +file independently of the Helm chart: + +1. Prepare your Config File: + + Organize the Turbinia config file with your desired customizations. + +2. Create a ConfigMap: + + ```console + kubectl create configmap turbinia-configs --from-file=turbinia.conf + ``` + + Replace `turbinia.conf` with the actual name of your config file. + +3. Install or Upgrade the Helm Chart: + + ```console + helm install my-release osdfir-charts/turbinia --set config.existingConfigMap="turbinia-configs" + ``` + + This command instructs the Helm chart to use the `turbinia-configs` ConfigMap for + Turbinia's config file. + +To update the config changes using this method: + +1. Update the ConfigMap: + + ```console + kubectl create configmap turbinia-configs --from-file=turbinia.conf --dry-run -o yaml | kubectl replace -f - + ``` + +2. Restart the Turbinia deployment to apply the new configs + + ```console + kubectl rollout restart deployment -l app.kubernetes.io/name=turbinia + ``` + ## Persistence The Turbinia deployment stores data at the `/mnt/turbiniavolume` path of the container and stores configuration files at the `/etc/turbinia` path of the container.