Skip to content

Commit

Permalink
update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
anmolnagpal committed Jan 20, 2021
1 parent 364ccd4 commit 4aa0d33
Showing 1 changed file with 17 additions and 24 deletions.
41 changes: 17 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,15 @@
Terraform AWS Lightsail
</h1>

<p align="center" style="font-size: 1.2rem;">
<p align="center" style="font-size: 1.2rem;">
Terraform module to create Lightsail instance, Lightsail Key Pair
(Optional), Lightsail Static IP (Optional).
</p>

<p align="center">

<a href="https://www.terraform.io">
<img src="https://img.shields.io/badge/Terraform-v0.13-green" alt="Terraform">
<img src="https://img.shields.io/badge/Terraform-v0.14-green" alt="Terraform">
</a>
<a href="LICENSE.md">
<img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="Licence">
Expand All @@ -39,7 +39,7 @@
<hr>


We eat, drink, sleep and most importantly love **DevOps**. We are working towards strategies for standardizing architecture while ensuring security for the infrastructure. We are strong believer of the philosophy <b>Bigger problems are always solved by breaking them into smaller manageable problems</b>. Resonating with microservices architecture, it is considered best-practice to run database, cluster, storage in smaller <b>connected yet manageable pieces</b> within the infrastructure.
We eat, drink, sleep and most importantly love **DevOps**. We are working towards strategies for standardizing architecture while ensuring security for the infrastructure. We are strong believer of the philosophy <b>Bigger problems are always solved by breaking them into smaller manageable problems</b>. Resonating with microservices architecture, it is considered best-practice to run database, cluster, storage in smaller <b>connected yet manageable pieces</b> within the infrastructure.

This module is basically combination of [Terraform open source](https://www.terraform.io/) and includes automatation tests and examples. It also helps to create and improve your infrastructure with minimalistic code instead of maintaining the whole infrastructure code yourself.

Expand All @@ -50,7 +50,7 @@ We have [*fifty plus terraform modules*][terraform_modules]. A few of them are c

## Prerequisites

This module has a few dependencies:
This module has a few dependencies:

- [Terraform 0.13](https://learn.hashicorp.com/terraform/getting-started/install.html)
- [Go](https://golang.org/doc/install)
Expand All @@ -74,12 +74,11 @@ Here is an example of how you can use this module in your inventory structure:
```hcl
module "lightsail" {
source = "clouddrove/lightsail/aws"
version = "0.13.0"
version = "0.14.0"
environment = "test"
name = "lightsail"
key_pair_name = "testing"
application = "clouddrove"
label_order = ["environment", "application", "name"]
label_order = ["name", "environment"]
}
```

Expand All @@ -92,8 +91,7 @@ Here is an example of how you can use this module in your inventory structure:

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| application | Application (e.g. `cd` or `clouddrove`). | `string` | `""` | no |
| attributes | Additional attributes (e.g. `1`). | `list` | `[]` | no |
| attributes | Additional attributes (e.g. `1`). | `list(any)` | `[]` | no |
| availability\_zone | The Availability Zone in which to create your instance | `string` | `"ap-south-1a"` | no |
| blueprint\_id | The ID for a virtual private server image | `string` | `"ubuntu_16_04_2"` | no |
| bundle\_id | The bundle of specification information | `string` | `"micro_2_1"` | no |
Expand All @@ -104,37 +102,32 @@ Here is an example of how you can use this module in your inventory structure:
| instance\_enabled | Flag to control the instance creation. | `bool` | `true` | no |
| key\_pair\_name | The key name to use for the instance. | `string` | `""` | no |
| key\_path | Public key path (e.g. `~/.ssh/id_rsa.pub`). | `string` | `""` | no |
| label\_order | Label order, e.g. `name`,`application`. | `list` | `[]` | no |
| label\_order | Label order, e.g. `name`,`application`. | `list(any)` | `[]` | no |
| lightsail\_enabled | Flag to control the lightsail instance creation. | `bool` | `true` | no |
| managedby | ManagedBy, eg 'CloudDrove' or 'AnmolNagpal'. | `string` | `"anmol@clouddrove.com"` | no |
| managedby | ManagedBy, eg 'CloudDrove'. | `string` | `"hello@clouddrove.com"` | no |
| name | Name (e.g. `app` or `cluster`). | `string` | `""` | no |
| pgp\_key | Flag to control the instance creation. | `any` | `null` | no |
| public\_key | The public key material. This public key will be imported into Lightsail. | `string` | `""` | no |
| tags | Additional tags (e.g. map(`BusinessUnit`,`XYZ`). | `map` | `{}` | no |
| repository | Terraform current module repo | `string` | `"https://registry.terraform.io/modules/clouddrove/lightsail/aws/"` | no |
| tags | Additional tags (e.g. map(`BusinessUnit`,`XYZ`). | `map(any)` | `{}` | no |
| use\_default\_key\_pair | Default key pair name will be used, you must keep 'key\_pair\_name' empty | `bool` | `true` | no |
| user\_data | launch script to configure server with additional user data | `string` | `""` | no |

## Outputs

| Name | Description |
|------|-------------|
| arn | Module : Lightsail Description : Terraform module to create Lightsail instance, Lightsail Key Pair (Optional), Lightsail Static IP (Optional) resource on AWS. |
| availability\_zone | n/a |
| blueprint\_id | n/a |
| bundle\_id | n/a |
| created\_at | n/a |
| id | n/a |
| ip\_address | n/a |
| key\_pair\_name | n/a |
| staticip\_arn | n/a |
| arn | The ARN of the Lightsail instance. |
| created\_at | The timestamp when the instance was created. |
| id | The ARN of the Lightsail instance. |
| ip\_address | The Ip Address name of the Lightsail instance. |
| tags | A mapping of tags to assign to the resource. |
| user\_data | n/a |




## Testing
In this module testing is performed with [terratest](https://github.com/gruntwork-io/terratest) and it creates a small piece of infrastructure, matches the output like ARN, ID and Tags name etc and destroy infrastructure in your AWS account. This testing is written in GO, so you need a [GO environment](https://golang.org/doc/install) in your system.
In this module testing is performed with [terratest](https://github.com/gruntwork-io/terratest) and it creates a small piece of infrastructure, matches the output like ARN, ID and Tags name etc and destroy infrastructure in your AWS account. This testing is written in GO, so you need a [GO environment](https://golang.org/doc/install) in your system.

You need to run the following command in the testing folder:
```hcl
Expand All @@ -143,7 +136,7 @@ You need to run the following command in the testing folder:



## Feedback
## Feedback
If you come accross a bug or have any feedback, please log it in our [issue tracker](https://github.com/clouddrove/terraform-aws-lightsail/issues), or feel free to drop us an email at [hello@clouddrove.com](mailto:hello@clouddrove.com).

If you have found it worth your time, go ahead and give us a ★ on [our GitHub](https://github.com/clouddrove/terraform-aws-lightsail)!
Expand Down

0 comments on commit 4aa0d33

Please sign in to comment.