An open API service indexing awesome lists of open source software.

https://github.com/jameswoolfenden/terraform-linode-instance

First module for use with Linode
https://github.com/jameswoolfenden/terraform-linode-instance

instance linode module terraform

Last synced: 9 months ago
JSON representation

First module for use with Linode

Awesome Lists containing this project

README

          

# terraform-linode-instance

[![Build Status](https://github.com/JamesWoolfenden/terraform-linode-instance/workflows/Verify%20and%20Bump/badge.svg?branch=master)](https://github.com/JamesWoolfenden/terraform-linode-instance)
[![Latest Release](https://img.shields.io/github/release/JamesWoolfenden/terraform-linode-instance.svg)](https://github.com/JamesWoolfenden/terraform-linode-instance/releases/latest)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![checkov](https://img.shields.io/badge/checkov-verified-brightgreen)](https://www.checkov.io/)

## Usage

Requires your Personal Access Token as an Environmental Variable.

Module automatically generate your instance root password amd SSH key.

```bash
export LINODE_TOKEN="xxxxx"
```

Include this repository as a module in your existing Terraform code:

```hcl
module "instance" {
source = "github.com/JamesWoolfenden/terraform-linode-instance"
version. = "0.0.1"
}
```

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >=0.14.8 |
| [linode](#requirement\_linode) | >=1.25.0 |
| [local](#requirement\_local) | 2.0.0 |
| [random](#requirement\_random) | 3.0.0 |
| [tls](#requirement\_tls) | 3.0.0 |

## Providers

| Name | Version |
|------|---------|
| [linode](#provider\_linode) | 1.13.4 |
| [local](#provider\_local) | 2.0.0 |
| [random](#provider\_random) | 3.0.0 |
| [tls](#provider\_tls) | 3.0.0 |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [linode_instance.example](https://registry.terraform.io/providers/linode/linode/latest/docs/resources/instance) | resource |
| [local_file.private_ssh](https://registry.terraform.io/providers/hashicorp/local/2.0.0/docs/resources/file) | resource |
| [local_file.public_ssh](https://registry.terraform.io/providers/hashicorp/local/2.0.0/docs/resources/file) | resource |
| [random_password.password](https://registry.terraform.io/providers/hashicorp/random/3.0.0/docs/resources/password) | resource |
| [random_string.rando](https://registry.terraform.io/providers/hashicorp/random/3.0.0/docs/resources/string) | resource |
| [tls_private_key.ssh](https://registry.terraform.io/providers/hashicorp/tls/3.0.0/docs/resources/private_key) | resource |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [image](#input\_image) | Linode Image type to use | `string` | `"linode/ubuntu18.04"` | no |
| [region](#input\_region) | The Linode region to use | `string` | `"eu-west"` | no |
| [type](#input\_type) | The image size type to use | `string` | `"g6-standard-1"` | no |

## Outputs

| Name | Description |
|------|-------------|
| [instance\_id](#output\_instance\_id) | n/a |
| [password](#output\_password) | n/a |
| [ssh](#output\_ssh) | n/a |

## Tests

This module is to serve as sample data for Checkov SAST rules.

### Contributors

[![James Woolfenden][jameswoolfenden_avatar]][jameswoolfenden_homepage]
[James Woolfenden][jameswoolfenden_homepage]

[jameswoolfenden_homepage]: https://github.com/jameswoolfenden
[jameswoolfenden_avatar]: https://github.com/jameswoolfenden.png?size=150
[github]: https://github.com/jameswoolfenden
[linkedin]: https://www.linkedin.com/in/jameswoolfenden/
[twitter]: https://twitter.com/JimWoolfenden