146 lines
No EOL
6.2 KiB
YAML
146 lines
No EOL
6.2 KiB
YAML
---
|
|
- name: '[APT] install dependencies and tools'
|
|
become: true
|
|
ansible.builtin.apt:
|
|
update_cache: true
|
|
force_apt_get: true
|
|
cache_valid_time: 3600
|
|
pkg:
|
|
- autoconf
|
|
- bc
|
|
- ca-certificates # docker-ce
|
|
- curl
|
|
- g++
|
|
- gcc
|
|
- git
|
|
- gnupg # docker-ce
|
|
- jq
|
|
- libasound2 # draw.io
|
|
- libatspi2.0-0 # draw.io
|
|
- libgtk-3-0 # draw.io
|
|
- libnotify4 # draw.io
|
|
- libnss3 # draw.io
|
|
- libsecret-1-0 # draw.io
|
|
- libxss1 # draw.io
|
|
- libxtst6 # draw.io
|
|
- make
|
|
- shellcheck
|
|
- valgrind
|
|
- xdg-utils # draw.io
|
|
state: present
|
|
|
|
- name: '[GitHub] install tools'
|
|
become: true
|
|
tags:
|
|
- molecule-idempotence-notest
|
|
nullified.infrastructure.github_artifact:
|
|
github_token: '{{ custom_github_token }}'
|
|
artifacts:
|
|
- asset_name: dive_{version}_linux_amd64.deb
|
|
asset_type: release
|
|
repository: wagoodman/dive
|
|
cmds:
|
|
- dpkg -i {asset_dirname}/{asset_filename}
|
|
- asset_name: kubeconform-linux-amd64.tar.gz
|
|
asset_type: release
|
|
repository: yannh/kubeconform
|
|
cmds:
|
|
- tar -zxf {asset_dirname}/{asset_filename}
|
|
- install --group=root --mode=755 --owner=root kubeconform /usr/local/bin
|
|
- asset_name: git-delta_{version}_amd64.deb
|
|
asset_type: release
|
|
repository: dandavison/delta
|
|
cmds:
|
|
- dpkg -i {asset_dirname}/{asset_filename}
|
|
- asset_name: docker-compose-linux-x86_64
|
|
asset_type: release
|
|
repository: docker/compose
|
|
cmds:
|
|
- install --group=root --mode=755 --owner=root {asset_dirname}/{asset_filename} /usr/local/bin/docker-compose
|
|
- test -d /usr/local/lib/docker/cli-plugins && (rm /usr/local/lib/docker/cli-plugins/docker-compose; ln -s /usr/local/bin/docker-compose /usr/local/lib/docker/cli-plugins) || true
|
|
- test -d /usr/local/libexec/docker/cli-plugins && (rm /usr/local/libexec/docker/cli-plugins/docker-compose; ln -s /usr/local/bin/docker-compose /usr/local/libexec/docker/cli-plugins) || true
|
|
- test -d /usr/lib/docker/cli-plugins && (rm /usr/lib/docker/cli-plugins/docker-compose; ln -s /usr/local/bin/docker-compose /usr/lib/docker/cli-plugins) || true
|
|
- test -d /usr/libexec/docker/cli-plugins && (rm /usr/libexec/docker/cli-plugins/docker-compose; ln -s /usr/local/bin/docker-compose /usr/libexec/docker/cli-plugins) || true
|
|
- asset_name: buildx-{version}.linux-amd64
|
|
asset_type: release
|
|
repository: docker/buildx
|
|
cmds:
|
|
- install --group=root --mode=755 --owner=root {asset_dirname}/{asset_filename} /usr/local/bin/docker-buildx
|
|
- test -d /usr/local/lib/docker/cli-plugins && (rm /usr/local/lib/docker/cli-plugins/docker-compose; ln -s /usr/local/bin/docker-compose /usr/local/lib/docker/cli-plugins) || true
|
|
- test -d /usr/local/libexec/docker/cli-plugins && (rm /usr/local/libexec/docker/cli-plugins/docker-compose; ln -s /usr/local/bin/docker-compose /usr/local/libexec/docker/cli-plugins) || true
|
|
- test -d /usr/lib/docker/cli-plugins && (rm /usr/lib/docker/cli-plugins/docker-compose; ln -s /usr/local/bin/docker-compose /usr/lib/docker/cli-plugins) || true
|
|
- test -d /usr/libexec/docker/cli-plugins && (rm /usr/libexec/docker/cli-plugins/docker-compose; ln -s /usr/local/bin/docker-compose /usr/libexec/docker/cli-plugins) || true
|
|
- asset_name: drawio-amd64-{version}.deb
|
|
asset_type: release
|
|
repository: jgraph/drawio-desktop
|
|
cmds:
|
|
- dpkg -i {asset_dirname}/{asset_filename}
|
|
- asset_name: OpenLens-{version}.amd64.deb
|
|
asset_type: release
|
|
repository: MuhammedKalkan/OpenLens
|
|
cmds:
|
|
- dpkg -i {asset_dirname}/{asset_filename}
|
|
- asset_name: stern_{version}_linux_amd64.tar.gz
|
|
asset_type: release
|
|
repository: stern/stern
|
|
cmds:
|
|
- tar -zxf {asset_dirname}/{asset_filename}
|
|
- install --group=root --mode=755 --owner=root stern /usr/local/bin
|
|
- asset_name: tofu_{version}_amd64.deb
|
|
asset_type: release
|
|
repository: opentofu/opentofu
|
|
cmds:
|
|
- dpkg -i {asset_dirname}/{asset_filename}
|
|
|
|
- name: '[Custom] install latest kubectl'
|
|
become: yes
|
|
tags:
|
|
- molecule-idempotence-notest
|
|
ansible.builtin.shell: |
|
|
kubeVersion=$(curl -sSL -f https://storage.googleapis.com/kubernetes-release/release/stable.txt 2> /dev/null)
|
|
kubeVersion=${kubeVersion:-v1.28.2}
|
|
curl --silent --compressed -L -XGET https://storage.googleapis.com/kubernetes-release/release/${kubeVersion}/bin/linux/amd64/kubectl -o kubectl
|
|
install --group=root --mode=755 --owner=root kubectl /usr/local/bin && rm kubectl
|
|
|
|
- name: '[Custom] install latest Helm'
|
|
become: yes
|
|
tags:
|
|
- molecule-idempotence-notest
|
|
ansible.builtin.shell: |
|
|
helmVersion=$(curl -sSL https://api.github.com/repos/helm/helm/releases/latest | jq -r '.tag_name')
|
|
helmVersion=${helmVersion:-v3.13.0}
|
|
curl --silent --compressed -L -XGET https://get.helm.sh/helm-${helmVersion}-linux-amd64.tar.gz -o helm.tar.gz
|
|
tar -zxf helm.tar.gz
|
|
install --group=root --mode=755 --owner=root linux-amd64/helm /usr/local/bin && rm -rf linux-amd64 helm.tar.gz
|
|
|
|
- name: '[custom] install Docker CE repository'
|
|
block:
|
|
- name: '[apt key] retrieve GPG key'
|
|
tags:
|
|
- molecule-idempotence-notest
|
|
ansible.builtin.shell: |-
|
|
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
|
chmod a+r /etc/apt/keyrings/docker.gpg
|
|
|
|
- name: '[apt key] add source'
|
|
ansible.builtin.apt_repository:
|
|
repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian {{ ansible_distribution_release }} stable"
|
|
state: present
|
|
|
|
- name: '[Apt Key] refresh repository'
|
|
ansible.builtin.apt:
|
|
update_cache: true
|
|
force_apt_get: true
|
|
cache_valid_time: 0
|
|
|
|
- name: '[Apt] install Docker CE'
|
|
become: yes
|
|
ansible.builtin.apt:
|
|
update_cache: true
|
|
force_apt_get: true
|
|
cache_valid_time: 3600
|
|
pkg:
|
|
- docker-ce
|
|
- docker-ce-cli
|
|
- containerd.io
|
|
state: present |