Tofu linode instance provisioning code

main
Mike Holloway 3 months ago
commit 071c0aacdf
  1. 22
      main.tf
  2. 44
      variables.tf

@ -0,0 +1,22 @@
terraform {
required_providers {
linode = {
source = "linode/linode"
version = "2.26.0"
}
}
}
provider linode {
# Configuration options
token = var.token
}
resource linode_instance "instance" {
label = var.label
image = var.image
region = var.region
type = var.type
authorized_keys = var.authorized_keys
root_pass = var.root_pass
}

@ -0,0 +1,44 @@
## Required Variables
##
variable "token" {
description = "The linode API Token"
type = string
}
variable "label" {
description = "The label for the linode."
type = string
}
variable "root_pass" {
description = "The root password of the linode."
type = string
}
## Optional Variables
##
variable "image" {
description = "The OS image for the linode."
type = string
default = "linode/almalinux9"
}
variable "region" {
description = "The region where the linode will run."
type = string
default = "ca-central"
}
variable "type" {
description = "The linode host type."
type = string
default = "g6-nanode-1"
}
variable "authorized_keys" {
description = "The list of public keys to be authorized for ssh login."
type = list
default = ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeRI1w3uNny7KjK2UdlAnyoGdGgtOx4isSD52u5dr4QkkdLRMj42dLjgT0MK+QehlgaH2XzFPMDz+hZQ+66YeBSm+F4km/8F9XVyUzGl0scUA1p0pqeL3FiyM3Art4Bo71zuE3PvMjyI3pGMKQ3VDWVA0XdAjjSw4G+czJTxZLLBPGvzDT07WuWM4Evl6H21Gn7PB6CKNV0vuUZwGiCsjRbghml1L2kDtTXV1B6wQsniuhQigIVo6YXhMgge/2UCcmiyeEizdfaSstrQHEyxFMvlPUJyw4a3plAuPORDyZdAFF6OA7/wP5fVWoCu/CkbMIDjPifXGQOuhQU1qUVy7r m00t@miserver.lan"]
}
Loading…
Cancel
Save