{"id":37789496,"url":"https://github.com/spectrocloud/terraform-spectrocloud-modules","last_synced_at":"2026-01-16T15:15:33.983Z","repository":{"id":38764016,"uuid":"413607826","full_name":"spectrocloud/terraform-spectrocloud-modules","owner":"spectrocloud","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-19T07:16:54.000Z","size":291,"stargazers_count":5,"open_issues_count":0,"forks_count":6,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-03-19T08:25:28.881Z","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":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spectrocloud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2021-10-04T23:03:22.000Z","updated_at":"2025-03-19T07:16:57.000Z","dependencies_parsed_at":"2025-01-24T13:23:45.227Z","dependency_job_id":"4ea8ad37-bb8e-4475-aa49-304124108749","html_url":"https://github.com/spectrocloud/terraform-spectrocloud-modules","commit_stats":null,"previous_names":[],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/spectrocloud/terraform-spectrocloud-modules","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spectrocloud%2Fterraform-spectrocloud-modules","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spectrocloud%2Fterraform-spectrocloud-modules/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spectrocloud%2Fterraform-spectrocloud-modules/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spectrocloud%2Fterraform-spectrocloud-modules/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spectrocloud","download_url":"https://codeload.github.com/spectrocloud/terraform-spectrocloud-modules/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spectrocloud%2Fterraform-spectrocloud-modules/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479406,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"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":"2026-01-16T15:15:33.899Z","updated_at":"2026-01-16T15:15:33.969Z","avatar_url":"https://github.com/spectrocloud.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spectrocloud Terraform Modules. ####\n\nSpectro Cloud module is a container for all Palette resources that are used together. \nYou can use modules to create lightweight abstractions, using yaml files translated into Terraform.\n\n## Disclaimer\n\nThis repository serves as a demonstration for utilizing the SpectroCloud Terraform Provider to create resources using YAML as a source. \nSpectroCloud does not actively maintain or provide modules support for all active Spectrocloud Terraform Provider releases/features.\n\nThis repository can be forked and customized to meet your specific requirements.\n\n# Module structure. ####\nCreate yaml files such as: ```cluster.yaml```, ```profile.yaml```, ```main.tf``` and others describing the cloud resources and module configuration. [More examples could be found here](https://github.com/spectrocloud/terraform-spectrocloud-modules/tree/main/examples).\n\n### The list of Spectro Cloud module supported cloud types are:\n* EKS\n* AKS\n* VMware \n* Edge\n\n### Additional Spectro Cloud resources supported:\n* cloud accounts for supported cloud types\n* alerts\n* cluster profiles\n* addon deployments\n* appliances\n* backup storage locations\n* registries\n* projects\n* teams\n* macros\n* application profiles\n \n#### 1. Users can provision multiple resources from different modules and define and set as many parameters as required with unique names (duplicate names are not recommended).\n\u003cpre\u003e\nmodule \"SpectroAcc\" {\n\naccounts = {\nfor k in fileset(\"config/account\", \"account-*.yaml\") :\ntrimsuffix(k, \".yaml\") =\u003e yamldecode(templatefile(\"config/account/${k}\", local.accounts_params))\n}\n}\n\nmodule \"SpectroOrg\" {\n\nprofiles = {\nfor k in fileset(\"config/profile\", \"profile-*.yaml\") :\ntrimsuffix(k, \".yaml\") =\u003e yamldecode(templatefile(\"config/profile/${k}\", local.profile_params))\n}\n}\n\nmodule \"SpectroProject\" {\n\nclusters = {\nfor k in fileset(\"config/cluster\", \"cluster-*.yaml\") :\ntrimsuffix(k, \".yaml\") =\u003e yamldecode(templatefile(\"config/cluster/${k}\", local.project_params))\n}\n\u003c/pre\u003e\n\n\u003cpre\u003e\n1. Provision cloud accounts:\u003cbr\u003e\n   terraform apply -target module.SpectroAcc.spectrocloud_cloudaccount_aws.account\n\n2. Provision profiles:\u003cbr\u003e\n   terraform apply -target module.SpectroOrg.spectrocloud_cluster_profile.profile_resource\n\n3. Provision clusters:\u003cbr\u003e\n   terraform apply -target module.SpectroProject.spectrocloud_cluster_eks.this\n\n4. Provision addon deployments:\u003cbr\u003e\n   terraform apply -target module.SpectroProject.spectrocloud_addon_deployment.this\n\u003c/pre\u003e\n\n#### 2. Use reverse commands order to de-provision resources:\n\u003cpre\u003e\n1. terraform destroy -target module.SpectroProject.spectrocloud_addon_deployment.this\n2. terraform destroy -target module.SpectroProject.spectrocloud_cluster_eks.this\n3. terraform destroy -target module.SpectroOrg.spectrocloud_cluster_profile.profile_resource\n4. terraform destroy -target module.SpectroAcc.spectrocloud_cloudaccount_aws.account\n\u003c/pre\u003e\n\n\n\n# Module Resources \u0026 Requirements\n\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_spectrocloud\"\u003e\u003c/a\u003e [spectrocloud](#requirement\\_spectrocloud) | ~\u003e 0.11.0 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_spectrocloud\"\u003e\u003c/a\u003e [spectrocloud](#provider\\_spectrocloud) | ~\u003e 0.11.0 |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [spectrocloud_addon_deployment.this](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/addon_deployment) | resource |\n| [spectrocloud_alert.cluster_health_alerts](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/alert) | resource |\n| [spectrocloud_appliance.appliance](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/appliance) | resource |\n| [spectrocloud_application.app_deployment](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/application) | resource |\n| [spectrocloud_application_profile.app_profile](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/application_profile) | resource |\n| [spectrocloud_backup_storage_location.bsl](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/backup_storage_location) | resource |\n| [spectrocloud_cloudaccount_aws.account](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/cloudaccount_aws) | resource |\n| [spectrocloud_cloudaccount_tencent.account](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/cloudaccount_tencent) | resource |\n| [spectrocloud_cluster_edge.this](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/cluster_edge) | resource |\n| [spectrocloud_cluster_edge_vsphere.this](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/cluster_edge_vsphere) | resource |\n| [spectrocloud_cluster_eks.this](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/cluster_eks) | resource |\n| [spectrocloud_cluster_group.clustergroup](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/cluster_group) | resource |\n| [spectrocloud_cluster_libvirt.this](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/cluster_libvirt) | resource |\n| [spectrocloud_cluster_profile.profile_resource](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/cluster_profile) | resource |\n| [spectrocloud_cluster_profile_import.import](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/cluster_profile_import) | resource |\n| [spectrocloud_cluster_tke.this](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/cluster_tke) | resource |\n| [spectrocloud_cluster_vsphere.this](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/cluster_vsphere) | resource |\n| [spectrocloud_macro.macro](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/macro) | resource |\n| [spectrocloud_project.project](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/project) | resource |\n| [spectrocloud_registry_helm.helm_registry](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/registry_helm) | resource |\n| [spectrocloud_registry_oci.oci_registry](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/registry_oci) | resource |\n| [spectrocloud_team.project_team](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/team) | resource |\n| [spectrocloud_virtual_cluster.virtual_cluster](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/resources/virtual_cluster) | resource |\n| [spectrocloud_appliance.this](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/appliance) | data source |\n| [spectrocloud_application_profile.app_profile](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/application_profile) | data source |\n| [spectrocloud_backup_storage_location.this](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/backup_storage_location) | data source |\n| [spectrocloud_cloudaccount_aws.this](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/cloudaccount_aws) | data source |\n| [spectrocloud_cloudaccount_tencent.this](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/cloudaccount_tencent) | data source |\n| [spectrocloud_cloudaccount_vsphere.this](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/cloudaccount_vsphere) | data source |\n| [spectrocloud_cluster.cluster_gps](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/cluster) | data source |\n| [spectrocloud_cluster.clusters](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/cluster) | data source |\n| [spectrocloud_cluster.deployment_cluster](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/cluster) | data source |\n| [spectrocloud_cluster.host_cluster](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/cluster) | data source |\n| [spectrocloud_cluster_group.cluster_group](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/cluster_group) | data source |\n| [spectrocloud_cluster_group.vir_cluster_group](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/cluster_group) | data source |\n| [spectrocloud_cluster_profile.this](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/cluster_profile) | data source |\n| [spectrocloud_pack.data_packs](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack) | data source |\n| [spectrocloud_pack_simple.app_source_tiers](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/pack_simple) | data source |\n| [spectrocloud_registry.all_registries](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/registry) | data source |\n| [spectrocloud_registry.app_registries](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/registry) | data source |\n| [spectrocloud_role.data_roles](https://registry.terraform.io/providers/spectrocloud/spectrocloud/latest/docs/data-sources/role) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_accounts\"\u003e\u003c/a\u003e [accounts](#input\\_accounts) | n/a | `map(any)` | `{}` | no |\n| \u003ca name=\"input_alerts\"\u003e\u003c/a\u003e [alerts](#input\\_alerts) | n/a | `any` | `{}` | no |\n| \u003ca name=\"input_appliances\"\u003e\u003c/a\u003e [appliances](#input\\_appliances) | n/a | `map(any)` | `{}` | no |\n| \u003ca name=\"input_application_deployments\"\u003e\u003c/a\u003e [application\\_deployments](#input\\_application\\_deployments) | n/a | `any` | `{}` | no |\n| \u003ca name=\"input_application_profiles\"\u003e\u003c/a\u003e [application\\_profiles](#input\\_application\\_profiles) | n/a | `any` | `{}` | no |\n| \u003ca name=\"input_bsls\"\u003e\u003c/a\u003e [bsls](#input\\_bsls) | n/a | `map(any)` | `{}` | no |\n| \u003ca name=\"input_cluster_groups\"\u003e\u003c/a\u003e [cluster\\_groups](#input\\_cluster\\_groups) | n/a | `any` | `{}` | no |\n| \u003ca name=\"input_cluster_profile_imports\"\u003e\u003c/a\u003e [cluster\\_profile\\_imports](#input\\_cluster\\_profile\\_imports) | n/a | `list(string)` | `[]` | no |\n| \u003ca name=\"input_cluster_profile_imports_context\"\u003e\u003c/a\u003e [cluster\\_profile\\_imports\\_context](#input\\_cluster\\_profile\\_imports\\_context) | n/a | `string` | `\"project\"` | no |\n| \u003ca name=\"input_clusters\"\u003e\u003c/a\u003e [clusters](#input\\_clusters) | n/a | `map` | `{}` | no |\n| \u003ca name=\"input_macros\"\u003e\u003c/a\u003e [macros](#input\\_macros) | n/a | `map(any)` | `{}` | no |\n| \u003ca name=\"input_profiles\"\u003e\u003c/a\u003e [profiles](#input\\_profiles) | n/a | `map` | `{}` | no |\n| \u003ca name=\"input_projects\"\u003e\u003c/a\u003e [projects](#input\\_projects) | n/a | `map(any)` | `{}` | no |\n| \u003ca name=\"input_registries\"\u003e\u003c/a\u003e [registries](#input\\_registries) | n/a | `map(any)` | `{}` | no |\n| \u003ca name=\"input_teams\"\u003e\u003c/a\u003e [teams](#input\\_teams) | n/a | `map(any)` | `{}` | no |\n| \u003ca name=\"input_virtual_clusters\"\u003e\u003c/a\u003e [virtual\\_clusters](#input\\_virtual\\_clusters) | n/a | `any` | `{}` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_debug\"\u003e\u003c/a\u003e [debug](#output\\_debug) | n/a |\n| \u003ca name=\"output_debug_addon_pack_manifests\"\u003e\u003c/a\u003e [debug\\_addon\\_pack\\_manifests](#output\\_debug\\_addon\\_pack\\_manifests) | n/a |\n| \u003ca name=\"output_debug_aws_accounts\"\u003e\u003c/a\u003e [debug\\_aws\\_accounts](#output\\_debug\\_aws\\_accounts) | n/a |\n| \u003ca name=\"output_debug_cluster_infra_profiles_map\"\u003e\u003c/a\u003e [debug\\_cluster\\_infra\\_profiles\\_map](#output\\_debug\\_cluster\\_infra\\_profiles\\_map) | n/a |\n| \u003ca name=\"output_debug_cluster_profile_pack_map\"\u003e\u003c/a\u003e [debug\\_cluster\\_profile\\_pack\\_map](#output\\_debug\\_cluster\\_profile\\_pack\\_map) | not addon specific |\n| \u003ca name=\"output_debug_cluster_system_profiles_map\"\u003e\u003c/a\u003e [debug\\_cluster\\_system\\_profiles\\_map](#output\\_debug\\_cluster\\_system\\_profiles\\_map) | n/a |\n| \u003ca name=\"output_debug_libvirt_system\"\u003e\u003c/a\u003e [debug\\_libvirt\\_system](#output\\_debug\\_libvirt\\_system) | n/a |\n| \u003ca name=\"output_debug_system_pack_manifests\"\u003e\u003c/a\u003e [debug\\_system\\_pack\\_manifests](#output\\_debug\\_system\\_pack\\_manifests) | n/a |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspectrocloud%2Fterraform-spectrocloud-modules","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspectrocloud%2Fterraform-spectrocloud-modules","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspectrocloud%2Fterraform-spectrocloud-modules/lists"}