diff --git a/apache-site.yml b/apache-site.yml deleted file mode 100644 index f46636c..0000000 --- a/apache-site.yml +++ /dev/null @@ -1,18 +0,0 @@ ---- -- import_playbook: playbooks/own/allow-releaseinfo-change.yml -- import_playbook: playbooks/own/locales.yml -- import_playbook: debops/tzdata.yml -- import_playbook: debops/pki.yml -- import_playbook: debops/yadm.yml -- import_playbook: debops/root_account.yml -- import_playbook: debops/sudo.yml -- import_playbook: debops/system_users.yml -- import_playbook: debops/mariadb_server.yml -- import_playbook: debops/mariadb-custom-db.yml -- import_playbook: debops/php-wp.yml -- import_playbook: debops/apache.yml -- import_playbook: playbooks/own/var-www-set-ownerships.yml - -# Import all other group playbooks in this file... - -... diff --git a/group_vars/all.yml b/group_vars/all.yml index eefda29..ae55b49 100644 --- a/group_vars/all.yml +++ b/group_vars/all.yml @@ -8,5 +8,5 @@ keyring__keyserver: hkp://keyserver.ubuntu.com:80 secret__levels: '.' -site_name: '{{ site_name | d(lxc_host) }}' +site_name: '{{ initial_site_name | d(lxc_host) }}' ... diff --git a/nginx-only.yml b/nginx-only.yml deleted file mode 100644 index ee56194..0000000 --- a/nginx-only.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- import_playbook: playbooks/own/allow-releaseinfo-change.yml -- import_playbook: playbooks/own/locales.yml -- import_playbook: debops/tzdata.yml -- import_playbook: debops/pki.yml -- import_playbook: debops/yadm.yml -- import_playbook: debops/root_account.yml -- import_playbook: debops/sudo.yml -- import_playbook: debops/system_users.yml -- import_playbook: debops/nginx.yml diff --git a/nginx-site.yml b/nginx-site.yml deleted file mode 100644 index f7e3b6a..0000000 --- a/nginx-site.yml +++ /dev/null @@ -1,21 +0,0 @@ ---- -- import_playbook: playbooks/own/allow-releaseinfo-change.yml -- import_playbook: playbooks/own/locales.yml -- import_playbook: debops/tzdata.yml -- import_playbook: debops/pki.yml -- import_playbook: debops/yadm.yml -- import_playbook: debops/root_account.yml -- import_playbook: debops/sudo.yml -- import_playbook: debops/system_users.yml -- import_playbook: debops/mariadb_server.yml -- import_playbook: debops/mariadb-custom-db.yml -- import_playbook: debops/php-prod.yml -- import_playbook: debops/nginx.yml -- import_playbook: debops/nodejs.yml -- import_playbook: debops/redis.yml -- import_playbook: playbooks/own/var-www-set-ownerships.yml -- import_playbook: playbooks/own/node-version-manager.yml - -# Import all other group playbooks in this file... - -... diff --git a/_mysql-server-site.yml b/playbooks/_mysql-server-site.yml similarity index 100% rename from _mysql-server-site.yml rename to playbooks/_mysql-server-site.yml diff --git a/playbooks/apache-site.yml b/playbooks/apache-site.yml new file mode 100644 index 0000000..b9f4205 --- /dev/null +++ b/playbooks/apache-site.yml @@ -0,0 +1,16 @@ +--- +- import_playbook: root-account.yml +- import_playbook: debops/pki.yml +- import_playbook: debops/system_users.yml +- import_playbook: debops/mariadb_server.yml +- import_playbook: debops/mariadb-custom-db.yml +- import_playbook: debops/php-wp.yml +- import_playbook: debops/apache.yml +- import_playbook: debops/redis.yml +- import_playbook: own/var-www-set-ownerships.yml +- import_playbook: own/phpmyadmin.yml +- import_playbook: own/libgd3-fix-for-php81.yml + +# Import all other group playbooks in this file... + +... diff --git a/debops/_phpmyadmin.yml b/playbooks/debops/_phpmyadmin.yml similarity index 99% rename from debops/_phpmyadmin.yml rename to playbooks/debops/_phpmyadmin.yml index f907f37..161783c 100644 --- a/debops/_phpmyadmin.yml +++ b/playbooks/debops/_phpmyadmin.yml @@ -11,6 +11,5 @@ | combine(inventory__host_environment | d({})) }}' roles: - - role: phpmyadmin tags: [ 'role::phpmyadmin', 'skip::phpmyadmin' ] diff --git a/debops/apache.yml b/playbooks/debops/apache.yml similarity index 98% rename from debops/apache.yml rename to playbooks/debops/apache.yml index f801dd8..c99814d 100644 --- a/debops/apache.yml +++ b/playbooks/debops/apache.yml @@ -12,7 +12,7 @@ vars: apache__base_packages: - - libapache2-mod-php7.4 + - libapache2-mod-php8.1 apache__role_modules: 'headers': True 'alias': True diff --git a/playbooks/debops/dnsmasq.yml b/playbooks/debops/dnsmasq.yml new file mode 100644 index 0000000..fb5e788 --- /dev/null +++ b/playbooks/debops/dnsmasq.yml @@ -0,0 +1,52 @@ +--- + +- name: Configure dnsmasq + collections: [ 'debops.debops', 'debops.roles01', + 'debops.roles02', 'debops.roles03' ] + hosts: [ 'debian10' ] + become: True + + environment: '{{ inventory__environment | d({}) + | combine(inventory__group_environment | d({})) + | combine(inventory__host_environment | d({})) }}' + + vars: + dnsmasq__dhcpv4: True + dnsmasq__dhcpv6: False + dnsmasq__interfaces: + - name: 'eth1' +# addresses: ['172.16.30.100'] + domain: local + dhcp_range_start: 180 + dhcp_range_end: -6 + dnsmasq__base_domain: 'local' +# dnsmasq__configuration: +# - name: 'dhcp-option.conf' +# options: +# - name: 'dhcp-option-1' +# option: 'dhcp-option' +# value: '1,255.255.255.0' +# - name: 'dhcp-option-3' +# option: 'dhcp-option' +# value: '3,172.16.30.100' +# - name: 'dhcp-option-6' +# option: 'dhcp-option' +# value: '6,172.16.30.100' + + pre_tasks: + + - name: Prepare dnsmasq environment + import_role: + name: 'dnsmasq' + tasks_from: 'main_env' + tags: [ 'role::dnsmasq', 'role::ferm', 'role::tcpwrappers' ] + + roles: + + - role: resolvconf + tags: [ 'role::resolvconf', 'skip::resolvconf' ] + resolvconf__dependent_services: + - 'dnsmasq' + + - role: dnsmasq + tags: [ 'role::dnsmasq', 'skip::dnsmasq' ] diff --git a/debops/files/etc/nginx-master-proxy/conf.d/sample-filecloud.conf.example b/playbooks/debops/files/etc/nginx-master-proxy/conf.d/sample-filecloud.conf.example similarity index 100% rename from debops/files/etc/nginx-master-proxy/conf.d/sample-filecloud.conf.example rename to playbooks/debops/files/etc/nginx-master-proxy/conf.d/sample-filecloud.conf.example diff --git a/debops/files/etc/nginx-master-proxy/conf.d/sample-s3.conf.example b/playbooks/debops/files/etc/nginx-master-proxy/conf.d/sample-s3.conf.example similarity index 100% rename from debops/files/etc/nginx-master-proxy/conf.d/sample-s3.conf.example rename to playbooks/debops/files/etc/nginx-master-proxy/conf.d/sample-s3.conf.example diff --git a/debops/files/etc/nginx-master-proxy/conf.d/sample-website.conf.example b/playbooks/debops/files/etc/nginx-master-proxy/conf.d/sample-website.conf.example similarity index 100% rename from debops/files/etc/nginx-master-proxy/conf.d/sample-website.conf.example rename to playbooks/debops/files/etc/nginx-master-proxy/conf.d/sample-website.conf.example diff --git a/debops/files/etc/nginx-master-proxy/conf.d/sample-youtrack.conf.example b/playbooks/debops/files/etc/nginx-master-proxy/conf.d/sample-youtrack.conf.example similarity index 100% rename from debops/files/etc/nginx-master-proxy/conf.d/sample-youtrack.conf.example rename to playbooks/debops/files/etc/nginx-master-proxy/conf.d/sample-youtrack.conf.example diff --git a/debops/files/etc/nginx/includes.d/octobercms.conf b/playbooks/debops/files/etc/nginx/includes.d/octobercms.conf similarity index 100% rename from debops/files/etc/nginx/includes.d/octobercms.conf rename to playbooks/debops/files/etc/nginx/includes.d/octobercms.conf diff --git a/debops/files/etc/nginx/includes.d/staticfiles.conf b/playbooks/debops/files/etc/nginx/includes.d/staticfiles.conf similarity index 100% rename from debops/files/etc/nginx/includes.d/staticfiles.conf rename to playbooks/debops/files/etc/nginx/includes.d/staticfiles.conf diff --git a/debops/files/etc/nginx/includes.d/www.conf b/playbooks/debops/files/etc/nginx/includes.d/www.conf similarity index 100% rename from debops/files/etc/nginx/includes.d/www.conf rename to playbooks/debops/files/etc/nginx/includes.d/www.conf diff --git a/debops/keyring.yml b/playbooks/debops/keyring.yml similarity index 100% rename from debops/keyring.yml rename to playbooks/debops/keyring.yml diff --git a/debops/mariadb-custom-db.yml b/playbooks/debops/mariadb-custom-db.yml similarity index 97% rename from debops/mariadb-custom-db.yml rename to playbooks/debops/mariadb-custom-db.yml index 8a5e736..465e6b9 100644 --- a/debops/mariadb-custom-db.yml +++ b/playbooks/debops/mariadb-custom-db.yml @@ -16,7 +16,7 @@ mariadb__upstream_version: '10.5' vars_files: - - ./../vars/databases.yml + - ./../../vars/databases.yml roles: diff --git a/debops/mariadb.yml b/playbooks/debops/mariadb.yml similarity index 100% rename from debops/mariadb.yml rename to playbooks/debops/mariadb.yml diff --git a/debops/mariadb_server.yml b/playbooks/debops/mariadb_server.yml similarity index 97% rename from debops/mariadb_server.yml rename to playbooks/debops/mariadb_server.yml index af70648..6f72209 100644 --- a/debops/mariadb_server.yml +++ b/playbooks/debops/mariadb_server.yml @@ -13,7 +13,7 @@ vars: mariadb_server__flavor: '{{ ansible_local.mariadb.flavor |d(mariadb_server__flavor_map[ansible_distribution_release] | d("mariadb_upstream")) }}' - mariadb_server__upstream_version: '10.5' + mariadb_server__upstream_version: '11.2' mariadb_server__bind_address: '0.0.0.0' roles: diff --git a/debops/nginx-master-proxy.yml b/playbooks/debops/nginx-master-proxy.yml similarity index 100% rename from debops/nginx-master-proxy.yml rename to playbooks/debops/nginx-master-proxy.yml diff --git a/debops/nginx.yml b/playbooks/debops/nginx.yml similarity index 92% rename from debops/nginx.yml rename to playbooks/debops/nginx.yml index 08a56e4..3187c50 100644 --- a/debops/nginx.yml +++ b/playbooks/debops/nginx.yml @@ -12,7 +12,8 @@ vars_files: - - ./../vars/nginx.yml + - ./../../vars/nginx.yml + - ./../../vars/php.yml vars: nginx_acme: False @@ -34,13 +35,13 @@ include_files_begin: '{{ nginx_includes_begin }}' - options: set $upstream unix:/run/php7.4-fpm-www-data.sock; + options: 'set $upstream unix:/run/{{ php__version_preference[0] }}-fpm-www-data.sock;' location_list: - pattern: '/' locations: - pattern: '~ ^/*.-backend/' - options: set $upstream unix:/run/php7.4-fpm-backend.sock; + options: 'set $upstream unix:/run/{{ php__version_preference[0] }}-fpm-backend.sock;' options: try_files /index.html @october; - pattern: '@october' options: rewrite ^/.*$ /index.php last; diff --git a/debops/nodejs.yml b/playbooks/debops/nodejs.yml similarity index 100% rename from debops/nodejs.yml rename to playbooks/debops/nodejs.yml diff --git a/debops/php-prod.yml b/playbooks/debops/php-prod.yml similarity index 99% rename from debops/php-prod.yml rename to playbooks/debops/php-prod.yml index 6f5d4fd..83c2f1c 100644 --- a/debops/php-prod.yml +++ b/playbooks/debops/php-prod.yml @@ -56,7 +56,7 @@ pm_max_children: 3 vars_files: - - ./../vars/php.yml + - ./../../vars/php.yml pre_tasks: diff --git a/debops/php-wp.yml b/playbooks/debops/php-wp.yml similarity index 98% rename from debops/php-wp.yml rename to playbooks/debops/php-wp.yml index e462a84..7f9dd40 100644 --- a/debops/php-wp.yml +++ b/playbooks/debops/php-wp.yml @@ -10,8 +10,10 @@ | combine(inventory__group_environment | d({})) | combine(inventory__host_environment | d({})) }}' + vars_files: + - ./../../vars/php.yml + vars: - php__version_preference: [ 'php7.4' ] php__sury: '{{ ansible_local.php.sury |d(ansible_distribution_release in [ "buster" ]) | bool }}' php__sury_apt_key_id: '{{ php__sury_apt_key_id_map[ansible_distribution] }}' diff --git a/debops/pki.yml b/playbooks/debops/pki.yml similarity index 100% rename from debops/pki.yml rename to playbooks/debops/pki.yml diff --git a/debops/redis.yml b/playbooks/debops/redis.yml similarity index 100% rename from debops/redis.yml rename to playbooks/debops/redis.yml diff --git a/debops/root_account.yml b/playbooks/debops/root_account.yml similarity index 65% rename from debops/root_account.yml rename to playbooks/debops/root_account.yml index a778fa4..c7ffe5f 100644 --- a/debops/root_account.yml +++ b/playbooks/debops/root_account.yml @@ -17,6 +17,8 @@ post_tasks: - name: Tmux Plugins Manager + # Вообще это конструкция не нужна, так как tmux и сам все прекрасно умеет устанавливать, только если бы у него в этот момент была программа git + # Хотя нет, блин, нихрена он не умеет. Последнюю команду он почему не запускает: ~/.tmux/plugins/tpm/bin/install_plugins shell: test -d ~/.tmux/plugins/tpm || git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins roles: diff --git a/debops/sudo.yml b/playbooks/debops/sudo.yml similarity index 96% rename from debops/sudo.yml rename to playbooks/debops/sudo.yml index efc82b4..e334f2c 100644 --- a/debops/sudo.yml +++ b/playbooks/debops/sudo.yml @@ -11,7 +11,7 @@ | combine(inventory__host_environment | d({})) }}' vars_files: - - ./../vars/sudo.yml + - ./../../vars/sudo.yml roles: # - role: python diff --git a/debops/system_users.yml b/playbooks/debops/system_users.yml similarity index 86% rename from debops/system_users.yml rename to playbooks/debops/system_users.yml index c9f42c8..79a8fcb 100644 --- a/debops/system_users.yml +++ b/playbooks/debops/system_users.yml @@ -16,11 +16,12 @@ system_users__dotfiles_repo: 'https://vcs.wpstudio.ru/gitea/dotfiles.git' vars_files: - - ./../vars/system_users.yml + - ./../../vars/system_users.yml post_tasks: - name: Change starship character to dollar sign - shell: "sed -i 's/#/\\\\$/g' /home/{{ site_name }}/.config/starship.toml" + shell: | + sed -i 's/#/\\\\$/g' /home/{{ site_name }}/.config/starship.toml args: executable: /bin/bash diff --git a/debops/templates/var/www/site_name/index.html.j2 b/playbooks/debops/templates/var/www/site_name/index.html.j2 similarity index 100% rename from debops/templates/var/www/site_name/index.html.j2 rename to playbooks/debops/templates/var/www/site_name/index.html.j2 diff --git a/debops/templates/var/www/site_name/normalize.css b/playbooks/debops/templates/var/www/site_name/normalize.css similarity index 100% rename from debops/templates/var/www/site_name/normalize.css rename to playbooks/debops/templates/var/www/site_name/normalize.css diff --git a/debops/tzdata.yml b/playbooks/debops/tzdata.yml similarity index 100% rename from debops/tzdata.yml rename to playbooks/debops/tzdata.yml diff --git a/debops/yadm.yml b/playbooks/debops/yadm.yml similarity index 100% rename from debops/yadm.yml rename to playbooks/debops/yadm.yml diff --git a/playbooks/dhcp.yml b/playbooks/dhcp.yml new file mode 100644 index 0000000..a8cce43 --- /dev/null +++ b/playbooks/dhcp.yml @@ -0,0 +1,8 @@ +--- +#- import_playbook: root-account.yml +- import_playbook: debops/dnsmasq.yml +#- import_playbook: own/correct-paths-for-pct-enter.yml + +# Import all other group playbooks in this file... + +... diff --git a/playbooks/nginx-only.yml b/playbooks/nginx-only.yml new file mode 100644 index 0000000..7da7b91 --- /dev/null +++ b/playbooks/nginx-only.yml @@ -0,0 +1,6 @@ +--- +- import_playbook: own/allow-releaseinfo-change.yml +- import_playbook: root-account.yml +- import_playbook: debops/pki.yml +- import_playbook: debops/system_users.yml +- import_playbook: debops/nginx.yml diff --git a/playbooks/nginx-site.yml b/playbooks/nginx-site.yml new file mode 100644 index 0000000..dfd1ace --- /dev/null +++ b/playbooks/nginx-site.yml @@ -0,0 +1,18 @@ +--- +- import_playbook: root-account.yml +- import_playbook: debops/pki.yml +- import_playbook: debops/system_users.yml +- import_playbook: debops/mariadb_server.yml +- import_playbook: debops/mariadb-custom-db.yml +- import_playbook: debops/php-prod.yml +- import_playbook: debops/nginx.yml +#- import_playbook: debops/nodejs.yml +- import_playbook: debops/redis.yml +- import_playbook: own/var-www-set-ownerships.yml +- import_playbook: own/node-version-manager.yml +- import_playbook: own/nginx-auth.yml +- import_playbook: own/phpmyadmin.yml + +# Import all other group playbooks in this file... + +... diff --git a/playbooks/own/correct-paths-for-pct-enter.yml b/playbooks/own/correct-paths-for-pct-enter.yml new file mode 100644 index 0000000..7089275 --- /dev/null +++ b/playbooks/own/correct-paths-for-pct-enter.yml @@ -0,0 +1,13 @@ +--- +- name: Nerest bash PATH var with set true paths after pct enter into lxc container from proxmox host + hosts: [ 'debian10' ] + tasks: + - name: Append .shell-env + ansible.builtin.lineinfile: + path: '/root/.shell-env' + line: |- + ## + ## Correct PATH for tmux enter + ## + PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + diff --git a/playbooks/own/libgd3-fix-for-php81.yml b/playbooks/own/libgd3-fix-for-php81.yml new file mode 100644 index 0000000..9d4e200 --- /dev/null +++ b/playbooks/own/libgd3-fix-for-php81.yml @@ -0,0 +1,14 @@ +--- +- name: Solve problem with libgd3 for php-gd + hosts: [ 'debian10' ] + tasks: + - copy: + dest: '/etc/apt/preferences.d/libgd-pin100' + content: |- + Package: libgd3 + Pin-Priority: 100 + - shell: |- + apt update + apt install -t bullseye libgd3 -yy + apt-cache policy libgd3 + apt install php8.1-gd -yy diff --git a/playbooks/own/lookup-password-test.yml b/playbooks/own/lookup-password-test.yml new file mode 100644 index 0000000..97def9a --- /dev/null +++ b/playbooks/own/lookup-password-test.yml @@ -0,0 +1,8 @@ +--- + +- name: Configure Locales + hosts: [ 'debian10' ] + tasks: + - name: Set ownerships to /var/www dir + set_fact: + mariadb__server: '{{ lookup("password", "secret/vam-teplee-2023/testpass " + "length=15") }}' diff --git a/playbooks/own/nginx-auth.yml b/playbooks/own/nginx-auth.yml new file mode 100644 index 0000000..5dd4010 --- /dev/null +++ b/playbooks/own/nginx-auth.yml @@ -0,0 +1,19 @@ +--- + +- name: Setup nginx auth scaffolding dirs + hosts: [ 'debian10' ] + tasks: + - shell: |- + cd /etc/nginx + mkdir -p auth.d passwords.d + + - copy: + dest: '/etc/nginx/auth.d/grant-access-certbot.conf' + content: |- + set $auth_basic Restricted; + + if ($request_uri ~* "well-known") { + set $auth_basic off; + } + + auth_basic $auth_basic; diff --git a/playbooks/own/phpmyadmin-nginx-auth.yml b/playbooks/own/phpmyadmin-nginx-auth.yml new file mode 100644 index 0000000..0267509 --- /dev/null +++ b/playbooks/own/phpmyadmin-nginx-auth.yml @@ -0,0 +1,58 @@ +--- + +- name: Install PhpMyAdmin + + collections: [ 'debops.debops', 'debops.roles01', + 'debops.roles02', 'debops.roles03' ] + + hosts: [ 'debian10' ] + + vars_files: + - ./../../vars/php.yml + + tasks: + - name: Import DebOps secret role + ansible.builtin.import_role: + name: 'secret' + + - name: 'Adding pma nginx config' + copy: + dest: '/etc/nginx/sites-available/pma.conf' + content: |- + server { + listen 81; + server_name {{ site_name }}; + root /var/www/phpmyadmin; + index index.php; + include auth.d/pma-auth.conf; + location / { + try_files $uri $uri/ /index.php?$args; + } + set $upstream unix:/run/{{ php__version_preference[0] }}-fpm-www-data.sock; + location ~ \.php$ { + fastcgi_pass $upstream; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_param SERVER_NAME $host; + } + } + + - name: 'Adding pma nginx auth config' + copy: + dest: '/etc/nginx/auth.d/pma-auth.conf' + content: |- + include auth.d/grant-access-certbot.conf; + auth_basic_user_file passwords.d/pma.passwords; + + - name: 'Adding pma nginx auth passwords files' + shell: |- + echo "{{ site_name }}:$(openssl passwd -apr1 {{ lookup("password", secret + "/basic/" + site_name + "/pma " + "length=30")}} )" > /etc/nginx/passwords.d/pma.passwords + + - name: 'Turning on pma web site nginx config' + shell: |- + cd /etc/nginx/sites-enabled + ln -s ../sites-available/pma.conf ./ + + - name: 'Restarting nginx' + shell: |- + nginx -t && systemctl restart nginx diff --git a/playbooks/own/phpmyadmin.yml b/playbooks/own/phpmyadmin.yml new file mode 100644 index 0000000..1305af5 --- /dev/null +++ b/playbooks/own/phpmyadmin.yml @@ -0,0 +1,24 @@ +--- + +- name: Install PhpMyAdmin + + collections: [ 'debops.debops', 'debops.roles01', + 'debops.roles02', 'debops.roles03' ] + + hosts: [ 'debian10' ] + + vars: + - phpmyadmin_version: 5.2.1 + + # TODO: Set blowfish_secret and make access rights for ./tmp directory + tasks: + - name: 'Download phpMyAdmin {{ phpmyadmin_version }} into var/www dir and uncompress' + become: true + become_user: '{{ site_name }}' + shell: |- + cd /var/www + rm -rf phpmyadmin + wget -q https://files.phpmyadmin.net/phpMyAdmin/{{ phpmyadmin_version }}/phpMyAdmin-{{ phpmyadmin_version }}-all-languages.zip + unzip -qq phpMyAdmin-{{ phpmyadmin_version }}-all-languages.zip + rm phpMyAdmin-{{ phpmyadmin_version }}-all-languages.zip + mv phpMyAdmin-{{ phpmyadmin_version }}-all-languages phpmyadmin diff --git a/root-account.yml b/playbooks/root-account.yml similarity index 59% rename from root-account.yml rename to playbooks/root-account.yml index 96076e3..ba04f3d 100644 --- a/root-account.yml +++ b/playbooks/root-account.yml @@ -1,8 +1,10 @@ --- -- import_playbook: playbooks/own/locales.yml +- import_playbook: own/locales.yml - import_playbook: debops/tzdata.yml +- import_playbook: own/allow-releaseinfo-change.yml - import_playbook: debops/yadm.yml - import_playbook: debops/root_account.yml +- import_playbook: debops/sudo.yml # Import all other group playbooks in this file... diff --git a/run-lxc-playbook.sh b/run-lxc-playbook.sh index 2965696..d6c3896 100755 --- a/run-lxc-playbook.sh +++ b/run-lxc-playbook.sh @@ -3,6 +3,13 @@ SERVER=$1 LXC_HOST=$2 PLAYBOOK=$3 +while [[ "$#" -gt 0 ]]; do + case $1 in + -f|--force) force=1; shift ;; + esac + shift +done + usage() { echo "Usage: run-lxc-playbook.sh server lxc_host playbook" echo "server - main proxmox server IP address and lxc_host that the name of lxc container" @@ -39,10 +46,14 @@ ansible-playbook -e "lxc_host=$LXC_HOST" --ssh-common-args="-o ProxyCommand='ssh EOF ) -printf 'Launch ansible playbook:\n%s\n' "$COMMAND" -read -p "Are you sure? " -n 1 -r -echo # (optional) move to a new line -if [[ $REPLY =~ ^[Yy]$ ]] -then - /bin/bash -c "$COMMAND" +if [[ -z "$force" ]]; then + printf 'Launch ansible playbook:\n%s\n' "$COMMAND" + read -p "Are you sure? " -n 1 -r + echo # (optional) move to a new line + if [[ $REPLY =~ ^[Yy]$ ]] + then + /bin/bash -c "$COMMAND" + fi +else + /bin/bash -c "$COMMAND" fi diff --git a/run-vps-playbook.sh b/run-vps-playbook.sh old mode 100644 new mode 100755 index 3a4717c..9e1f523 --- a/run-vps-playbook.sh +++ b/run-vps-playbook.sh @@ -1,10 +1,17 @@ #!/bin/bash SERVER=$1 -SITE_NAME=$2 -PLAYBOOK=$3 +PLAYBOOK=$2 +SITE_NAME=$3 + +while [[ "$#" -gt 0 ]]; do + case $1 in + -f|--force) force=1; shift ;; + esac + shift +done usage() { - echo "Usage: run-vps-playbook.sh server site_name playbook" + echo "Usage: run-vps-playbook.sh server playbook [site_name]" echo "server - domain or ip adress of the vps server" echo "site_name - site name" echo "playbook - playbook file" @@ -16,27 +23,32 @@ if [[ -z "$SERVER" ]]; then exit 1 fi -if [[ -z "$SITE_NAME" ]]; then - echo "You must defined SITE_NAME as second argument" - usage - exit 1 -fi - if [[ -z "$PLAYBOOK" ]]; then echo "You must defined PLAYBOOK as third argument" usage exit 1 fi + COMMAND=$(cat <