Define an environment with NGINX Controller to hold applications (apps), locations, certificates, etc.
controller.fqdn
- FQDN of the NGINX Controller instance
controller.auth_token
- Authentication token for NGINX Controller
environment.metadata.name
- Name of the environment
This role has multiple template related variables. The descriptions and defaults for all these variables can be found in vars/main.yml
To use this role you can create a playbook such as the following (let's name it nginx_controller_environment.yaml
for the purposes of this example).
- hosts: localhost
gather_facts: no
vars:
nginx_controller_user_email: "user@example.com" # Required by nginx_controller_generate_token role
nginx_controller_user_password: "mySecurePassword" # Required by nginx_controller_generate_token role
nginx_controller_fqdn: "controller.mydomain.com"
nginx_controller_validate_certs: false
tasks:
- name: Retrieve the NGINX Controller auth token
include_role:
name: nginxinc.nginx_controller_generate_token
- name: Configure the environment
include_role:
name: nginxinc.nginx_controller_environment
vars:
nginx_controller_environment:
metadata:
name: "dev-sandbox"
displayName: "developer sandbox environment"
description: "sandbox environment for internal development"
You can then run ansible-playbook nginx_controller_environment.yaml
to execute the playbook.
Alternatively, you can also pass/override any variables at run time using the --extra-vars
or -e
flag like so ansible-playbook nginx_controller_environment.yaml -e "nginx_controller_user_email=user@company.com nginx_controller_user_password=notsecure nginx_controller_fqdn=controller.example.local nginx_controller_validate_certs=false"
You can also pass/override any variables by passing a yaml
file containing any number of variables like so ansible-playbook nginx_controller_environment.yaml -e "@nginx_controller_environment_vars.yaml"
© NGINX, Inc. 2020