Tip

Check out the repository on GitHub

Nginx

STATE: unstable

TESTS: nginx_upstream_server

API Docs: Plugins - Nginx

Service Docs: Nginx

Contribution

Thanks to @atammy-narmi for developing these modules!

Prerequisites

You need to install the following plugin:

os-nginx

You can also install it using the ansibleguy.opnsense.package module.

Definition

For basic parameters see: Basic

ansibleguy.opnsense.nginx_general

Definition

Parameter

Type

Required

Default

Aliases

Comment

enabled

boolean

false

true

-

Enable configured services.

ban_ttl

integer

false

0

-

Set autoblock lifetime in minutes. Set to 0 for infinite.

ansibleguy.opnsense.nginx_upstream_server

Definition

Parameter

Type

Required

Default

Aliases

Comment

description

string

true

-

name

-

server

string

true

-

-

-

port

integer

true

-

-

-

priority

integer

true

-

-

-

max_conns

integer

false

-

-

-

max_fails

integer

false

-

-

-

fail_timeout

integer

false

-

-

-

no_use

string

false

-

-

Choice of empty, ‘down’ or ‘backup’.

state

string

false

present

-

Choice of ‘present’ or ‘absent’.

reload

boolean

false

true

-

If the running config should be reloaded on change - this may take some time. For mass-managing items you might want to reload it ‘manually’ after all changes are done => using the ansibleguy.opnsense.reload module.

Usage

Enabling the nginx configured services.

Examples

ansibleguy.opnsense.nginx_upstream_server

- hosts: localhost
  gather_facts: false
  module_defaults:
    group/ansibleguy.opnsense.all:
      firewall: 'opnsense.template.ansibleguy.net'
      api_credential_file: '/home/guy/.secret/opn.key'

    ansibleguy.opnsense.list:
      target: 'nginx_upstream_server'

  tasks:
    - name: Add an upstream server
      ansibleguy.opnsense.nginx_upstream_server:
        name: 'upstream1'
        server: '192.168.1.1'
        port: 80
        priority: 1
        max_conns: 100
        max_fails: 50
        fail_timeout: 10
        no_use: 'down'
        # state: 'present'
        # reload: true

    - name: Changing the server
      ansibleguy.opnsense.nginx_upstream_server:
        name: 'upstream1'
        server: '192.168.1.100'

    - name: Listing upstream servers
      ansibleguy.opnsense.list:
      #  target: 'nginx_upstream_server'
      register: existing_servers

    - name: Printing
      ansible.builtin.debug:
        var: existing_servers.data