nginxinc / ansible-role-nginx_controller_environment

Managing environments within NGINX Controller
Apache License 2.0
2 stars 1 forks source link

Project Status: Abandoned – Initial development has started, but there has not yet been a stable, usable release; the project has been abandoned and the author(s) do not intend on continuing development.

NGINX Controller Environment

This repository has been archived. There will likely be no further development on the project and security vulnerabilities may be unaddressed.

Define an environment with NGINX Controller to hold applications (apps), locations, certificates, etc.

Requirements

NGINX Controller

Role Variables

Required Variables

controller.fqdn - FQDN of the NGINX Controller instance

controller.auth_token - Authentication token for NGINX Controller

environment.metadata.name - Name of the environment

Template Variables

This role has multiple template related variables. The descriptions and defaults for all these variables can be found in vars/main.yml

Dependencies

Example Playbook

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"

License

Apache License, Version 2.0

Author Information

Brian Ehlert

© NGINX, Inc. 2020