{"id":35133259,"url":"https://github.com/artifactsystems/terraform-huawei-css","last_synced_at":"2026-04-15T13:31:21.968Z","repository":{"id":328946397,"uuid":"1114691024","full_name":"artifactsystems/terraform-huawei-css","owner":"artifactsystems","description":"Terraform module to create Huawei CSS resources","archived":false,"fork":false,"pushed_at":"2026-03-13T18:28:59.000Z","size":40,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-14T06:57:07.179Z","etag":null,"topics":["cloud-search-service","css","elasticsearch","huaweicloud","huaweicloud-css","opensearch","terraform","terraform-module"],"latest_commit_sha":null,"homepage":"","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/artifactsystems.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","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":"2025-12-11T18:36:52.000Z","updated_at":"2026-03-13T18:28:55.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/artifactsystems/terraform-huawei-css","commit_stats":null,"previous_names":["artifactsystems/terraform-huawei-css"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/artifactsystems/terraform-huawei-css","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artifactsystems%2Fterraform-huawei-css","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artifactsystems%2Fterraform-huawei-css/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artifactsystems%2Fterraform-huawei-css/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artifactsystems%2Fterraform-huawei-css/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artifactsystems","download_url":"https://codeload.github.com/artifactsystems/terraform-huawei-css/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artifactsystems%2Fterraform-huawei-css/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31842842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T13:28:40.153Z","status":"ssl_error","status_checked_at":"2026-04-15T13:28:29.396Z","response_time":63,"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":["cloud-search-service","css","elasticsearch","huaweicloud","huaweicloud-css","opensearch","terraform","terraform-module"],"created_at":"2025-12-28T07:33:21.675Z","updated_at":"2026-04-15T13:31:21.961Z","avatar_url":"https://github.com/artifactsystems.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HuaweiCloud CSS Terraform Module\n\nTerraform module which creates CSS (Cloud Search Service) resources on HuaweiCloud.\n\n## Usage\n\n```hcl\nmodule \"css_cluster\" {\n  source = \"github.com/artifactsystems/terraform-huawei-css?ref=v1.0.0\"\n\n  name           = \"my-elasticsearch-cluster\"\n  engine_type    = \"elasticsearch\"\n  engine_version = \"7.10.2\"\n\n  ess_node_config = {\n    flavor          = \"ess.spec-4u8g\"\n    instance_number = 3\n    volume = {\n      volume_type = \"HIGH\"\n      size        = 100\n    }\n  }\n\n  availability_zone = \"tr-west-1a\"\n  vpc_id            = \"your-vpc-id\"\n  subnet_id         = \"your-subnet-id\"\n  security_group_id = \"your-security-group-id\"\n\n  tags = {\n    Terraform   = \"true\"\n    Environment = \"dev\"\n  }\n}\n```\n\n## Features\n\nThis module supports the following CSS features:\n\n### Core Features\n- ✅ **CSS Cluster**: Create and manage Elasticsearch/OpenSearch clusters\n- ✅ **Multiple Engine Types**: Support for both Elasticsearch (7.6.2, 7.9.3, 7.10.2) and OpenSearch (1.3.6, 2.3.0)\n- ✅ **Multi-Node Architecture**: Configure ESS (data), master, client, and cold data nodes\n- ✅ **Security Mode**: Enable authentication with username/password\n- ✅ **HTTPS Support**: Encrypted cluster connections\n- ✅ **Log Management**: Configure log storage in OBS buckets with automated backup\n\n### Node Configuration\n- ✅ **ESS (Data) Nodes**: Primary data storage nodes with configurable flavor, count, and volume\n- ✅ **Master Nodes**: Dedicated master nodes for cluster management\n- ✅ **Client Nodes**: Dedicated client nodes for query coordination\n- ✅ **Cold Data Nodes**: Cost-effective storage for infrequently accessed data\n\n### Backup \u0026 Recovery\n- ✅ **Backup Strategy**: Automated backup with configurable schedule, retention, and OBS storage\n- ✅ **Snapshot Management**: Store backups in OBS buckets with custom prefixes and paths\n\n### Network \u0026 Access\n- ✅ **Public Access**: Internet access with bandwidth control and IP whitelist\n- ✅ **Kibana Public Access**: Separate public access for Kibana dashboard\n- ✅ **VPC Endpoint**: Private endpoint service for secure VPC connectivity\n\n### Cluster Configuration\n- ✅ **CORS Settings**: Cross-origin resource sharing configuration\n- ✅ **Performance Tuning**: Query cache size, thread pool configuration\n- ✅ **Reindex Whitelist**: Remote cluster whitelist for data migration\n\n### Enterprise \u0026 Billing\n- ✅ **Enterprise Project Integration**: Support for HuaweiCloud Enterprise Projects\n- ✅ **Flexible Billing**: Pay-per-use (postPaid) or subscription (prePaid) modes\n- ✅ **Auto Renewal**: Automatic subscription renewal for prePaid instances\n- ✅ **Tag Management**: Comprehensive tagging support for all resources\n\n## Examples\n\n- [basic](./examples/basic) - Basic Elasticsearch cluster with single data node\n- [complete](./examples/complete) - Complete cluster with security mode, HTTPS, master nodes, backup strategy, and performance tuning\n\n## Node Architecture\n\nThe module supports four types of nodes for building production-ready clusters:\n\n### ESS (Data) Nodes\nPrimary nodes that store data and handle indexing/search operations. Required for all clusters.\n\n```hcl\ness_node_config = {\n  flavor          = \"ess.spec-4u8g\"\n  instance_number = 3\n  volume = {\n    volume_type = \"HIGH\"  # HIGH or ULTRAHIGH\n    size        = 100     # GB\n  }\n}\n```\n\n### Master Nodes (Optional)\nDedicated nodes for cluster management in production environments.\n\n```hcl\nmaster_node_config = {\n  flavor          = \"ess.spec-4u8g\"\n  instance_number = 3  # Always use odd numbers (3, 5, 7)\n  volume = {\n    volume_type = \"HIGH\"\n    size        = 40\n  }\n}\n```\n\n### Client Nodes (Optional)\nCoordinate queries and aggregate results from data nodes.\n\n```hcl\nclient_node_config = {\n  flavor          = \"ess.spec-4u8g\"\n  instance_number = 2\n  volume = {\n    volume_type = \"HIGH\"\n    size        = 40\n  }\n}\n```\n\n### Cold Data Nodes (Optional)\nCost-effective storage for historical or infrequently accessed data.\n\n```hcl\ncold_node_config = {\n  flavor          = \"ess.spec-4u8g\"\n  instance_number = 2\n  volume = {\n    volume_type = \"HIGH\"\n    size        = 500\n  }\n}\n```\n\n## Security Configuration\n\n### Enable Security Mode with HTTPS\n\n```hcl\nmodule \"css_cluster\" {\n  source = \"github.com/artifactsystems/terraform-huawei-css?ref=v1.0.0\"\n\n  name           = \"secure-cluster\"\n  engine_version = \"7.10.2\"\n\n  security_mode = true\n  password      = \"YourSecurePassword@123\"\n  https_enabled = true\n\n  # ... other configuration\n}\n```\n\n## Backup Configuration\n\n```hcl\nmodule \"css_cluster\" {\n  source = \"github.com/artifactsystems/terraform-huawei-css?ref=v1.0.0\"\n\n  name           = \"backup-enabled-cluster\"\n  engine_version = \"7.10.2\"\n\n  backup_strategy = {\n    start_time  = \"00:00 GMT+08:00\"\n    keep_days   = 7\n    prefix      = \"daily-backup\"\n    bucket      = \"my-backup-bucket\"      # Optional: OBS bucket\n    backup_path = \"css-backups/\"          # Optional: OBS path\n    agency      = \"css-agency\"            # Optional: IAM agency\n  }\n\n  # ... other configuration\n}\n```\n\n## Cluster Configuration (Performance Tuning)\n\n```hcl\nmodule \"css_cluster\" {\n  source = \"github.com/artifactsystems/terraform-huawei-css?ref=v1.0.0\"\n\n  name           = \"tuned-cluster\"\n  engine_version = \"7.10.2\"\n\n  # Enable cluster configuration\n  create_css_config = true\n\n  # CORS configuration\n  http_cors_enabled      = \"true\"\n  http_cors_allow_origin = \"*\"\n  http_cors_max_age      = \"86400\"\n  http_cors_allow_methods = \"GET,POST,PUT,DELETE,OPTIONS\"\n\n  # Performance tuning\n  indices_queries_cache_size   = \"15%\"\n  thread_pool_force_merge_size = \"2\"\n\n  # Reindex whitelist for data migration\n  reindex_remote_whitelist = \"192.168.0.*:9200\"\n\n  # ... other configuration\n}\n```\n\n## Conditional Creation\n\nToggle resource creation using the `create` variable:\n\n```hcl\nmodule \"css_cluster\" {\n  source = \"github.com/artifactsystems/terraform-huawei-css?ref=v1.0.0\"\n\n  create = false  # Disable all resource creation\n  # ... other configuration\n}\n```\n\nOr disable specific resources:\n\n```hcl\nmodule \"css_cluster\" {\n  source = \"github.com/artifactsystems/terraform-huawei-css?ref=v1.0.0\"\n\n  create_css_cluster     = true   # Create the cluster\n  create_css_config      = false  # Skip configuration resource\n  create_css_log_setting = false  # Skip log setting resource\n\n  # ... other configuration\n}\n```\n\n## Log Management\n\nConfigure log storage and backup to OBS buckets for monitoring and compliance:\n\n```hcl\nmodule \"css_cluster\" {\n  source = \"github.com/artifactsystems/terraform-huawei-css?ref=v1.0.0\"\n\n  name           = \"log-enabled-cluster\"\n  engine_version = \"7.10.2\"\n\n  # Enable log setting\n  create_css_log_setting = true\n  log_setting_agency     = \"css-log-agency\"\n  log_setting_bucket     = \"my-css-logs-bucket\"\n  log_setting_base_path  = \"elasticsearch/logs/\"\n  log_setting_period     = \"00:00 GMT+08:00\"\n\n  # ... other configuration\n}\n```\n\n## Contributing\n\nReport issues/questions/feature requests in the [issues](https://github.com/artifactsystems/terraform-huawei-css/issues/new) section.\n\nFull contributing [guidelines are covered here](.github/CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartifactsystems%2Fterraform-huawei-css","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartifactsystems%2Fterraform-huawei-css","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartifactsystems%2Fterraform-huawei-css/lists"}