summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2026-02-19 15:32:19 +0000
committerGitHub <noreply@github.com>2026-02-19 15:32:19 +0000
commit3061c79be208cd57f973673c0184d26fe9da0d07 (patch)
tree1b5254dd11582574f37533420dc4bbacb03ed795
parentdc1168285247b88db07d7ab0a19d82398d619207 (diff)
parentb9e102953564b0e7d1ae0fbed9ae35b600d5ec1b (diff)
downloadvyos-build-3061c79be208cd57f973673c0184d26fe9da0d07.tar.gz
vyos-build-3061c79be208cd57f973673c0184d26fe9da0d07.zip
Merge pull request #1118 from sever-sever/T8267
T8267: Extend the vyos-build repo to include Ansible install phony target
-rw-r--r--.gitignore1
-rw-r--r--Makefile23
-rwxr-xr-xscripts/ansible-install20
3 files changed, 44 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index de9b67f9..39e926ce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,4 @@ packages/*
/*.tar
.DS_Store
._.DS_Store
+.venv
diff --git a/Makefile b/Makefile
index da82e378..2cac72e2 100644
--- a/Makefile
+++ b/Makefile
@@ -113,3 +113,26 @@ clean:
.PHONY: purge
purge:
rm -rf build packer_build packer_cache testinstall-*.raw ci_data ci_seed.iso
+
+.PHONY: ansible-install ansible-check ansible-clean
+.ONESHELL:
+
+ANSIBLE_SCRIPT := ./scripts/ansible-install
+VENV_DIR := .venv
+
+ansible-install:
+ @test -x $(ANSIBLE_SCRIPT) || chmod +x $(ANSIBLE_SCRIPT)
+ $(ANSIBLE_SCRIPT)
+
+ansible-check:
+ @if [ -d $(VENV_DIR) ]; then
+ . $(VENV_DIR)/bin/activate
+ ansible --version
+ else
+ echo "Virtual environment not found. Run 'make ansible-install' first."
+ fi
+
+ansible-clean:
+ @echo "Cleaning Ansible installation..."
+ @rm -rf $(VENV_DIR)
+ @echo "Done."
diff --git a/scripts/ansible-install b/scripts/ansible-install
new file mode 100755
index 00000000..22f467ff
--- /dev/null
+++ b/scripts/ansible-install
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+VENV_DIR=${1:-.venv}
+
+echo "==> Creating Python venv at $VENV_DIR"
+python3 -m venv "$VENV_DIR"
+. "$VENV_DIR/bin/activate"
+
+echo "==> Upgrading pip, setuptools, wheel"
+pip install --upgrade pip setuptools wheel
+
+echo "==> Installing Ansible and dependencies"
+pip install ansible-core==2.18.2 ansible-pylibssh
+
+echo "==> Installing VyOS Ansible collection"
+ansible-galaxy collection install git+https://github.com/vyos/vyos.vyos.git,main
+
+echo "Ansible setup complete. Activate with: source $VENV_DIR/bin/activate"