2021-07-11 09:56:03 +02:00
---
# file: tasks/myos.yml
2021-07-12 21:04:06 +02:00
- name : myos - register myos.tags
set_fact :
myos_tags : "{{ lookup('env', 'MYOS_TAGS_JSON')|from_json or lookup('file', '~/.env') }}"
tags : debug
- debug :
msg : "{{myos_tags|to_nice_json}}"
tags : debug
2021-07-11 09:56:03 +02:00
- name : myos - check AWS meta-data URI
uri :
url : http://169.254.169.254/latest/meta-data
timeout : 1
failed_when : False
2021-07-14 21:38:30 +02:00
register : aws_uri_check
2021-07-11 09:56:03 +02:00
- import_tasks : myos_ec2.yml
2021-07-14 21:38:30 +02:00
when : aws_uri_check.status == 200
2021-07-11 09:56:03 +02:00
tags :
- aws
- ec2
# ansible v2.8
# - name: myos - prune docker objects
# docker_prune:
# containers: yes
# images: yes
# images_filters:
# dangling: false
# networks: yes
# volumes: yes
# builder_cache: yes
- name : myos - launch docker containers
2021-07-14 21:38:30 +02:00
when : myos.tags is defined and myos.tags.env is defined and myos.tags.services is defined and myos.tags.user is defined
with_items : '{{myos.tags.services.split(" ")}}'
2021-07-11 09:56:03 +02:00
docker_container :
image : "{{docker_registry|default(myos.tags.user)}}/{{myos.tags.user}}/{{myos.tags.env}}/{% if ':' in item %}{{item}}{% else %}{{item}}:{{docker_image_tag|default('latest')}}{% endif %}"
name : "{{myos.tags.user}}_{{myos.tags.env}}_{{item|replace('/','_')|regex_replace(':.*','')}}"
network_mode : host
pull : yes
restart_policy : always
volumes :
- "{{ lookup('env','ANSIBLE_DISKS_NFS_PATH') }}:/shared"
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
- name : myos - add docker containers to inventory
2021-07-14 21:38:30 +02:00
when : myos.tags is defined and myos.tags.env is defined and myos.tags.services is defined and myos.tags.user is defined
with_items : '{{myos.tags.services.split(" ")}}'
2021-07-11 09:56:03 +02:00
add_host :
name : "{{myos.tags.user}}_{{myos.tags.env}}_{{item|replace('/','_')|regex_replace(':.*','')}}"
ansible_connection : docker
changed_when : false
- name : myos - run make deploy-hook in docker containers
2021-07-14 21:38:30 +02:00
when : myos.tags is defined and myos.tags.env is defined and myos.tags.services is defined and myos.tags.user is defined
with_items : '{{myos.tags.services.split(" ")}}'
2021-07-11 09:56:03 +02:00
delegate_to : "{{myos.tags.user}}_{{myos.tags.env}}_{{item|replace('/','_')|regex_replace(':.*','')}}"
raw : "command -v make || exit 0 && make deploy-hook CONTAINER={{myos.tags.user}}_{{myos.tags.env}}_{{item|replace('/','_')|regex_replace(':.*','')}} HOST={{ansible_ec2_local_ipv4}}"
2021-07-14 21:38:30 +02:00