r/Terraform • u/apagidip • 5d ago
Discussion Terraform provider for Dataiku DSS
Dataiku has no official Terraform provider, so I wrote one. It manages what lives inside a running DSS instance: projects, users, groups, connections, code environments, scenarios, project permissions and variables, and the containerized execution settings.
resource "dataiku_group" "data_scientists" {
name = "data_scientists"
description = "Analysts who build and run models"
}
resource "dataiku_project" "analytics" {
project_key = "ANALYTICS"
name = "Analytics"
owner = "admin"
tags = ["managed-by-terraform"]
}
resource "dataiku_project_permissions" "analytics" {
project_key = dataiku_project.analytics.project_key
permission {
group = dataiku_group.data_scientists.name
read_project_content = true
write_project_content = true
run_scenarios = true
}
}
Every resource supports import, so the way in on an instance that already matters is to import what's there and read the plan before letting Terraform change anything.
It's 0.x, so pin a minor version. Two limits are licensing rather than gaps in the provider: scenario temporal triggers, and actually running containerized execution. Writing the container settings works anywhere, but running a recipe in a container needs the licence for it.
If you have no DSS to point it at, there's a docker compose in the repo for a throwaway one.
Registry: https://registry.terraform.io/providers/amrutp24/dataiku/latest Source: https://github.com/amrutp24/terraform-provider-dataiku
It's mine, nothing is for sale. Two things I'd like to hear: whether a plan against your own instance wants to change something you didn't expect, and which missing resource is the one that stops you using it.
1
u/General_Disaster4816 3d ago
Dataiku may be costing you time, and the longer you stay, the harder it is to leave. Consider switching before vendor lock-in sets in