From 51204f2219684e199a1eb5d324f560b72988d7e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 15 Aug 2024 23:40:51 +0000 Subject: [PATCH] deps(ci): bump super-linter/super-linter from 6.9.0 to 7.0.0 Bumps [super-linter/super-linter](https://github.com/super-linter/super-linter) from 6.9.0 to 7.0.0. - [Release notes](https://github.com/super-linter/super-linter/releases) - [Changelog](https://github.com/super-linter/super-linter/blob/main/CHANGELOG.md) - [Commits](https://github.com/super-linter/super-linter/compare/v6.9.0...v7.0.0) --- updated-dependencies: - dependency-name: super-linter/super-linter dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/dependabot.yaml | 1 - .github/renovate.json | 12 +-- .github/workflows/build-arduino-projects.yaml | 3 +- .github/workflows/build-container-images.yaml | 3 +- .github/workflows/build-firmware-images.yaml | 3 +- .github/workflows/dependabot-automation.yaml | 3 +- .github/workflows/dependency-review.yaml | 3 +- .github/workflows/lint-commit.yaml | 3 +- .github/workflows/lint.yaml | 6 +- .github/workflows/preview-release-notes.yml | 3 +- .github/workflows/release.yml | 3 +- .github/workflows/renovate.yaml | 5 +- .github/workflows/scorecard.yaml | 5 +- .github/workflows/test-ansible.yaml | 3 +- .github/workflows/test-shell-scripts.yaml | 3 +- README.md | 2 +- .../inventory/group_vars/all/docker.yaml | 14 ++-- .../inventory/group_vars/all/main.yaml | 1 - .../home_lab_proxmox_nodes/main.yaml | 1 - .../group_vars/home_lab_raspberry_pis.yaml | 1 - .../hl01.edge.lab.ferrari.how/main.yaml | 1 - .../pve1.edge.lab.ferrari.how/main.yaml | 1 - .../raspberrypi.edge.lab.ferrari.how.yaml | 1 - .../main.yaml | 1 - .../raspberrypi3.edge.lab.ferrari.how.yaml | 1 - config/ansible/inventory/hosts.yml | 1 - config/ansible/molecule/default/molecule.yml | 1 - config/ansible/playbooks/boot-bare-metal.yaml | 1 - config/ansible/playbooks/bootstrap.yaml | 1 - .../ansible/playbooks/container-engine.yaml | 1 - config/ansible/playbooks/coral.yaml | 1 - config/ansible/playbooks/home-lab-node.yaml | 1 - config/ansible/playbooks/main.yaml | 1 - config/ansible/playbooks/proxmox-node.yaml | 1 - config/ansible/playbooks/proxmox-vms.yaml | 2 +- config/ansible/requirements.yml | 1 - .../defaults/main.yaml | 1 - .../handlers/main.yaml | 1 - .../meta/main.yaml | 1 - .../tasks/main.yaml | 1 - .../tasks/wake.yaml | 1 - .../vars/main.yaml | 1 - .../defaults/main.yaml | 1 - .../handlers/main.yaml | 1 - .../meta/main.yaml | 1 - .../tasks/main.yaml | 1 - .../tasks/pre-flight-checks.yaml | 3 +- .../tasks/print-host-info.yaml | 1 - .../tasks/setup-Debian.yaml | 1 - .../tasks/setup-systemd.yaml | 1 - .../vars/Debian.yaml | 1 - .../vars/default.yaml | 1 - .../vars/main.yaml | 1 - .../defaults/main.yaml | 1 - .../handlers/main.yaml | 1 - .../meta/main.yaml | 1 - .../tasks/main.yaml | 1 - .../tasks/setup-coral-os-packages.yaml | 1 - .../vars/main.yaml | 1 - .../defaults/main.yaml | 1 - .../cadvisor-exporter_rev1.json | 9 +-- .../dashboard-definitions/coredns_rev2.json | 79 +++++-------------- .../home-network_rev1.json | 16 +--- .../network-ups-tools.json | 28 ++----- .../node-exporter-full_rev26.json | 40 ++-------- .../dashboard-definitions/restic_rev23.json | 48 +++-------- .../dashboard-definitions/smartmon_rev1.json | 4 +- .../dashboards/embedded-dashboards.yaml | 3 +- .../grafana/datasources/prometheus.yaml | 1 - .../handlers/main.yaml | 1 - .../ferrarimarco_home_lab_node/meta/main.yaml | 1 - .../tasks/include-variables.yaml | 1 - ...ke-system-wide-configuration-handlers.yaml | 1 - .../tasks/main.yaml | 3 +- .../tasks/os-services.yaml | 1 - .../tasks/register-Debian-facts.yaml | 1 - ...gister-container-image-versions-facts.yaml | 1 - .../tasks/register-custom-facts.yaml | 1 - .../tasks/register-dns-facts.yaml | 1 - .../tasks/register-home-assistant-facts.yaml | 1 - .../register-monitoring-backend-facts.yaml | 1 - .../register-os-package-setup-facts.yaml | 1 - .../tasks/register-raspberry-pi-os-facts.yaml | 1 - ...register-raspberry-pi-sense-hat-facts.yaml | 1 - .../tasks/setup-Debian.yaml | 1 - .../tasks/setup-argonone-case.yaml | 1 - .../tasks/setup-cron.yaml | 1 - .../tasks/setup-disks.yaml | 1 - .../tasks/setup-raspberry-pi.yaml | 1 - .../tasks/setup-restic.yaml | 1 - .../tasks/setup-systemd.yaml | 1 - .../tasks/setup-tailscale.yaml | 3 +- .../ferrarimarco_home_lab_node/tasks/ssh.yaml | 5 +- .../tasks/stop-services-and-processes.yaml | 1 - .../tasks/users.yaml | 13 ++- .../vars/Debian.yaml | 1 - .../vars/asuswrt-chkwan-stack.yaml | 1 - .../vars/default.yaml | 1 - .../vars/docker-stack.yaml | 1 - .../vars/intel-gpu.yaml | 1 - .../ferrarimarco_home_lab_node/vars/main.yaml | 1 - .../vars/media-stack.yaml | 1 - .../vars/monitoring-nut-stack.yaml | 1 - .../vars/monitoring-ont-stack.yaml | 1 - .../vars/network-stack.yaml | 1 - .../vars/raspberry-pi-os.yaml | 1 - .../vars/restic-stack.yaml | 1 - .../vars/tailscale-stack.yaml | 1 - .../defaults/main.yaml | 1 - .../handlers/main.yaml | 1 - .../meta/main.yaml | 1 - .../tasks/main.yaml | 1 - .../tasks/setup-kernel.yaml | 5 +- .../tasks/setup-proxmox-os-packages.yaml | 1 - .../vars/main.yaml | 1 - config/lint/.ansible-lint.yml | 3 +- config/lint/.checkov.yaml | 1 - config/lint/.hadolint.yaml | 1 - config/lint/.jscpd.json | 4 +- config/lint/.markdown-lint.yaml | 1 - config/lint/.yaml-lint.yml | 1 - config/pre-commit/.pre-commit-config.yaml | 1 - .../smart-desk/esphome/secrets-template.yaml | 1 - config/smart-desk/esphome/smart-desk.yaml | 1 - docs/architecture/README.md | 28 +++---- .../dns-zones-servers-resolvers.md | 20 ++--- docs/architecture/network-subnets.md | 2 +- docs/architecture/references.md | 2 +- .../capture-proxmox-vm-network-traffic.md | 4 +- docs/guides/configure-tailscale.md | 8 +- docs/guides/container-migration.md | 4 +- docs/guides/expand-partition-debian.md | 2 +- docs/guides/linux-disk-setup.md | 4 +- docs/guides/useful-linux-admin-commands.md | 8 +- docs/guides/useful-proxmox-commands.md | 12 +-- docs/installation/production/README.md | 6 +- .../production/provision-new-hosts.md | 32 ++++---- scripts/lint.sh | 13 +++ 138 files changed, 172 insertions(+), 406 deletions(-) diff --git a/.github/dependabot.yaml b/.github/dependabot.yaml index 963fa9a56..b3716e0e5 100644 --- a/.github/dependabot.yaml +++ b/.github/dependabot.yaml @@ -92,4 +92,3 @@ updates: interval: "daily" open-pull-requests-limit: 100 version: 2 -... diff --git a/.github/renovate.json b/.github/renovate.json index 064cdeeb7..5543479d8 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -17,14 +17,10 @@ "pre-commit", "custom.regex" ], - "extends": [ - "config:best-practices" - ], + "extends": ["config:best-practices"], "forkProcessing": "enabled", "gitAuthor": "github-actions[bot] ", - "labels": [ - "dependencies" - ], + "labels": ["dependencies"], "packageRules": [], "pre-commit": { "enabled": true @@ -32,9 +28,7 @@ "customManagers": [ { "customType": "regex", - "fileMatch": [ - "^docker/arduino-cli/Dockerfile$" - ], + "fileMatch": ["^docker/arduino-cli/Dockerfile$"], "matchStrings": [ "ARG ARDUINO_CLI_VERSION=\"(?\\d+\\.\\d+\\.\\d+)\\S*" ], diff --git a/.github/workflows/build-arduino-projects.yaml b/.github/workflows/build-arduino-projects.yaml index f0aea8d21..5885775d2 100644 --- a/.github/workflows/build-arduino-projects.yaml +++ b/.github/workflows/build-arduino-projects.yaml @@ -4,7 +4,7 @@ name: Build Arduino projects permissions: contents: read -on: # yamllint disable-line rule:truthy +on: # yamllint disable-line rule:truthy push: paths: - ".github/workflows/build-arduino-projects.yaml" @@ -41,4 +41,3 @@ jobs: arduino-project: - project-id: arduino-33-ble-sense project-context-path: config/arduino/arduino-33-ble-sense -... diff --git a/.github/workflows/build-container-images.yaml b/.github/workflows/build-container-images.yaml index 83126a072..ccc204534 100644 --- a/.github/workflows/build-container-images.yaml +++ b/.github/workflows/build-container-images.yaml @@ -7,7 +7,7 @@ env: permissions: contents: read -on: # yamllint disable-line rule:truthy +on: # yamllint disable-line rule:truthy push: null pull_request: null @@ -78,4 +78,3 @@ jobs: - name: cd-container build-contexts: null context-directory: docker/release-please-commitlint -... diff --git a/.github/workflows/build-firmware-images.yaml b/.github/workflows/build-firmware-images.yaml index 68c9e8398..4a7be9f8c 100644 --- a/.github/workflows/build-firmware-images.yaml +++ b/.github/workflows/build-firmware-images.yaml @@ -7,7 +7,7 @@ env: permissions: contents: read -on: # yamllint disable-line rule:truthy +on: # yamllint disable-line rule:truthy push: paths: - ".github/workflows/build-firmware-images.yaml" @@ -34,4 +34,3 @@ jobs: - name: "Build the Smart Desk firmware image" run: | scripts/build.sh -... diff --git a/.github/workflows/dependabot-automation.yaml b/.github/workflows/dependabot-automation.yaml index f80d49de5..e1bea211f 100644 --- a/.github/workflows/dependabot-automation.yaml +++ b/.github/workflows/dependabot-automation.yaml @@ -1,7 +1,7 @@ --- name: Dependabot automation -on: # yamllint disable-line rule:truthy +on: # yamllint disable-line rule:truthy pull_request: types: - opened @@ -53,4 +53,3 @@ jobs: || steps.metadata.outputs.dependency-names == 'renovatebot/github-action' || steps.metadata.outputs.dependency-names == 'super-linter/super-linter' run: gh pr merge --auto --squash --delete-branch "${PR_URL}" -... diff --git a/.github/workflows/dependency-review.yaml b/.github/workflows/dependency-review.yaml index 6fad7c87c..a6c43765b 100644 --- a/.github/workflows/dependency-review.yaml +++ b/.github/workflows/dependency-review.yaml @@ -1,6 +1,6 @@ --- name: Dependency Review -on: # yamllint disable-line rule:truthy +on: # yamllint disable-line rule:truthy pull_request: null permissions: @@ -14,4 +14,3 @@ jobs: uses: actions/checkout@v4 - name: Review dependencies uses: actions/dependency-review-action@v4 -... diff --git a/.github/workflows/lint-commit.yaml b/.github/workflows/lint-commit.yaml index 15bc7f24b..b953d8628 100644 --- a/.github/workflows/lint-commit.yaml +++ b/.github/workflows/lint-commit.yaml @@ -1,7 +1,7 @@ --- name: Lint commit -on: # yamllint disable-line rule:truthy +on: # yamllint disable-line rule:truthy push: null pull_request: null merge_group: null @@ -72,4 +72,3 @@ jobs: - name: Validate commits run: | scripts/lint-commits.sh -... diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 5bf272042..7fc53e4a5 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -1,7 +1,7 @@ --- name: Lint -on: # yamllint disable-line rule:truthy +on: # yamllint disable-line rule:truthy push: null pull_request: null workflow_call: null @@ -10,7 +10,6 @@ permissions: contents: read jobs: - lint: concurrency: # Ref: https://docs.github.com/en/actions/learn-github-actions/contexts#github-context @@ -30,7 +29,7 @@ jobs: - name: Load super-linter configuration run: cat config/lint/super-linter.env >> "$GITHUB_ENV" - name: Super-Linter - uses: super-linter/super-linter@v6.9.0 + uses: super-linter/super-linter@v7.0.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -66,4 +65,3 @@ jobs: set -o nounset scripts/run-pre-commit.sh -... diff --git a/.github/workflows/preview-release-notes.yml b/.github/workflows/preview-release-notes.yml index 7ead4c3ee..ef24d086a 100644 --- a/.github/workflows/preview-release-notes.yml +++ b/.github/workflows/preview-release-notes.yml @@ -1,7 +1,7 @@ --- name: Release -on: # yamllint disable-line rule:truthy +on: # yamllint disable-line rule:truthy pull_request: null # Don't grant any access by default @@ -24,4 +24,3 @@ jobs: - name: Generate a preview of the release notes run: | scripts/release-please-dry-run.sh -... diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d511f55bf..c70c85383 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,7 +1,7 @@ --- name: Release -on: # yamllint disable-line rule:truthy +on: # yamllint disable-line rule:truthy push: branches: - main @@ -27,4 +27,3 @@ jobs: config-file: .github/release-please/release-please-config.json manifest-file: .github/release-please/.release-please-manifest.json token: ${{ secrets.GITHUB_TOKEN }} -... diff --git a/.github/workflows/renovate.yaml b/.github/workflows/renovate.yaml index 919759a43..4678d6fb1 100644 --- a/.github/workflows/renovate.yaml +++ b/.github/workflows/renovate.yaml @@ -1,7 +1,7 @@ --- name: Renovate -on: # yamllint disable-line rule:truthy +on: # yamllint disable-line rule:truthy push: paths: - ".github/workflows/renovate.yaml" @@ -41,8 +41,7 @@ jobs: - name: Self-hosted Renovate uses: renovatebot/github-action@v40.2.6 env: - LOG_LEVEL: 'debug' + LOG_LEVEL: "debug" with: configurationFile: .github/renovate-global-config.js token: ${{ secrets.GITHUB_TOKEN }} -... diff --git a/.github/workflows/scorecard.yaml b/.github/workflows/scorecard.yaml index c897fa82e..ce95722ed 100644 --- a/.github/workflows/scorecard.yaml +++ b/.github/workflows/scorecard.yaml @@ -1,13 +1,13 @@ --- name: Scorecard supply-chain security -on: # yamllint disable-line rule:truthy +on: # yamllint disable-line rule:truthy # For Branch-Protection check. Only the default branch is supported. See # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection branch_protection_rule: null # To guarantee Maintained check is occasionally updated. See # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained schedule: - - cron: '44 5 * * 6' + - cron: "44 5 * * 6" push: branches: - master @@ -52,4 +52,3 @@ jobs: uses: github/codeql-action/upload-sarif@v3.26.2 with: sarif_file: results.sarif -... diff --git a/.github/workflows/test-ansible.yaml b/.github/workflows/test-ansible.yaml index 472f73067..b000fdde7 100644 --- a/.github/workflows/test-ansible.yaml +++ b/.github/workflows/test-ansible.yaml @@ -1,7 +1,7 @@ --- name: Test Ansible collections, roles, playbooks -on: # yamllint disable-line rule:truthy +on: # yamllint disable-line rule:truthy push: paths: - ".github/workflows/test-ansible.yaml" @@ -72,4 +72,3 @@ jobs: - home-lab-node - proxmox-node - main -... diff --git a/.github/workflows/test-shell-scripts.yaml b/.github/workflows/test-shell-scripts.yaml index 8d542b8d2..c069e72af 100644 --- a/.github/workflows/test-shell-scripts.yaml +++ b/.github/workflows/test-shell-scripts.yaml @@ -1,7 +1,7 @@ --- name: Test shell scripts -on: # yamllint disable-line rule:truthy +on: # yamllint disable-line rule:truthy push: null pull_request: null @@ -28,4 +28,3 @@ jobs: matrix: test_script_path: - test/scripts/build-python-venv-test.sh -... diff --git a/README.md b/README.md index 79b3c317d..283064f77 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ configuration changes to the environments. For more information about how to set up the lab, see: -- [Initialize the home lab on physical hardware](./docs/installation/production/README.md). +- [Initialize the home lab on physical hardware](./docs/installation/production/README.md). ## Architecture diff --git a/config/ansible/inventory/group_vars/all/docker.yaml b/config/ansible/inventory/group_vars/all/docker.yaml index 786b035c0..ab586853f 100644 --- a/config/ansible/inventory/group_vars/all/docker.yaml +++ b/config/ansible/inventory/group_vars/all/docker.yaml @@ -22,13 +22,9 @@ docker_users: - "{{ ansible_user }}" # Docker daemon options as a dict -docker_daemon_options: { - "live-restore": true, - "log-driver": "local", - "log-opts": { - "compress": "true", - "max-size": "10m", - "max-file": "3", +docker_daemon_options: + { + "live-restore": true, + "log-driver": "local", + "log-opts": { "compress": "true", "max-size": "10m", "max-file": "3" }, } -} -... diff --git a/config/ansible/inventory/group_vars/all/main.yaml b/config/ansible/inventory/group_vars/all/main.yaml index 53fddf488..7c5c588f8 100644 --- a/config/ansible/inventory/group_vars/all/main.yaml +++ b/config/ansible/inventory/group_vars/all/main.yaml @@ -38,4 +38,3 @@ qbittorrent_http_endpoint_fqdn: "raspberrypi2.{{ edge_environment_root_fqdn }}" syncthing_user_interface_http_endpoint_fqdn: "raspberrypi2.{{ edge_environment_root_fqdn }}" zigbee2mqtt_http_endpoint_fqdn: "raspberrypi2.{{ edge_environment_root_fqdn }}" mosquitto_server_fqdn: "raspberrypi2.{{ edge_environment_root_fqdn }}" -... diff --git a/config/ansible/inventory/group_vars/home_lab_proxmox_nodes/main.yaml b/config/ansible/inventory/group_vars/home_lab_proxmox_nodes/main.yaml index 7513e887e..49e6d12d8 100644 --- a/config/ansible/inventory/group_vars/home_lab_proxmox_nodes/main.yaml +++ b/config/ansible/inventory/group_vars/home_lab_proxmox_nodes/main.yaml @@ -3,4 +3,3 @@ is_proxmox_node: true proxmox_vms: - hostname: hl01 default_network_interface_mac_address: "bc:24:11:d4:f6:64" -... diff --git a/config/ansible/inventory/group_vars/home_lab_raspberry_pis.yaml b/config/ansible/inventory/group_vars/home_lab_raspberry_pis.yaml index 35578521f..cceef72c2 100644 --- a/config/ansible/inventory/group_vars/home_lab_raspberry_pis.yaml +++ b/config/ansible/inventory/group_vars/home_lab_raspberry_pis.yaml @@ -2,4 +2,3 @@ ansible_user: pi configure_tailscale: true is_raspberry_pi: true -... diff --git a/config/ansible/inventory/host_vars/hl01.edge.lab.ferrari.how/main.yaml b/config/ansible/inventory/host_vars/hl01.edge.lab.ferrari.how/main.yaml index bab1d31ce..9cdd402d3 100644 --- a/config/ansible/inventory/host_vars/hl01.edge.lab.ferrari.how/main.yaml +++ b/config/ansible/inventory/host_vars/hl01.edge.lab.ferrari.how/main.yaml @@ -27,4 +27,3 @@ filesystems_to_create: partitions_to_create: - device: "{{ data_disk_device }}" partition_number: 1 -... diff --git a/config/ansible/inventory/host_vars/pve1.edge.lab.ferrari.how/main.yaml b/config/ansible/inventory/host_vars/pve1.edge.lab.ferrari.how/main.yaml index f9d609749..de383946e 100644 --- a/config/ansible/inventory/host_vars/pve1.edge.lab.ferrari.how/main.yaml +++ b/config/ansible/inventory/host_vars/pve1.edge.lab.ferrari.how/main.yaml @@ -6,4 +6,3 @@ network_interfaces: interface_name: enp2s0 # Assigned using DHCP address reservation ipv4_address: "10.0.0.3" -... diff --git a/config/ansible/inventory/host_vars/raspberrypi.edge.lab.ferrari.how.yaml b/config/ansible/inventory/host_vars/raspberrypi.edge.lab.ferrari.how.yaml index 685d8ecc1..08c2d8766 100644 --- a/config/ansible/inventory/host_vars/raspberrypi.edge.lab.ferrari.how.yaml +++ b/config/ansible/inventory/host_vars/raspberrypi.edge.lab.ferrari.how.yaml @@ -3,4 +3,3 @@ configure_docker: true configure_wifi: true delete_systemd_journal_file: true has_sense_hat: true -... diff --git a/config/ansible/inventory/host_vars/raspberrypi2.edge.lab.ferrari.how/main.yaml b/config/ansible/inventory/host_vars/raspberrypi2.edge.lab.ferrari.how/main.yaml index 7810595ad..a3063cd04 100644 --- a/config/ansible/inventory/host_vars/raspberrypi2.edge.lab.ferrari.how/main.yaml +++ b/config/ansible/inventory/host_vars/raspberrypi2.edge.lab.ferrari.how/main.yaml @@ -79,4 +79,3 @@ network_interfaces: interface_name: eth0 # Assigned using DHCP address reservation ipv4_address: "10.0.0.2" -... diff --git a/config/ansible/inventory/host_vars/raspberrypi3.edge.lab.ferrari.how.yaml b/config/ansible/inventory/host_vars/raspberrypi3.edge.lab.ferrari.how.yaml index c1334c4ed..7b6479721 100644 --- a/config/ansible/inventory/host_vars/raspberrypi3.edge.lab.ferrari.how.yaml +++ b/config/ansible/inventory/host_vars/raspberrypi3.edge.lab.ferrari.how.yaml @@ -3,4 +3,3 @@ configure_docker: true configure_wifi: true delete_systemd_journal_file: true has_raspberry_pi_v2_camera: true -... diff --git a/config/ansible/inventory/hosts.yml b/config/ansible/inventory/hosts.yml index f0eb3fbf1..2c46e513f 100644 --- a/config/ansible/inventory/hosts.yml +++ b/config/ansible/inventory/hosts.yml @@ -22,4 +22,3 @@ all: home_lab_proxmox_vms: hosts: hl01.edge.lab.ferrari.how: null -... diff --git a/config/ansible/molecule/default/molecule.yml b/config/ansible/molecule/default/molecule.yml index 9b3fdce2a..95597fdfa 100644 --- a/config/ansible/molecule/default/molecule.yml +++ b/config/ansible/molecule/default/molecule.yml @@ -109,4 +109,3 @@ provisioner: D: true playbooks: converge: "${ANSIBLE_TEST_PLAYBOOK_PATH}" -... diff --git a/config/ansible/playbooks/boot-bare-metal.yaml b/config/ansible/playbooks/boot-bare-metal.yaml index 72a19f1d5..0df99003e 100644 --- a/config/ansible/playbooks/boot-bare-metal.yaml +++ b/config/ansible/playbooks/boot-bare-metal.yaml @@ -4,4 +4,3 @@ gather_facts: false roles: - role: ferrarimarco_home_lab_boot_bare_metal -... diff --git a/config/ansible/playbooks/bootstrap.yaml b/config/ansible/playbooks/bootstrap.yaml index 27db3f723..7faaedc85 100644 --- a/config/ansible/playbooks/bootstrap.yaml +++ b/config/ansible/playbooks/bootstrap.yaml @@ -4,4 +4,3 @@ gather_facts: true roles: - role: ferrarimarco_home_lab_bootstrap -... diff --git a/config/ansible/playbooks/container-engine.yaml b/config/ansible/playbooks/container-engine.yaml index b89b65b39..9a8718773 100644 --- a/config/ansible/playbooks/container-engine.yaml +++ b/config/ansible/playbooks/container-engine.yaml @@ -8,4 +8,3 @@ roles: - role: geerlingguy.docker become: true -... diff --git a/config/ansible/playbooks/coral.yaml b/config/ansible/playbooks/coral.yaml index 1e030efed..9e3ce0fc9 100644 --- a/config/ansible/playbooks/coral.yaml +++ b/config/ansible/playbooks/coral.yaml @@ -7,4 +7,3 @@ gather_facts: true roles: - role: ferrarimarco_home_lab_coral -... diff --git a/config/ansible/playbooks/home-lab-node.yaml b/config/ansible/playbooks/home-lab-node.yaml index 9f223d8c6..81264fd36 100644 --- a/config/ansible/playbooks/home-lab-node.yaml +++ b/config/ansible/playbooks/home-lab-node.yaml @@ -7,4 +7,3 @@ gather_facts: true roles: - role: ferrarimarco_home_lab_node -... diff --git a/config/ansible/playbooks/main.yaml b/config/ansible/playbooks/main.yaml index 3f0d13f06..52b53975d 100644 --- a/config/ansible/playbooks/main.yaml +++ b/config/ansible/playbooks/main.yaml @@ -13,4 +13,3 @@ - name: Import the home lab node playbook ansible.builtin.import_playbook: home-lab-node.yaml -... diff --git a/config/ansible/playbooks/proxmox-node.yaml b/config/ansible/playbooks/proxmox-node.yaml index 620da4cb3..f45b1254f 100644 --- a/config/ansible/playbooks/proxmox-node.yaml +++ b/config/ansible/playbooks/proxmox-node.yaml @@ -7,4 +7,3 @@ gather_facts: true roles: - role: ferrarimarco_home_lab_proxmox -... diff --git a/config/ansible/playbooks/proxmox-vms.yaml b/config/ansible/playbooks/proxmox-vms.yaml index 91f0bb4a2..2397b17e3 100644 --- a/config/ansible/playbooks/proxmox-vms.yaml +++ b/config/ansible/playbooks/proxmox-vms.yaml @@ -3,7 +3,7 @@ hosts: pve1.edge.lab.ferrari.how gather_facts: true tasks: null -... +--- # TODO: convert this to an Ansible playbook if it becomes more common # Notes to create the 100 VM: # Create VM: qm create 100 --name hl01 --net0 virtio=BC:24:11:D4:F6:64,bridge=vmbr0,firewall=1 --scsihw virtio-scsi-single --machine q35 --ostype l26 diff --git a/config/ansible/requirements.yml b/config/ansible/requirements.yml index a28e58daa..d9ae7c1ce 100644 --- a/config/ansible/requirements.yml +++ b/config/ansible/requirements.yml @@ -11,4 +11,3 @@ collections: roles: - name: geerlingguy.docker version: "7.1.0" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/defaults/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/defaults/main.yaml index 91da2a75b..ed97d539c 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/defaults/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/defaults/main.yaml @@ -1,2 +1 @@ --- -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/handlers/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/handlers/main.yaml index 91da2a75b..ed97d539c 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/handlers/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/handlers/main.yaml @@ -1,2 +1 @@ --- -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/meta/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/meta/main.yaml index 78ba0b4df..933c46755 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/meta/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/meta/main.yaml @@ -9,4 +9,3 @@ galaxy_info: - name: Debian versions: - all -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/tasks/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/tasks/main.yaml index c946bdee6..44cf562cd 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/tasks/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/tasks/main.yaml @@ -2,4 +2,3 @@ - name: Turn host on ansible.builtin.import_tasks: file: wake.yaml -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/tasks/wake.yaml b/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/tasks/wake.yaml index dbae7e783..35f2a938c 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/tasks/wake.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/tasks/wake.yaml @@ -11,4 +11,3 @@ - name: Wait for the machines to come online ansible.builtin.wait_for_connection: timeout: 600 -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/vars/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/vars/main.yaml index 91da2a75b..ed97d539c 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/vars/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_boot_bare_metal/vars/main.yaml @@ -1,2 +1 @@ --- -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/defaults/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/defaults/main.yaml index ad562aba0..138bef1f9 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/defaults/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/defaults/main.yaml @@ -1,4 +1,3 @@ --- enable_intel_microcode_update: false has_intel_igpu: false -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/handlers/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/handlers/main.yaml index a941a84b3..96c949cc8 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/handlers/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/handlers/main.yaml @@ -16,4 +16,3 @@ ansible.builtin.apt: update_cache: true become: true -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/meta/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/meta/main.yaml index 42ea88f7f..f75657e73 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/meta/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/meta/main.yaml @@ -12,4 +12,3 @@ galaxy_info: - name: Debian versions: - all -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/main.yaml index 4baee3aec..181be07fb 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/main.yaml @@ -46,4 +46,3 @@ - name: Ensure handlers are notified now ansible.builtin.meta: flush_handlers -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/pre-flight-checks.yaml b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/pre-flight-checks.yaml index 55ab44d40..b0922093e 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/pre-flight-checks.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/pre-flight-checks.yaml @@ -19,7 +19,7 @@ success_msg: | home_lab_runtime_directory_path is defined and not empty: {{ home_lab_runtime_directory_path }} -- name: Wait for systemd to complete initialization. # noqa 303 +- name: Wait for systemd to complete initialization. # noqa 303 ansible.builtin.command: systemctl is-system-running register: systemctl_status until: > @@ -32,4 +32,3 @@ - ansible_service_mgr == 'systemd' changed_when: false failed_when: systemctl_status.rc > 1 -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/print-host-info.yaml b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/print-host-info.yaml index 278aebefc..fa69ec31f 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/print-host-info.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/print-host-info.yaml @@ -24,4 +24,3 @@ Facts for {{ inventory_hostname }}: {{ hostvars[inventory_hostname] | to_nice_json }} verbosity: 1 -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/setup-Debian.yaml b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/setup-Debian.yaml index 95c488bd5..1c48a20b4 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/setup-Debian.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/setup-Debian.yaml @@ -70,4 +70,3 @@ become: true when: - has_intel_igpu -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/setup-systemd.yaml b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/setup-systemd.yaml index 11994319b..7b249b466 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/setup-systemd.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/tasks/setup-systemd.yaml @@ -3,4 +3,3 @@ ansible.builtin.systemd_service: daemon_reload: true become: true -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/vars/Debian.yaml b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/vars/Debian.yaml index c9fa4b867..5021e105b 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/vars/Debian.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/vars/Debian.yaml @@ -7,4 +7,3 @@ bootstrap_os_packages: # We need this for the ansible.builtin.deb822_repository task - python3-debian debian_package_repository_mirrors_file: /etc/apt/mirrors/debian.list -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/vars/default.yaml b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/vars/default.yaml index 470f03f56..027f01834 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/vars/default.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/vars/default.yaml @@ -1,3 +1,2 @@ --- bootstrap_os_packages: [] -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/vars/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/vars/main.yaml index 91da2a75b..ed97d539c 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_bootstrap/vars/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_bootstrap/vars/main.yaml @@ -1,2 +1 @@ --- -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_coral/defaults/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_coral/defaults/main.yaml index e3e18ca46..b1119b772 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_coral/defaults/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_coral/defaults/main.yaml @@ -1,3 +1,2 @@ --- has_coral_pci_accelerator: false -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_coral/handlers/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_coral/handlers/main.yaml index 57d4b3161..103c9cb79 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_coral/handlers/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_coral/handlers/main.yaml @@ -11,4 +11,3 @@ when: # Skip rebooting the host when running a Molecule test because we can't reboot a container - molecule_yml is not defined -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_coral/meta/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_coral/meta/main.yaml index 73f7ce457..d54c287db 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_coral/meta/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_coral/meta/main.yaml @@ -9,4 +9,3 @@ galaxy_info: - name: Debian versions: - all -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_coral/tasks/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_coral/tasks/main.yaml index 1e927f25c..e874b9195 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_coral/tasks/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_coral/tasks/main.yaml @@ -4,4 +4,3 @@ file: setup-coral-os-packages.yaml when: - has_coral_pci_accelerator -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_coral/tasks/setup-coral-os-packages.yaml b/config/ansible/roles/ferrarimarco_home_lab_coral/tasks/setup-coral-os-packages.yaml index 5d86ade65..c2c9ec605 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_coral/tasks/setup-coral-os-packages.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_coral/tasks/setup-coral-os-packages.yaml @@ -27,4 +27,3 @@ become: true notify: - Reboot the host -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_coral/vars/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_coral/vars/main.yaml index 91da2a75b..ed97d539c 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_coral/vars/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_coral/vars/main.yaml @@ -1,2 +1 @@ --- -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/defaults/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/defaults/main.yaml index c159fae8c..d6564e43a 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/defaults/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/defaults/main.yaml @@ -160,4 +160,3 @@ tailscale_release_channel: "stable" tailscale_up_advertise_edge_environment_routes: false timezone: "Europe/London" zigbee2mqtt_user_interface_host_port: 8081 -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/cadvisor-exporter_rev1.json b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/cadvisor-exporter_rev1.json index 3c64ead96..7df00418f 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/cadvisor-exporter_rev1.json +++ b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/cadvisor-exporter_rev1.json @@ -644,9 +644,7 @@ "options": { "footer": { "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true, @@ -706,10 +704,7 @@ ], "schemaVersion": 37, "style": "dark", - "tags": [ - "cadvisor", - "docker" - ], + "tags": ["cadvisor", "docker"], "templating": { "list": [ { diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/coredns_rev2.json b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/coredns_rev2.json index 69c574fa1..26a7ac96f 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/coredns_rev2.json +++ b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/coredns_rev2.json @@ -86,22 +86,16 @@ }, "id": 39, "options": { - "displayLabels": [ - "percent" - ], + "displayLabels": ["percent"], "legend": { "displayMode": "table", "placement": "right", "showLegend": true, - "values": [ - "value" - ] + "values": ["value"] }, "pieType": "pie", "reduceOptions": { - "calcs": [ - "sum" - ], + "calcs": ["sum"], "fields": "", "values": false }, @@ -195,9 +189,7 @@ "justifyMode": "auto", "orientation": "auto", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -267,9 +259,7 @@ "justifyMode": "center", "orientation": "auto", "reduceOptions": { - "calcs": [ - "sum" - ], + "calcs": ["sum"], "fields": "", "values": false }, @@ -335,9 +325,7 @@ "justifyMode": "center", "orientation": "auto", "reduceOptions": { - "calcs": [ - "sum" - ], + "calcs": ["sum"], "fields": "", "values": false }, @@ -403,9 +391,7 @@ "justifyMode": "center", "orientation": "auto", "reduceOptions": { - "calcs": [ - "sum" - ], + "calcs": ["sum"], "fields": "", "values": false }, @@ -471,9 +457,7 @@ "justifyMode": "center", "orientation": "auto", "reduceOptions": { - "calcs": [ - "sum" - ], + "calcs": ["sum"], "fields": "", "values": false }, @@ -545,9 +529,7 @@ "minVizWidth": 75, "orientation": "auto", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -610,9 +592,7 @@ "justifyMode": "auto", "orientation": "auto", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -1406,16 +1386,11 @@ "displayMode": "table", "placement": "right", "showLegend": true, - "values": [ - "value", - "percent" - ] + "values": ["value", "percent"] }, "pieType": "pie", "reduceOptions": { - "calcs": [ - "sum" - ], + "calcs": ["sum"], "fields": "", "values": false }, @@ -1742,9 +1717,7 @@ "justifyMode": "auto", "orientation": "auto", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -2193,23 +2166,17 @@ }, "id": 105, "options": { - "displayLabels": [ - "percent" - ], + "displayLabels": ["percent"], "legend": { "calcs": [], "displayMode": "table", "placement": "right", "showLegend": true, - "values": [ - "value" - ] + "values": ["value"] }, "pieType": "pie", "reduceOptions": { - "calcs": [ - "sum" - ], + "calcs": ["sum"], "fields": "", "values": false }, @@ -2291,16 +2258,11 @@ "displayMode": "table", "placement": "right", "showLegend": true, - "values": [ - "value", - "percent" - ] + "values": ["value", "percent"] }, "pieType": "pie", "reduceOptions": { - "calcs": [ - "sum" - ], + "calcs": ["sum"], "fields": "", "values": false }, @@ -2332,10 +2294,7 @@ ], "refresh": "5s", "schemaVersion": 39, - "tags": [ - "dns", - "coredns" - ], + "tags": ["dns", "coredns"], "templating": { "list": [ { diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/home-network_rev1.json b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/home-network_rev1.json index e8e7f70d4..8bb806dd0 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/home-network_rev1.json +++ b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/home-network_rev1.json @@ -88,9 +88,7 @@ "countRows": false, "enablePagination": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -180,9 +178,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -276,9 +272,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true @@ -372,9 +366,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/network-ups-tools.json b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/network-ups-tools.json index b35d989b3..6f8d8a3c2 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/network-ups-tools.json +++ b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/network-ups-tools.json @@ -96,9 +96,7 @@ "justifyMode": "auto", "orientation": "auto", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -162,9 +160,7 @@ "justifyMode": "auto", "orientation": "auto", "reduceOptions": { - "calcs": [ - "mean" - ], + "calcs": ["mean"], "fields": "", "values": false }, @@ -228,9 +224,7 @@ "justifyMode": "auto", "orientation": "auto", "reduceOptions": { - "calcs": [ - "mean" - ], + "calcs": ["mean"], "fields": "", "values": false }, @@ -301,9 +295,7 @@ "options": { "orientation": "auto", "reduceOptions": { - "calcs": [ - "last" - ], + "calcs": ["last"], "fields": "", "values": false }, @@ -586,9 +578,7 @@ "justifyMode": "auto", "orientation": "auto", "reduceOptions": { - "calcs": [ - "mean" - ], + "calcs": ["mean"], "fields": "", "values": false }, @@ -654,9 +644,7 @@ "options": { "orientation": "auto", "reduceOptions": { - "calcs": [ - "last" - ], + "calcs": ["last"], "fields": "", "values": false }, @@ -837,9 +825,7 @@ "options": { "orientation": "horizontal", "reduceOptions": { - "calcs": [ - "last" - ], + "calcs": ["last"], "fields": "", "values": false }, diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/node-exporter-full_rev26.json b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/node-exporter-full_rev26.json index 09a145dcc..54e6cb223 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/node-exporter-full_rev26.json +++ b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/node-exporter-full_rev26.json @@ -146,9 +146,7 @@ "options": { "orientation": "horizontal", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -223,9 +221,7 @@ "options": { "orientation": "horizontal", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -300,9 +296,7 @@ "options": { "orientation": "horizontal", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -370,9 +364,7 @@ "options": { "orientation": "horizontal", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -455,9 +447,7 @@ "options": { "orientation": "horizontal", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -530,9 +520,7 @@ "options": { "orientation": "horizontal", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -13984,9 +13972,7 @@ "refresh": "1m", "schemaVersion": 26, "style": "dark", - "tags": [ - "linux" - ], + "tags": ["linux"], "templating": { "list": [ { @@ -14097,17 +14083,7 @@ "2h", "1d" ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] + "time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"] }, "timezone": "browser", "title": "Node Exporter Full", diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/restic_rev23.json b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/restic_rev23.json index 3848071d1..9c98ca400 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/restic_rev23.json +++ b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/restic_rev23.json @@ -30,9 +30,7 @@ "links": [ { "icon": "external link", - "tags": [ - "system" - ], + "tags": ["system"], "type": "dashboards" } ], @@ -95,9 +93,7 @@ "justifyMode": "auto", "orientation": "auto", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -164,9 +160,7 @@ "justifyMode": "auto", "orientation": "auto", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "", "values": false }, @@ -299,9 +293,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "frameIndex": 1, @@ -428,9 +420,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "frameIndex": 1, @@ -550,9 +540,7 @@ "footer": { "countRows": false, "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "frameIndex": 1, @@ -683,9 +671,7 @@ "links": [], "maxDataPoints": 100, "options": { - "displayLabels": [ - "percent" - ], + "displayLabels": ["percent"], "legend": { "displayMode": "list", "placement": "bottom", @@ -694,9 +680,7 @@ }, "pieType": "donut", "reduceOptions": { - "calcs": [ - "lastNotNull" - ], + "calcs": ["lastNotNull"], "fields": "/^Value$/", "values": true }, @@ -1054,9 +1038,7 @@ ], "refresh": "1m", "schemaVersion": 39, - "tags": [ - "system" - ], + "tags": ["system"], "templating": { "list": [ { @@ -1095,17 +1077,7 @@ "2h", "1d" ], - "time_options": [ - "5m", - "15m", - "1h", - "6h", - "12h", - "24h", - "2d", - "7d", - "30d" - ] + "time_options": ["5m", "15m", "1h", "6h", "12h", "24h", "2d", "7d", "30d"] }, "timezone": "", "title": "Restic Exporter import", diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/smartmon_rev1.json b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/smartmon_rev1.json index a4c1672c1..d9c4a79d0 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/smartmon_rev1.json +++ b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/dashboard-definitions/smartmon_rev1.json @@ -69,9 +69,7 @@ "options": { "footer": { "fields": "", - "reducer": [ - "sum" - ], + "reducer": ["sum"], "show": false }, "showHeader": true diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/embedded-dashboards.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/embedded-dashboards.yaml index 262763070..74f91aba1 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/embedded-dashboards.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/dashboards/embedded-dashboards.yaml @@ -2,7 +2,7 @@ apiVersion: 1 providers: - - name: 'embedded dashboards' + - name: "embedded dashboards" orgId: 1 type: file disableDeletion: true @@ -11,4 +11,3 @@ providers: options: path: /etc/grafana/provisioning/dashboards/dashboard-definitions foldersFromFilesStructure: true -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/datasources/prometheus.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/datasources/prometheus.yaml index 0ef776397..502cabc3b 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/datasources/prometheus.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/files/config/monitoring-backend/grafana/datasources/prometheus.yaml @@ -17,4 +17,3 @@ datasources: isDefault: true version: 1 editable: false -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/handlers/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/handlers/main.yaml index 1d7960a50..5753b09fa 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/handlers/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/handlers/main.yaml @@ -32,4 +32,3 @@ ansible.builtin.service: name: "{{ security_sshd_name }}" state: "restarted" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/meta/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/meta/main.yaml index db6efa71d..526cb3361 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/meta/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/meta/main.yaml @@ -8,4 +8,3 @@ galaxy_info: - name: Debian versions: - all -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/include-variables.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/include-variables.yaml index 6780cb9c9..c982901ab 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/include-variables.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/include-variables.yaml @@ -262,4 +262,3 @@ - name: Register OS package setup tasks ansible.builtin.include_tasks: file: register-os-package-setup-facts.yaml -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/invoke-system-wide-configuration-handlers.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/invoke-system-wide-configuration-handlers.yaml index fa9b397f2..a373fe837 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/invoke-system-wide-configuration-handlers.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/invoke-system-wide-configuration-handlers.yaml @@ -89,4 +89,3 @@ # Don't restart this Docker Compose service if we just started it - item.compose_file_path not in started_docker_compose_services | default([]) with_items: "{{ docker_compose_services_to_restart | unique }}" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/main.yaml index 7c15d73ba..b664297a5 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/main.yaml @@ -77,7 +77,7 @@ # ansible-lint: ignore the "risky file permission" warning because we're deleting # files here, so we don't need to set permissions. -- name: Delete files marked for deletion # noqa: risky-file-permissions +- name: Delete files marked for deletion # noqa: risky-file-permissions ansible.builtin.file: path: "{{ item.path | default(item.dest) }}" state: "{{ item.state }}" @@ -165,4 +165,3 @@ - name: Run system-wide configuration handlers ansible.builtin.import_tasks: invoke-system-wide-configuration-handlers.yaml become: true -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/os-services.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/os-services.yaml index 6a24aa95b..79fa54961 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/os-services.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/os-services.yaml @@ -19,4 +19,3 @@ ansible.builtin.debug: var: stop_os_service verbosity: 1 -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-Debian-facts.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-Debian-facts.yaml index 89472a632..3ff20bdcb 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-Debian-facts.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-Debian-facts.yaml @@ -9,4 +9,3 @@ - name: Save the current dpkg architecture in a fact ansible.builtin.set_fact: dpkg_architecture: "{{ dpkg_architecture_result.stdout }}" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-container-image-versions-facts.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-container-image-versions-facts.yaml index 940fe31f7..055a8106a 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-container-image-versions-facts.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-container-image-versions-facts.yaml @@ -20,4 +20,3 @@ ansible.builtin.debug: var: container_images_ids verbosity: 1 -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-custom-facts.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-custom-facts.yaml index 2d9d2eecd..5cfa21714 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-custom-facts.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-custom-facts.yaml @@ -49,4 +49,3 @@ when: - not fact_enable_custom_fact - fact_category in ansible_run_tags or "all" in ansible_run_tags -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-dns-facts.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-dns-facts.yaml index 0a1c4c7ae..e697be365 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-dns-facts.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-dns-facts.yaml @@ -16,4 +16,3 @@ ansible.builtin.debug: var: dns_records_to_configure verbosity: 1 -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-home-assistant-facts.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-home-assistant-facts.yaml index 901ed2863..82f152591 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-home-assistant-facts.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-home-assistant-facts.yaml @@ -31,4 +31,3 @@ ansible.builtin.debug: var: home_assistant_custom_component_manifest_decoded_contents verbosity: 1 -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-monitoring-backend-facts.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-monitoring-backend-facts.yaml index a24c60a91..887345683 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-monitoring-backend-facts.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-monitoring-backend-facts.yaml @@ -50,4 +50,3 @@ ansible.builtin.debug: var: monitoring_backend_icmp_ping_hosts_to_check verbosity: 1 -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-os-package-setup-facts.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-os-package-setup-facts.yaml index ca13b70ec..046dab479 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-os-package-setup-facts.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-os-package-setup-facts.yaml @@ -22,4 +22,3 @@ ansible.builtin.debug: var: debian_packages_to_uninstall verbosity: 1 -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-raspberry-pi-os-facts.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-raspberry-pi-os-facts.yaml index 428612243..52af682d2 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-raspberry-pi-os-facts.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-raspberry-pi-os-facts.yaml @@ -2,4 +2,3 @@ - name: Register facts for Raspberry Pi OS ansible.builtin.set_fact: default_os_packages: "{{ default_os_packages + raspberri_pi_os_os_packages }}" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-raspberry-pi-sense-hat-facts.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-raspberry-pi-sense-hat-facts.yaml index 44b2fcb68..7b82f9bc7 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-raspberry-pi-sense-hat-facts.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/register-raspberry-pi-sense-hat-facts.yaml @@ -3,4 +3,3 @@ ansible.builtin.set_fact: raspberry_pi_config_file_values: "{{ raspberry_pi_config_file_values | combine({item.key: item.value}) }}" with_dict: "{{ raspberry_pi_sense_hat_config_txt_values }}" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-Debian.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-Debian.yaml index e8e503a0e..ea9fea237 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-Debian.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-Debian.yaml @@ -40,4 +40,3 @@ update_cache: true become: true when: ("install-debian-packages" in ansible_run_tags or "all" in ansible_run_tags) -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-argonone-case.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-argonone-case.yaml index 81869d81d..af626934b 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-argonone-case.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-argonone-case.yaml @@ -34,4 +34,3 @@ changed_when: enable_serial_output.stdout == "0" register: enable_serial_output when: raspi_config_serial_output.stdout != "0" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-cron.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-cron.yaml index ad3659734..17017fee1 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-cron.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-cron.yaml @@ -19,4 +19,3 @@ weekday: "{{ item.weekday | default(omit) }}" become: "{{ item.become | default(omit) }}" with_items: "{{ cron_jobs | default([]) }}" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-disks.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-disks.yaml index c82200ebb..658882bd1 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-disks.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-disks.yaml @@ -23,4 +23,3 @@ src: "{{ item.src }}" state: "{{ item.state }}" with_items: "{{ disks_to_mount | default([]) }}" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-raspberry-pi.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-raspberry-pi.yaml index d80e3bd13..c29cfce1b 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-raspberry-pi.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-raspberry-pi.yaml @@ -17,4 +17,3 @@ line: "denyinterfaces veth*" path: /etc/dhcpcd.conf notify: Restart dhcpcd -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-restic.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-restic.yaml index 7aa596f0c..5bd915a1b 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-restic.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-restic.yaml @@ -63,4 +63,3 @@ state: absent with_items: - /host_path/restic/data -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-systemd.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-systemd.yaml index a545e67e9..011d8a673 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-systemd.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-systemd.yaml @@ -5,4 +5,3 @@ state: absent notify: Restart journald when: delete_systemd_journal_file -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-tailscale.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-tailscale.yaml index 02e5fa30f..3d832b19e 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-tailscale.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/setup-tailscale.yaml @@ -53,7 +53,7 @@ when: - tailscale_up_advertise_edge_environment_routes -- name: Run Tailscale up # noqa: no-changed-when +- name: Run Tailscale up # noqa: no-changed-when become: true ansible.builtin.command: "{{ tailscale_up_command }}" register: tailscale_up_output @@ -67,4 +67,3 @@ - tailscale_up_output is failed - tailscale_up_output.stdout | length > 0 register: nonsensitive_stdout -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/ssh.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/ssh.yaml index a4cb2ce84..0c5146116 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/ssh.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/ssh.yaml @@ -38,7 +38,7 @@ - name: Add configured users allowed to connect over ssh ansible.builtin.lineinfile: dest: "{{ security_ssh_config_path }}" - regexp: '^AllowUsers' + regexp: "^AllowUsers" line: "AllowUsers {{ security_ssh_allowed_users | join(' ') }}" state: present create: true @@ -49,11 +49,10 @@ - name: Add configured groups allowed to connect over ssh ansible.builtin.lineinfile: dest: "{{ security_ssh_config_path }}" - regexp: '^AllowGroups' + regexp: "^AllowGroups" line: "AllowGroups {{ security_ssh_allowed_groups | join(' ') }}" state: present create: true mode: "0644" notify: Restart ssh when: security_ssh_allowed_groups | length > 0 -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/stop-services-and-processes.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/stop-services-and-processes.yaml index a54b12162..6b47cec66 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/stop-services-and-processes.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/stop-services-and-processes.yaml @@ -42,4 +42,3 @@ ansible.builtin.debug: var: docker_compose_rm_result verbosity: 1 -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/users.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/users.yaml index 026f7151d..8665201b4 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/tasks/users.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/tasks/users.yaml @@ -54,20 +54,20 @@ - name: Add configured user accounts to passwordless sudoers ansible.builtin.lineinfile: dest: /etc/sudoers - regexp: '^{{ item }}' - line: '{{ item }} ALL=(ALL) NOPASSWD: ALL' + regexp: "^{{ item }}" + line: "{{ item }} ALL=(ALL) NOPASSWD: ALL" state: present - validate: 'visudo -cf %s' + validate: "visudo -cf %s" mode: "0440" with_items: "{{ security_sudoers_passwordless }}" - name: Add configured user accounts to passworded sudoers ansible.builtin.lineinfile: dest: /etc/sudoers - regexp: '^{{ item }}' - line: '{{ item }} ALL=(ALL) ALL' + regexp: "^{{ item }}" + line: "{{ item }} ALL=(ALL) ALL" state: present - validate: 'visudo -cf %s' + validate: "visudo -cf %s" mode: "0440" with_items: "{{ security_sudoers_passworded }}" @@ -84,4 +84,3 @@ group: "{{ ansible_user }}" owner: "{{ ansible_user }}" path: "{{ ansible_user_ssh_configuration_directory_path }}/id_rsa" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/vars/Debian.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/vars/Debian.yaml index e55e6f89a..f7d3dfdb4 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/vars/Debian.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/vars/Debian.yaml @@ -35,4 +35,3 @@ wifi_os_packages: - name: "wpasupplicant" state: "{{ configure_wifi | ternary('present', 'absent') }}" wpa_supplicant_service_name: wpa_supplicant -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/vars/asuswrt-chkwan-stack.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/vars/asuswrt-chkwan-stack.yaml index e5067e5ce..bbf8bf141 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/vars/asuswrt-chkwan-stack.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/vars/asuswrt-chkwan-stack.yaml @@ -25,4 +25,3 @@ asuswrt_chkwan_templates_to_render: asuswrt_chkwan_timer_file_name: "{{ asuswrt_chkwan_service_name }}.timer" asuswrt_chkwan_user: "{{ ansible_user }}" asuswrt_chkwan_user_group: "{{ ansible_user }}" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/vars/default.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/vars/default.yaml index 91da2a75b..ed97d539c 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/vars/default.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/vars/default.yaml @@ -1,2 +1 @@ --- -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/vars/docker-stack.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/vars/docker-stack.yaml index 2e7841242..decc393e0 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/vars/docker-stack.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/vars/docker-stack.yaml @@ -18,4 +18,3 @@ docker_templates_to_render: state: "{{ configure_docker | ternary('file', 'absent') }}" os_services_to_restart: - "{{ docker_system_prune_service_name }}" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/vars/intel-gpu.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/vars/intel-gpu.yaml index d3524ceb1..56bd8407d 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/vars/intel-gpu.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/vars/intel-gpu.yaml @@ -3,4 +3,3 @@ frigate_gpu_decode_devices: - /dev/dri/renderD128 # Ref: https://github.com/blakeblackshear/frigate/issues/6008#issuecomment-2061446932 frigate_ffmpeg_harware_acceleration_arguments: preset-vaapi -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/vars/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/vars/main.yaml index 3433ce1ab..1d570bccf 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/vars/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/vars/main.yaml @@ -448,4 +448,3 @@ zigbee2mqtt_templates_to_render: docker_compose_services_to_restart: "{{ zigbee2mqtt_docker_compose_up_items }}" # Don't force template rendering because zigbee2mqtt modifies this file at runtime to store the generated network key force: false -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/vars/media-stack.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/vars/media-stack.yaml index 797b6c785..d0735b4c4 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/vars/media-stack.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/vars/media-stack.yaml @@ -87,4 +87,3 @@ media_stack_prowlarr_port: 9696 media_stack_radarr_port: 7878 media_stack_readarr_port: 8787 media_stack_sonarr_port: 8989 -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/vars/monitoring-nut-stack.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/vars/monitoring-nut-stack.yaml index 0dcf223c2..cd8537d2d 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/vars/monitoring-nut-stack.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/vars/monitoring-nut-stack.yaml @@ -40,4 +40,3 @@ monitoring_nut_os_services_to_restart: - nut-server - nut-client - nut-monitor -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/vars/monitoring-ont-stack.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/vars/monitoring-ont-stack.yaml index 3e05aabf5..eba87bf59 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/vars/monitoring-ont-stack.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/vars/monitoring-ont-stack.yaml @@ -57,4 +57,3 @@ monitoring_ont_network_config_service_file_name: "{{ monitoring_ont_network_conf monitoring_ont_network_config_service_name: "{{ monitoring_ont_tag }}-network-config" monitoring_ont_user: "{{ ansible_user }}" monitoring_ont_user_group: "{{ ansible_user }}" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/vars/network-stack.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/vars/network-stack.yaml index 0749a9d18..4a803157e 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/vars/network-stack.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/vars/network-stack.yaml @@ -122,4 +122,3 @@ network_stack_edge_dns_resolvers: network_stack_lab_dns_servers: - "{{ root_dns_zone_server }}" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/vars/raspberry-pi-os.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/vars/raspberry-pi-os.yaml index cb7e26ff4..5ac57b96f 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/vars/raspberry-pi-os.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/vars/raspberry-pi-os.yaml @@ -35,4 +35,3 @@ raspberry_pi_sense_hat_apt_packages: - name: sense-hat state: "{{ has_sense_hat | ternary('present', 'absent') }}" tailscale_package_repository_url: "{{ tailscale_base_package_repository_url }}/raspbian" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/vars/restic-stack.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/vars/restic-stack.yaml index dd8eb0083..9cbb73e8b 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/vars/restic-stack.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/vars/restic-stack.yaml @@ -57,4 +57,3 @@ restic_templates_to_render: # This file may contain secrets, so we want to restrict access to the owner and group only # (defaults to root:root) mode: "0640" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_node/vars/tailscale-stack.yaml b/config/ansible/roles/ferrarimarco_home_lab_node/vars/tailscale-stack.yaml index f2382c42c..f42c4351c 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_node/vars/tailscale-stack.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_node/vars/tailscale-stack.yaml @@ -9,4 +9,3 @@ tailscale_os_packages: - name: tailscale state: "{{ configure_tailscale | ternary('present', 'absent') }}" tailscale_up_command: tailscale up --accept-routes -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_proxmox/defaults/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_proxmox/defaults/main.yaml index 91da2a75b..ed97d539c 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_proxmox/defaults/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_proxmox/defaults/main.yaml @@ -1,2 +1 @@ --- -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_proxmox/handlers/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_proxmox/handlers/main.yaml index 76334873c..ba1d91978 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_proxmox/handlers/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_proxmox/handlers/main.yaml @@ -15,4 +15,3 @@ when: # Skip rebooting the host when running a Molecule test because we can't reboot a container - molecule_yml is not defined -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_proxmox/meta/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_proxmox/meta/main.yaml index 6298044d5..3cb4fa013 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_proxmox/meta/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_proxmox/meta/main.yaml @@ -9,4 +9,3 @@ galaxy_info: - name: Debian versions: - all -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/main.yaml index afcc998b2..784bab41b 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/main.yaml @@ -55,4 +55,3 @@ - url: https://cloud.debian.org/images/cloud/bookworm/20240211-1654/debian-12-generic-amd64-20240211-1654.raw checksum: "sha512:https://cloud.debian.org/images/cloud/bookworm/20240211-1654/SHA512SUMS" dest: "{{ proxmox_raws_directory_path }}" -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/setup-kernel.yaml b/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/setup-kernel.yaml index a5f7e7b52..21b1beb64 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/setup-kernel.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/setup-kernel.yaml @@ -3,9 +3,9 @@ ansible.builtin.lineinfile: backrefs: true insertafter: EOF - line: '\1 {{ intel_iommu_kernel_options }}' # Append to the matched line + line: '\1 {{ intel_iommu_kernel_options }}' # Append to the matched line path: /etc/kernel/cmdline - regexp: "^(.*) {{ intel_iommu_kernel_options }}$" # Match the entire line + regexp: "^(.*) {{ intel_iommu_kernel_options }}$" # Match the entire line state: present notify: - Update proxmox boot config @@ -29,4 +29,3 @@ - name: Flush handlers after configuring the kernel ansible.builtin.meta: flush_handlers -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/setup-proxmox-os-packages.yaml b/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/setup-proxmox-os-packages.yaml index b3e795357..c1f1d32f7 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/setup-proxmox-os-packages.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_proxmox/tasks/setup-proxmox-os-packages.yaml @@ -24,4 +24,3 @@ - name: ceph uris: http://download.proxmox.com/debian/ceph-reef components: no-subscription -... diff --git a/config/ansible/roles/ferrarimarco_home_lab_proxmox/vars/main.yaml b/config/ansible/roles/ferrarimarco_home_lab_proxmox/vars/main.yaml index acbc6e6c5..a2f4edf3b 100644 --- a/config/ansible/roles/ferrarimarco_home_lab_proxmox/vars/main.yaml +++ b/config/ansible/roles/ferrarimarco_home_lab_proxmox/vars/main.yaml @@ -12,4 +12,3 @@ proxmox_raws_directory_path: "{{ proxmox_template_directory_path }}/raw" proxmox_cloud_init_snippets_directory_path: "{{ proxmox_snippets_directory_path }}/cloud-init" cloud_init_instance_ssh_authorized_keys: "{{ lookup('ansible.builtin.file', home_lab_node_ssh_public_key_path).splitlines() }}" -... diff --git a/config/lint/.ansible-lint.yml b/config/lint/.ansible-lint.yml index 603102826..049ddb639 100644 --- a/config/lint/.ansible-lint.yml +++ b/config/lint/.ansible-lint.yml @@ -1,7 +1,6 @@ --- parseable: true skip_list: - - yaml # Don't run yamllint because we run it outside ansible-lint + - yaml # Don't run yamllint because we run it outside ansible-lint use_default_rules: true verbosity: 1 -... diff --git a/config/lint/.checkov.yaml b/config/lint/.checkov.yaml index 28264fd92..35c1ae5fd 100644 --- a/config/lint/.checkov.yaml +++ b/config/lint/.checkov.yaml @@ -5,4 +5,3 @@ baseline: config/lint/.checkov.baseline # Report skipped baseline checks in the output output-baseline-as-skipped: true -... diff --git a/config/lint/.hadolint.yaml b/config/lint/.hadolint.yaml index b36e8dd65..1b20936a9 100644 --- a/config/lint/.hadolint.yaml +++ b/config/lint/.hadolint.yaml @@ -2,4 +2,3 @@ ignored: - DL3008 - DL3013 -... diff --git a/config/lint/.jscpd.json b/config/lint/.jscpd.json index e47f78516..720136a8a 100644 --- a/config/lint/.jscpd.json +++ b/config/lint/.jscpd.json @@ -1,8 +1,6 @@ { "threshold": 0, - "reporters": [ - "consoleFull" - ], + "reporters": ["consoleFull"], "ignore": [ "**/.esphome/**", "**/.venv*/**", diff --git a/config/lint/.markdown-lint.yaml b/config/lint/.markdown-lint.yaml index f6e273a2d..e1fdb5dfd 100644 --- a/config/lint/.markdown-lint.yaml +++ b/config/lint/.markdown-lint.yaml @@ -3,4 +3,3 @@ MD007: indent: 4 MD013: line_length: 150 -... diff --git a/config/lint/.yaml-lint.yml b/config/lint/.yaml-lint.yml index 8783c0f44..4cfcbe6d9 100644 --- a/config/lint/.yaml-lint.yml +++ b/config/lint/.yaml-lint.yml @@ -27,4 +27,3 @@ rules: octal-values: enable truthy: level: error -... diff --git a/config/pre-commit/.pre-commit-config.yaml b/config/pre-commit/.pre-commit-config.yaml index b39923c47..70df0c3b1 100644 --- a/config/pre-commit/.pre-commit-config.yaml +++ b/config/pre-commit/.pre-commit-config.yaml @@ -150,4 +150,3 @@ repos: hooks: - id: check-hooks-apply - id: check-useless-excludes -... diff --git a/config/smart-desk/esphome/secrets-template.yaml b/config/smart-desk/esphome/secrets-template.yaml index 759b6f81e..2aedd596c 100644 --- a/config/smart-desk/esphome/secrets-template.yaml +++ b/config/smart-desk/esphome/secrets-template.yaml @@ -5,4 +5,3 @@ esphome_ota_password: "esphome_ota_password" wifi_fallback_hostspot_password: "fallback_hotspot_password" wifi_password: "wifi_password" wifi_ssid: "wifi_ssid" -... diff --git a/config/smart-desk/esphome/smart-desk.yaml b/config/smart-desk/esphome/smart-desk.yaml index 5fdcb3cb3..6d6b8b63f 100644 --- a/config/smart-desk/esphome/smart-desk.yaml +++ b/config/smart-desk/esphome/smart-desk.yaml @@ -283,4 +283,3 @@ wifi: domain: .${network_domain} password: !secret wifi_password ssid: !secret wifi_ssid -... diff --git a/docs/architecture/README.md b/docs/architecture/README.md index 403048bda..af62a3112 100644 --- a/docs/architecture/README.md +++ b/docs/architecture/README.md @@ -22,26 +22,26 @@ The following diagram shows the architectural layers that compose the lab: The scope of each layer is as follows: -- `Workloads`: manage user-facing applications. -- `Platform`: manage essential components to run workloads. -- `External`: manage external services. -- `System`: manage critical system components. -- `Bootstrap`: manage automated configuration and deployment processes. -- `Hardware management`: manage physical hardware. -- `Physical hardware`: provide hardware resources. +- `Workloads`: manage user-facing applications. +- `Platform`: manage essential components to run workloads. +- `External`: manage external services. +- `System`: manage critical system components. +- `Bootstrap`: manage automated configuration and deployment processes. +- `Hardware management`: manage physical hardware. +- `Physical hardware`: provide hardware resources. ## Support content This repository includes the following content to support provisioning, configuration, and deployment processes: -- GitHub-specific configuration in the `.github` directory. -- Configuration for each architectural layer and support tooling in the `config` directory. -- Container image descriptors in the `docker` directory. -- Documentation in the `docs` directory and in the [main readme](../../README.md). -- Operational scripts in the `scripts` directory. +- GitHub-specific configuration in the `.github` directory. +- Configuration for each architectural layer and support tooling in the `config` directory. +- Container image descriptors in the `docker` directory. +- Documentation in the `docs` directory and in the [main readme](../../README.md). +- Operational scripts in the `scripts` directory. ## Further reading -- [DNS zones, servers, and resolvers](./dns-zones-servers-resolvers.md) -- [References](./references.md) +- [DNS zones, servers, and resolvers](./dns-zones-servers-resolvers.md) +- [References](./references.md) diff --git a/docs/architecture/dns-zones-servers-resolvers.md b/docs/architecture/dns-zones-servers-resolvers.md index d918fc72e..014a36920 100644 --- a/docs/architecture/dns-zones-servers-resolvers.md +++ b/docs/architecture/dns-zones-servers-resolvers.md @@ -5,17 +5,17 @@ DNS resolvers. ## DNS zones -- Root DNS zone: `ferrari.how`. -- Home lab subdomain: `lab.ferrari.how`. -- Edge home lab subdomain: `edge.lab.ferrari.how`. +- Root DNS zone: `ferrari.how`. +- Home lab subdomain: `lab.ferrari.how`. +- Edge home lab subdomain: `edge.lab.ferrari.how`. ## DNS servers This environment contains the following DNS servers: -- Cloudflare DNS servers that act as authoritative name servers for the root DNS +- Cloudflare DNS servers that act as authoritative name servers for the root DNS zone. -- A [dnsmasq](https://thekelleys.org.uk/dnsmasq/doc.html) instance running on +- A [dnsmasq](https://thekelleys.org.uk/dnsmasq/doc.html) instance running on the default gateway. It responds to DNS queries for the `edge.lab.ferrari.how` zone, and returns authoritative answers from DHCP leases @@ -27,18 +27,18 @@ This environment contains the following DNS servers: This environment contains the following DNS resolvers: -- A dnsmasq instance running on the default gateway acts as a private, non +- A dnsmasq instance running on the default gateway acts as a private, non recursive, caching, DNS resolver that uses [Google Public DNS](https://developers.google.com/speed/public-dns), as a public, recursive, caching DNS resolver. -- An [unbound](https://nlnetlabs.nl/projects/unbound/about/) instance acts as a +- An [unbound](https://nlnetlabs.nl/projects/unbound/about/) instance acts as a private, recursive, caching DNS resolver. ## DHCP servers This environment contains the following DHCP servers: -- A dnsmasq instance running on the default gateway with the following configuration: +- A dnsmasq instance running on the default gateway with the following configuration: - - Subnet: `10.0.0.0/8` - - Gateway: `10.0.0.1` + - Subnet: `10.0.0.0/8` + - Gateway: `10.0.0.1` diff --git a/docs/architecture/network-subnets.md b/docs/architecture/network-subnets.md index 92ceb4da8..111c55151 100644 --- a/docs/architecture/network-subnets.md +++ b/docs/architecture/network-subnets.md @@ -1,3 +1,3 @@ # Network subnets -- Main subnet: `10.0.0.0/8` +- Main subnet: `10.0.0.0/8` diff --git a/docs/architecture/references.md b/docs/architecture/references.md index d87b12efa..24722a067 100644 --- a/docs/architecture/references.md +++ b/docs/architecture/references.md @@ -1,3 +1,3 @@ # References -- [khuedoan/homelab](https://github.com/khuedoan/homelab) +- [khuedoan/homelab](https://github.com/khuedoan/homelab) diff --git a/docs/guides/capture-proxmox-vm-network-traffic.md b/docs/guides/capture-proxmox-vm-network-traffic.md index 88bee9a82..8b2cfb70a 100644 --- a/docs/guides/capture-proxmox-vm-network-traffic.md +++ b/docs/guides/capture-proxmox-vm-network-traffic.md @@ -6,9 +6,9 @@ a Proxmox VM, do the following: 1. Get the Proxmox VM ID. 1. Get the Proxmox VM interface name. 1. On the Proxmox node that hosts the VM, check that there's a `tap` network - interface named `tapi`. + interface named `tapi`. 1. On the Proxmox node that hosts the VM, run `tcpdump` in order to capture - network traffic to a file: + network traffic to a file: ```sh tcpdump -i tapi -n -w .pcap diff --git a/docs/guides/configure-tailscale.md b/docs/guides/configure-tailscale.md index b0ca87cb3..9d8331789 100644 --- a/docs/guides/configure-tailscale.md +++ b/docs/guides/configure-tailscale.md @@ -4,13 +4,13 @@ In this section, you configure new hosts to join a Tailscale network. ## Tailscale authentication keys -- If you want to automate authentication, you can specify an authentication key +- If you want to automate authentication, you can specify an authentication key for each host using the `tailscale_authkey` variable. For more information about Tailscale authentication keys, see [Authentication keys](https://tailscale.com/kb/1085/auth-keys/). The alternative is to manually run the `tailscale up` command on the host, and follow the instructions to authenticate the host. -- If you prefer that the key for a particular host doesn't expire, you can +- If you prefer that the key for a particular host doesn't expire, you can disable [Tailscale key expiration](https://tailscale.com/kb/1028/key-expiry/). @@ -20,5 +20,5 @@ If a Tailscale host advertises routes or advertises itself as an exit node, you need to enable these features in the Tailscale console or using the Tailscale API. For more information, see: -- [Subnet routers and traffic relay nodes](https://tailscale.com/kb/1019/subnets) -- [Exit nodes](https://tailscale.com/kb/1103/exit-nodes/) +- [Subnet routers and traffic relay nodes](https://tailscale.com/kb/1019/subnets) +- [Exit nodes](https://tailscale.com/kb/1103/exit-nodes/) diff --git a/docs/guides/container-migration.md b/docs/guides/container-migration.md index 60042c8c3..6d2044a85 100644 --- a/docs/guides/container-migration.md +++ b/docs/guides/container-migration.md @@ -4,12 +4,12 @@ If you need to migrate containers and data between hosts, do the following: 1. Set the `configure_xxxxx` variable for the target host to `true` to prepare the target host. 1. Set the `start_xxxxx` variable for the target host to `false` because we don't want to start any services - before copying data. + before copying data. 1. Run Ansible. With the above configuration, it will prepare the target host without starting any service. 1. Set the `stop_xxxxx` variable for the source host to `true` to stop the service we're migrating. 1. Run Ansible. 1. Copy data from the source host to the target host. You can use `scripts/migrate-container-data.sh` script to transfer data from - one host to another. + one host to another. 1. Remove the `start_xxxxx` from the target host configuration because it defaults to the `configure_xxxxx` value, which is set to `true`. 1. Run Ansible. 1. Remove the `stop_xxxxx` variable from the source host configuration. diff --git a/docs/guides/expand-partition-debian.md b/docs/guides/expand-partition-debian.md index 0f052aa0e..1e7569ba0 100644 --- a/docs/guides/expand-partition-debian.md +++ b/docs/guides/expand-partition-debian.md @@ -7,7 +7,7 @@ ``` 1. Get details about the changes to the partition table to apply (dry-run) to - see what will be changed: + see what will be changed: ```sh growpart -N /dev/sda 1 diff --git a/docs/guides/linux-disk-setup.md b/docs/guides/linux-disk-setup.md index 14ec397fe..533bb5b7b 100644 --- a/docs/guides/linux-disk-setup.md +++ b/docs/guides/linux-disk-setup.md @@ -1,4 +1,4 @@ # Setup disks, partitions, and filesystems on Linux -- Get the list of block devices: `lsblk` -- Get the attributes of a block device: `blkid ` +- Get the list of block devices: `lsblk` +- Get the attributes of a block device: `blkid ` diff --git a/docs/guides/useful-linux-admin-commands.md b/docs/guides/useful-linux-admin-commands.md index e7d846bd7..1e6b90078 100644 --- a/docs/guides/useful-linux-admin-commands.md +++ b/docs/guides/useful-linux-admin-commands.md @@ -4,11 +4,11 @@ ### OS package management -- Get the versions that are available to install of a package: `apt-cache madison ` -- Install a specific package version: `apt-get install =` -- The package update logs are in `/var/log/apt/history.log` +- Get the versions that are available to install of a package: `apt-cache madison ` +- Install a specific package version: `apt-get install =` +- The package update logs are in `/var/log/apt/history.log` ## Networking -- Get the list of open ports on a system (with superuser privileges, it also +- Get the list of open ports on a system (with superuser privileges, it also returns process information): `sudo netstat -nlp` diff --git a/docs/guides/useful-proxmox-commands.md b/docs/guides/useful-proxmox-commands.md index 4740b819b..3f338123f 100644 --- a/docs/guides/useful-proxmox-commands.md +++ b/docs/guides/useful-proxmox-commands.md @@ -1,10 +1,10 @@ # Proxmox admin notes -- Check if there are cloud-init datasource updates: `qm cloudinit pending ` -- Update cloud-init datasource: `qm cloudinit update ` -- Get the next proxmox VM ID: `pvesh get /cluster/nextid` -- Get the list of PCI devices of a given Proxmox host: `pvesh get /nodes/{nodename}/hardware/pci --pci-class-blacklist ""` -- Delete the EFI disk: `qm set -delete efidisk0` +- Check if there are cloud-init datasource updates: `qm cloudinit pending ` +- Update cloud-init datasource: `qm cloudinit update ` +- Get the next proxmox VM ID: `pvesh get /cluster/nextid` +- Get the list of PCI devices of a given Proxmox host: `pvesh get /nodes/{nodename}/hardware/pci --pci-class-blacklist ""` +- Delete the EFI disk: `qm set -delete efidisk0` ## Disable Secure Boot @@ -13,7 +13,7 @@ EFI disk, and recreate it without the `pre-enrolled-keys=1` option. Notes: -- Secure Boot prevents unsigned kernel modules from loading. +- Secure Boot prevents unsigned kernel modules from loading. Example: Coral PCIe modules (`apex`, `gasket`) ## Expand disk, filesystem, and partition diff --git a/docs/installation/production/README.md b/docs/installation/production/README.md index e6aa4e634..a85f1a1d5 100644 --- a/docs/installation/production/README.md +++ b/docs/installation/production/README.md @@ -5,9 +5,9 @@ initialization process. On the controller, you need the following software tools: -- [Git](https://git-scm.com/). Tested with Git version >= `2.25.0`. -- An OCI container runtime, such as Docker. Tested with Docker version >= `20.10`. -- A connection to an IP network that can route packets to the internet. +- [Git](https://git-scm.com/). Tested with Git version >= `2.25.0`. +- An OCI container runtime, such as Docker. Tested with Docker version >= `20.10`. +- A connection to an IP network that can route packets to the internet. To initialize the home lab, do the following: diff --git a/docs/installation/production/provision-new-hosts.md b/docs/installation/production/provision-new-hosts.md index 2dea57ad8..8c9646ab3 100644 --- a/docs/installation/production/provision-new-hosts.md +++ b/docs/installation/production/provision-new-hosts.md @@ -5,22 +5,22 @@ for the home lab. We define this process as `provisioning new hosts`. The provisioning process is as follows: -- Gather information about the host: - - Unique name to assign to the host. - - MAC address of each network interface. - - Name of each network interface. - - Static IP address to assign to each network interface. - - Boot disk name. -- Update the BIOS and UEFI firmware to the latest available version. -- Enable network boot. -- Enable [Wake-on-LAN](https://en.wikipedia.org/wiki/Wake-on-LAN). -- Enable hardware-assisted virtualization capabilities. -- Add the machine to the inventory. +- Gather information about the host: + - Unique name to assign to the host. + - MAC address of each network interface. + - Name of each network interface. + - Static IP address to assign to each network interface. + - Boot disk name. +- Update the BIOS and UEFI firmware to the latest available version. +- Enable network boot. +- Enable [Wake-on-LAN](https://en.wikipedia.org/wiki/Wake-on-LAN). +- Enable hardware-assisted virtualization capabilities. +- Add the machine to the inventory. For hosts that support it, we automate the setup using an out-of-band configuration mechanisms, such as [Intelligent Platform Management Interface (IPMI)](https://en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface), -or [Redfish](https://en.wikipedia.org/wiki/Redfish_(specification)). +or [Redfish](). Off-the-shelf, consumer hardware rarely support these configuration mechanisms, so you may need to manually complete some configuration steps to prepare a host to join the home lab. @@ -28,7 +28,7 @@ to join the home lab. In this document, we provide information about the manual steps to provision the following types of hosts: -- Raspberry Pi 4 +- Raspberry Pi 4 ## Raspberry Pi 4 @@ -41,10 +41,10 @@ and configure the [boot order](https://www.raspberrypi.com/documentation/compute when not using Raspberry Pi OS, do the following: 1. Download the latest release of [rpi-eeprom](https://github.com/raspberrypi/rpi-eeprom/releases). - There are different boot order configurations available, as configured - [here](https://github.com/raspberrypi/rpi-eeprom/tree/master/imager). + There are different boot order configurations available, as configured + [here](https://github.com/raspberrypi/rpi-eeprom/tree/master/imager). 1. Flash the bootloader disk image on a removable flash drive. For more information about flashing Raspberry Pi OS - images to a SD card, refer to [Raspberry Pi: Getting started](https://www.raspberrypi.org/documentation/computers/getting-started.html). + images to a SD card, refer to [Raspberry Pi: Getting started](https://www.raspberrypi.org/documentation/computers/getting-started.html). 1. Insert the SD card in a powered off Raspberry Pi 4. 1. Wait for the activity LED to steadily flash green. 1. Power the Raspberry Pi off. diff --git a/scripts/lint.sh b/scripts/lint.sh index bb76930a5..57d1604c0 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -33,6 +33,19 @@ if [ "${LINTER_CONTAINER_OPEN_SHELL:-}" == "true" ]; then ) fi +if [ "${LINTER_CONTAINER_FIX_MODE:-}" == "true" ]; then + SUPER_LINTER_COMMAND+=( + --env FIX_ANSIBLE="true" + --env FIX_ENV="true" + --env FIX_JSON="true" + --env FIX_JSON_PRETTIER="true" + --env FIX_MARKDOWN="true" + --env FIX_MARKDOWN_PRETTIER="true" + --env FIX_SHELL_SHFMT="true" + --env FIX_YAML_PRETTIER="true" + ) +fi + SUPER_LINTER_COMMAND+=( --env ACTIONS_RUNNER_DEBUG="${ACTIONS_RUNNER_DEBUG:-"false"}" --env MULTI_STATUS="false"