Merge branch 'formating' into 'main'

Update .gitlab-ci.yml, terraform/defaults.tf, terraform/main.tf,...

See merge request developerdurp/homelab!6
This commit is contained in:
2022-11-05 23:56:07 +00:00
5 changed files with 72 additions and 55 deletions

View File

@@ -16,14 +16,29 @@ format:
WORKDIR: $CI_PROJECT_DIR/terraform WORKDIR: $CI_PROJECT_DIR/terraform
allow_failure: false allow_failure: false
extends: .terraform_fmt extends: .terraform_fmt
#rules: rules:
# - if: $CI_PIPELINE_SOURCE == "merge_request_event" - if: $CI_PIPELINE_SOURCE == "merge_request_event"
# changes: changes:
# compare_to: refs/heads/main compare_to: refs/heads/main
# paths: paths:
# - 'terraform/*' - 'terraform/*'
# when: always when: always
# - when: never - when: never
validate:
stage: lint
variables:
WORKDIR: $CI_PROJECT_DIR/terraform
allow_failure: false
extends: .terraform_validate
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
changes:
compare_to: refs/heads/main
paths:
- 'terraform/*'
when: always
- when: never
plan: plan:
stage: lint stage: lint
@@ -32,6 +47,7 @@ plan:
ARGUMENTS: -var=pm_password=$pm_password -var=pm_api_url=$pm_api_url -var-file=terraform.tfvars ARGUMENTS: -var=pm_password=$pm_password -var=pm_api_url=$pm_api_url -var-file=terraform.tfvars
allow_failure: false allow_failure: false
extends: .terraform_plan extends: .terraform_plan
needs: ["validate","format"]
rules: rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event" - if: $CI_PIPELINE_SOURCE == "merge_request_event"
changes: changes:

View File

@@ -9,10 +9,10 @@ terraform {
} }
provider "proxmox" { provider "proxmox" {
pm_parallel = 3 pm_parallel = 3
pm_tls_insecure = true pm_tls_insecure = true
pm_api_url = var.pm_api_url pm_api_url = var.pm_api_url
pm_user = var.pm_user pm_user = var.pm_user
pm_password = var.pm_password pm_password = var.pm_password
pm_debug = false pm_debug = false
} }

View File

@@ -38,8 +38,8 @@ resource "proxmox_vm_qemu" "k3master" {
#Cloud Init Settings #Cloud Init Settings
ipconfig0 = "ip=192.168.20.${var.k3master.ip[count.index]}/24,gw=192.168.20.1" ipconfig0 = "ip=192.168.20.${var.k3master.ip[count.index]}/24,gw=192.168.20.1"
searchdomain = "durp.loc" searchdomain = "durp.loc"
nameserver = "${var.dnsserver}" nameserver = var.dnsserver
sshkeys = "${var.sshkeys}" sshkeys = var.sshkeys
} }
resource "proxmox_vm_qemu" "k3server" { resource "proxmox_vm_qemu" "k3server" {
@@ -79,8 +79,8 @@ resource "proxmox_vm_qemu" "k3server" {
#Cloud Init Settings #Cloud Init Settings
ipconfig0 = "ip=192.168.20.${var.k3server.ip[count.index]}/24,gw=192.168.20.1" ipconfig0 = "ip=192.168.20.${var.k3server.ip[count.index]}/24,gw=192.168.20.1"
searchdomain = "durp.loc" searchdomain = "durp.loc"
nameserver = "${var.dnsserver}" nameserver = var.dnsserver
sshkeys = "${var.sshkeys}" sshkeys = var.sshkeys
} }
#kasm #kasm
@@ -123,6 +123,6 @@ resource "proxmox_vm_qemu" "kasm" {
#Cloud Init Settings #Cloud Init Settings
ipconfig0 = "ip=192.168.20.110/24,gw=192.168.20.1" ipconfig0 = "ip=192.168.20.110/24,gw=192.168.20.1"
searchdomain = "durp.loc" searchdomain = "durp.loc"
nameserver = "${var.dnsserver}" nameserver = var.dnsserver
sshkeys = "${var.sshkeys}" sshkeys = var.sshkeys
} }

View File

