Przejdź do treści

Terraform konfiguracja routera

Dziś pokażę, jak ustawić nazwę routera oraz ustawić timezone za pomocą terraform module

Struktura repozytorium dla terraform module

.
├── main.tf
├── output.tf
├── providers.tf
└── variable.tf

ustawienie providera

terraform {
  required_providers {
    routeros = {
      source  = "terraform-routeros/routeros"
      version = "1.76.4"
    }
  }
}
Dokumentacja providera terraform-routeros/routeros

main i variables

main.tf

resource "routeros_system_identity" "identity" {
  name = var.name
}

resource "routeros_system_clock" "set" {
  time_zone_name = var.time_zone_name
  time_zone_autodetect = var.time_zone_name == null ? true : false
}
variable.tf
variable "name" {
    type        = string
    default     = false
    description = "Name of the identity"
}

variable "time_zone_name" {
    type        = string
    default     = null
    description = "Time zone name"
}

Definicja routera w IaaC

module "configure_system" {
    source                    = "git@gitlab.com:pl.rachuna-net/infrastructure/terraform/modules/routeros-system.git?ref=v1.0.0"

    name                      = "router.rachuna-net.pl"
    time_zone_name            = "Europe/Warsaw"
}