mirror of
https://github.com/2martens/terraform.git
synced 2026-10-17 18:36:50 +02:00
Use content snap
This commit is contained in:
@@ -183,7 +183,7 @@ resource "hcloud_server" "server_k8s_test" {
|
||||
admin_user : "2martensAdmin"
|
||||
terraform_public_ssh_key : var.terraform_public_ssh_key
|
||||
main_node : true
|
||||
microk8s_config : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/microk8s-config-manager.tftpl", {
|
||||
microk8s_config : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/snap/microk8s-config-manager.tftpl", {
|
||||
node_ip : "10.0.0.2"
|
||||
api_server_domain : ""
|
||||
api_server_ip : hcloud_primary_ip.primary_ipv4_k8s_test.ip_address
|
||||
@@ -191,26 +191,27 @@ resource "hcloud_server" "server_k8s_test" {
|
||||
main_node_ip : "10.0.0.2"
|
||||
cluster_token : ""
|
||||
}))
|
||||
packages_setup : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/install-packages.sh", {
|
||||
snapcraft : base64encode(file("${path.module}/modules/k8s-cluster/templates/snap/snapcraft.yaml"))
|
||||
packages_setup : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/scripts/install-packages.sh", {
|
||||
refresh_day : "fri"
|
||||
refresh_hour : format("%02d", 0)
|
||||
}))
|
||||
firewall_setup : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/firewall-setup.sh", {
|
||||
firewall_setup : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/scripts/firewall-setup.sh", {
|
||||
node_ip : "10.0.0.2"
|
||||
}))
|
||||
ssh_setup : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/ssh-setup.sh", {
|
||||
ssh_setup : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/scripts/ssh-setup.sh", {
|
||||
admin_user : "2martensAdmin"
|
||||
}))
|
||||
microk8s_setup : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/microk8s-setup.sh", {
|
||||
microk8s_setup : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/scripts/microk8s-setup.sh", {
|
||||
microk8s_channel : "1.28-strict/stable"
|
||||
main_node : true
|
||||
}))
|
||||
cluster_setup_values : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/cluster-setup-values.yaml", {
|
||||
cluster_setup_values : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/helm/cluster-setup-values.yaml", {
|
||||
client_id : var.vault_client_id
|
||||
client_secret : var.vault_client_secret
|
||||
}))
|
||||
argocd_ha_values : base64encode(file("${path.module}/modules/k8s-cluster/templates/argocd-values-ha.yaml"))
|
||||
cluster_setup : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/cluster-setup.sh", {
|
||||
argocd_ha_values : base64encode(file("${path.module}/modules/k8s-cluster/templates/helm/argocd-values-ha.yaml"))
|
||||
cluster_setup : base64encode(templatefile("${path.module}/modules/k8s-cluster/templates/scripts/cluster-setup.sh", {
|
||||
argocd_environment : "test"
|
||||
high_availability : false
|
||||
}))
|
||||
|
||||
@@ -85,7 +85,7 @@ resource "hcloud_server" "manager" {
|
||||
admin_user : var.admin_user
|
||||
terraform_public_ssh_key : var.terraform_public_ssh_key
|
||||
main_node : count.index == 0
|
||||
microk8s_config : base64encode(templatefile("${path.module}/templates/microk8s-config-manager.tftpl", {
|
||||
microk8s_config : base64encode(templatefile("${path.module}/templates/snap/microk8s-config-manager.tftpl", {
|
||||
node_ip : var.private_node_ips[count.index]
|
||||
api_server_domain : local.kube_api_server_domain
|
||||
main_node : count.index == 0
|
||||
@@ -93,26 +93,27 @@ resource "hcloud_server" "manager" {
|
||||
api_server_ip : var.create_loadbalancer ? hcloud_load_balancer.kubernetes[0].ipv4 : hcloud_primary_ip.ipv4_manager_address[0].ip_address
|
||||
cluster_token : random_id.cluster_token.hex
|
||||
}))
|
||||
packages_setup : base64encode(templatefile("${path.module}/templates/install-packages.sh", {
|
||||
snapcraft : base64encode(file("${path.module}/templates/snap/snapcraft.yaml"))
|
||||
packages_setup : base64encode(templatefile("${path.module}/templates/scripts/install-packages.sh", {
|
||||
refresh_day : "fri"
|
||||
refresh_hour : format("%02d", count.index)
|
||||
}))
|
||||
firewall_setup : base64encode(templatefile("${path.module}/templates/firewall-setup.sh", {
|
||||
firewall_setup : base64encode(templatefile("${path.module}/templates/scripts/firewall-setup.sh", {
|
||||
node_ip : var.private_node_ips[count.index]
|
||||
}))
|
||||
ssh_setup : base64encode(templatefile("${path.module}/templates/ssh-setup.sh", {
|
||||
ssh_setup : base64encode(templatefile("${path.module}/templates/scripts/ssh-setup.sh", {
|
||||
admin_user : var.admin_user
|
||||
}))
|
||||
microk8s_setup : base64encode(templatefile("${path.module}/templates/microk8s-setup.sh", {
|
||||
microk8s_setup : base64encode(templatefile("${path.module}/templates/scripts/microk8s-setup.sh", {
|
||||
microk8s_channel : var.microk8s_channel
|
||||
main_node = count.index == 0
|
||||
}))
|
||||
cluster_setup_values : base64encode(templatefile("${path.module}/templates/cluster-setup-values.yaml", {
|
||||
cluster_setup_values : base64encode(templatefile("${path.module}/templates/helm/cluster-setup-values.yaml", {
|
||||
client_id : var.vault_service_principal.client_id
|
||||
client_secret : var.vault_service_principal.client_secret
|
||||
}))
|
||||
argocd_ha_values : base64encode(file("${path.module}/templates/argocd-values-ha.yaml"))
|
||||
cluster_setup : base64encode(templatefile("${path.module}/templates/cluster-setup.sh", {
|
||||
argocd_ha_values : base64encode(file("${path.module}/templates/helm/argocd-values-ha.yaml"))
|
||||
cluster_setup : base64encode(templatefile("${path.module}/templates/scripts/cluster-setup.sh", {
|
||||
argocd_environment : var.argocd_environment
|
||||
high_availability : var.number_nodes > 2
|
||||
}))
|
||||
|
||||
@@ -20,6 +20,11 @@ write_files:
|
||||
path: /run/tmpfiles.d/microk8s.yaml
|
||||
encoding: base64
|
||||
defer: true
|
||||
- owner: root:root
|
||||
content: "${snapcraft}"
|
||||
path: /run/tmpfiles.d/snapcraft.yaml
|
||||
encoding: base64
|
||||
defer: true
|
||||
- owner: root:root
|
||||
content: "${packages_setup}"
|
||||
path: /run/tmpfiles.d/install-packages.sh
|
||||
|
||||
@@ -20,6 +20,11 @@ write_files:
|
||||
path: /run/tmpfiles.d/microk8s.yaml
|
||||
encoding: base64
|
||||
defer: true
|
||||
- owner: root:root
|
||||
content: "${snapcraft}"
|
||||
path: /run/tmpfiles.d/snapcraft.yaml
|
||||
encoding: base64
|
||||
defer: true
|
||||
- owner: root:root
|
||||
content: "${packages_setup}"
|
||||
path: /run/tmpfiles.d/install-packages.sh
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
microk8s helm repo add 2martens https://repo.2martens.de/charts/
|
||||
microk8s helm install setup 2martens/cluster_setup --values /run/tmpfiles.d/cluster-setup-values.yaml
|
||||
%{ if high_availability ~}
|
||||
microk8s helm install argocd 2martens/argocd --set environment=${argocd_environment} --values /run/tmpfiles.d/argocd-values-ha.yaml
|
||||
%{ else ~}
|
||||
microk8s helm install argocd 2martens/argocd --set environment=${argocd_environment}
|
||||
%{ endif ~}
|
||||
@@ -1,7 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
cp /run/tmpfiles.d/microk8s.yaml /etc/microk8s.yaml
|
||||
%{ if !main_node ~}
|
||||
sleep 120
|
||||
%{ endif ~}
|
||||
snap install microk8s --channel "${microk8s_channel}"
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
/snap/bin/microk8s helm repo add 2martens https://repo.2martens.de/charts/
|
||||
/snap/bin/microk8s helm install setup 2martens/cluster_setup --values /run/tmpfiles.d/cluster-setup-values.yaml
|
||||
%{ if high_availability ~}
|
||||
/snap/bin/microk8s helm install argocd 2martens/argocd --set environment=${argocd_environment} --values /run/tmpfiles.d/argocd-values-ha.yaml
|
||||
%{ else ~}
|
||||
/snap/bin/microk8s helm install argocd 2martens/argocd --set environment=${argocd_environment}
|
||||
%{ endif ~}
|
||||
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh
|
||||
|
||||
mkdir -p /run/snap/launcher/configuration
|
||||
cp /run/tmpfiles.d/microk8s.yaml /run/snap/launcher/configuration/content.yaml
|
||||
cp /run/tmpfiles.d/snapcraft.yaml /run/snap/snapcraft.yaml
|
||||
cd /run/snap && snapcraft
|
||||
snap install /run/snap/microk8s-cluster-config_*.snap --dangerous
|
||||
|
||||
%{ if !main_node ~}
|
||||
sleep 120
|
||||
%{ endif ~}
|
||||
snap install microk8s --channel "${microk8s_channel}"
|
||||
snap connect microk8s-cluster-config:configuration microk8s
|
||||
@@ -0,0 +1,23 @@
|
||||
name: microk8s-cluster-config
|
||||
version: 'latest'
|
||||
summary: Adds a launch configuration to MicroK8s
|
||||
description: Configuration yaml file that MicroK8s can apply.
|
||||
base: core20
|
||||
|
||||
grade: stable
|
||||
confinement: strict
|
||||
|
||||
slots:
|
||||
configuration:
|
||||
interface: content
|
||||
content: configuration
|
||||
source:
|
||||
read:
|
||||
- $SNAP/launcher
|
||||
|
||||
parts:
|
||||
configuration:
|
||||
plugin: dump
|
||||
source: .
|
||||
stage:
|
||||
- launcher/*
|
||||
@@ -64,7 +64,7 @@ resource "hcloud_server" "worker" {
|
||||
admin_user : var.admin_user
|
||||
terraform_public_ssh_key : var.terraform_public_ssh_key
|
||||
main_node : count.index == 0
|
||||
microk8s_config : base64encode(templatefile("${path.module}/templates/microk8s-config-worker.tftpl", {
|
||||
microk8s_config : base64encode(templatefile("${path.module}/templates/snap/microk8s-config-worker.tftpl", {
|
||||
node_ip : var.private_node_ips[count.index]
|
||||
api_server_domain : local.kube_api_server_domain
|
||||
main_node : count.index == 0
|
||||
@@ -72,26 +72,27 @@ resource "hcloud_server" "worker" {
|
||||
api_server_ip : var.create_loadbalancer ? hcloud_load_balancer.kubernetes[0].ipv4 : hcloud_server.manager[0].ipv4_address
|
||||
cluster_token : random_id.cluster_token.hex
|
||||
}))
|
||||
packages_setup : base64encode(templatefile("${path.module}/templates/install-packages.sh", {
|
||||
snapcraft : base64encode(file("${path.module}/templates/snap/snapcraft.yaml"))
|
||||
packages_setup : base64encode(templatefile("${path.module}/templates/scripts/install-packages.sh", {
|
||||
refresh_day : "sat"
|
||||
refresh_hour : format("%02d", count.index)
|
||||
}))
|
||||
firewall_setup : base64encode(templatefile("${path.module}/templates/firewall-setup.sh", {
|
||||
firewall_setup : base64encode(templatefile("${path.module}/templates/scripts/firewall-setup.sh", {
|
||||
node_ip : var.private_node_ips[count.index]
|
||||
}))
|
||||
ssh_setup : base64encode(templatefile("${path.module}/templates/ssh-setup.sh", {
|
||||
ssh_setup : base64encode(templatefile("${path.module}/templates/scripts/ssh-setup.sh", {
|
||||
admin_user : var.admin_user
|
||||
}))
|
||||
microk8s_setup : base64encode(templatefile("${path.module}/templates/microk8s-setup.sh", {
|
||||
microk8s_setup : base64encode(templatefile("${path.module}/templates/scripts/microk8s-setup.sh", {
|
||||
microk8s_channel : var.microk8s_channel
|
||||
main_node : false
|
||||
}))
|
||||
cluster_setup_values : base64encode(templatefile("${path.module}/templates/cluster-setup-values.yaml", {
|
||||
cluster_setup_values : base64encode(templatefile("${path.module}/templates/helm/cluster-setup-values.yaml", {
|
||||
client_id : var.vault_service_principal.client_id
|
||||
client_secret : var.vault_service_principal.client_secret
|
||||
}))
|
||||
argocd_ha_values : base64encode(file("${path.module}/templates/argocd-values-ha.yaml"))
|
||||
cluster_setup : base64encode(templatefile("${path.module}/templates/cluster-setup.sh", {
|
||||
argocd_ha_values : base64encode(file("${path.module}/templates/helm/argocd-values-ha.yaml"))
|
||||
cluster_setup : base64encode(templatefile("${path.module}/templates/scripts/cluster-setup.sh", {
|
||||
argocd_environment : var.argocd_environment
|
||||
high_availability : var.number_nodes > 2
|
||||
}))
|
||||
|
||||
Reference in New Issue
Block a user