aws-iam-authenticator установить через ansible - PullRequest
1 голос
/ 07 марта 2019

Поиск того, как (правильно) преобразовать команду bash (orig внутри Dockerfile) в заданную задачу / роль, которая загрузит последний двоичный файл aws-iam-authenticator и установит его в / usr / local / bin в ОС Ubuntu (x64).

В настоящее время у меня есть:

curl -s https://api.github.com/repos/kubernetes-sigs/aws-iam-authenticator/releases/latest | grep "browser_download.url.*linux_amd64" | cut -d : -f 2,3 | tr -d '"' | wget -O /usr/local/bin/aws-iam-authenticator -qi - && chmod 555 /usr/local/bin/aws-iam-authenticator

Ответы [ 2 ]

1 голос
/ 08 марта 2019

Итак, после нахождения других постов, в которых содержались сильные подсказки, информация и нерешенные проблемы, Ansible - Загрузить бинарный файл последней версии из репозитория Github & https://github.com/ansible/ansible/issues/27299#issuecomment-331068246. Мне удалось придумать следующий ответ задача, которая работает для меня.

   - name: Get latest url for linux-amd64 release for aws-iam-authenticator
     uri:
       url: https://api.github.com/repos/kubernetes-sigs/aws-iam-authenticator/releases/latest
       return_content: true
       body_format: json
     register: json_response

   - name: Download and install aws-iam-authenticator
     get_url:
       url:  " {{ json_response.json | to_json | from_json| json_query(\"assets[?ends_with(name,'linux_amd64')].browser_download_url | [0]\") }}"
       mode: 555
       dest: /usr/local/bin/aws-iam-authenticator
1 голос
/ 07 марта 2019

Как правило, вам нужно написать сборник пьес и разделить эту команду в различных задачах

Пример example.yml файл

- hosts: localhost
  tasks:
  - shell: |
      curl -s https://api.github.com/repos/kubernetes-sigs/aws-iam-authenticator/releases/latest
    register: json
  - set_fact:
      url: "{{ (json.stdout | from_json).assets[2].browser_download_url }}"
  - get_url:
      url: "{{ url }}"
      dest: /usr/local/bin/aws-iam-authenticator-ansible
      mode: 0555

вы можете выполнить его, выполнив

ansible-playbook --become example.yml

Надеюсь, это то, что вы ищете; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...