packer and kubernetes changes

This commit is contained in:
Christian
2022-03-11 14:56:55 +01:00
parent e4fa5990f4
commit ebab652abf
55 changed files with 538 additions and 13 deletions

View File

@@ -10,4 +10,4 @@ variable "cloudflare_email" {
variable "cloudflare_api_key" {
description = "The API key for your Cloudflare account"
type = string
}
}

View File

@@ -3,21 +3,22 @@
# Initial Provider Configuration for Kubectl
terraform {
required_version = ">= 0.13.0"
required_providers {
kubectl = {
source = "gavinbunney/kubectl"
version = "1.13.1"
required_version = ">= 0.13.0"
required_providers {
kubectl = {
source = "gavinbunney/kubectl"
version = "1.13.1"
}
}
}
}
# Dynamic Configuration from CIVO Kubernetes deployment
# provider "kubectl" {
# host = "${yamldecode(civo_kubernetes_cluster.your-kubernetes-cluster.kubeconfig).clusters.0.cluster.server}"
# client_certificate = "${base64decode(yamldecode(civo_kubernetes_cluster.your-kubernetes-cluster.kubeconfig).users.0.user.client-certificate-data)}"
# client_key = "${base64decode(yamldecode(civo_kubernetes_cluster.your-kubernetes-cluster.kubeconfig).users.0.user.client-key-data)}"
# cluster_ca_certificate = "${base64decode(yamldecode(civo_kubernetes_cluster.your-kubernetes-cluster.kubeconfig).clusters.0.cluster.certificate-authority-data)}"
# load_config_file = false
# }
# host = "${yamldecode(civo_kubernetes_cluster.your-kubernetes-cluster.kubeconfig).clusters.0.cluster.server}"
# client_certificate = "${base64decode(yamldecode(civo_kubernetes_cluster.your-kubernetes-cluster.kubeconfig).users.0.user.client-certificate-data)}"
# client_key = "${base64decode(yamldecode(civo_kubernetes_cluster.your-kubernetes-cluster.kubeconfig).users.0.user.client-key-data)}"
# cluster_ca_certificate = "${base64decode(yamldecode(civo_kubernetes_cluster.your-kubernetes-cluster.kubeconfig).clusters.0.cluster.certificate-authority-data)}"
# load_config_file = false
# }

View File

View File

@@ -0,0 +1,3 @@
proxmox_api_url = "https://0.0.0.0:8006/api2/json" # Your Proxmox IP Address
proxmox_api_token_id = "terraform@pam!terraform" # API Token ID
proxmox_api_token_secret = "your-api-token-secret"

View File

@@ -0,0 +1,49 @@
# Proxmox Full-Clone
# ---
# Create a new VM from a clone
resource "proxmox_vm_qemu" "your-vm" {
# VM General Settings
target_node = "your-proxmox-node"
vmid = "100"
name = "vm-name"
desc = "Description"
# VM Advanced General Settings
onboot = true
# VM OS Settings
clone = "your-clone"
# VM System Settings
agent = 1
# VM CPU Settings
cores = 1
sockets = 1
cpu = "host"
# VM Memory Settings
memory = 1024
# VM Network Settings
network {
bridge = "vmbr0"
model = "virtio"
}
# VM Cloud-Init Settings
os_type = "cloud-init"
# (Optional) IP Address and Gateway
# ipconfig0 = "ip=0.0.0.0/0,gw=0.0.0.0"
# (Optional) Default User
# ciuser = "your-username"
# (Optional) Add your SSH KEY
# sshkeys = <<EOF
# #YOUR-PUBLIC-SSH-KEY
# EOF
}

View File

@@ -0,0 +1,38 @@
# Proxmox Provider
# ---
# Initial Provider Configuration for Proxmox
terraform {
required_version = ">= 0.13.0"
required_providers {
proxmox = {
source = "telmate/proxmox"
version = "2.9.3"
}
}
}
variable "proxmox_api_url" {
type = string
}
variable "proxmox_api_token_id" {
type = string
}
variable "proxmox_api_token_secret" {
type = string
}
provider "proxmox" {
pm_api_url = var.proxmox_api_url
pm_api_token_id = var.proxmox_api_token_id
pm_api_token_secret = var.proxmox_api_token_secret
# (Optional) Skip TLS Verification
# pm_tls_insecure = true
}