blob: 281205160f535bfd4c7abc014f22a69697cd6f04 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements; and to You under the Apache License, Version 2.0.
---
# This role starts a nginx component
- name: ensure nginx config directory exists
file:
path: "{{ nginx.confdir }}"
state: directory
become: "{{ nginx.dir.become }}"
- name: copy template from local to remote in nginx config directory
template:
src: nginx.conf.j2
dest: "{{ nginx.confdir }}/nginx.conf"
- name: copy cert files from local to remote in nginx config directory
copy:
src: "files/{{ item }}"
dest: "{{ nginx.confdir }}"
with_items:
- "{{ nginx.ssl.cert }}"
- "{{ nginx.ssl.key }}"
- "{{ nginx.ssl.client_ca_cert }}"
- name: copy password files for cert from local to remote in nginx config directory
copy:
src: "files/{{ nginx.ssl.password_file }}"
dest: "{{ nginx.confdir }}"
when: nginx.ssl.password_enabled == true
- name: copy controller cert for authentication
copy:
src: "{{ openwhisk_home }}/ansible/roles/controller/files/{{ item }}"
dest: "{{ nginx.confdir }}"
with_items:
- "{{ controller.ssl.cert }}"
- "{{ controller.ssl.key }}"
when: "{{ controller.protocol == 'https' }}"
- name: ensure nginx log directory is created with permissions
file:
path: "{{ whisk_logs_dir }}/nginx"
state: directory
mode: 0777
become: "{{ logs.dir.become }}"
- name: "pull the nginx:{{ nginx.version }} image"
shell: "docker pull nginx:{{ nginx.version }}"
register: result
until: (result.rc == 0)
retries: "{{ docker.pull.retries }}"
delay: "{{ docker.pull.delay }}"
- name: (re)start nginx
docker_container:
name: nginx
image: nginx:{{ nginx.version }}
state: started
recreate: true
restart_policy: "{{ docker.restart.policy }}"
hostname: "nginx"
volumes:
- "{{ whisk_logs_dir }}/nginx:/logs"
- "{{ nginx.confdir }}:/etc/nginx"
expose:
- 8443
ports:
- "{{ nginx.port.http }}:80"
- "{{ nginx.port.api }}:443"
- "{{ nginx.port.adminportal }}:8443"