Skip to content

Instantly share code, notes, and snippets.

@zoredache
Last active July 18, 2025 18:46
Show Gist options
  • Select an option

  • Save zoredache/5ccf8785d12cd3af0f5ef1feae79f704 to your computer and use it in GitHub Desktop.

Select an option

Save zoredache/5ccf8785d12cd3af0f5ef1feae79f704 to your computer and use it in GitHub Desktop.

Revisions

  1. zoredache revised this gist May 3, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion install_ansible.sh
    Original file line number Diff line number Diff line change
    @@ -51,7 +51,7 @@ yamllint

    # Create virtual environment we we install ansible into
    if test ! -x ${virtualenv_path}/bin/pip ; then
    /usr/bin/python3 -m venv --system-site-packages ${virtualenv_path}
    /usr/bin/python3 -m venv ${virtualenv_path}
    fi

    # Upgrade pip
  2. zoredache revised this gist May 3, 2022. 1 changed file with 4 additions and 1 deletion.
    5 changes: 4 additions & 1 deletion install_ansible.sh
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    #/bin/bash
    #!/bin/bash
    set -euo pipefail
    set -x

    @@ -34,6 +34,7 @@ bcrypt
    cryptography
    dnspython
    docker
    jmespath
    netaddr
    ntlm-auth
    paramiko
    @@ -44,6 +45,7 @@ pywinrm
    requests
    requests-credssp
    requests-kerberos
    six
    yamllint
    " > ${virtualenv_path}/requirements.txt

    @@ -68,6 +70,7 @@ do
    done <<EOF
    ansible
    ansible-config
    ansible-connection
    ansible-cmdb
    ansible-doc
    ansible-galaxy
  3. zoredache revised this gist Aug 27, 2021. 1 changed file with 21 additions and 17 deletions.
    38 changes: 21 additions & 17 deletions install_ansible.sh
    Original file line number Diff line number Diff line change
    @@ -18,17 +18,17 @@ echo "build-essential
    python3-pip
    python3-setuptools
    python3-wheel
    sshpass
    virtualenv" )
    python3-venv
    sshpass" )

    mkdir -p /etc/ansible
    mkdir -p ${virtualenv_path}

    # Create requirements file for pip
    echo "
    ansible
    ansible-core
    ansible-cmdb
    ansible-core
    ansible-lint
    bcrypt
    cryptography
    @@ -49,9 +49,12 @@ yamllint

    # Create virtual environment we we install ansible into
    if test ! -x ${virtualenv_path}/bin/pip ; then
    virtualenv -p /usr/bin/python3 --system-site-packages ${virtualenv_path}
    /usr/bin/python3 -m venv --system-site-packages ${virtualenv_path}
    fi

    # Upgrade pip
    ${virtualenv_path}/bin/pip install --upgrade pip

    # install/upgrade ansible in the virtual environment
    ${virtualenv_path}/bin/pip install --upgrade --requirement ${virtualenv_path}/requirements.txt

    @@ -62,16 +65,17 @@ do
    if test ! -x /usr/local/bin/${item} ; then
    ln -rs ${virtualenv_path}/bin/$item /usr/local/bin/$item
    fi
    done < <(
    echo "ansible
    ansible-config
    ansible-cmdb
    ansible-doc
    ansible-galaxy
    ansible-inventory
    ansible-lint
    ansible-playbook
    ansible-pull
    ansible-test
    ansible-vault
    yamllint")
    done <<EOF
    ansible
    ansible-config
    ansible-cmdb
    ansible-doc
    ansible-galaxy
    ansible-inventory
    ansible-lint
    ansible-playbook
    ansible-pull
    ansible-test
    ansible-vault
    yamllint
    EOF
  4. zoredache revised this gist Jul 8, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion install_ansible.sh
    Original file line number Diff line number Diff line change
    @@ -27,7 +27,7 @@ mkdir -p ${virtualenv_path}
    # Create requirements file for pip
    echo "
    ansible
    ansible-base
    ansible-core
    ansible-cmdb
    ansible-lint
    bcrypt
  5. zoredache revised this gist Jul 8, 2021. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion install_ansible.sh
    Original file line number Diff line number Diff line change
    @@ -32,7 +32,7 @@ ansible-cmdb
    ansible-lint
    bcrypt
    cryptography
    dnspython<2.0.0
    dnspython
    docker
    netaddr
    ntlm-auth
  6. zoredache revised this gist Jul 8, 2021. 1 changed file with 5 additions and 1 deletion.
    6 changes: 5 additions & 1 deletion install_ansible.sh
    Original file line number Diff line number Diff line change
    @@ -11,6 +11,7 @@ apt-get --yes install --no-install-recommends $(
    echo "build-essential
    krb5-user
    libkrb5-dev
    libyaml-dev
    lsb-release
    python3-dev
    python3-netaddr
    @@ -26,10 +27,12 @@ mkdir -p ${virtualenv_path}
    # Create requirements file for pip
    echo "
    ansible
    ansible-base
    ansible-cmdb
    ansible-lint
    bcrypt
    cryptography
    dnspython
    dnspython<2.0.0
    docker
    netaddr
    ntlm-auth
    @@ -62,6 +65,7 @@ do
    done < <(
    echo "ansible
    ansible-config
    ansible-cmdb
    ansible-doc
    ansible-galaxy
    ansible-inventory
  7. zoredache revised this gist Aug 27, 2020. No changes.
  8. zoredache revised this gist Jun 26, 2020. 1 changed file with 0 additions and 2 deletions.
    2 changes: 0 additions & 2 deletions install_ansible.sh
    Original file line number Diff line number Diff line change
    @@ -26,7 +26,6 @@ mkdir -p ${virtualenv_path}
    # Create requirements file for pip
    echo "
    ansible
    ansible-cmdb
    ansible-lint
    bcrypt
    cryptography
    @@ -63,7 +62,6 @@ do
    done < <(
    echo "ansible
    ansible-config
    ansible-cmdb
    ansible-doc
    ansible-galaxy
    ansible-inventory
  9. zoredache revised this gist Jun 26, 2020. 2 changed files with 75 additions and 40 deletions.
    40 changes: 0 additions & 40 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -1,40 +0,0 @@
    #/bin/sh
    apt-get update
    echo "build-essential
    krb5-user
    libkrb5-dev
    lsb-release
    python-dev
    python-pip
    python-setuptools
    python-wheel
    sshpass
    virtualenv" | xargs apt-get --yes install --no-install-recommends

    mkdir -p /etc/ansible
    touch /etc/ansible/hosts
    touch /etc/ansible/ansible.cfg

    echo "
    ansible
    ansible-cmdb
    ansible-lint
    cryptography
    dnspython
    netaddr
    pykerberos
    pyOpenSSL
    pywinrm
    requests-credssp
    requests-kerberos
    yamllint
    " > /etc/ansible/requirements.txt

    # Install in python 2 virtualenv
    mkdir -p /usr/local/virtualenv/py2/ansible_stable
    virtualenv -p /usr/bin/python2 --system-site-packages /usr/local/virtualenv/py2/ansible_stable
    /usr/local/virtualenv/py2/ansible_stable/bin/pip install --requirement /etc/ansible/requirements.txt

    # activate virtual env with
    # source /usr/local/virtualenv/py2/ansible_stable/bin/activate

    75 changes: 75 additions & 0 deletions install_ansible.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,75 @@
    #/bin/bash
    set -euo pipefail
    set -x

    virtualenv_path=/usr/local/ansible/stable

    # Install packages needed on a base Debian system
    apt-get update
    </dev/null DEBIAN_FRONTEND=noninteractive \
    apt-get --yes install --no-install-recommends $(
    echo "build-essential
    krb5-user
    libkrb5-dev
    lsb-release
    python3-dev
    python3-netaddr
    python3-pip
    python3-setuptools
    python3-wheel
    sshpass
    virtualenv" )

    mkdir -p /etc/ansible
    mkdir -p ${virtualenv_path}

    # Create requirements file for pip
    echo "
    ansible
    ansible-cmdb
    ansible-lint
    bcrypt
    cryptography
    dnspython
    docker
    netaddr
    ntlm-auth
    paramiko
    pykerberos
    pyOpenSSL
    pypsrp
    pywinrm
    requests
    requests-credssp
    requests-kerberos
    yamllint
    " > ${virtualenv_path}/requirements.txt

    # Create virtual environment we we install ansible into
    if test ! -x ${virtualenv_path}/bin/pip ; then
    virtualenv -p /usr/bin/python3 --system-site-packages ${virtualenv_path}
    fi

    # install/upgrade ansible in the virtual environment
    ${virtualenv_path}/bin/pip install --upgrade --requirement ${virtualenv_path}/requirements.txt

    # create some symlinks in /usr/local/bin for the commands in our venv
    # so we can use them without activating the venv
    while read item;
    do
    if test ! -x /usr/local/bin/${item} ; then
    ln -rs ${virtualenv_path}/bin/$item /usr/local/bin/$item
    fi
    done < <(
    echo "ansible
    ansible-config
    ansible-cmdb
    ansible-doc
    ansible-galaxy
    ansible-inventory
    ansible-lint
    ansible-playbook
    ansible-pull
    ansible-test
    ansible-vault
    yamllint")
  10. zoredache created this gist Mar 24, 2019.
    40 changes: 40 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,40 @@
    #/bin/sh
    apt-get update
    echo "build-essential
    krb5-user
    libkrb5-dev
    lsb-release
    python-dev
    python-pip
    python-setuptools
    python-wheel
    sshpass
    virtualenv" | xargs apt-get --yes install --no-install-recommends

    mkdir -p /etc/ansible
    touch /etc/ansible/hosts
    touch /etc/ansible/ansible.cfg

    echo "
    ansible
    ansible-cmdb
    ansible-lint
    cryptography
    dnspython
    netaddr
    pykerberos
    pyOpenSSL
    pywinrm
    requests-credssp
    requests-kerberos
    yamllint
    " > /etc/ansible/requirements.txt

    # Install in python 2 virtualenv
    mkdir -p /usr/local/virtualenv/py2/ansible_stable
    virtualenv -p /usr/bin/python2 --system-site-packages /usr/local/virtualenv/py2/ansible_stable
    /usr/local/virtualenv/py2/ansible_stable/bin/pip install --requirement /etc/ansible/requirements.txt

    # activate virtual env with
    # source /usr/local/virtualenv/py2/ansible_stable/bin/activate