diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index ee42cd3..8878c9a 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -9,7 +9,7 @@ jobs: name: Validate provisioning steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v7 - name: Setup packer uses: hashicorp/setup-packer@main @@ -32,4 +32,4 @@ jobs: uses: ibiqlik/action-yamllint@v3 - name: Validate ansible playbooks - uses: ansible/ansible-lint-action@main + uses: ansible/ansible-lint@main diff --git a/.gitignore b/.gitignore index 5d3ac87..2f32b04 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .direnv/ .vscode/ +.ansible/ diff --git a/.yamllint b/.yamllint index f5c5fd9..885d7a1 100644 --- a/.yamllint +++ b/.yamllint @@ -1,6 +1,5 @@ --- ignore: | - roles/prometheus/files/generator.yml roles/*/templates/* extends: default diff --git a/baseimage.pkr.hcl b/baseimage.pkr.hcl index 4c309c9..b793893 100644 --- a/baseimage.pkr.hcl +++ b/baseimage.pkr.hcl @@ -28,7 +28,7 @@ variable "account_id" { default = "136693071363" } -data "amazon-ami" "debian-amd64-bookworm" { +data "amazon-ami" "debian-amd64" { filters = { name = "debian-12-amd64-*" root-device-type = "ebs" @@ -39,7 +39,7 @@ data "amazon-ami" "debian-amd64-bookworm" { region = "eu-central-1" } -data "amazon-ami" "debian-arm64-bookworm" { +data "amazon-ami" "debian-arm64" { filters = { name = "debian-12-arm64-*" root-device-type = "ebs" @@ -50,22 +50,22 @@ data "amazon-ami" "debian-arm64-bookworm" { region = "eu-central-1" } -# codemonauts-amd64-bookworm-base -source "amazon-ebs" "codemonauts-amd64-bookworm-base" { +# codemonauts-amd64-base +source "amazon-ebs" "codemonauts-amd64-base" { ami_groups = ["all"] - ami_name = "codemonauts-amd64-bookworm-base_${formatdate("YYYY-MM-DD-hh-mm", timestamp())}" + ami_name = "codemonauts-amd64-base_${formatdate("YYYY-MM-DD-hh-mm", timestamp())}" ami_regions = ["eu-west-1"] instance_type = "${var.amd64_instance_type}" region = "eu-central-1" - source_ami = "${data.amazon-ami.debian-amd64-bookworm.id}" + source_ami = "${data.amazon-ami.debian-amd64.id}" ssh_username = "admin" tags = { - Amazon_AMI_Management_Identifier = "codemonauts-amd64-bookworm-base" + Amazon_AMI_Management_Identifier = "codemonauts-amd64-base" } } build { - name = "codemonauts-amd64-bookworm-base" - sources = ["source.amazon-ebs.codemonauts-amd64-bookworm-base"] + name = "codemonauts-amd64-base" + sources = ["source.amazon-ebs.codemonauts-amd64-base"] provisioner "shell" { pause_before = "10s" @@ -82,28 +82,28 @@ build { } post-processor "amazon-ami-management" { - identifier = "codemonauts-amd64-bookworm-base" + identifier = "codemonauts-amd64-base" keep_releases = "3" regions = ["eu-central-1"] } } -# codemonauts-arm64-bookworm-base -source "amazon-ebs" "codemonauts-arm64-bookworm-base" { +# codemonauts-arm64-base +source "amazon-ebs" "codemonauts-arm64-base" { ami_groups = ["all"] - ami_name = "codemonauts-arm64-bookworm-base_${formatdate("YYYY-MM-DD-hh-mm", timestamp())}" + ami_name = "codemonauts-arm64-base_${formatdate("YYYY-MM-DD-hh-mm", timestamp())}" ami_regions = ["eu-west-1"] instance_type = "${var.arm64_instance_type}" region = "eu-central-1" - source_ami = "${data.amazon-ami.debian-arm64-bookworm.id}" + source_ami = "${data.amazon-ami.debian-arm64.id}" ssh_username = "admin" tags = { - Amazon_AMI_Management_Identifier = "codemonauts-arm64-bookworm-base" + Amazon_AMI_Management_Identifier = "codemonauts-arm64-base" } } build { - name = "codemonauts-arm64-bookworm-base" - sources = ["source.amazon-ebs.codemonauts-arm64-bookworm-base"] + name = "codemonauts-arm64-base" + sources = ["source.amazon-ebs.codemonauts-arm64-base"] provisioner "shell" { pause_before = "10s" @@ -120,7 +120,7 @@ build { } post-processor "amazon-ami-management" { - identifier = "codemonauts-arm64-bookworm-base" + identifier = "codemonauts-arm64-base" keep_releases = "3" regions = ["eu-central-1"] } diff --git a/shell.nix b/shell.nix index d293d57..7318ed9 100644 --- a/shell.nix +++ b/shell.nix @@ -1,11 +1,13 @@ -{ pkgs ? import { } }: +{ pkgs ? import { + config.allowUnfree = true; +} }: pkgs.mkShell { buildInputs = with pkgs; [ ansible-lint packer - python311 - python311Packages.pip + python313 + python313Packages.pip jq yamllint ]; diff --git a/webserver.pkr.hcl b/webserver.pkr.hcl index 1293fd8..700baa2 100644 --- a/webserver.pkr.hcl +++ b/webserver.pkr.hcl @@ -28,7 +28,7 @@ variable "account_id" { default = "136693071363" } -data "amazon-ami" "debian-amd64-bookworm" { +data "amazon-ami" "debian-amd64" { filters = { name = "debian-12-amd64-*" root-device-type = "ebs" @@ -39,7 +39,7 @@ data "amazon-ami" "debian-amd64-bookworm" { region = "eu-central-1" } -data "amazon-ami" "debian-arm64-bookworm" { +data "amazon-ami" "debian-arm64" { filters = { name = "debian-12-arm64-*" root-device-type = "ebs" @@ -50,22 +50,22 @@ data "amazon-ami" "debian-arm64-bookworm" { region = "eu-central-1" } -# codemonauts-amd64-bookworm-webserver-php83 -source "amazon-ebs" "codemonauts-amd64-bookworm-webserver-php83" { +# codemonauts-amd64-webserver-php83 +source "amazon-ebs" "codemonauts-amd64-webserver-php83" { ami_groups = ["all"] - ami_name = "codemonauts-amd64-bookworm-webserver-php83_${formatdate("YYYY-MM-DD-hh-mm", timestamp())}" + ami_name = "codemonauts-amd64-webserver-php83_${formatdate("YYYY-MM-DD-hh-mm", timestamp())}" ami_regions = ["eu-west-1"] instance_type = "${var.amd64_instance_type}" region = "eu-central-1" - source_ami = "${data.amazon-ami.debian-amd64-bookworm.id}" + source_ami = "${data.amazon-ami.debian-amd64.id}" ssh_username = "admin" tags = { - Amazon_AMI_Management_Identifier = "codemonauts-amd64-bookworm-webserver-php83" + Amazon_AMI_Management_Identifier = "codemonauts-amd64-webserver-php83" } } build { - name = "codemonauts-amd64-bookworm-webserver-php83" - sources = ["source.amazon-ebs.codemonauts-amd64-bookworm-webserver-php83"] + name = "codemonauts-amd64-webserver-php83" + sources = ["source.amazon-ebs.codemonauts-amd64-webserver-php83"] provisioner "shell" { pause_before = "10s" @@ -86,28 +86,28 @@ build { } post-processor "amazon-ami-management" { - identifier = "codemonauts-amd64-bookworm-webserver-php83" + identifier = "codemonauts-amd64-bookworm-php83" keep_releases = "3" regions = ["eu-central-1"] } } -# codemonauts-arm64-bookworm-webserver-php83 -source "amazon-ebs" "codemonauts-arm64-bookworm-webserver-php83" { +# codemonauts-arm64-bookworm-php83 +source "amazon-ebs" "codemonauts-arm64-webserver-php83" { ami_groups = ["all"] - ami_name = "codemonauts-arm64-bookworm-webserver-php83_${formatdate("YYYY-MM-DD-hh-mm", timestamp())}" + ami_name = "codemonauts-arm64-webserver-php83_${formatdate("YYYY-MM-DD-hh-mm", timestamp())}" ami_regions = ["eu-west-1"] instance_type = "${var.arm64_instance_type}" region = "eu-central-1" - source_ami = "${data.amazon-ami.debian-arm64-bookworm.id}" + source_ami = "${data.amazon-ami.debian-arm64.id}" ssh_username = "admin" tags = { - Amazon_AMI_Management_Identifier = "codemonauts-arm64-bookworm-webserver-php83" + Amazon_AMI_Management_Identifier = "codemonauts-arm64-webserver-php83" } } build { - name = "codemonauts-arm64-bookworm-webserver-php83" - sources = ["source.amazon-ebs.codemonauts-arm64-bookworm-webserver-php83"] + name = "codemonauts-arm64-webserver-php83" + sources = ["source.amazon-ebs.codemonauts-arm64-webserver-php83"] provisioner "shell" { pause_before = "10s" @@ -128,7 +128,7 @@ build { } post-processor "amazon-ami-management" { - identifier = "codemonauts-arm64-bookworm-webserver-php83" + identifier = "codemonauts-arm64-webserver-php83" keep_releases = "3" regions = ["eu-central-1"] }