From 5ea65e9534fe4c7183dac67968c617d62608f98d Mon Sep 17 00:00:00 2001 From: Alexzander thunder Shevchenko Date: Sun, 23 Feb 2020 20:30:35 +0300 Subject: [PATCH] Add Alpine Ansible capability --- .../cap/guest/alpine/ansible_install.rb | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 plugins/provisioners/ansible/cap/guest/alpine/ansible_install.rb diff --git a/plugins/provisioners/ansible/cap/guest/alpine/ansible_install.rb b/plugins/provisioners/ansible/cap/guest/alpine/ansible_install.rb new file mode 100644 index 000000000..e1da72c0d --- /dev/null +++ b/plugins/provisioners/ansible/cap/guest/alpine/ansible_install.rb @@ -0,0 +1,44 @@ +require_relative "../facts" +require_relative "../pip/pip" + +module VagrantPlugins + module Ansible + module Cap + module Guest + module Alpine + module AnsibleInstall + + DEV_PACKAGES = "python3-dev libffi-dev openssl-dev build-base".freeze + + def self.ansible_install(machine, install_mode, ansible_version, pip_args, pip_install_cmd = "") + case install_mode + when :pip + pip_setup machine, pip_install_cmd + Pip::pip_install machine, "ansible", ansible_version, pip_args, true + when :pip_args_only + pip_setup machine, pip_install_cmd + Pip::pip_install machine, "", "", pip_args, false + else + ansible_apk_install machine + end + end + + private + + def self.ansible_apk_install(machine) + machine.communicate.sudo "apk add --update python ansible" + end + + def self.pip_setup(machine, pip_install_cmd = "") + machine.communicate.sudo "apk add --update python3" + machine.communicate.sudo "apk add --update #{DEV_PACKAGES}" + machine.communicate.sudo "pip3 install --upgrade pip" + # Pip::get_pip machine, pip_install_cmd + end + + end + end + end + end + end +end