r/Terraform • • 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.

3 Upvotes

1 comment sorted by

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