{"id":19508855,"url":"https://github.com/rhythmictech/terraform-aws-secure-ssh-key","last_synced_at":"2025-02-25T22:42:25.762Z","repository":{"id":42465637,"uuid":"279444417","full_name":"rhythmictech/terraform-aws-secure-ssh-key","owner":"rhythmictech","description":"Creates an ssh key with a Lambda data source and saves it in a secrets manager secret, allowing the creation of ssh keys without saving them in state","archived":false,"fork":false,"pushed_at":"2023-10-24T17:08:53.000Z","size":14808,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-08T11:40:58.445Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/modules/rhythmictech/secure-ssh-key/aws/latest","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rhythmictech.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-07-14T00:50:09.000Z","updated_at":"2024-07-19T08:04:32.000Z","dependencies_parsed_at":"2025-01-08T11:43:11.201Z","dependency_job_id":null,"html_url":"https://github.com/rhythmictech/terraform-aws-secure-ssh-key","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-secure-ssh-key","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-secure-ssh-key/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-secure-ssh-key/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rhythmictech%2Fterraform-aws-secure-ssh-key/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rhythmictech","download_url":"https://codeload.github.com/rhythmictech/terraform-aws-secure-ssh-key/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240761093,"owners_count":19853254,"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-11-10T23:10:07.150Z","updated_at":"2025-02-25T22:42:25.703Z","avatar_url":"https://github.com/rhythmictech.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-aws-secure-ssh-key\nCreates an ssh key with a Lambda data source and saves it in a secrets manager secret, allowing the creation of ssh keys without saving them in state\n\n[![tflint](https://github.com/rhythmictech/terraform-aws-secure-ssh-key/workflows/tflint/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-secure-ssh-key/actions?query=workflow%3Atflint+event%3Apush+branch%3Amaster)\n[![tfsec](https://github.com/rhythmictech/terraform-aws-secure-ssh-key/workflows/tfsec/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-secure-ssh-key/actions?query=workflow%3Atfsec+event%3Apush+branch%3Amaster)\n[![yamllint](https://github.com/rhythmictech/terraform-aws-secure-ssh-key/workflows/yamllint/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-secure-ssh-key/actions?query=workflow%3Ayamllint+event%3Apush+branch%3Amaster)\n[![misspell](https://github.com/rhythmictech/terraform-aws-secure-ssh-key/workflows/misspell/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-secure-ssh-key/actions?query=workflow%3Amisspell+event%3Apush+branch%3Amaster)\n[![pre-commit-check](https://github.com/rhythmictech/terraform-aws-secure-ssh-key/workflows/pre-commit-check/badge.svg?branch=master\u0026event=push)](https://github.com/rhythmictech/terraform-aws-secure-ssh-key/actions?query=workflow%3Apre-commit-check+event%3Apush+branch%3Amaster)\n\n## Example\nHere's what using the module will look like\n```hcl\nmodule \"secure_ssh_key\" {\n  source  = \"rhythmictech/secure-ssh-key/aws\"\n  version = \"~\u003e 2.0.1\"\n\n  name   = \"my-secure-key\"\n}\n\noutput \"secret_name\" {\n  value = module.secure_ssh_key.privkey_secret_name\n}\n\n```\n\n## About\nCreates an ssh key with a Lambda data source and saves it in a secrets manager secret, allowing the creation of ssh keys without saving them in state\n\n## Dependencies\n* Python \u003e= 3.8\n\n\u003c!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 0.12.28 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | \u003e= 2.45.0, \u003c 4.0.0 |\n| \u003ca name=\"requirement_external\"\u003e\u003c/a\u003e [external](#requirement\\_external) | ~\u003e 1.2 |\n| \u003ca name=\"requirement_null\"\u003e\u003c/a\u003e [null](#requirement\\_null) | ~\u003e2.1.2 |\n\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | 3.75.1 |\n| \u003ca name=\"provider_external\"\u003e\u003c/a\u003e [external](#provider\\_external) | 1.2.0 |\n| \u003ca name=\"provider_null\"\u003e\u003c/a\u003e [null](#provider\\_null) | 2.1.2 |\n\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_lambda_version\"\u003e\u003c/a\u003e [lambda\\_version](#module\\_lambda\\_version) | rhythmictech/find-release-by-semver/github | \u003e= 1.0.0-rc1, \u003c 2.0.0 |\n| \u003ca name=\"module_pubkey\"\u003e\u003c/a\u003e [pubkey](#module\\_pubkey) | matti/resource/shell | ~\u003e 1.0.7 |\n\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_cloudwatch_log_group.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cloudwatch_log_group) | resource |\n| [aws_iam_role.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |\n| [aws_iam_role_policy.secret_write](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy) | resource |\n| [aws_iam_role_policy_attachment.lambda_basic_execution](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |\n| [aws_lambda_function.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_function) | resource |\n| [aws_secretsmanager_secret.privkey](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret) | resource |\n| [aws_secretsmanager_secret.pubkey](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret) | resource |\n| [null_resource.lambda_invoke](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) | resource |\n| [null_resource.lambda_zip](https://registry.terraform.io/providers/hashicorp/null/latest/docs/resources/resource) | resource |\n| [aws_iam_policy_document.assume](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [aws_iam_policy_document.secret_write](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |\n| [external_external.sha](https://registry.terraform.io/providers/hashicorp/external/latest/docs/data-sources/external) | data source |\n\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_keepers\"\u003e\u003c/a\u003e [keepers](#input\\_keepers) | Arbitrary map of values that when changed will force a new password | `map(string)` | `{}` | no |\n| \u003ca name=\"input_key_bits\"\u003e\u003c/a\u003e [key\\_bits](#input\\_key\\_bits) | Number of bits to be used in RSA key generation | `number` | `2048` | no |\n| \u003ca name=\"input_lambda_version_constraint\"\u003e\u003c/a\u003e [lambda\\_version\\_constraint](#input\\_lambda\\_version\\_constraint) | NPM-style version constraint for the version of the lambda code you want to use | `string` | `\"^1.0.2-rc2\"` | no |\n| \u003ca name=\"input_name\"\u003e\u003c/a\u003e [name](#input\\_name) | Moniker to apply to all resources in the module | `string` | n/a | yes |\n| \u003ca name=\"input_secret_description\"\u003e\u003c/a\u003e [secret\\_description](#input\\_secret\\_description) | Set a description for the secret | `string` | `\"An SSH key secret by Terraform\"` | no |\n| \u003ca name=\"input_tags\"\u003e\u003c/a\u003e [tags](#input\\_tags) | User-Defined tags | `map(string)` | `{}` | no |\n\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_privkey_secret_arn\"\u003e\u003c/a\u003e [privkey\\_secret\\_arn](#output\\_privkey\\_secret\\_arn) | The ARN of the SecretsManager privkey Secret |\n| \u003ca name=\"output_privkey_secret_name\"\u003e\u003c/a\u003e [privkey\\_secret\\_name](#output\\_privkey\\_secret\\_name) | The name of the privkey secret |\n| \u003ca name=\"output_pubkey_secret_arn\"\u003e\u003c/a\u003e [pubkey\\_secret\\_arn](#output\\_pubkey\\_secret\\_arn) | The ARN of the SecretsManager privkey Secret |\n| \u003ca name=\"output_pubkey_secret_name\"\u003e\u003c/a\u003e [pubkey\\_secret\\_name](#output\\_pubkey\\_secret\\_name) | The name of the privkey secret |\n| \u003ca name=\"output_ssh_pubkey\"\u003e\u003c/a\u003e [ssh\\_pubkey](#output\\_ssh\\_pubkey) | The SSH pubkey |\n\u003c!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK --\u003e\n\n## The Giants Underneath this Module\n- [pre-commit.com](pre-commit.com)\n- [terraform.io](terraform.io)\n- [github.com/tfutils/tfenv](github.com/tfutils/tfenv)\n- [github.com/segmentio/terraform-docs](github.com/segmentio/terraform-docs)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhythmictech%2Fterraform-aws-secure-ssh-key","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frhythmictech%2Fterraform-aws-secure-ssh-key","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frhythmictech%2Fterraform-aws-secure-ssh-key/lists"}