Setup Actions for Instance Templates¶
While learning about modifying instance templates and virtual networks, you’ll also need setup actions for configuring the instance.
Reference | Setup actions¶
Setup actions are configuration steps run by the Fleet Manager agent. You use setup actions to define the actions you want the Fleet Manager agent to execute on each instance linked to the template.
Setup actions allow you to configure the instance(s).
Note
Fleet Manager runs setup actions each time the instance is reprovisioned. Therefore, setup actions should be idempotent. A setup action is idempotent if the action can be run each time you reprovision the instance, resulting in the same expected outcome each time.
How-to | Add a new setup action¶
To add a new action to your instance template:
Under Settings > Instance templates, choose the instance template you want to modify.
Under Setup actions, select the New Action menu arrow to display the list.
Choose an action.
Configure the action and select Save.
Install system packages¶
You can direct the Fleet Manager agent to install operating-system-level packages at the startup of each instance that is linked to the template. To do this:
Under Setup actions, choose Install system packages.
In Packages to install, specify the packages you want to install on the instance, making sure to input only one package name per line.
Add authorized SSH key¶
The SSH access defined in the Security section is limited to one SSH access key. You can authorize additional SSH keys using Setup actions.
To do this:
In Setup actions, choose Add authorized SSH Key.
In SSH Key, provide an SSH public key.
Repeat for each SSH key you want to add.
Set up advanced security¶
You can set up security-related HTTP headers to be applied to each instance linked to the template.
Prevent embedded content from rendering¶
You can prevent Dataiku from being embedded as an iframe or object by turning on basic headers. To do this:
Under Setup actions, choose Set security-related HTTP headers.
Toggle Basics headers to On.
Enforce HTTP strict transport security¶
Under Setup actions, choose Set security-related HTTP headers.
Toggle HSTS to On.
Install a JDBC driver¶
Dataiku instances deployed through Fleet Manager already include drivers for PostgreSQL, Snowflake, and MariaDB. You can install additional JDBC drivers for each instance linked to the template.
To do this:
Under Setup actions, choose Install a JDBC driver.
In Database type, choose a database.
Optional configuration settings¶
In URL, enter the full address where Fleet Manager will download the driver archive from.
In Paths in archive, add all the paths to find the JAR files in the driver archive.
This field is required when the driver is shipped as a tarball or ZIP file.
Paths are relative to the top of the archive.
Wildcards are supported.
This is useful when the archive contains instructions or other files that are not required for the driver to work.
In HTTP Headers, add the headers required to access the source which the driver is downloaded from.
This field is only needed if you download the driver from an HTTP(S) endpoint, otherwise, it is ignored (and you need to add headers to the HTTP request).
Type one header per line using “NAME: VALUE” format.
In HTTP Username, add the username.
This field is only needed if the HTTP(S) endpoint expects basic authentication.
To explicitly specify which Assigned Identity to use (when the machine has several), use the client_id.
To authenticate with a SAS Token on Azure Blob Storage (not recommended), type
token
.
In HTTP Password, add the password.
This field is only needed if the HTTP(S) endpoint expects basic authentication.
To authenticate with a SAS Token on Azure Blob Storage (not recommended), store the token in this field.
In Datadir subdirectory, set the name of the subdirectory.
This field is not required for most drivers. The driver will be placed in data_dir/lib/jdbc.
Some drivers are shipped with multiple JAR files. In this case, you may want to install them under an additional level in the lib/jdbc directory.
How-to | Run Ansible tasks¶
You can run a list of Ansible tasks as if they were a role executed by a playbook targeting the host(s).
Each Dataiku instance is configured with Dataiku’s Ansible Module that allows you to configure Dataiku including its connections, settings, and projects through a YAML description.
If you want to apply more settings, you can leverage any builtin Ansible modules.
To run an Ansible task:
Under Setup actions, choose Run Ansible tasks.
In Stage, select the stage where you want the Ansible tasks to run.
Before DSS install.
After DSS install.
After DSS is started.
In Ansible tasks, write a YAML list of Ansible tasks as if they were written in a role.
You can include base Ansible tasks and Ansible modules for Dataiku.
How-to | Set up Kubernetes and Spark-on-Kubernetes¶
You can set up Kubernetes (K8S) and Spark-on-Kubernetes for each instance linked to the template. If your Dataiku nodes connect to Kubernetes clusters, you must enable this setting.
Fleet Manager automatically downloads and configures the required packages and configurations to leverage Kubernetes clusters. This includes the Kubernetes plugin, the ability to attach container images, and define configurations for Kubernetes and Spark to point to the correct Azure Container Registry.
To do this:
Under Setup actions, choose Setup Kubernetes and Spark-on-Kubernetes.
To use the host IP instead of hostname for communication between pods and Dataiku:
Toggle Use private IP to On.
How-to | Remove a setup action¶
To remove a setup action from your instance template:
Launch Fleet Manager.
Under Settings, choose Instance templates.
Choose the instance template you want to modify.
Under Setup actions, delete the setup action you want to remove.
Select Save.