{"ref":"artifact:sap-samples-joule-studio-setup-terraform","page":"/artifacts/sap-samples-joule-studio-setup-terraform","json":"/artifacts/sap-samples-joule-studio-setup-terraform.json","generated":"2026-10-29","drafted_with_ai":true,"entity":{"id":"sap-samples-joule-studio-setup-terraform","name":"joule-studio-setup-terraform","artifact_type":"sample","ecosystem":"btp","domain":"operations-and-runtime","origin_ring":"sap-official","use_as":"starting-point","description":{"one_line":"A [Terraform](external:terraform) template that provisions an SAP BTP subaccount preconfigured for Joule Studio, with identity provider trust, a Cloud Foundry space, subscriptions and role collections.","short":"Terraform template for a BTP subaccount set up for Joule Studio","what_it_solves":"Provisions a subaccount with trust to a custom identity provider, a Cloud Foundry environment with an org and a `dev` space, and subscriptions and role collections for SAP Build Process Automation, Joule Studio and SAP Build Work Zone. Five Terraform files carry it: the provider configuration, the input variables and their values, the subaccount with its subdomain sanitization logic, and `services.tf`, which holds the entitlements and subscriptions. It needs an existing BTP global account with [SAP Cloud Identity Services](artifact:btp-cloud-identity-services), the Joule and Build Process Automation entitlements already granted, and BTP credentials stored as [GitHub](external:github) Actions secrets before its Terraform Deploy workflow can run. It stops short of creating a Joule Formation, which the README says cannot be automated via Terraform yet and has to be done afterwards with the Joule booster."},"links":{"repo":"https://github.com/SAP-samples/joule-studio-setup-terraform"},"identity":{"license":"Apache-2.0"},"source_available":true,"type_properties":{"form":{"value":"template","sources":[{"url":"https://github.com/SAP-samples/joule-studio-setup-terraform","title":"SAP-samples/joule-studio-setup-terraform — README, Requirements","checked":"2026-10-19","quote":"Before using this template, ensure you have:"}]}},"requires":[{"ref":"external:terraform","for":"the tool that applies the scripts; the repository is Terraform configuration, run through its own Terraform Deploy workflow.","sources":[{"url":"https://github.com/SAP-samples/joule-studio-setup-terraform","title":"SAP-samples/joule-studio-setup-terraform — README, Description","checked":"2026-10-19","quote":"This repository contains Terraform scripts to setup an SAP BTP subaccount using the SAP BTP Terraform provider for Joule Studio"}]},{"ref":"artifact:sap-terraform-provider-btp","for":"the provider the scripts configure and create the subaccount, entitlements and subscriptions through.","sources":[{"url":"https://github.com/SAP-samples/joule-studio-setup-terraform","title":"SAP-samples/joule-studio-setup-terraform — README, Description","checked":"2026-10-19","quote":"This repository contains Terraform scripts to setup an SAP BTP subaccount using the SAP BTP Terraform provider for Joule Studio"}]},{"ref":"artifact:btp-cloud-identity-services","for":"the custom identity provider the new subaccount's trust configuration points at; listed among the requirements as an IAS tenant for the global account.","sources":[{"url":"https://github.com/SAP-samples/joule-studio-setup-terraform","title":"SAP-samples/joule-studio-setup-terraform — README, Requirements","checked":"2026-10-19","quote":"| **SAP Cloud Identity Services** | IAS tenant for your global account |"}]},{"ref":"external:github","for":"where the template is copied and run: the repository secrets and variables hold the BTP credentials and the subaccount name and region, and the Terraform Deploy workflow runs in Actions.","sources":[{"url":"https://github.com/SAP-samples/joule-studio-setup-terraform","title":"SAP-samples/joule-studio-setup-terraform — README, Setup and Configuration","checked":"2026-10-19","quote":"By storing them as GitHub variables, they can be modified without changing the Terraform scripts(.tf files)."}]}],"demonstrates":["capability:account-provisioning"],"maintainers":["actor:sap-samples"],"drafted_with_ai":true,"provenance":{"discovered_via":[{"source":"source:curator"}],"first_seen":"2026-09-14"},"contributors":["actor:neelamegams"]},"effective_normative_relations":[],"readings":{"liveness":[{"label":"Maintenance","tier":"unknown","evidence":"no release data"},{"label":"Continuity","tier":"good","evidence":"3 contributors, org-owned"},{"label":"Repository","tier":"good","evidence":"pushed 2026-05, not archived"}],"compatibility":[{"label":"Declared for","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Survived majors","tier":"unknown","evidence":"no BTP release lines in the atlas"},{"label":"Maintainer's CI","tier":"fair","evidence":"workflows present, no completed run on the default branch"}],"practice":[{"label":"Tests","tier":"fair","evidence":"none found in the tree"},{"label":"Docs","tier":"good","evidence":"README 7 KB"},{"label":"Changelog","tier":"fair","evidence":"none in the repo"}],"reach":[{"value":null,"unit":"installs/week"},{"value":2,"unit":"watching"}]},"signals":{"crawled_at":"2026-10-28","npm":"not published under this name","stars":2,"forks":0,"open_issues":1,"archived":false,"pushed_at":"2026-05-27","license_spdx":"Apache-2.0","org_owned":true,"default_branch":"main","created_at":"2026-03-30T06:34:53Z","open_prs":0,"tree_truncated":false,"test_files":0,"workflows":1,"other_ci":false,"readme_bytes":6677,"docs_files":0,"changelog":false,"license_file":true,"dts_files":0,"first_commit":"2026-03-30","last_commit":"2026-05-27","commits":8,"contributors":3,"readme_path":"README.md","readme_sha":"19381550ae605a6d131bc1fe461dcb143638575d","repo_read":"2026-10-28"},"edges":{"maintainers":[{"ref":"actor:sap-samples","name":"SAP Samples","json":"/actors/sap-samples.json"}],"contributors":[{"ref":"actor:neelamegams","name":"Shrinivasan Neelamegam","json":"/actors/neelamegams.json"}],"explained_by":[],"alternative_to_this":[],"needed_by":[],"available_via":[],"parts":[],"add_ons":[],"answered_through_parts":[]}}