{"id":37824285,"url":"https://github.com/quortex/terraform-aws-storage","last_synced_at":"2026-01-16T15:44:17.887Z","repository":{"id":43294405,"uuid":"257895132","full_name":"quortex/terraform-aws-storage","owner":"quortex","description":"A terraform module for Quortex infrastructure GCP persistent storage layer.","archived":false,"fork":false,"pushed_at":"2023-12-04T16:24:16.000Z","size":36,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2023-12-05T14:33:20.652Z","etag":null,"topics":["aws","terraform"],"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/quortex.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}},"created_at":"2020-04-22T12:29:20.000Z","updated_at":"2022-11-04T08:55:37.000Z","dependencies_parsed_at":"2023-12-04T14:33:13.846Z","dependency_job_id":null,"html_url":"https://github.com/quortex/terraform-aws-storage","commit_stats":null,"previous_names":[],"tags_count":17,"template":null,"template_full_name":null,"purl":"pkg:github/quortex/terraform-aws-storage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-storage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-storage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-storage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-storage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quortex","download_url":"https://codeload.github.com/quortex/terraform-aws-storage/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-storage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479409,"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":["aws","terraform"],"created_at":"2026-01-16T15:44:17.795Z","updated_at":"2026-01-16T15:44:17.864Z","avatar_url":"https://github.com/quortex.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n[![Quortex][logo]](https://quortex.io)\n\n# terraform-aws-storage\n\nA terraform module for Quortex infrastructure AWS persistent storage layer.\n\nIt provides a set of resources necessary to provision the bucket and access key on Amazon AWS.\n\n![infra_diagram]\n\nThis module is available on [Terraform Registry][registry_tf_aws-eks_storage].\n\nGet all our terraform modules on [Terraform Registry][registry_tf_modules] or on [Github][github_tf_modules] !\n\n## Created resources\n\nThis module creates the following resources in AWS:\n- as many buckets in Amazon S3 as defined in the configuration\n- a new user, with access to the bucket\n- the key ID and secret for this user\n\n\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 0.12 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | ~\u003e 4.0.0 |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_buckets\"\u003e\u003c/a\u003e [buckets](#input\\_buckets) | The list of buckets to create. | \u003cpre\u003eset(\u003cbr\u003e    object({\u003cbr\u003e      name  = string\u003cbr\u003e      label = string\u003cbr\u003e      tags  = map(string)\u003cbr\u003e      expiration = optional(object({\u003cbr\u003e        enabled         = bool\u003cbr\u003e        expiration_days = number\u003cbr\u003e      }))\u003cbr\u003e      role = optional(object({\u003cbr\u003e        enabled = bool\u003cbr\u003e        service_accounts = list(object({\u003cbr\u003e          name      = string\u003cbr\u003e          namespace = string\u003cbr\u003e        }))\u003cbr\u003e      }))\u003cbr\u003e    })\u003cbr\u003e  )\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_storage_prefix\"\u003e\u003c/a\u003e [storage\\_prefix](#input\\_storage\\_prefix) | A prefix for bucket names and service account id. Bucket names will be computed from this prefix and the provided buckets variable. | `string` | `\"quortex\"` | no |\n| \u003ca name=\"input_force_destroy\"\u003e\u003c/a\u003e [force\\_destroy](#input\\_force\\_destroy) | When deleting a bucket, this boolean option will delete all contained objects. If you try to delete a bucket that contains objects, Terraform will fail that run. | `bool` | `false` | no |\n| \u003ca name=\"input_enable_bucket_encryption\"\u003e\u003c/a\u003e [enable\\_bucket\\_encryption](#input\\_enable\\_bucket\\_encryption) | Should the created bucket encrypted using SSE-S3. | `bool` | `true` | no |\n| \u003ca name=\"input_enable_cloudfront_oia\"\u003e\u003c/a\u003e [enable\\_cloudfront\\_oia](#input\\_enable\\_cloudfront\\_oia) | Wether to enable cloudfront origin access identity for buckets. | `bool` | `false` | no |\n| \u003ca name=\"input_sa_path\"\u003e\u003c/a\u003e [sa\\_path](#input\\_sa\\_path) | The path to assign to bucket's service account. | `string` | `\"/system/\"` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | Tags to apply to resources. A list of key-\u003evalue pairs. | `map(any)` | `{}` | no |\n| \u003ca name=\"input_cluster_oidc_issuer\"\u003e\u003c/a\u003e [cluster\\_oidc\\_issuer](#input\\_cluster\\_oidc\\_issuer) | The cluster OpenID Connect Issuer. | `string` | n/a | yes |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_buckets\"\u003e\u003c/a\u003e [buckets](#output\\_buckets) | A map of bucket informations for each bucket provided in variables. |\n| \u003ca name=\"output_access_key_id\"\u003e\u003c/a\u003e [access\\_key\\_id](#output\\_access\\_key\\_id) | The key ID to use for buckets access. |\n| \u003ca name=\"output_access_key_secret\"\u003e\u003c/a\u003e [access\\_key\\_secret](#output\\_access\\_key\\_secret) | The key secret to use for buckets access. |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_cloudfront_origin_access_identity.quortex](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudfront_origin_access_identity) | resource |\n| [aws_iam_access_key.quortex](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_access_key) | resource |\n| [aws_iam_policy.aws_eks_irsa](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |\n| [aws_iam_role.aws_eks_irsa](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |\n| [aws_iam_role_policy_attachment.aws_eks_irsa](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |\n| [aws_iam_user.quortex](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user) | resource |\n| [aws_iam_user_policy.quortex_bucket_rw](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_user_policy) | resource |\n| [aws_s3_bucket.quortex](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource |\n| [aws_s3_bucket_lifecycle_configuration.quortex](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_lifecycle_configuration) | resource |\n| [aws_s3_bucket_policy.quortex](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource |\n| [aws_s3_bucket_public_access_block.quortex](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource |\n| [aws_s3_bucket_server_side_encryption_configuration.quortex](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_server_side_encryption_configuration) | resource |\n| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |\n| [aws_iam_policy_document.irsa_assume_role_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_iam_policy_document.quortex](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n\n\n---\n\n## Related Projects\n\nThis project is part of our terraform modules to provision a Quortex infrastructure for AWS.\n\nCheck out these related projects.\n\n- [terraform-aws-network][registry_tf_aws-eks_network] - A terraform module for Quortex infrastructure network layer.\n\n- [terraform-aws-eks-cluster][registry_tf_aws-eks_cluster] - A terraform module for Quortex infrastructure AWS cluster layer.\n\n- [terraform-aws-eks-load-balancer][registry_tf_aws-eks_load_balancer] - A terraform module for Quortex infrastructure AWS load balancing layer.\n\n[logo]: https://storage.googleapis.com/quortex-assets/logo.webp\n[infra_diagram]: https://storage.googleapis.com/quortex-assets/infra_aws_001.jpg\n\n[registry_tf_modules]: https://registry.terraform.io/modules/quortex\n[registry_tf_aws-eks_network]: https://registry.terraform.io/modules/quortex/network/aws\n[registry_tf_aws-eks_cluster]: https://registry.terraform.io/modules/quortex/eks-cluster/aws\n[registry_tf_aws-eks_load_balancer]: https://registry.terraform.io/modules/quortex/load-balancer/aws\n[registry_tf_aws-eks_storage]: https://registry.terraform.io/modules/quortex/storage/aws\n[github_tf_modules]: https://github.com/quortex?q=terraform-\n\n\n## Help\n\n**Got a question?**\n\nFile a GitHub [issue](https://github.com/quortex/terraform-aws-storage/issues).\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquortex%2Fterraform-aws-storage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquortex%2Fterraform-aws-storage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquortex%2Fterraform-aws-storage/lists"}