Skip to content

Commit 69afa30

Browse files
Merge pull request #5 from StoneCastle-Cash-Management/feat/key-pair-sub
make key pair a submodule
2 parents 44cb423 + e3755d1 commit 69afa30

File tree

5 files changed

+72
-2
lines changed

5 files changed

+72
-2
lines changed

key-pair.tf

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
module "key-pair" {
2-
source = "app.terraform.io/sccm/key-pair-creation/aws"
3-
version = "0.0.4"
2+
source = "./modules/key-pair"
43

54
key_pair_name = var.key_name
65
}

modules/key-pair/README.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
This is to be used to create and manage the key pairs used in the buildout of the workloads.
2+
3+
4+
<!-- BEGIN_TF_DOCS -->
5+
## Requirements
6+
7+
No requirements.
8+
9+
## Providers
10+
11+
| Name | Version |
12+
|------|---------|
13+
| <a name="provider_aws"></a> [aws](#provider\_aws) | n/a |
14+
| <a name="provider_tls"></a> [tls](#provider\_tls) | n/a |
15+
16+
## Modules
17+
18+
No modules.
19+
20+
## Resources
21+
22+
| Name | Type |
23+
|------|------|
24+
| [aws_key_pair.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/key_pair) | resource |
25+
| [aws_secretsmanager_secret.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret) | resource |
26+
| [aws_secretsmanager_secret_version.name](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/secretsmanager_secret_version) | resource |
27+
| [tls_private_key.rsa-4096-example](https://registry.terraform.io/providers/hashicorp/tls/latest/docs/resources/private_key) | resource |
28+
29+
## Inputs
30+
31+
| Name | Description | Type | Default | Required |
32+
|------|-------------|------|---------|:--------:|
33+
| <a name="input_key_pair_name"></a> [key\_pair\_name](#input\_key\_pair\_name) | n/a | `string` | n/a | yes |
34+
35+
## Outputs
36+
37+
| Name | Description |
38+
|------|-------------|
39+
| <a name="output_key_pair_name"></a> [key\_pair\_name](#output\_key\_pair\_name) | n/a |
40+
<!-- END_TF_DOCS -->

modules/key-pair/main.tf

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
resource "tls_private_key" "rsa-4096-example" {
2+
algorithm = "RSA"
3+
rsa_bits = 4096
4+
}
5+
6+
resource "aws_secretsmanager_secret" "this" {
7+
name = "${var.key_pair_name}-key-pair"
8+
}
9+
10+
resource "aws_secretsmanager_secret_version" "name" {
11+
secret_id = aws_secretsmanager_secret.this.id
12+
secret_string = jsonencode({
13+
private_key = tls_private_key.rsa-4096-example.private_key_pem
14+
public_key = tls_private_key.rsa-4096-example.public_key_openssh
15+
})
16+
}
17+
18+
resource "aws_key_pair" "this" {
19+
key_name = var.key_pair_name
20+
public_key = tls_private_key.rsa-4096-example.public_key_openssh
21+
lifecycle {
22+
ignore_changes = [public_key]
23+
}
24+
}
25+

modules/key-pair/outputs.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
output "key_pair_name" {
2+
value = aws_key_pair.this.key_name
3+
}

modules/key-pair/variables.tf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
variable "key_pair_name" {
2+
type = string
3+
}

0 commit comments

Comments
 (0)