{"id":22472980,"url":"https://github.com/truefoundry/terraform-azure-truefoundry-platform-features","last_synced_at":"2026-02-26T10:36:47.290Z","repository":{"id":227079421,"uuid":"765534446","full_name":"truefoundry/terraform-azure-truefoundry-platform-features","owner":"truefoundry","description":null,"archived":false,"fork":false,"pushed_at":"2025-12-31T11:57:00.000Z","size":55,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-02-13T08:05:10.365Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/truefoundry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-03-01T05:29:25.000Z","updated_at":"2025-12-31T11:57:04.000Z","dependencies_parsed_at":"2024-03-16T13:46:49.655Z","dependency_job_id":"d6accde4-7c84-41c2-86a0-27884416af09","html_url":"https://github.com/truefoundry/terraform-azure-truefoundry-platform-features","commit_stats":null,"previous_names":["truefoundry/terraform-azure-truefoundry-platform-features"],"tags_count":13,"template":false,"template_full_name":null,"purl":"pkg:github/truefoundry/terraform-azure-truefoundry-platform-features","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truefoundry%2Fterraform-azure-truefoundry-platform-features","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truefoundry%2Fterraform-azure-truefoundry-platform-features/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truefoundry%2Fterraform-azure-truefoundry-platform-features/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truefoundry%2Fterraform-azure-truefoundry-platform-features/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/truefoundry","download_url":"https://codeload.github.com/truefoundry/terraform-azure-truefoundry-platform-features/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/truefoundry%2Fterraform-azure-truefoundry-platform-features/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29856740,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-26T08:51:08.701Z","status":"ssl_error","status_checked_at":"2026-02-26T08:50:19.607Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-06T12:18:18.871Z","updated_at":"2026-02-26T10:36:47.280Z","avatar_url":"https://github.com/truefoundry.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# truefoundry-azure-platform-features\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 1.4 |\n| \u003ca name=\"requirement_azuread\"\u003e\u003c/a\u003e [azuread](#requirement\\_azuread) | ~\u003e 3.0 |\n| \u003ca name=\"requirement_azurerm\"\u003e\u003c/a\u003e [azurerm](#requirement\\_azurerm) | ~\u003e 3.107 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_azuread\"\u003e\u003c/a\u003e [azuread](#provider\\_azuread) | ~\u003e 3.0 |\n| \u003ca name=\"provider_azurerm\"\u003e\u003c/a\u003e [azurerm](#provider\\_azurerm) | ~\u003e 3.107 |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [azuread_application.truefoundry_platform_features_application](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/resources/application) | resource |\n| [azuread_service_principal.truefoundry_platform_features_service_principal](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/resources/service_principal) | resource |\n| [azuread_service_principal_password.truefoundry_platform_features_service_principal_password](https://registry.terraform.io/providers/hashicorp/azuread/latest/docs/resources/service_principal_password) | resource |\n| [azurerm_container_registry.truefoundry_container_registry](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/container_registry) | resource |\n| [azurerm_role_assignment.truefoundry_cluster_operator_role_assignment](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/role_assignment) | resource |\n| [azurerm_role_assignment.truefoundry_diagnostic_settings_read_role_assignment](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/role_assignment) | resource |\n| [azurerm_role_assignment.truefoundry_reader_role_assignment](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/role_assignment) | resource |\n| [azurerm_storage_account.truefoundry_platform_storage_account](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_account) | resource |\n| [azurerm_storage_container.truefoundry_platform_container](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_container) | resource |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_blob_container_enable_override\"\u003e\u003c/a\u003e [blob\\_container\\_enable\\_override](#input\\_blob\\_container\\_enable\\_override) | Enable overriding the name of container. This will only be used if feature\\_blob\\_storage\\_enabled is true. You need to pass container\\_override\\_name to pass the container name | `bool` | `false` | no |\n| \u003ca name=\"input_blob_container_override_name\"\u003e\u003c/a\u003e [blob\\_container\\_override\\_name](#input\\_blob\\_container\\_override\\_name) | Container name. Only used if container\\_enable\\_override is true | `string` | `\"\"` | no |\n| \u003ca name=\"input_blob_storage_account_account_tier\"\u003e\u003c/a\u003e [blob\\_storage\\_account\\_account\\_tier](#input\\_blob\\_storage\\_account\\_account\\_tier) | Account tier of the storage account | `string` | `\"Standard\"` | no |\n| \u003ca name=\"input_blob_storage_account_enable_override\"\u003e\u003c/a\u003e [blob\\_storage\\_account\\_enable\\_override](#input\\_blob\\_storage\\_account\\_enable\\_override) | Enable overriding the name of storage account. This will only be used if feature\\_blob\\_storage\\_enabled is true. You need to pass blob\\_storage\\_account\\_override\\_name to pass the storage account name | `bool` | `false` | no |\n| \u003ca name=\"input_blob_storage_account_exposed_headers\"\u003e\u003c/a\u003e [blob\\_storage\\_account\\_exposed\\_headers](#input\\_blob\\_storage\\_account\\_exposed\\_headers) | List of exposed headers for CORS origins of storage account | `list(string)` | \u003cpre\u003e[\u003cbr/\u003e  \"Etag\"\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_blob_storage_account_override_name\"\u003e\u003c/a\u003e [blob\\_storage\\_account\\_override\\_name](#input\\_blob\\_storage\\_account\\_override\\_name) | Storage account name. Only used if blob\\_storage\\_account\\_enable\\_override is true | `string` | `\"\"` | no |\n| \u003ca name=\"input_blob_storage_account_replication_type\"\u003e\u003c/a\u003e [blob\\_storage\\_account\\_replication\\_type](#input\\_blob\\_storage\\_account\\_replication\\_type) | Replication type of storage account | `string` | `\"GRS\"` | no |\n| \u003ca name=\"input_blob_storage_cors_allowed_headers\"\u003e\u003c/a\u003e [blob\\_storage\\_cors\\_allowed\\_headers](#input\\_blob\\_storage\\_cors\\_allowed\\_headers) | List of allowed headers for CORS of storage account | `list(string)` | \u003cpre\u003e[\u003cbr/\u003e  \"*\"\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_blob_storage_cors_allowed_maxage\"\u003e\u003c/a\u003e [blob\\_storage\\_cors\\_allowed\\_maxage](#input\\_blob\\_storage\\_cors\\_allowed\\_maxage) | List of allowed maxage for CORS of storage account | `number` | `3000` | no |\n| \u003ca name=\"input_blob_storage_cors_allowed_methods\"\u003e\u003c/a\u003e [blob\\_storage\\_cors\\_allowed\\_methods](#input\\_blob\\_storage\\_cors\\_allowed\\_methods) | List of allowed methods for CORS of storage account | `list(string)` | \u003cpre\u003e[\u003cbr/\u003e  \"GET\",\u003cbr/\u003e  \"POST\",\u003cbr/\u003e  \"PUT\"\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_blob_storage_cors_allowed_origins\"\u003e\u003c/a\u003e [blob\\_storage\\_cors\\_allowed\\_origins](#input\\_blob\\_storage\\_cors\\_allowed\\_origins) | List of allowed origin for CORS of storage account | `list(string)` | \u003cpre\u003e[\u003cbr/\u003e  \"*\"\u003cbr/\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_cluster_id\"\u003e\u003c/a\u003e [cluster\\_id](#input\\_cluster\\_id) | ID of the AKS cluster | `string` | n/a | yes |\n| \u003ca name=\"input_cluster_integration_azuread_application_enable_override\"\u003e\u003c/a\u003e [cluster\\_integration\\_azuread\\_application\\_enable\\_override](#input\\_cluster\\_integration\\_azuread\\_application\\_enable\\_override) | Enable overriding the name of azuread application. This will only be used if feature\\_cluster\\_integration\\_azuread\\_application\\_enabled is true. You need to pass cluster\\_integration\\_azuread\\_application\\_override\\_name to pass the azuread application name | `bool` | `false` | no |\n| \u003ca name=\"input_cluster_integration_azuread_application_override_name\"\u003e\u003c/a\u003e [cluster\\_integration\\_azuread\\_application\\_override\\_name](#input\\_cluster\\_integration\\_azuread\\_application\\_override\\_name) | Azuread application name. Only used if cluster\\_integration\\_azuread\\_application\\_enable\\_override is true | `string` | `\"\"` | no |\n| \u003ca name=\"input_cluster_integration_cluster_operator_role\"\u003e\u003c/a\u003e [cluster\\_integration\\_cluster\\_operator\\_role](#input\\_cluster\\_integration\\_cluster\\_operator\\_role) | Role that will be assigned to the service principal on AKS cluster for cluster operator | `string` | `\"Azure Kubernetes Service Contributor Role\"` | no |\n| \u003ca name=\"input_cluster_integration_diagnostic_settings_role\"\u003e\u003c/a\u003e [cluster\\_integration\\_diagnostic\\_settings\\_role](#input\\_cluster\\_integration\\_diagnostic\\_settings\\_role) | Role that will be assigned to the service principal on AKS cluster for diagnostic settings | `string` | `\"Monitoring Reader\"` | no |\n| \u003ca name=\"input_cluster_integration_service_principal_password_expiry_end_date\"\u003e\u003c/a\u003e [cluster\\_integration\\_service\\_principal\\_password\\_expiry\\_end\\_date](#input\\_cluster\\_integration\\_service\\_principal\\_password\\_expiry\\_end\\_date) | End date post which service principal password would expire | `string` | `\"2124-02-12T09:42:53Z\"` | no |\n| \u003ca name=\"input_cluster_integration_service_principal_role\"\u003e\u003c/a\u003e [cluster\\_integration\\_service\\_principal\\_role](#input\\_cluster\\_integration\\_service\\_principal\\_role) | Role that will be assigned to the service principal on AKS cluster | `string` | `\"Reader\"` | no |\n| \u003ca name=\"input_cluster_integration_sign_in_audience\"\u003e\u003c/a\u003e [cluster\\_integration\\_sign\\_in\\_audience](#input\\_cluster\\_integration\\_sign\\_in\\_audience) | sign\\_in\\_audience of the cluster integration | `string` | `\"AzureADMyOrg\"` | no |\n| \u003ca name=\"input_cluster_name\"\u003e\u003c/a\u003e [cluster\\_name](#input\\_cluster\\_name) | Name of the AKS cluster | `string` | n/a | yes |\n| \u003ca name=\"input_container_registry_admin_enabled\"\u003e\u003c/a\u003e [container\\_registry\\_admin\\_enabled](#input\\_container\\_registry\\_admin\\_enabled) | Enable admin for the docker registry | `bool` | `true` | no |\n| \u003ca name=\"input_container_registry_enable_override\"\u003e\u003c/a\u003e [container\\_registry\\_enable\\_override](#input\\_container\\_registry\\_enable\\_override) | Enable overriding the name of container registry. This will only be used if feature\\_container\\_registry\\_enabled is true. You need to pass container\\_registry\\_override\\_name to pass the container registry name | `bool` | `false` | no |\n| \u003ca name=\"input_container_registry_override_name\"\u003e\u003c/a\u003e [container\\_registry\\_override\\_name](#input\\_container\\_registry\\_override\\_name) | Container registry name. Only used if container\\_registry\\_enable\\_override is true | `string` | `\"\"` | no |\n| \u003ca name=\"input_container_registry_public_network_access_enabled\"\u003e\u003c/a\u003e [container\\_registry\\_public\\_network\\_access\\_enabled](#input\\_container\\_registry\\_public\\_network\\_access\\_enabled) | Whether public network access is allowed for the container registry | `bool` | `true` | no |\n| \u003ca name=\"input_container_registry_sku\"\u003e\u003c/a\u003e [container\\_registry\\_sku](#input\\_container\\_registry\\_sku) | SKU of the docker registry | `string` | `\"Standard\"` | no |\n| \u003ca name=\"input_feature_blob_storage_enabled\"\u003e\u003c/a\u003e [feature\\_blob\\_storage\\_enabled](#input\\_feature\\_blob\\_storage\\_enabled) | Enable blob storage feature in the platform | `bool` | `true` | no |\n| \u003ca name=\"input_feature_cluster_integration_enabled\"\u003e\u003c/a\u003e [feature\\_cluster\\_integration\\_enabled](#input\\_feature\\_cluster\\_integration\\_enabled) | Enable the support of cluster integration | `bool` | `true` | no |\n| \u003ca name=\"input_feature_container_registry_enabled\"\u003e\u003c/a\u003e [feature\\_container\\_registry\\_enabled](#input\\_feature\\_container\\_registry\\_enabled) | Enable docker registry feature in the platform | `bool` | `true` | no |\n| \u003ca name=\"input_location\"\u003e\u003c/a\u003e [location](#input\\_location) | Location of the storage account and container registry. This should be kept similar to resource group for ideal performance. | `string` | n/a | yes |\n| \u003ca name=\"input_resource_group_name\"\u003e\u003c/a\u003e [resource\\_group\\_name](#input\\_resource\\_group\\_name) | Name of the resource group | `string` | n/a | yes |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | A map of tags to add to all resources | `map(string)` | `{}` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_truefoundry_blob_container_id\"\u003e\u003c/a\u003e [truefoundry\\_blob\\_container\\_id](#output\\_truefoundry\\_blob\\_container\\_id) | Storage account container ID |\n| \u003ca name=\"output_truefoundry_blob_storage_account_enabled\"\u003e\u003c/a\u003e [truefoundry\\_blob\\_storage\\_account\\_enabled](#output\\_truefoundry\\_blob\\_storage\\_account\\_enabled) | Flag to enable blob storage account |\n| \u003ca name=\"output_truefoundry_blob_storage_account_id\"\u003e\u003c/a\u003e [truefoundry\\_blob\\_storage\\_account\\_id](#output\\_truefoundry\\_blob\\_storage\\_account\\_id) | Storage account id |\n| \u003ca name=\"output_truefoundry_blob_storage_account_primary_blob_host\"\u003e\u003c/a\u003e [truefoundry\\_blob\\_storage\\_account\\_primary\\_blob\\_host](#output\\_truefoundry\\_blob\\_storage\\_account\\_primary\\_blob\\_host) | Storage account primary blob host |\n| \u003ca name=\"output_truefoundry_blob_storage_account_primary_connection_string\"\u003e\u003c/a\u003e [truefoundry\\_blob\\_storage\\_account\\_primary\\_connection\\_string](#output\\_truefoundry\\_blob\\_storage\\_account\\_primary\\_connection\\_string) | Storage account primary connection string |\n| \u003ca name=\"output_truefoundry_blob_storage_account_primary_location\"\u003e\u003c/a\u003e [truefoundry\\_blob\\_storage\\_account\\_primary\\_location](#output\\_truefoundry\\_blob\\_storage\\_account\\_primary\\_location) | Storage account primary location |\n| \u003ca name=\"output_truefoundry_blob_storage_account_primary_web_host\"\u003e\u003c/a\u003e [truefoundry\\_blob\\_storage\\_account\\_primary\\_web\\_host](#output\\_truefoundry\\_blob\\_storage\\_account\\_primary\\_web\\_host) | Storage account primary web host url |\n| \u003ca name=\"output_truefoundry_blob_storage_root_url\"\u003e\u003c/a\u003e [truefoundry\\_blob\\_storage\\_root\\_url](#output\\_truefoundry\\_blob\\_storage\\_root\\_url) | Storage account root URL for blob storage |\n| \u003ca name=\"output_truefoundry_cluster_integrations_azuread_application_client_id\"\u003e\u003c/a\u003e [truefoundry\\_cluster\\_integrations\\_azuread\\_application\\_client\\_id](#output\\_truefoundry\\_cluster\\_integrations\\_azuread\\_application\\_client\\_id) | Azure AD application client ID |\n| \u003ca name=\"output_truefoundry_cluster_integrations_azuread_application_id\"\u003e\u003c/a\u003e [truefoundry\\_cluster\\_integrations\\_azuread\\_application\\_id](#output\\_truefoundry\\_cluster\\_integrations\\_azuread\\_application\\_id) | Azure AD application ID |\n| \u003ca name=\"output_truefoundry_cluster_integrations_azuread_application_name\"\u003e\u003c/a\u003e [truefoundry\\_cluster\\_integrations\\_azuread\\_application\\_name](#output\\_truefoundry\\_cluster\\_integrations\\_azuread\\_application\\_name) | n/a |\n| \u003ca name=\"output_truefoundry_cluster_integrations_enabled\"\u003e\u003c/a\u003e [truefoundry\\_cluster\\_integrations\\_enabled](#output\\_truefoundry\\_cluster\\_integrations\\_enabled) | Flag to enable cluster integrations |\n| \u003ca name=\"output_truefoundry_cluster_integrations_service_principal_name\"\u003e\u003c/a\u003e [truefoundry\\_cluster\\_integrations\\_service\\_principal\\_name](#output\\_truefoundry\\_cluster\\_integrations\\_service\\_principal\\_name) | n/a |\n| \u003ca name=\"output_truefoundry_cluster_integrations_service_principal_password\"\u003e\u003c/a\u003e [truefoundry\\_cluster\\_integrations\\_service\\_principal\\_password](#output\\_truefoundry\\_cluster\\_integrations\\_service\\_principal\\_password) | n/a |\n| \u003ca name=\"output_truefoundry_cluster_integrations_service_principal_tenant_id\"\u003e\u003c/a\u003e [truefoundry\\_cluster\\_integrations\\_service\\_principal\\_tenant\\_id](#output\\_truefoundry\\_cluster\\_integrations\\_service\\_principal\\_tenant\\_id) | n/a |\n| \u003ca name=\"output_truefoundry_container_registry_admin_password\"\u003e\u003c/a\u003e [truefoundry\\_container\\_registry\\_admin\\_password](#output\\_truefoundry\\_container\\_registry\\_admin\\_password) | Container registry admin password |\n| \u003ca name=\"output_truefoundry_container_registry_admin_username\"\u003e\u003c/a\u003e [truefoundry\\_container\\_registry\\_admin\\_username](#output\\_truefoundry\\_container\\_registry\\_admin\\_username) | Container registry admin username |\n| \u003ca name=\"output_truefoundry_container_registry_enabled\"\u003e\u003c/a\u003e [truefoundry\\_container\\_registry\\_enabled](#output\\_truefoundry\\_container\\_registry\\_enabled) | Flag to enable container registry |\n| \u003ca name=\"output_truefoundry_container_registry_id\"\u003e\u003c/a\u003e [truefoundry\\_container\\_registry\\_id](#output\\_truefoundry\\_container\\_registry\\_id) | Container registry ID |\n| \u003ca name=\"output_truefoundry_container_registry_login_server\"\u003e\u003c/a\u003e [truefoundry\\_container\\_registry\\_login\\_server](#output\\_truefoundry\\_container\\_registry\\_login\\_server) | Container registry login server url |\n\u003c!-- END_TF_DOCS --\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruefoundry%2Fterraform-azure-truefoundry-platform-features","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftruefoundry%2Fterraform-azure-truefoundry-platform-features","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruefoundry%2Fterraform-azure-truefoundry-platform-features/lists"}