@@ -1,4 +1,5 @@
dnsserver = "192.168.20.1" dnsserver = "192.168.20.1"
sshkeys = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDTYqag8OKcV6kIitn3Axlyi3Xr9EeybG10wlglw34fYF0pY+OERy7zZKEju4ijZzQ7eWNlcXLYSorm5Tngkvnz4vbM4b9R7gZjTV9drSGDo0BLkMXNuSTrKwGeokcNkxh+HZcWSK4/SE5zPzvkPj1UvmAgQ4P4N79mqPe5/9gAvdrlUWEtuqVdEHc/FMk4kEZsRu4lg58KoghNCRYMYHOyd1rbHsuWpX5NumPxnosWG22jzqj46rUWEXvA7MrCGGbUDlk5+/h7Bvw4O8nGZLEo/qyaYvChTBj/UqYYBssC4VlW/SNJB1yfrklqdtcknmFVJBi174cQtzZDXOerwneh8/+t7wWpcxkWscxYrwdJspzAU/NGk02xDPaG4F1mdgZ6HIZCQAaw/EbaNbiuU+bhdngEIHUvVmdiy4T09FWIWuJxO6FnAiVIU5K8LpqGLTFp7kjOwAczdQ+KVojm/1A5W/ZoTE/y3Ni1fVaOJFCxSgU7qiKAm7hb2ZXvznNgryc=" sshkeys = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDTYqag8OKcV6kIitn3Axlyi3Xr9EeybG10wlglw34fYF0pY+OERy7zZKEju4ijZzQ7eWNlcXLYSorm5Tngkvnz4vbM4b9R7gZjTV9drSGDo0BLkMXNuSTrKwGeokcNkxh+HZcWSK4/SE5zPzvkPj1UvmAgQ4P4N79mqPe5/9gAvdrlUWEtuqVdEHc/FMk4kEZsRu4lg58KoghNCRYMYHOyd1rbHsuWpX5NumPxnosWG22jzqj46rUWEXvA7MrCGGbUDlk5+/h7Bvw4O8nGZLEo/qyaYvChTBj/UqYYBssC4VlW/SNJB1yfrklqdtcknmFVJBi174cQtzZDXOerwneh8/+t7wWpcxkWscxYrwdJspzAU/NGk02xDPaG4F1mdgZ6HIZCQAaw/EbaNbiuU+bhdngEIHUvVmdiy4T09FWIWuJxO6FnAiVIU5K8LpqGLTFp7kjOwAczdQ+KVojm/1A5W/ZoTE/y3Ni1fVaOJFCxSgU7qiKAm7hb2ZXvznNgryc="
k3master = { k3master = {

View File

@@ -1,55 +1,55 @@
variable "pm_api_url" { variable "pm_api_url" {
description = "API URL to Proxmox provider" description = "API URL to Proxmox provider"
type = string type = string
} }
variable "dnsserver" { variable "dnsserver" {
description = "DNS provider" description = "DNS provider"
type = string type = string
} }
variable "sshkeys" { variable "sshkeys" {
description = "Public SSH key to inject into CloudInit" description = "Public SSH key to inject into CloudInit"
type = string type = string
} }
variable "pm_password" { variable "pm_password" {
description = "Passowrd to Proxmox provider" description = "Passowrd to Proxmox provider"
type = string type = string
} }
variable "pm_user" { variable "pm_user" {
description = "UIsername to Proxmox provider" description = "UIsername to Proxmox provider"
type = string type = string
default = "root@pam" default = "root@pam"
} }
variable "k3master" { variable "k3master" {
description = "Defaults of master nodes in K3S" description = "Defaults of master nodes in K3S"
type = object({ type = object({
count = number count = number
name = list(string) name = list(string)
cores = number cores = number
memory = number memory = number
drive = string drive = string
storage = string storage = string
template = string template = string
node = string node = string
ip = list(number) ip = list(number)
}) })
} }
variable "k3server" { variable "k3server" {
description = "Defaults of worker nodes in K3S" description = "Defaults of worker nodes in K3S"
type = object({ type = object({
count = number count = number
name = list(string) name = list(string)
cores = number cores = number
memory = number memory = number
drive = string drive = string
storage = string storage = string
template = string template = string
node = string node = string
ip = list(number) ip = list(number)
}) })
} }