---
# SPDX-FileCopyrightText: 2020-2024 Open Networking Foundation (ONF) and the ONF Contributors
# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0

- name: "Provision Packages for Jenkins image"
  hosts: default
  become: true

  tasks:
    - name: Add Java Amazon Corretto Jdk repo GPG key
      apt_key:
        url: https://apt.corretto.aws/corretto.key
        state: present

    - name: Add Java Amazon Corretto Jdk repo
      apt_repository:
        repo: deb https://apt.corretto.aws stable main
        state: present

    - name: Install apt packages
      apt:
        name:
          - "facter"
          - "libxml2-utils"
          - "bzip2"
          - "curl"
          - "ebtables"
          - "enchant"
          - "ethtool"
          - "git"
          - "graphviz"
          - "jq"
          - "kafkacat"
          - "less"
          - "libpcap-dev"
          - "libxml2-utils"
          - "maven"
          - "ruby"
          - "screen"
          - "socat"
          - "ssh"
          - "sshpass"
          - "zip"
          # below four packages are required by npm
          - "nodejs"
          - "libssl1.0-dev"
          - "nodejs-dev"
          - "node-gyp"
          - "npm"
          - "java-1.8.0-amazon-corretto-jdk"
          - "java-11-amazon-corretto-jdk"
        state: "present"
        update_cache: true
        cache_valid_time: 3600

    - name: Download repo launcher
      get_url:
        url: "https://gerrit.googlesource.com/git-repo/+/refs/tags/v2.12.2/repo?format=TEXT"
        checksum: "sha256:f5afffcc9afae128efd2b325ff19544a0b78acceb33a2edf368ce2de94e8c33e"
        dest: /tmp/repo.b64

    - name: Decode and make repo launcher executable
      shell:
        cmd: |
          base64 --decode /tmp/repo.b64 > /usr/local/bin/repo;
          chmod 755 /usr/local/bin/repo
        creates: /usr/local/bin/repo

    - name: Download helm archive
      get_url:
        url: "https://get.helm.sh/helm-v3.5.2-linux-amd64.tar.gz"
        checksum: "sha256:01b317c506f8b6ad60b11b1dc3f093276bb703281cb1ae01132752253ec706a2"
        dest: "/tmp/helm.tgz"

    - name: Unarchive helm
      unarchive:
        src: "/tmp/helm.tgz"
        dest: "/tmp"
        remote_src: true

    - name: Install helm binary
      copy:
        src: /tmp/linux-amd64/helm
        dest: /usr/local/bin/helm
        mode: "0755"
        remote_src: true

    - name: Download/install kubectl binary
      get_url:
        url: "https://storage.googleapis.com/kubernetes-release/release/v1.18.15/bin/linux/amd64/kubectl"
        checksum: "sha256:eb5a5dd0a72795942ab81d1e4331625e80a90002c8bb39b2cb15aa707a3812c6"
        dest: /usr/local/bin/kubectl
        mode: "0755"

    - name: load /etc/docker/daemon.json from file
      slurp:
        src: /etc/docker/daemon.json
      register: imported_var

    - name: append more key/values
      set_fact:
        imported_var: "{{ imported_var.content|b64decode|from_json | default([]) | combine({ 'registry-mirrors': ['https://mirror.registry.opennetworking.org'] }) }}"

    - name: write var to file
      copy:
        content: "{{ imported_var | to_nice_json }}"
        dest: /etc/docker/daemon.json

    - name: restart Docker service
      systemd:
        name: docker
        state: restarted
        daemon_reload: true

    - name: Install multi python3 packages with version specifiers
      pip:
        name:
          - ansible
          - ansible-lint
          - docker
          - docker-compose
          - git-review
          - httpie
          - netaddr
          - pylint
          - tox
          - twine
          - virtualenv
          - yamllint
        executable: pip3
    - name: Install multi python2 packages with version specifiers
      pip:
        name:
          - Jinja2
          - coverage
          - certifi
          - cryptography
          - git+https://github.com/linkchecker/linkchecker.git@v9.4.0
          - graphviz
          - isort
          - more-itertools==5.0.0
          - mock>2.0.0<2.1.0
          - ndg-httpsclient
          - nose2>0.9.0<0.10.0
          - pyopenssl
          - pexpect
          - pyyaml>3.10.0<3.11.0
          - requests>2.14.0<2.15.0
          - robotframework
          - robotframework-httplibrary
          - robotframework-kafkalibrary
          - robotframework-lint
          - robotframework-requests
          - robotframework-sshlibrary
          - six
          - urllib3

    - name: Install multi ruby packages with version specifiers
      gem:
        name: mdl
        version: 0.5.0

    - name: Install gitbook-cli npm package with version specifiers
      npm:
        name: gitbook-cli
        global: true

    - name: Install markdownlint npm package with version specifiers
      npm:
        name: markdownlint
        version: '0.18.0'
        global: true

    - name: Install typings npm package with version specifiers
      npm:
        name: typings
        global: true

    - name: Download minikube
      get_url:
        url: "https://storage.googleapis.com/minikube/releases/latest/minikube_1.18.0-0_amd64.deb"
        checksum: "sha256:6e3918b601704014f3d0b0a09e3116f1ea528ac255525743a800b5f0b5856622"
        dest: /tmp/minikube.deb

    - name: Install minikube deb
      apt:
        deb: /tmp/minikube.deb

    - name: Download protobuf
      get_url:
        url: "https://github.com/google/protobuf/releases/download/v3.7.0/protoc-3.7.0-linux-x86_64.zip"
        checksum: "sha256:a1b8ed22d6dc53c5b8680a6f1760a305b33ef471bece482e92728f00ba2a2969"
        dest: /tmp/protobuf.zip

    - name: Unarchive protobuf
      unarchive:
        src: "/tmp/protobuf.zip"
        dest: "/usr/local"
        remote_src: true

    - name: Download pandoc
      get_url:
        url: "https://github.com/jgm/pandoc/releases/download/2.10.1/pandoc-2.10.1-1-amd64.deb"
        checksum: "sha256:4515d6fe2bf8b82765d8dfa1e1b63ccb0ff3332d60389f948672eaa37932e936"
        dest: /tmp/pandoc.deb

    - name: Install pandoc deb
      apt:
        deb: /tmp/pandoc.deb

    - name: Download yq
      get_url:
        url: "https://github.com/mikefarah/yq/releases/download/3.4.0/yq_linux_amd64"
        checksum: "sha256:f6bd1536a743ab170b35c94ed4c7c4479763356bd543af5d391122f4af852460"
        dest: /usr/local/bin/yq

    - name: Change yq Permission
      file:
        path: /usr/local/bin/yq
        mode: 0755

    - name: Download hadolint
      get_url:
        url: "https://github.com/hadolint/hadolint/releases/download/v1.18.0/hadolint-Linux-x86_64"
        checksum: "sha256:f9bc9de12438b463ca84e77fde70b07b155d4da07ca21bc3f4354a62c6199db4"
        dest: /usr/local/bin/hadolint

    - name: Change hadolint Permission
      file:
        path: /usr/local/bin/hadolint
        mode: 0755

    - name: Download github-release
      get_url:
        url: "https://github.com/github-release/github-release/releases/download/v0.10.0/linux-amd64-github-release.bz2"
        checksum: "sha256:b360af98188c5988314d672bb604efd1e99daae3abfb64d04051ee17c77f84b6"
        dest: /tmp/github-release.bz2


    # Unarchive target doesn't support the bz2 format
    - name: Unarchive github-release
      shell:
        cmd: |
          bzip2 -d /tmp/github-release.bz2

    - name: Install github-release binary
      copy:
        src: /tmp/github-release
        dest: /usr/local/bin/github-release
        mode: "0755"
        remote_src: true

    - name: Recursively remove download files and folders
      file:
        path: "{{ item }}"
        state: absent
      with_items:
        - /tmp/linux-amd64
        - /tmp/helm.tgz
        - /tmp/minikube.deb
        - /tmp/protobuf.zip
        - /tmp/pandoc.deb
        - /tmp/repo.b64

# [EOF]
