{"id":22347747,"url":"https://github.com/wearetechnative/terraform-aws-module-fsx_lustre","last_synced_at":"2026-01-05T09:51:13.170Z","repository":{"id":258998874,"uuid":"869595241","full_name":"wearetechnative/terraform-aws-module-fsx_lustre","owner":"wearetechnative","description":"Module for lustre filesystem on AWS","archived":false,"fork":false,"pushed_at":"2025-01-14T12:04:42.000Z","size":177,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-31T12:12:34.770Z","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/wearetechnative.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}},"created_at":"2024-10-08T14:58:48.000Z","updated_at":"2025-01-14T12:04:46.000Z","dependencies_parsed_at":"2024-12-04T10:10:46.982Z","dependency_job_id":"f4f15dea-b412-41b0-8e2b-96b70bef30b5","html_url":"https://github.com/wearetechnative/terraform-aws-module-fsx_lustre","commit_stats":null,"previous_names":["wearetechnative/terraform-aws-module-fsx_lustre"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearetechnative%2Fterraform-aws-module-fsx_lustre","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearetechnative%2Fterraform-aws-module-fsx_lustre/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearetechnative%2Fterraform-aws-module-fsx_lustre/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wearetechnative%2Fterraform-aws-module-fsx_lustre/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wearetechnative","download_url":"https://codeload.github.com/wearetechnative/terraform-aws-module-fsx_lustre/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245641317,"owners_count":20648637,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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-04T10:10:44.549Z","updated_at":"2026-01-05T09:51:13.164Z","avatar_url":"https://github.com/wearetechnative.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform AWS [terraform-aws-module-fsx_lustre] ![](https://img.shields.io/github/actions/workflow/status/wearetechnative/terraform-aws-module-fsx_lustre/tflint.yaml?style=plastic)\n\n\u003c!-- SHIELDS --\u003e\n\nThis module implements ...\n\n[![](we-are-technative.png)](https://www.technative.nl)\n\n## How does it work\n\n### First use after you clone this repository or when .pre-commit-config.yaml is updated\n\nRun `pre-commit install` to install any guardrails implemented using pre-commit.\n\nSee [pre-commit installation](https://pre-commit.com/#install) on how to install pre-commit.\n\n...\n\n## Usage\n\n1. Configure the AWS provider in your root module (not shown below).\n2. Add a module block that points to this repository and supply the required variables for capacity, throughput, networking and logging.\n3. (Optional) Enable the data repository association (DRA) if you need to sync data to an S3 bucket.\n\n### Minimal example\n\n```hcl\nmodule \"fsx_lustre\" {\n  source = \"git::https://github.com/wearetechnative/terraform-aws-fsx_lustre.git?ref=main\"\n\n  fsx_id                    = \"hpc-fsx\"\n  storage_capacity          = 1200                # In MB\n  data_compression_type     = \"LZ4\"\n  deployment_type           = \"PERSISTENT_2\"\n  unit_storage_throughput   = 125                 # MB/s per TiB\n  subnet_ids                = [\"subnet-0123456789abcdef0\"]\n  weekly_maintenance_start_time = \"6:01:30\"\n  log_level                 = \"WARN_ERROR\"\n  log_retention_days        = 7\n}\n```\n\n### Enabling the optional data repository association\n\n```hcl\nmodule \"fsx_lustre\" {\n  source = \"git::https://github.com/wearetechnative/terraform-aws-fsx_lustre.git?ref=main\"\n  # ...same required arguments as above...\n\n  create_dra               = true\n  dra_bucket_name          = \"my-lustre-data-repository\"\n  dra_bucket_force_destroy = true\n  dra_auto_import_events   = [\"NEW\", \"CHANGED\"]\n  dra_auto_export_events   = [\"NEW\", \"CHANGED\", \"DELETED\"]\n}\n```\n\nThe module exports identifiers and connection details for the created FSx for Lustre file system and, when enabled, the associated S3 data repository. Those outputs can be referenced in other parts of your configuration (see [Outputs](#outputs) below).\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | n/a |\n\n## Modules\n\nNo modules.\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_cloudwatch_log_group.lustre](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) | resource |\n| [aws_fsx_data_repository_association.lustre_bucket](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/fsx_data_repository_association) | resource |\n| [aws_fsx_lustre_file_system.hpc](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/fsx_lustre_file_system) | resource |\n| [aws_s3_bucket.lustre_repository](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource |\n| [aws_s3_bucket_public_access_block.lustre_repository](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource |\n| [aws_s3_bucket_server_side_encryption_configuration.lustre_repository](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_server_side_encryption_configuration) | resource |\n| [aws_security_group.fsx_sg](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource |\n| [aws_subnet.selected](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/subnet) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_backup_retention_days\"\u003e\u003c/a\u003e [backup\\_retention\\_days](#input\\_backup\\_retention\\_days) | Amount of days automatic backup retention | `number` | `0` | no |\n| \u003ca name=\"input_create_dra\"\u003e\u003c/a\u003e [create\\_dra](#input\\_create\\_dra) | Whether to create an FSx data repository association backed by an S3 bucket. | `bool` | `false` | no |\n| \u003ca name=\"input_data_compression_type\"\u003e\u003c/a\u003e [data\\_compression\\_type](#input\\_data\\_compression\\_type) | can be LZ4 or NONE | `string` | n/a | yes |\n| \u003ca name=\"input_deployment_type\"\u003e\u003c/a\u003e [deployment\\_type](#input\\_deployment\\_type) | deployment type can be: SCRATCH\\_1, SCRATCH\\_2, PERSISTENT\\_1, PERSISTENT\\_2. | `string` | n/a | yes |\n| \u003ca name=\"input_dra_auto_export_events\"\u003e\u003c/a\u003e [dra\\_auto_export_events](#input\\_dra_auto_export_events) | FSx auto export event types to propagate from Lustre to S3. | `list(string)` | `[\"NEW\",\"CHANGED\",\"DELETED\"]` | no |\n| \u003ca name=\"input_dra_auto_import_events\"\u003e\u003c/a\u003e [dra\\_auto_import_events](#input\\_dra_auto_import_events) | FSx auto import event types to propagate from S3 to Lustre. | `list(string)` | `[\"NEW\",\"CHANGED\",\"DELETED\"]` | no |\n| \u003ca name=\"input_dra_bucket_force_destroy\"\u003e\u003c/a\u003e [dra\\_bucket_force_destroy](#input\\_dra_bucket_force_destroy) | Whether to force destroy the data repository bucket when deleting the stack. | `bool` | `false` | no |\n| \u003ca name=\"input_dra_bucket_name\"\u003e\u003c/a\u003e [dra\\_bucket_name](#input\\_dra_bucket_name) | Name of the S3 bucket to create for the data repository association. Required when create\\_dra is true. | `string` | `null` | no |\n| \u003ca name=\"input_dra_imported_file_chunk_size\"\u003e\u003c/a\u003e [dra\\_imported_file_chunk_size](#input\\_dra_imported_file_chunk_size) | Size of chunks (in MiB) for files imported from the data repository. | `number` | `1024` | no |\n| \u003ca name=\"input_fsx_id\"\u003e\u003c/a\u003e [fsx\\_id](#input\\_fsx\\_id) | fsx name/id | `string` | `\"\"` | no |\n| \u003ca name=\"input_log_level\"\u003e\u003c/a\u003e [log\\_level](#input\\_log\\_level) | Sets which data repository events are logged by Amazon FSx. Valid values are WARN\\_ONLY, FAILURE\\_ONLY, ERROR\\_ONLY, WARN\\_ERROR and DISABLED | `string` | n/a | yes |\n| \u003ca name=\"input_log_retention_days\"\u003e\u003c/a\u003e [log\\_retention\\_days](#input\\_log\\_retention\\_days) | n/a | `string` | `\"7\"` | no |\n| \u003ca name=\"input_storage_capacity\"\u003e\u003c/a\u003e [storage\\_capacity](#input\\_storage\\_capacity) | storage capacity of Lustre fs (amount of MB's) | `number` | n/a | yes |\n| \u003ca name=\"input_subnet_ids\"\u003e\u003c/a\u003e [subnet\\_ids](#input\\_subnet\\_ids) | A list of IDs for the security groups that apply to the specified network interfaces created for file system access. | `list(string)` | n/a | yes |\n| \u003ca name=\"input_unit_storage_throughput\"\u003e\u003c/a\u003e [unit\\_storage\\_throughput](#input\\_unit\\_storage\\_throughput) | Describes the amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB, required for the PERSISTENT\\_1 and PERSISTENT\\_2 deployment\\_type | `string` | n/a | yes |\n| \u003ca name=\"input_weekly_maintenance_start_time\"\u003e\u003c/a\u003e [weekly\\_maintenance\\_start\\_time](#input\\_weekly\\_maintenance\\_start\\_time) | The preferred start time (in d:HH:MM format) to perform weekly maintenance, in the UTC time zone. | `string` | n/a | yes |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_lustre_arn\"\u003e\u003c/a\u003e [lustre\\_arn](#output\\_lustre\\_arn) | ARN of the FSx-Lustre |\n| \u003ca name=\"output_lustre_dns_name\"\u003e\u003c/a\u003e [lustre\\_dns\\_name](#output\\_lustre\\_dns\\_name) | DNS name of the FSx-Lustre |\n| \u003ca name=\"output_data_repository_bucket_name\"\u003e\u003c/a\u003e [data\\_repository\\_bucket\\_name](#output\\_data_repository_bucket_name) | Name of the S3 bucket created for the data repository association (if enabled). |\n| \u003ca name=\"output_data_repository_association_id\"\u003e\u003c/a\u003e [data\\_repository\\_association\\_id](#output\\_data_repository_association_id) | ID of the data repository association (if enabled). |\n| \u003ca name=\"output_lustre_securitygroup_id\"\u003e\u003c/a\u003e [lustre\\_securitygroup\\_id](#output\\_lustre\\_securitygroup\\_id) | ID of the security\\_group created for the FSx-Lustre |\n\u003c!-- END_TF_DOCS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwearetechnative%2Fterraform-aws-module-fsx_lustre","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwearetechnative%2Fterraform-aws-module-fsx_lustre","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwearetechnative%2Fterraform-aws-module-fsx_lustre/lists"}