diff --git a/.editorconfig b/.editorconfig index d77700e32..ecb10a803 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,6 +1,7 @@ # editorconfig.org -# MANAGED BY MODULESYNC +# Managed by modulesync - DO NOT EDIT +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ root = true diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 887d571a6..048d2b55d 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -25,7 +25,7 @@ By participating in this project you agree to abide by its terms. * Fork the repo. * Create a separate branch for your change. -* We only take pull requests with passing tests, and documentation. [travis-ci](http://travis-ci.org) runs the tests for us. You can also execute them locally. This is explained [in a later section](#the-test-matrix). +* We only take pull requests with passing tests, and documentation. [GitHub Actions](https://docs.github.com/en/actions) run the tests for us. You can also execute them locally. This is explained [in a later section](#the-test-matrix). * Checkout [our docs](https://voxpupuli.org/docs/reviewing_pr/) we use to review a module and the [official styleguide](https://puppet.com/docs/puppet/6.0/style_guide.html). They provide some guidance for new code that might help you before you submit a pull request. * Add a test for your change. Only refactoring and documentation changes require no new tests. If you are adding functionality or fixing a bug, please add a test. * Squash your commits down into logical components. Make sure to rebase against our current master. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 911ee894c..2f5745254 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,27 +1,34 @@ +--- +# Managed by modulesync - DO NOT EDIT +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ + name: CI on: pull_request +concurrency: + group: ${{ github.head_ref }} + cancel-in-progress: true + jobs: setup_matrix: name: 'Setup Test Matrix' runs-on: ubuntu-latest timeout-minutes: 60 outputs: - beaker_setfiles: ${{ steps.get-outputs.outputs.beaker_setfiles }} - puppet_major_versions: ${{ steps.get-outputs.outputs.puppet_major_versions }} puppet_unit_test_matrix: ${{ steps.get-outputs.outputs.puppet_unit_test_matrix }} + github_action_test_matrix: ${{ steps.get-outputs.outputs.github_action_test_matrix }} env: - BUNDLE_WITHOUT: development:release + BUNDLE_WITHOUT: development:system_tests:release steps: - uses: actions/checkout@v2 - name: Setup ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '2.7' + ruby-version: '3.0' bundler-cache: true - - name: Run rake validate - run: bundle exec rake validate + - name: Run static validations + run: bundle exec rake validate lint check - name: Run rake rubocop run: bundle exec rake rubocop - name: Setup Test Matrix @@ -48,7 +55,7 @@ jobs: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: Run tests - run: bundle exec rake + run: bundle exec rake parallel_spec acceptance: needs: setup_matrix @@ -58,18 +65,26 @@ jobs: strategy: fail-fast: false matrix: - setfile: ${{fromJson(needs.setup_matrix.outputs.beaker_setfiles)}} - puppet: ${{fromJson(needs.setup_matrix.outputs.puppet_major_versions)}} + include: ${{fromJson(needs.setup_matrix.outputs.github_action_test_matrix)}} name: ${{ matrix.puppet.name }} - ${{ matrix.setfile.name }} steps: - uses: actions/checkout@v2 - name: Setup ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '2.7' + ruby-version: '3.0' bundler-cache: true - name: Run tests run: bundle exec rake beaker env: BEAKER_PUPPET_COLLECTION: ${{ matrix.puppet.collection }} BEAKER_setfile: ${{ matrix.setfile.value }} + + tests: + needs: + - unit + - acceptance + runs-on: ubuntu-latest + name: Test suite + steps: + - run: echo Test suite completed diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 68b85284a..664ba6946 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,3 +1,7 @@ +--- +# Managed by modulesync - DO NOT EDIT +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ + name: Release on: @@ -12,6 +16,7 @@ jobs: deploy: name: 'deploy to forge' runs-on: ubuntu-latest + if: github.repository_owner == 'voxpupuli' steps: - name: Checkout repository uses: actions/checkout@v2 diff --git a/.gitignore b/.gitignore index e9b3cf4bc..9b95224ce 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ +# Managed by modulesync - DO NOT EDIT +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ + pkg/ Gemfile.lock Gemfile.local diff --git a/.msync.yml b/.msync.yml index 57ff5038a..43966c2f5 100644 --- a/.msync.yml +++ b/.msync.yml @@ -1,2 +1,5 @@ --- -modulesync_config_version: '4.1.0' +# Managed by modulesync - DO NOT EDIT +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ + +modulesync_config_version: '4.2.0' diff --git a/.overcommit.yml b/.overcommit.yml index 0af0fdc0e..d367adaea 100644 --- a/.overcommit.yml +++ b/.overcommit.yml @@ -1,4 +1,5 @@ -# Managed by https://github.com/voxpupuli/modulesync_configs +# Managed by modulesync - DO NOT EDIT +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ # # Hooks are only enabled if you take action. # diff --git a/.pmtignore b/.pmtignore index 33a8c65d6..65f505149 100644 --- a/.pmtignore +++ b/.pmtignore @@ -1,3 +1,6 @@ +# Managed by modulesync - DO NOT EDIT +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ + docs/ pkg/ Gemfile diff --git a/.rspec b/.rspec index 8c18f1abd..f634583de 100644 --- a/.rspec +++ b/.rspec @@ -1,2 +1,5 @@ +# Managed by modulesync - DO NOT EDIT +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ + --format documentation --color diff --git a/.rspec_parallel b/.rspec_parallel index e4d136b75..a9a84f852 100644 --- a/.rspec_parallel +++ b/.rspec_parallel @@ -1 +1,4 @@ +# Managed by modulesync - DO NOT EDIT +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ + --format progress diff --git a/.rubocop.yml b/.rubocop.yml index 198a3599c..53ac18982 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,3 +1,6 @@ --- +# Managed by modulesync - DO NOT EDIT +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ + inherit_gem: voxpupuli-test: rubocop.yml diff --git a/.yardopts b/.yardopts deleted file mode 100644 index 3687f5184..000000000 --- a/.yardopts +++ /dev/null @@ -1,2 +0,0 @@ ---markup markdown ---output-dir docs/ diff --git a/CHANGELOG.md b/CHANGELOG.md index e316baab0..89b13f8c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,32 @@ All notable changes to this project will be documented in this file. Each new release typically also includes the latest modulesync defaults. These should not affect the functionality of the module. -## [v3.2.0](https://github.com/voxpupuli/puppet-nginx/tree/v3.2.0) (2021-05-28) +## [v3.3.0](https://github.com/voxpupuli/puppet-nginx/tree/v3.3.0) (2021-10-06) + +[Full Changelog](https://github.com/voxpupuli/puppet-nginx/compare/v3.2.1...v3.3.0) + +**Implemented enhancements:** + +- Set X-Forwarded-Proto by default for reverse proxies [\#1462](https://github.com/voxpupuli/puppet-nginx/pull/1462) ([bruhadavid](https://github.com/bruhadavid)) + +**Closed issues:** + +- Release with stdlib up to 9.0.0 [\#1469](https://github.com/voxpupuli/puppet-nginx/issues/1469) + +## [v3.2.1](https://github.com/voxpupuli/puppet-nginx/tree/v3.2.1) (2021-10-04) + +[Full Changelog](https://github.com/voxpupuli/puppet-nginx/compare/v3.2.0...v3.2.1) + +**Closed issues:** + +- Nginx::Resource::Server: has no parameter named 'proxy\_cookie\_path' [\#1458](https://github.com/voxpupuli/puppet-nginx/issues/1458) + +**Merged pull requests:** + +- Fix CI on CentOS 7 [\#1473](https://github.com/voxpupuli/puppet-nginx/pull/1473) ([smortex](https://github.com/smortex)) +- Allow stdlib 8.0.0 [\#1465](https://github.com/voxpupuli/puppet-nginx/pull/1465) ([smortex](https://github.com/smortex)) + +## [v3.2.0](https://github.com/voxpupuli/puppet-nginx/tree/v3.2.0) (2021-06-05) [Full Changelog](https://github.com/voxpupuli/puppet-nginx/compare/v3.1.0...v3.2.0) diff --git a/Dockerfile b/Dockerfile index a51c64164..e3cf307f1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,6 @@ +# MANAGED BY MODULESYNC +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ + FROM ruby:2.7 WORKDIR /opt/puppet diff --git a/Gemfile b/Gemfile index f4855f649..a39114ce3 100644 --- a/Gemfile +++ b/Gemfile @@ -1,9 +1,13 @@ +# Managed by modulesync - DO NOT EDIT +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ + source ENV['GEM_SOURCE'] || "https://rubygems.org" group :test do - gem 'voxpupuli-test', '~> 2.1', :require => false - gem 'coveralls', :require => false - gem 'simplecov-console', :require => false + gem 'voxpupuli-test', '~> 2.5', :require => false + gem 'coveralls', :require => false + gem 'simplecov-console', :require => false + gem 'puppet_metadata', '~> 1.0', :require => false end group :development do @@ -12,22 +16,19 @@ group :development do end group :system_tests do - gem 'puppet_metadata', '~> 0.3.0', :require => false - gem 'voxpupuli-acceptance', :require => false + gem 'voxpupuli-acceptance', '~> 1.0', :require => false end group :release do - gem 'github_changelog_generator', '>= 1.16.1', :require => false - gem 'puppet-blacksmith', :require => false - gem 'voxpupuli-release', :require => false + gem 'github_changelog_generator', '>= 1.16.1', :require => false if RUBY_VERSION >= '2.5' + gem 'voxpupuli-release', '>= 1.0.2', :require => false gem 'puppet-strings', '>= 2.2', :require => false end -gem 'puppetlabs_spec_helper', '~> 2.0', :require => false gem 'rake', :require => false gem 'facter', ENV['FACTER_GEM_VERSION'], :require => false, :groups => [:test] -puppetversion = ENV['PUPPET_VERSION'] || '~> 6.0' +puppetversion = ENV['PUPPET_VERSION'] || '>= 6.0' gem 'puppet', puppetversion, :require => false, :groups => [:test] # vim: syntax=ruby diff --git a/README.md b/README.md index 0ee63c968..f81d1683c 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,6 @@ This module was migrated from James Fryman to Vox Pupuli. ## INSTALLING OR UPGRADING -**Please note**: This module is undergoing some structural maintenance. -You may experience breaking changes between minor versions. - This module manages NGINX configuration. ### Requirements diff --git a/REFERENCE.md b/REFERENCE.md index 37944d49c..7a61fb202 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -52,7 +52,7 @@ ## Classes -### `nginx` +### `nginx` Packaged NGINX - RHEL: EPEL or custom package @@ -69,9 +69,179 @@ include nginx #### Parameters -The following parameters are available in the `nginx` class. - -##### `include_modules_enabled` +The following parameters are available in the `nginx` class: + +* [`include_modules_enabled`](#include_modules_enabled) +* [`passenger_package_name`](#passenger_package_name) +* [`nginx_version`](#nginx_version) +* [`debug_connections`](#debug_connections) +* [`service_config_check`](#service_config_check) +* [`service_config_check_command`](#service_config_check_command) +* [`reset_timedout_connection`](#reset_timedout_connection) +* [`client_body_temp_path`](#client_body_temp_path) +* [`confd_only`](#confd_only) +* [`confd_purge`](#confd_purge) +* [`conf_dir`](#conf_dir) +* [`daemon`](#daemon) +* [`daemon_user`](#daemon_user) +* [`daemon_group`](#daemon_group) +* [`dynamic_modules`](#dynamic_modules) +* [`global_owner`](#global_owner) +* [`global_group`](#global_group) +* [`global_mode`](#global_mode) +* [`limit_req_zone`](#limit_req_zone) +* [`log_dir`](#log_dir) +* [`log_user`](#log_user) +* [`log_group`](#log_group) +* [`log_mode`](#log_mode) +* [`http_access_log`](#http_access_log) +* [`http_format_log`](#http_format_log) +* [`nginx_error_log`](#nginx_error_log) +* [`nginx_error_log_severity`](#nginx_error_log_severity) +* [`pid`](#pid) +* [`proxy_temp_path`](#proxy_temp_path) +* [`root_group`](#root_group) +* [`run_dir`](#run_dir) +* [`sites_available_owner`](#sites_available_owner) +* [`sites_available_group`](#sites_available_group) +* [`sites_available_mode`](#sites_available_mode) +* [`super_user`](#super_user) +* [`temp_dir`](#temp_dir) +* [`server_purge`](#server_purge) +* [`conf_template`](#conf_template) +* [`fastcgi_conf_template`](#fastcgi_conf_template) +* [`uwsgi_params_template`](#uwsgi_params_template) +* [`absolute_redirect`](#absolute_redirect) +* [`accept_mutex`](#accept_mutex) +* [`accept_mutex_delay`](#accept_mutex_delay) +* [`client_body_buffer_size`](#client_body_buffer_size) +* [`client_max_body_size`](#client_max_body_size) +* [`client_body_timeout`](#client_body_timeout) +* [`send_timeout`](#send_timeout) +* [`lingering_timeout`](#lingering_timeout) +* [`lingering_close`](#lingering_close) +* [`lingering_time`](#lingering_time) +* [`etag`](#etag) +* [`events_use`](#events_use) +* [`fastcgi_cache_inactive`](#fastcgi_cache_inactive) +* [`fastcgi_cache_key`](#fastcgi_cache_key) +* [`fastcgi_cache_keys_zone`](#fastcgi_cache_keys_zone) +* [`fastcgi_cache_levels`](#fastcgi_cache_levels) +* [`fastcgi_cache_max_size`](#fastcgi_cache_max_size) +* [`fastcgi_cache_path`](#fastcgi_cache_path) +* [`fastcgi_cache_use_stale`](#fastcgi_cache_use_stale) +* [`gzip`](#gzip) +* [`gzip_buffers`](#gzip_buffers) +* [`gzip_comp_level`](#gzip_comp_level) +* [`gzip_disable`](#gzip_disable) +* [`gzip_min_length`](#gzip_min_length) +* [`gzip_http_version`](#gzip_http_version) +* [`gzip_proxied`](#gzip_proxied) +* [`gzip_types`](#gzip_types) +* [`gzip_vary`](#gzip_vary) +* [`gzip_static`](#gzip_static) +* [`http_cfg_prepend`](#http_cfg_prepend) +* [`http_cfg_append`](#http_cfg_append) +* [`http_raw_prepend`](#http_raw_prepend) +* [`http_raw_append`](#http_raw_append) +* [`http_tcp_nodelay`](#http_tcp_nodelay) +* [`http_tcp_nopush`](#http_tcp_nopush) +* [`keepalive_timeout`](#keepalive_timeout) +* [`keepalive_requests`](#keepalive_requests) +* [`log_format`](#log_format) +* [`mail`](#mail) +* [`mime_types_path`](#mime_types_path) +* [`stream`](#stream) +* [`multi_accept`](#multi_accept) +* [`names_hash_bucket_size`](#names_hash_bucket_size) +* [`names_hash_max_size`](#names_hash_max_size) +* [`nginx_cfg_prepend`](#nginx_cfg_prepend) +* [`proxy_buffers`](#proxy_buffers) +* [`proxy_buffer_size`](#proxy_buffer_size) +* [`proxy_cache_inactive`](#proxy_cache_inactive) +* [`proxy_cache_keys_zone`](#proxy_cache_keys_zone) +* [`proxy_cache_levels`](#proxy_cache_levels) +* [`proxy_cache_max_size`](#proxy_cache_max_size) +* [`proxy_cache_path`](#proxy_cache_path) +* [`proxy_cache_loader_files`](#proxy_cache_loader_files) +* [`proxy_cache_loader_sleep`](#proxy_cache_loader_sleep) +* [`proxy_cache_loader_threshold`](#proxy_cache_loader_threshold) +* [`proxy_use_temp_path`](#proxy_use_temp_path) +* [`proxy_connect_timeout`](#proxy_connect_timeout) +* [`proxy_headers_hash_bucket_size`](#proxy_headers_hash_bucket_size) +* [`proxy_http_version`](#proxy_http_version) +* [`proxy_read_timeout`](#proxy_read_timeout) +* [`proxy_redirect`](#proxy_redirect) +* [`proxy_send_timeout`](#proxy_send_timeout) +* [`proxy_set_header`](#proxy_set_header) +* [`proxy_hide_header`](#proxy_hide_header) +* [`proxy_pass_header`](#proxy_pass_header) +* [`proxy_ignore_header`](#proxy_ignore_header) +* [`proxy_max_temp_file_size`](#proxy_max_temp_file_size) +* [`proxy_busy_buffers_size`](#proxy_busy_buffers_size) +* [`sendfile`](#sendfile) +* [`server_tokens`](#server_tokens) +* [`spdy`](#spdy) +* [`http2`](#http2) +* [`ssl_stapling`](#ssl_stapling) +* [`ssl_stapling_verify`](#ssl_stapling_verify) +* [`snippets_dir`](#snippets_dir) +* [`manage_snippets_dir`](#manage_snippets_dir) +* [`types_hash_bucket_size`](#types_hash_bucket_size) +* [`types_hash_max_size`](#types_hash_max_size) +* [`worker_connections`](#worker_connections) +* [`ssl_prefer_server_ciphers`](#ssl_prefer_server_ciphers) +* [`worker_processes`](#worker_processes) +* [`worker_rlimit_nofile`](#worker_rlimit_nofile) +* [`pcre_jit`](#pcre_jit) +* [`ssl_protocols`](#ssl_protocols) +* [`ssl_ciphers`](#ssl_ciphers) +* [`ssl_dhparam`](#ssl_dhparam) +* [`ssl_ecdh_curve`](#ssl_ecdh_curve) +* [`ssl_session_cache`](#ssl_session_cache) +* [`ssl_session_timeout`](#ssl_session_timeout) +* [`ssl_session_tickets`](#ssl_session_tickets) +* [`ssl_session_ticket_key`](#ssl_session_ticket_key) +* [`ssl_buffer_size`](#ssl_buffer_size) +* [`ssl_crl`](#ssl_crl) +* [`ssl_stapling_file`](#ssl_stapling_file) +* [`ssl_stapling_responder`](#ssl_stapling_responder) +* [`ssl_trusted_certificate`](#ssl_trusted_certificate) +* [`ssl_verify_depth`](#ssl_verify_depth) +* [`ssl_password_file`](#ssl_password_file) +* [`package_ensure`](#package_ensure) +* [`package_name`](#package_name) +* [`package_source`](#package_source) +* [`package_flavor`](#package_flavor) +* [`manage_repo`](#manage_repo) +* [`mime_types`](#mime_types) +* [`mime_types_preserve_defaults`](#mime_types_preserve_defaults) +* [`repo_release`](#repo_release) +* [`passenger_package_ensure`](#passenger_package_ensure) +* [`repo_source`](#repo_source) +* [`service_ensure`](#service_ensure) +* [`service_enable`](#service_enable) +* [`service_flags`](#service_flags) +* [`service_restart`](#service_restart) +* [`service_name`](#service_name) +* [`service_manage`](#service_manage) +* [`geo_mappings`](#geo_mappings) +* [`geo_mappings_defaults`](#geo_mappings_defaults) +* [`string_mappings`](#string_mappings) +* [`string_mappings_defaults`](#string_mappings_defaults) +* [`nginx_locations`](#nginx_locations) +* [`nginx_locations_defaults`](#nginx_locations_defaults) +* [`nginx_mailhosts`](#nginx_mailhosts) +* [`nginx_mailhosts_defaults`](#nginx_mailhosts_defaults) +* [`nginx_servers`](#nginx_servers) +* [`nginx_servers_defaults`](#nginx_servers_defaults) +* [`nginx_streamhosts`](#nginx_streamhosts) +* [`nginx_streamhosts_defaults`](#nginx_streamhosts_defaults) +* [`nginx_upstreams`](#nginx_upstreams) +* [`nginx_upstreams_defaults`](#nginx_upstreams_defaults) +* [`purge_passenger_repo`](#purge_passenger_repo) + +##### `include_modules_enabled` Data type: `Boolean` @@ -80,7 +250,7 @@ When set, nginx will include module configurations files installed in the Default value: `$nginx::params::include_modules_enabled` -##### `passenger_package_name` +##### `passenger_package_name` Data type: `String[1]` @@ -89,7 +259,7 @@ nginx being usable. Default value: `$nginx::params::passenger_package_name` -##### `nginx_version` +##### `nginx_version` Data type: `String[1]` @@ -102,7 +272,7 @@ configuration. Default value: `pick(fact('nginx_version'), '1.6.0')` -##### `debug_connections` +##### `debug_connections` Data type: `Array[Nginx::DebugConnection]` @@ -111,7 +281,7 @@ See http://nginx.org/en/docs/ngx_core_module.html#debug_connection Default value: `[]` -##### `service_config_check` +##### `service_config_check` Data type: `Boolean` @@ -119,7 +289,7 @@ whether to en- or disable the config check via nginx -t on config changes Default value: ``false`` -##### `service_config_check_command` +##### `service_config_check_command` Data type: `String` @@ -127,7 +297,7 @@ Command to execute to validate the generated configuration. Default value: `'nginx -t'` -##### `reset_timedout_connection` +##### `reset_timedout_connection` Data type: `Optional[Enum['on', 'off']]` @@ -136,7 +306,7 @@ with the non-standard code 444. Default value: ``undef`` -##### `client_body_temp_path` +##### `client_body_temp_path` Data type: `Variant[Stdlib::Absolutepath, Boolean]` @@ -144,7 +314,7 @@ Data type: `Variant[Stdlib::Absolutepath, Boolean]` Default value: `$nginx::params::client_body_temp_path` -##### `confd_only` +##### `confd_only` Data type: `Boolean` @@ -152,7 +322,7 @@ Data type: `Boolean` Default value: ``false`` -##### `confd_purge` +##### `confd_purge` Data type: `Boolean` @@ -160,7 +330,7 @@ Data type: `Boolean` Default value: ``false`` -##### `conf_dir` +##### `conf_dir` Data type: `Any` @@ -168,7 +338,7 @@ Data type: `Any` Default value: `$nginx::params::conf_dir` -##### `daemon` +##### `daemon` Data type: `Optional[Enum['on', 'off']]` @@ -176,7 +346,7 @@ Data type: `Optional[Enum['on', 'off']]` Default value: ``undef`` -##### `daemon_user` +##### `daemon_user` Data type: `Any` @@ -184,7 +354,7 @@ Data type: `Any` Default value: `$nginx::params::daemon_user` -##### `daemon_group` +##### `daemon_group` Data type: `Any` @@ -192,7 +362,7 @@ Data type: `Any` Default value: ``undef`` -##### `dynamic_modules` +##### `dynamic_modules` Data type: `Array[String]` @@ -200,7 +370,7 @@ Data type: `Array[String]` Default value: `[]` -##### `global_owner` +##### `global_owner` Data type: `Any` @@ -208,7 +378,7 @@ Data type: `Any` Default value: `$nginx::params::global_owner` -##### `global_group` +##### `global_group` Data type: `Any` @@ -216,7 +386,7 @@ Data type: `Any` Default value: `$nginx::params::global_group` -##### `global_mode` +##### `global_mode` Data type: `Any` @@ -224,7 +394,7 @@ Data type: `Any` Default value: `$nginx::params::global_mode` -##### `limit_req_zone` +##### `limit_req_zone` Data type: `Optional[Variant[String[1], Array[String[1]]]]` @@ -232,7 +402,7 @@ Data type: `Optional[Variant[String[1], Array[String[1]]]]` Default value: ``undef`` -##### `log_dir` +##### `log_dir` Data type: `Stdlib::Absolutepath` @@ -240,7 +410,7 @@ Data type: `Stdlib::Absolutepath` Default value: `$nginx::params::log_dir` -##### `log_user` +##### `log_user` Data type: `String[1]` @@ -248,7 +418,7 @@ Data type: `String[1]` Default value: `$nginx::params::log_user` -##### `log_group` +##### `log_group` Data type: `String[1]` @@ -256,7 +426,7 @@ Data type: `String[1]` Default value: `$nginx::params::log_group` -##### `log_mode` +##### `log_mode` Data type: `Stdlib::Filemode` @@ -264,7 +434,7 @@ Data type: `Stdlib::Filemode` Default value: `$nginx::params::log_mode` -##### `http_access_log` +##### `http_access_log` Data type: `Variant[String, Array[String]]` @@ -272,7 +442,7 @@ Data type: `Variant[String, Array[String]]` Default value: `"${log_dir}/${nginx::params::http_access_log_file}"` -##### `http_format_log` +##### `http_format_log` Data type: `Optional[String]` @@ -280,7 +450,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `nginx_error_log` +##### `nginx_error_log` Data type: `Variant[String, Array[String]]` @@ -288,7 +458,7 @@ Data type: `Variant[String, Array[String]]` Default value: `"${log_dir}/${nginx::params::nginx_error_log_file}"` -##### `nginx_error_log_severity` +##### `nginx_error_log_severity` Data type: `Nginx::ErrorLogSeverity` @@ -296,7 +466,7 @@ Data type: `Nginx::ErrorLogSeverity` Default value: `'error'` -##### `pid` +##### `pid` Data type: `Any` @@ -304,7 +474,7 @@ Data type: `Any` Default value: `$nginx::params::pid` -##### `proxy_temp_path` +##### `proxy_temp_path` Data type: `Variant[Stdlib::Absolutepath, Boolean]` @@ -312,7 +482,7 @@ Data type: `Variant[Stdlib::Absolutepath, Boolean]` Default value: `$nginx::params::proxy_temp_path` -##### `root_group` +##### `root_group` Data type: `Any` @@ -320,7 +490,7 @@ Data type: `Any` Default value: `$nginx::params::root_group` -##### `run_dir` +##### `run_dir` Data type: `Any` @@ -328,7 +498,7 @@ Data type: `Any` Default value: `$nginx::params::run_dir` -##### `sites_available_owner` +##### `sites_available_owner` Data type: `Any` @@ -336,7 +506,7 @@ Data type: `Any` Default value: `$nginx::params::sites_available_owner` -##### `sites_available_group` +##### `sites_available_group` Data type: `Any` @@ -344,7 +514,7 @@ Data type: `Any` Default value: `$nginx::params::sites_available_group` -##### `sites_available_mode` +##### `sites_available_mode` Data type: `Any` @@ -352,7 +522,7 @@ Data type: `Any` Default value: `$nginx::params::sites_available_mode` -##### `super_user` +##### `super_user` Data type: `Boolean` @@ -360,7 +530,7 @@ Data type: `Boolean` Default value: `$nginx::params::super_user` -##### `temp_dir` +##### `temp_dir` Data type: `Any` @@ -368,7 +538,7 @@ Data type: `Any` Default value: `$nginx::params::temp_dir` -##### `server_purge` +##### `server_purge` Data type: `Boolean` @@ -376,7 +546,7 @@ Data type: `Boolean` Default value: ``false`` -##### `conf_template` +##### `conf_template` Data type: `String[1]` @@ -384,7 +554,7 @@ Data type: `String[1]` Default value: `'nginx/conf.d/nginx.conf.erb'` -##### `fastcgi_conf_template` +##### `fastcgi_conf_template` Data type: `String[1]` @@ -392,7 +562,7 @@ Data type: `String[1]` Default value: `'nginx/server/fastcgi.conf.erb'` -##### `uwsgi_params_template` +##### `uwsgi_params_template` Data type: `String[1]` @@ -400,7 +570,7 @@ Data type: `String[1]` Default value: `'nginx/server/uwsgi_params.erb'` -##### `absolute_redirect` +##### `absolute_redirect` Data type: `Optional[Enum['on', 'off']]` @@ -408,7 +578,7 @@ Data type: `Optional[Enum['on', 'off']]` Default value: ``undef`` -##### `accept_mutex` +##### `accept_mutex` Data type: `Enum['on', 'off']` @@ -416,7 +586,7 @@ Data type: `Enum['on', 'off']` Default value: `'on'` -##### `accept_mutex_delay` +##### `accept_mutex_delay` Data type: `Any` @@ -424,7 +594,7 @@ Data type: `Any` Default value: `'500ms'` -##### `client_body_buffer_size` +##### `client_body_buffer_size` Data type: `Any` @@ -432,7 +602,7 @@ Data type: `Any` Default value: `'128k'` -##### `client_max_body_size` +##### `client_max_body_size` Data type: `String` @@ -440,7 +610,7 @@ Data type: `String` Default value: `'10m'` -##### `client_body_timeout` +##### `client_body_timeout` Data type: `Any` @@ -448,7 +618,7 @@ Data type: `Any` Default value: `'60s'` -##### `send_timeout` +##### `send_timeout` Data type: `Any` @@ -456,7 +626,7 @@ Data type: `Any` Default value: `'60s'` -##### `lingering_timeout` +##### `lingering_timeout` Data type: `Any` @@ -464,7 +634,7 @@ Data type: `Any` Default value: `'5s'` -##### `lingering_close` +##### `lingering_close` Data type: `Optional[Enum['on','off','always']]` @@ -472,7 +642,7 @@ Data type: `Optional[Enum['on','off','always']]` Default value: ``undef`` -##### `lingering_time` +##### `lingering_time` Data type: `Optional[String[1]]` @@ -480,7 +650,7 @@ Data type: `Optional[String[1]]` Default value: ``undef`` -##### `etag` +##### `etag` Data type: `Optional[Enum['on', 'off']]` @@ -488,7 +658,7 @@ Data type: `Optional[Enum['on', 'off']]` Default value: ``undef`` -##### `events_use` +##### `events_use` Data type: `Optional[String]` @@ -496,7 +666,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `fastcgi_cache_inactive` +##### `fastcgi_cache_inactive` Data type: `String` @@ -504,7 +674,7 @@ Data type: `String` Default value: `'20m'` -##### `fastcgi_cache_key` +##### `fastcgi_cache_key` Data type: `Optional[String]` @@ -512,7 +682,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `fastcgi_cache_keys_zone` +##### `fastcgi_cache_keys_zone` Data type: `String` @@ -520,7 +690,7 @@ Data type: `String` Default value: `'d3:100m'` -##### `fastcgi_cache_levels` +##### `fastcgi_cache_levels` Data type: `String` @@ -528,7 +698,7 @@ Data type: `String` Default value: `'1'` -##### `fastcgi_cache_max_size` +##### `fastcgi_cache_max_size` Data type: `String` @@ -536,7 +706,7 @@ Data type: `String` Default value: `'500m'` -##### `fastcgi_cache_path` +##### `fastcgi_cache_path` Data type: `Optional[String]` @@ -544,7 +714,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `fastcgi_cache_use_stale` +##### `fastcgi_cache_use_stale` Data type: `Optional[String]` @@ -552,7 +722,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `gzip` +##### `gzip` Data type: `Enum['on', 'off']` @@ -560,7 +730,7 @@ Data type: `Enum['on', 'off']` Default value: `'off'` -##### `gzip_buffers` +##### `gzip_buffers` Data type: `Any` @@ -568,7 +738,7 @@ Data type: `Any` Default value: ``undef`` -##### `gzip_comp_level` +##### `gzip_comp_level` Data type: `Any` @@ -576,7 +746,7 @@ Data type: `Any` Default value: `1` -##### `gzip_disable` +##### `gzip_disable` Data type: `Any` @@ -584,7 +754,7 @@ Data type: `Any` Default value: `'msie6'` -##### `gzip_min_length` +##### `gzip_min_length` Data type: `Any` @@ -592,7 +762,7 @@ Data type: `Any` Default value: `20` -##### `gzip_http_version` +##### `gzip_http_version` Data type: `Any` @@ -600,7 +770,7 @@ Data type: `Any` Default value: `1.1` -##### `gzip_proxied` +##### `gzip_proxied` Data type: `Any` @@ -608,7 +778,7 @@ Data type: `Any` Default value: `'off'` -##### `gzip_types` +##### `gzip_types` Data type: `Any` @@ -616,7 +786,7 @@ Data type: `Any` Default value: ``undef`` -##### `gzip_vary` +##### `gzip_vary` Data type: `Enum['on', 'off']` @@ -624,7 +794,7 @@ Data type: `Enum['on', 'off']` Default value: `'off'` -##### `gzip_static` +##### `gzip_static` Data type: `Optional[Enum['on', 'off', 'always']]` @@ -632,7 +802,7 @@ Data type: `Optional[Enum['on', 'off', 'always']]` Default value: ``undef`` -##### `http_cfg_prepend` +##### `http_cfg_prepend` Data type: `Optional[Variant[Hash, Array]]` @@ -640,7 +810,7 @@ Data type: `Optional[Variant[Hash, Array]]` Default value: ``undef`` -##### `http_cfg_append` +##### `http_cfg_append` Data type: `Optional[Variant[Hash, Array]]` @@ -648,7 +818,7 @@ Data type: `Optional[Variant[Hash, Array]]` Default value: ``undef`` -##### `http_raw_prepend` +##### `http_raw_prepend` Data type: `Optional[Variant[Array[String], String]]` @@ -656,7 +826,7 @@ Data type: `Optional[Variant[Array[String], String]]` Default value: ``undef`` -##### `http_raw_append` +##### `http_raw_append` Data type: `Optional[Variant[Array[String], String]]` @@ -664,7 +834,7 @@ Data type: `Optional[Variant[Array[String], String]]` Default value: ``undef`` -##### `http_tcp_nodelay` +##### `http_tcp_nodelay` Data type: `Enum['on', 'off']` @@ -672,7 +842,7 @@ Data type: `Enum['on', 'off']` Default value: `'on'` -##### `http_tcp_nopush` +##### `http_tcp_nopush` Data type: `Enum['on', 'off']` @@ -680,7 +850,7 @@ Data type: `Enum['on', 'off']` Default value: `'off'` -##### `keepalive_timeout` +##### `keepalive_timeout` Data type: `Any` @@ -688,7 +858,7 @@ Data type: `Any` Default value: `'65s'` -##### `keepalive_requests` +##### `keepalive_requests` Data type: `Any` @@ -696,7 +866,7 @@ Data type: `Any` Default value: `'100'` -##### `log_format` +##### `log_format` Data type: `Any` @@ -704,7 +874,7 @@ Data type: `Any` Default value: `{}` -##### `mail` +##### `mail` Data type: `Boolean` @@ -712,7 +882,7 @@ Data type: `Boolean` Default value: ``false`` -##### `mime_types_path` +##### `mime_types_path` Data type: `Variant[String, Boolean]` @@ -720,7 +890,7 @@ Data type: `Variant[String, Boolean]` Default value: `'mime.types'` -##### `stream` +##### `stream` Data type: `Boolean` @@ -728,7 +898,7 @@ Data type: `Boolean` Default value: ``false`` -##### `multi_accept` +##### `multi_accept` Data type: `String` @@ -736,7 +906,7 @@ Data type: `String` Default value: `'off'` -##### `names_hash_bucket_size` +##### `names_hash_bucket_size` Data type: `Integer` @@ -744,7 +914,7 @@ Data type: `Integer` Default value: `64` -##### `names_hash_max_size` +##### `names_hash_max_size` Data type: `Integer` @@ -752,7 +922,7 @@ Data type: `Integer` Default value: `512` -##### `nginx_cfg_prepend` +##### `nginx_cfg_prepend` Data type: `Any` @@ -760,7 +930,7 @@ Data type: `Any` Default value: ``false`` -##### `proxy_buffers` +##### `proxy_buffers` Data type: `String` @@ -768,7 +938,7 @@ Data type: `String` Default value: `'32 4k'` -##### `proxy_buffer_size` +##### `proxy_buffer_size` Data type: `String` @@ -776,7 +946,7 @@ Data type: `String` Default value: `'8k'` -##### `proxy_cache_inactive` +##### `proxy_cache_inactive` Data type: `String` @@ -784,7 +954,7 @@ Data type: `String` Default value: `'20m'` -##### `proxy_cache_keys_zone` +##### `proxy_cache_keys_zone` Data type: `String` @@ -792,7 +962,7 @@ Data type: `String` Default value: `'d2:100m'` -##### `proxy_cache_levels` +##### `proxy_cache_levels` Data type: `String` @@ -800,7 +970,7 @@ Data type: `String` Default value: `'1'` -##### `proxy_cache_max_size` +##### `proxy_cache_max_size` Data type: `String` @@ -808,7 +978,7 @@ Data type: `String` Default value: `'500m'` -##### `proxy_cache_path` +##### `proxy_cache_path` Data type: `Optional[Variant[Hash, String]]` @@ -816,7 +986,7 @@ Data type: `Optional[Variant[Hash, String]]` Default value: ``undef`` -##### `proxy_cache_loader_files` +##### `proxy_cache_loader_files` Data type: `Optional[Integer]` @@ -824,7 +994,7 @@ Data type: `Optional[Integer]` Default value: ``undef`` -##### `proxy_cache_loader_sleep` +##### `proxy_cache_loader_sleep` Data type: `Optional[String]` @@ -832,7 +1002,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `proxy_cache_loader_threshold` +##### `proxy_cache_loader_threshold` Data type: `Optional[String]` @@ -840,7 +1010,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `proxy_use_temp_path` +##### `proxy_use_temp_path` Data type: `Optional[Enum['on', 'off']]` @@ -848,7 +1018,7 @@ Data type: `Optional[Enum['on', 'off']]` Default value: ``undef`` -##### `proxy_connect_timeout` +##### `proxy_connect_timeout` Data type: `Any` @@ -856,7 +1026,7 @@ Data type: `Any` Default value: `'90s'` -##### `proxy_headers_hash_bucket_size` +##### `proxy_headers_hash_bucket_size` Data type: `Integer` @@ -864,7 +1034,7 @@ Data type: `Integer` Default value: `64` -##### `proxy_http_version` +##### `proxy_http_version` Data type: `Optional[String]` @@ -872,7 +1042,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `proxy_read_timeout` +##### `proxy_read_timeout` Data type: `Any` @@ -880,7 +1050,7 @@ Data type: `Any` Default value: `'90s'` -##### `proxy_redirect` +##### `proxy_redirect` Data type: `Any` @@ -888,7 +1058,7 @@ Data type: `Any` Default value: ``undef`` -##### `proxy_send_timeout` +##### `proxy_send_timeout` Data type: `Any` @@ -896,7 +1066,7 @@ Data type: `Any` Default value: `'90s'` -##### `proxy_set_header` +##### `proxy_set_header` Data type: `Array` @@ -906,10 +1076,11 @@ Default value: `[ 'Host $host', 'X-Real-IP $remote_addr', 'X-Forwarded-For $proxy_add_x_forwarded_for', + 'X-Forwarded-Proto $scheme', 'Proxy ""', ]` -##### `proxy_hide_header` +##### `proxy_hide_header` Data type: `Array` @@ -917,7 +1088,7 @@ Data type: `Array` Default value: `[]` -##### `proxy_pass_header` +##### `proxy_pass_header` Data type: `Array` @@ -925,7 +1096,7 @@ Data type: `Array` Default value: `[]` -##### `proxy_ignore_header` +##### `proxy_ignore_header` Data type: `Array` @@ -933,7 +1104,7 @@ Data type: `Array` Default value: `[]` -##### `proxy_max_temp_file_size` +##### `proxy_max_temp_file_size` Data type: `Optional[Nginx::Size]` @@ -941,7 +1112,7 @@ Data type: `Optional[Nginx::Size]` Default value: ``undef`` -##### `proxy_busy_buffers_size` +##### `proxy_busy_buffers_size` Data type: `Optional[Nginx::Size]` @@ -949,7 +1120,7 @@ Data type: `Optional[Nginx::Size]` Default value: ``undef`` -##### `sendfile` +##### `sendfile` Data type: `Enum['on', 'off']` @@ -957,7 +1128,7 @@ Data type: `Enum['on', 'off']` Default value: `'on'` -##### `server_tokens` +##### `server_tokens` Data type: `Enum['on', 'off']` @@ -965,7 +1136,7 @@ Data type: `Enum['on', 'off']` Default value: `'on'` -##### `spdy` +##### `spdy` Data type: `Enum['on', 'off']` @@ -973,7 +1144,7 @@ Data type: `Enum['on', 'off']` Default value: `'off'` -##### `http2` +##### `http2` Data type: `Enum['on', 'off']` @@ -981,7 +1152,7 @@ Data type: `Enum['on', 'off']` Default value: `'off'` -##### `ssl_stapling` +##### `ssl_stapling` Data type: `Enum['on', 'off']` @@ -989,7 +1160,7 @@ Data type: `Enum['on', 'off']` Default value: `'off'` -##### `ssl_stapling_verify` +##### `ssl_stapling_verify` Data type: `Enum['on', 'off']` @@ -997,7 +1168,7 @@ Data type: `Enum['on', 'off']` Default value: `'off'` -##### `snippets_dir` +##### `snippets_dir` Data type: `Stdlib::Absolutepath` @@ -1005,7 +1176,7 @@ Data type: `Stdlib::Absolutepath` Default value: `$nginx::params::snippets_dir` -##### `manage_snippets_dir` +##### `manage_snippets_dir` Data type: `Boolean` @@ -1013,7 +1184,7 @@ Data type: `Boolean` Default value: ``true`` -##### `types_hash_bucket_size` +##### `types_hash_bucket_size` Data type: `Any` @@ -1021,7 +1192,7 @@ Data type: `Any` Default value: `'512'` -##### `types_hash_max_size` +##### `types_hash_max_size` Data type: `Any` @@ -1029,7 +1200,7 @@ Data type: `Any` Default value: `'1024'` -##### `worker_connections` +##### `worker_connections` Data type: `Integer` @@ -1037,7 +1208,7 @@ Data type: `Integer` Default value: `1024` -##### `ssl_prefer_server_ciphers` +##### `ssl_prefer_server_ciphers` Data type: `Enum['on', 'off']` @@ -1045,7 +1216,7 @@ Data type: `Enum['on', 'off']` Default value: `'on'` -##### `worker_processes` +##### `worker_processes` Data type: `Variant[Integer, Enum['auto']]` @@ -1053,7 +1224,7 @@ Data type: `Variant[Integer, Enum['auto']]` Default value: `'auto'` -##### `worker_rlimit_nofile` +##### `worker_rlimit_nofile` Data type: `Integer` @@ -1061,7 +1232,7 @@ Data type: `Integer` Default value: `1024` -##### `pcre_jit` +##### `pcre_jit` Data type: `Optional[Enum['on', 'off']]` @@ -1069,7 +1240,7 @@ Data type: `Optional[Enum['on', 'off']]` Default value: ``undef`` -##### `ssl_protocols` +##### `ssl_protocols` Data type: `String` @@ -1077,7 +1248,7 @@ Data type: `String` Default value: `'TLSv1 TLSv1.1 TLSv1.2'` -##### `ssl_ciphers` +##### `ssl_ciphers` Data type: `String` @@ -1085,7 +1256,7 @@ Data type: `String` Default value: `'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'` -##### `ssl_dhparam` +##### `ssl_dhparam` Data type: `Optional[Stdlib::Unixpath]` @@ -1093,7 +1264,7 @@ Data type: `Optional[Stdlib::Unixpath]` Default value: ``undef`` -##### `ssl_ecdh_curve` +##### `ssl_ecdh_curve` Data type: `Optional[String]` @@ -1101,7 +1272,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `ssl_session_cache` +##### `ssl_session_cache` Data type: `String` @@ -1109,7 +1280,7 @@ Data type: `String` Default value: `'shared:SSL:10m'` -##### `ssl_session_timeout` +##### `ssl_session_timeout` Data type: `String` @@ -1117,7 +1288,7 @@ Data type: `String` Default value: `'5m'` -##### `ssl_session_tickets` +##### `ssl_session_tickets` Data type: `Optional[Enum['on', 'off']]` @@ -1125,7 +1296,7 @@ Data type: `Optional[Enum['on', 'off']]` Default value: ``undef`` -##### `ssl_session_ticket_key` +##### `ssl_session_ticket_key` Data type: `Optional[Stdlib::Absolutepath]` @@ -1133,7 +1304,7 @@ Data type: `Optional[Stdlib::Absolutepath]` Default value: ``undef`` -##### `ssl_buffer_size` +##### `ssl_buffer_size` Data type: `Optional[String]` @@ -1141,7 +1312,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `ssl_crl` +##### `ssl_crl` Data type: `Optional[Stdlib::Absolutepath]` @@ -1149,7 +1320,7 @@ Data type: `Optional[Stdlib::Absolutepath]` Default value: ``undef`` -##### `ssl_stapling_file` +##### `ssl_stapling_file` Data type: `Optional[Stdlib::Absolutepath]` @@ -1157,7 +1328,7 @@ Data type: `Optional[Stdlib::Absolutepath]` Default value: ``undef`` -##### `ssl_stapling_responder` +##### `ssl_stapling_responder` Data type: `Optional[String]` @@ -1165,7 +1336,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `ssl_trusted_certificate` +##### `ssl_trusted_certificate` Data type: `Optional[Stdlib::Absolutepath]` @@ -1173,7 +1344,7 @@ Data type: `Optional[Stdlib::Absolutepath]` Default value: ``undef`` -##### `ssl_verify_depth` +##### `ssl_verify_depth` Data type: `Optional[Integer]` @@ -1181,7 +1352,7 @@ Data type: `Optional[Integer]` Default value: ``undef`` -##### `ssl_password_file` +##### `ssl_password_file` Data type: `Optional[Stdlib::Absolutepath]` @@ -1189,7 +1360,7 @@ Data type: `Optional[Stdlib::Absolutepath]` Default value: ``undef`` -##### `package_ensure` +##### `package_ensure` Data type: `Any` @@ -1197,7 +1368,7 @@ Data type: `Any` Default value: `present` -##### `package_name` +##### `package_name` Data type: `Any` @@ -1205,7 +1376,7 @@ Data type: `Any` Default value: `$nginx::params::package_name` -##### `package_source` +##### `package_source` Data type: `Any` @@ -1213,7 +1384,7 @@ Data type: `Any` Default value: `'nginx'` -##### `package_flavor` +##### `package_flavor` Data type: `Any` @@ -1221,7 +1392,7 @@ Data type: `Any` Default value: ``undef`` -##### `manage_repo` +##### `manage_repo` Data type: `Boolean` @@ -1229,7 +1400,7 @@ Data type: `Boolean` Default value: `$nginx::params::manage_repo` -##### `mime_types` +##### `mime_types` Data type: `Hash[String[1], String[1]]` @@ -1237,7 +1408,7 @@ Data type: `Hash[String[1], String[1]]` Default value: `$nginx::params::mime_types` -##### `mime_types_preserve_defaults` +##### `mime_types_preserve_defaults` Data type: `Boolean` @@ -1245,7 +1416,7 @@ Data type: `Boolean` Default value: ``false`` -##### `repo_release` +##### `repo_release` Data type: `Optional[String]` @@ -1253,7 +1424,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `passenger_package_ensure` +##### `passenger_package_ensure` Data type: `Any` @@ -1261,7 +1432,7 @@ Data type: `Any` Default value: `'present'` -##### `repo_source` +##### `repo_source` Data type: `Optional[Stdlib::HTTPUrl]` @@ -1269,7 +1440,7 @@ Data type: `Optional[Stdlib::HTTPUrl]` Default value: ``undef`` -##### `service_ensure` +##### `service_ensure` Data type: `Stdlib::Ensure::Service` @@ -1277,7 +1448,7 @@ Data type: `Stdlib::Ensure::Service` Default value: `'running'` -##### `service_enable` +##### `service_enable` Data type: `Any` @@ -1285,7 +1456,7 @@ Data type: `Any` Default value: ``true`` -##### `service_flags` +##### `service_flags` Data type: `Any` @@ -1293,7 +1464,7 @@ Data type: `Any` Default value: ``undef`` -##### `service_restart` +##### `service_restart` Data type: `Any` @@ -1301,7 +1472,7 @@ Data type: `Any` Default value: ``undef`` -##### `service_name` +##### `service_name` Data type: `Any` @@ -1309,7 +1480,7 @@ Data type: `Any` Default value: `'nginx'` -##### `service_manage` +##### `service_manage` Data type: `Any` @@ -1317,7 +1488,7 @@ Data type: `Any` Default value: ``true`` -##### `geo_mappings` +##### `geo_mappings` Data type: `Hash` @@ -1325,7 +1496,7 @@ Data type: `Hash` Default value: `{}` -##### `geo_mappings_defaults` +##### `geo_mappings_defaults` Data type: `Hash` @@ -1333,7 +1504,7 @@ Data type: `Hash` Default value: `{}` -##### `string_mappings` +##### `string_mappings` Data type: `Hash` @@ -1341,7 +1512,7 @@ Data type: `Hash` Default value: `{}` -##### `string_mappings_defaults` +##### `string_mappings_defaults` Data type: `Hash` @@ -1349,7 +1520,7 @@ Data type: `Hash` Default value: `{}` -##### `nginx_locations` +##### `nginx_locations` Data type: `Hash` @@ -1357,7 +1528,7 @@ Data type: `Hash` Default value: `{}` -##### `nginx_locations_defaults` +##### `nginx_locations_defaults` Data type: `Hash` @@ -1365,7 +1536,7 @@ Data type: `Hash` Default value: `{}` -##### `nginx_mailhosts` +##### `nginx_mailhosts` Data type: `Hash` @@ -1373,7 +1544,7 @@ Data type: `Hash` Default value: `{}` -##### `nginx_mailhosts_defaults` +##### `nginx_mailhosts_defaults` Data type: `Hash` @@ -1381,7 +1552,7 @@ Data type: `Hash` Default value: `{}` -##### `nginx_servers` +##### `nginx_servers` Data type: `Hash` @@ -1389,7 +1560,7 @@ Data type: `Hash` Default value: `{}` -##### `nginx_servers_defaults` +##### `nginx_servers_defaults` Data type: `Hash` @@ -1397,7 +1568,7 @@ Data type: `Hash` Default value: `{}` -##### `nginx_streamhosts` +##### `nginx_streamhosts` Data type: `Hash` @@ -1405,7 +1576,7 @@ Data type: `Hash` Default value: `{}` -##### `nginx_streamhosts_defaults` +##### `nginx_streamhosts_defaults` Data type: `Hash` @@ -1413,7 +1584,7 @@ Data type: `Hash` Default value: `{}` -##### `nginx_upstreams` +##### `nginx_upstreams` Data type: `Hash` @@ -1421,7 +1592,7 @@ Data type: `Hash` Default value: `{}` -##### `nginx_upstreams_defaults` +##### `nginx_upstreams_defaults` Data type: `Nginx::UpstreamDefaults` @@ -1429,7 +1600,7 @@ Data type: `Nginx::UpstreamDefaults` Default value: `{}` -##### `purge_passenger_repo` +##### `purge_passenger_repo` Data type: `Boolean` @@ -1439,7 +1610,7 @@ Default value: ``true`` ## Defined types -### `nginx::resource::geo` +### `nginx::resource::geo` Create a new geo mapping entry for NGINX @@ -1481,15 +1652,24 @@ nginx::geo_mappings: #### Parameters -The following parameters are available in the `nginx::resource::geo` defined type. +The following parameters are available in the `nginx::resource::geo` defined type: + +* [`networks`](#networks) +* [`default`](#default) +* [`ensure`](#ensure) +* [`ranges`](#ranges) +* [`address`](#address) +* [`delete`](#delete) +* [`proxy_recursive`](#proxy_recursive) +* [`proxies`](#proxies) -##### `networks` +##### `networks` Data type: `Hash` Hash of geo lookup keys and resultant values -##### `default` +##### `default` Data type: `Optional[String]` @@ -1498,7 +1678,7 @@ variants. Default value: ``undef`` -##### `ensure` +##### `ensure` Data type: `Enum['present', 'absent']` @@ -1506,7 +1686,7 @@ Enables or disables the specified location Default value: `'present'` -##### `ranges` +##### `ranges` Data type: `Boolean` @@ -1514,7 +1694,7 @@ Indicates that lookup keys (network addresses) are specified as ranges. Default value: ``false`` -##### `address` +##### `address` Data type: `Optional[String]` @@ -1523,7 +1703,7 @@ override that with another variable name (automatically prefixed with $) Default value: ``undef`` -##### `delete` +##### `delete` Data type: `Optional[String]` @@ -1531,7 +1711,7 @@ deletes the specified network (see: geo module docs) Default value: ``undef`` -##### `proxy_recursive` +##### `proxy_recursive` Data type: `Optional[Boolean]` @@ -1540,7 +1720,7 @@ proxies via 'proxies' directive Default value: ``undef`` -##### `proxies` +##### `proxies` Data type: `Optional[Array]` @@ -1548,7 +1728,7 @@ Hash of network->value mappings. Default value: ``undef`` -### `nginx::resource::location` +### `nginx::resource::location` Create a new location entry within a virtual host @@ -1623,9 +1803,82 @@ nginx::resource::location { 'test2.local-bob': #### Parameters -The following parameters are available in the `nginx::resource::location` defined type. - -##### `ensure` +The following parameters are available in the `nginx::resource::location` defined type: + +* [`ensure`](#ensure) +* [`internal`](#internal) +* [`server`](#server) +* [`location`](#location) +* [`location_satisfy`](#location_satisfy) +* [`location_allow`](#location_allow) +* [`location_deny`](#location_deny) +* [`www_root`](#www_root) +* [`autoindex`](#autoindex) +* [`autoindex_exact_size`](#autoindex_exact_size) +* [`autoindex_format`](#autoindex_format) +* [`autoindex_localtime`](#autoindex_localtime) +* [`index_files`](#index_files) +* [`proxy`](#proxy) +* [`proxy_redirect`](#proxy_redirect) +* [`proxy_read_timeout`](#proxy_read_timeout) +* [`proxy_connect_timeout`](#proxy_connect_timeout) +* [`proxy_send_timeout`](#proxy_send_timeout) +* [`proxy_set_header`](#proxy_set_header) +* [`proxy_hide_header`](#proxy_hide_header) +* [`proxy_pass_header`](#proxy_pass_header) +* [`proxy_ignore_header`](#proxy_ignore_header) +* [`proxy_next_upstream`](#proxy_next_upstream) +* [`fastcgi`](#fastcgi) +* [`fastcgi_param`](#fastcgi_param) +* [`fastcgi_params`](#fastcgi_params) +* [`fastcgi_script`](#fastcgi_script) +* [`fastcgi_split_path`](#fastcgi_split_path) +* [`uwsgi`](#uwsgi) +* [`uwsgi_param`](#uwsgi_param) +* [`uwsgi_params`](#uwsgi_params) +* [`uwsgi_read_timeout`](#uwsgi_read_timeout) +* [`ssl`](#ssl) +* [`ssl_only`](#ssl_only) +* [`location_alias`](#location_alias) +* [`stub_status`](#stub_status) +* [`raw_prepend`](#raw_prepend) +* [`raw_append`](#raw_append) +* [`limit_zone`](#limit_zone) +* [`location_custom_cfg`](#location_custom_cfg) +* [`location_cfg_prepend`](#location_cfg_prepend) +* [`location_custom_cfg_prepend`](#location_custom_cfg_prepend) +* [`location_custom_cfg_append`](#location_custom_cfg_append) +* [`location_cfg_append`](#location_cfg_append) +* [`include`](#include) +* [`try_files`](#try_files) +* [`proxy_cache`](#proxy_cache) +* [`proxy_cache_key`](#proxy_cache_key) +* [`proxy_cache_use_stale`](#proxy_cache_use_stale) +* [`proxy_cache_valid`](#proxy_cache_valid) +* [`proxy_cache_lock`](#proxy_cache_lock) +* [`proxy_cache_bypass`](#proxy_cache_bypass) +* [`proxy_method`](#proxy_method) +* [`proxy_http_version`](#proxy_http_version) +* [`proxy_set_body`](#proxy_set_body) +* [`proxy_buffering`](#proxy_buffering) +* [`proxy_request_buffering`](#proxy_request_buffering) +* [`proxy_max_temp_file_size`](#proxy_max_temp_file_size) +* [`proxy_busy_buffers_size`](#proxy_busy_buffers_size) +* [`absolute_redirect`](#absolute_redirect) +* [`auth_basic`](#auth_basic) +* [`auth_basic_user_file`](#auth_basic_user_file) +* [`auth_request`](#auth_request) +* [`priority`](#priority) +* [`mp4`](#mp4) +* [`flv`](#flv) +* [`expires`](#expires) +* [`add_header`](#add_header) +* [`gzip_static`](#gzip_static) +* [`reset_timedout_connection`](#reset_timedout_connection) +* [`fastcgi_index`](#fastcgi_index) +* [`rewrite_rules`](#rewrite_rules) + +##### `ensure` Data type: `Enum['present', 'absent']` @@ -1634,7 +1887,7 @@ Enables or disables the specified location Default value: `'present'` -##### `internal` +##### `internal` Data type: `Boolean` @@ -1643,7 +1896,7 @@ used for internal requests only. Default: false Default value: ``false`` -##### `server` +##### `server` Data type: `Variant[String[1],Array[String[1],1]]` @@ -1651,7 +1904,7 @@ Defines a server or list of servers that include this location Default value: ``undef`` -##### `location` +##### `location` Data type: `String` @@ -1660,7 +1913,7 @@ entry Default value: `$name` -##### `location_satisfy` +##### `location_satisfy` Data type: `Optional[Enum['any', 'all']]` @@ -1668,7 +1921,7 @@ Allows access if all (all) or at least one (any) of the auth modules allow acces Default value: ``undef`` -##### `location_allow` +##### `location_allow` Data type: `Optional[Array]` @@ -1676,7 +1929,7 @@ Locations to allow connections from. Default value: ``undef`` -##### `location_deny` +##### `location_deny` Data type: `Optional[Array]` @@ -1684,7 +1937,7 @@ Locations to deny connections from. Default value: ``undef`` -##### `www_root` +##### `www_root` Data type: `Optional[String]` @@ -1693,7 +1946,7 @@ conjunction with $proxy Default value: ``undef`` -##### `autoindex` +##### `autoindex` Data type: `Optional[String]` @@ -1701,7 +1954,7 @@ Set it on 'on' to activate autoindex directory listing. Default value: ``undef`` -##### `autoindex_exact_size` +##### `autoindex_exact_size` Data type: `Optional[Enum['on', 'off']]` @@ -1710,7 +1963,7 @@ filesize, or rounded to kilobytes, megabytes and gigabytes. Default value: ``undef`` -##### `autoindex_format` +##### `autoindex_format` Data type: `Optional[Enum['html', 'xml', 'json', 'jsonp']]` @@ -1718,7 +1971,7 @@ Sets the format of a directory listing. Default value: ``undef`` -##### `autoindex_localtime` +##### `autoindex_localtime` Data type: `Optional[Enum['on', 'off']]` @@ -1727,7 +1980,7 @@ local time zone or UTC. Default value: ``undef`` -##### `index_files` +##### `index_files` Data type: `Array` @@ -1739,7 +1992,7 @@ Default value: `[ 'index.php', ]` -##### `proxy` +##### `proxy` Data type: `Optional[String]` @@ -1748,7 +2001,7 @@ be used in conjunction with nginx::resource::upstream Default value: ``undef`` -##### `proxy_redirect` +##### `proxy_redirect` Data type: `Optional[String]` @@ -1757,7 +2010,7 @@ sets the text, which must be changed in response-header "Location" and Default value: `$nginx::proxy_redirect` -##### `proxy_read_timeout` +##### `proxy_read_timeout` Data type: `String` @@ -1765,7 +2018,7 @@ Override the default the proxy read timeout value of 90 seconds Default value: `$nginx::proxy_read_timeout` -##### `proxy_connect_timeout` +##### `proxy_connect_timeout` Data type: `String` @@ -1773,7 +2026,7 @@ Override the default the proxy connect timeout value of 90 seconds Default value: `$nginx::proxy_connect_timeout` -##### `proxy_send_timeout` +##### `proxy_send_timeout` Data type: `String` @@ -1782,7 +2035,7 @@ value of 90 seconds Default value: `$nginx::proxy_send_timeout` -##### `proxy_set_header` +##### `proxy_set_header` Data type: `Array` @@ -1790,7 +2043,7 @@ Array of server headers to set Default value: `$nginx::proxy_set_header` -##### `proxy_hide_header` +##### `proxy_hide_header` Data type: `Array` @@ -1798,7 +2051,7 @@ Array of server headers to hide Default value: `$nginx::proxy_hide_header` -##### `proxy_pass_header` +##### `proxy_pass_header` Data type: `Array` @@ -1806,7 +2059,7 @@ Array of server headers to pass Default value: `$nginx::proxy_pass_header` -##### `proxy_ignore_header` +##### `proxy_ignore_header` Data type: `Array` @@ -1814,7 +2067,7 @@ Array of server headers to ignore Default value: `$nginx::proxy_ignore_header` -##### `proxy_next_upstream` +##### `proxy_next_upstream` Data type: `Optional[String]` @@ -1822,7 +2075,7 @@ Specify cases a request should be passed to the next server in the upstream. Default value: ``undef`` -##### `fastcgi` +##### `fastcgi` Data type: `Optional[String]` @@ -1830,7 +2083,7 @@ location of fastcgi (host:port) Default value: ``undef`` -##### `fastcgi_param` +##### `fastcgi_param` Data type: `Optional[Hash]` @@ -1838,7 +2091,7 @@ Set additional custom fastcgi_params Default value: ``undef`` -##### `fastcgi_params` +##### `fastcgi_params` Data type: `String` @@ -1846,7 +2099,7 @@ optional alternative fastcgi_params file to use Default value: `"${nginx::conf_dir}/fastcgi.conf"` -##### `fastcgi_script` +##### `fastcgi_script` Data type: `Optional[String]` @@ -1854,7 +2107,7 @@ optional SCRIPT_FILE parameter Default value: ``undef`` -##### `fastcgi_split_path` +##### `fastcgi_split_path` Data type: `Optional[String]` @@ -1863,7 +2116,7 @@ script_name and path_info via regex Default value: ``undef`` -##### `uwsgi` +##### `uwsgi` Data type: `Optional[String]` @@ -1871,7 +2124,7 @@ location of uwsgi (host:port) Default value: ``undef`` -##### `uwsgi_param` +##### `uwsgi_param` Data type: `Optional[Hash]` @@ -1879,7 +2132,7 @@ Set additional custom uwsgi_params Default value: ``undef`` -##### `uwsgi_params` +##### `uwsgi_params` Data type: `String` @@ -1887,7 +2140,7 @@ optional alternative uwsgi_params file to use Default value: `"${nginx::config::conf_dir}/uwsgi_params"` -##### `uwsgi_read_timeout` +##### `uwsgi_read_timeout` Data type: `Optional[String]` @@ -1895,7 +2148,7 @@ optional value for uwsgi_read_timeout Default value: ``undef`` -##### `ssl` +##### `ssl` Data type: `Boolean` @@ -1903,7 +2156,7 @@ Indicates whether to setup SSL bindings for this location. Default value: ``false`` -##### `ssl_only` +##### `ssl_only` Data type: `Boolean` @@ -1911,7 +2164,7 @@ Required if the SSL and normal server have the same port. Default value: ``false`` -##### `location_alias` +##### `location_alias` Data type: `Optional[String]` @@ -1919,7 +2172,7 @@ Path to be used as basis for serving requests for this location Default value: ``undef`` -##### `stub_status` +##### `stub_status` Data type: `Optional[Boolean]` @@ -1928,7 +2181,7 @@ on location Default value: ``undef`` -##### `raw_prepend` +##### `raw_prepend` Data type: `Optional[Variant[String, Array]]` @@ -1938,7 +2191,7 @@ semicolon on each line that requires one. Default value: ``undef`` -##### `raw_append` +##### `raw_append` Data type: `Optional[Variant[String, Array]]` @@ -1948,7 +2201,7 @@ each line that requires one. Default value: ``undef`` -##### `limit_zone` +##### `limit_zone` Data type: `Optional[String[1]]` @@ -1957,7 +2210,7 @@ previously defined limit_req_zone in the main nginx configuration Default value: ``undef`` -##### `location_custom_cfg` +##### `location_custom_cfg` Data type: `Optional[Hash]` @@ -1966,7 +2219,7 @@ types (proxy, fastcgi, root, or stub_status) Default value: ``undef`` -##### `location_cfg_prepend` +##### `location_cfg_prepend` Data type: `Optional[Hash]` @@ -1975,7 +2228,7 @@ location (used with all other types except custom_cfg) Default value: ``undef`` -##### `location_custom_cfg_prepend` +##### `location_custom_cfg_prepend` Data type: `Optional[Hash]` @@ -1985,7 +2238,7 @@ structures such as if. Default value: ``undef`` -##### `location_custom_cfg_append` +##### `location_custom_cfg_append` Data type: `Optional[Hash]` @@ -1995,7 +2248,7 @@ structures such as if. Default value: ``undef`` -##### `location_cfg_append` +##### `location_cfg_append` Data type: `Optional[Hash]` @@ -2005,7 +2258,7 @@ custom_cfg) Default value: ``undef`` -##### `include` +##### `include` Data type: `Optional[Array]` @@ -2013,7 +2266,7 @@ An array of files to include for this location Default value: ``undef`` -##### `try_files` +##### `try_files` Data type: `Optional[Array]` @@ -2021,7 +2274,7 @@ An array of file locations to try Default value: ``undef`` -##### `proxy_cache` +##### `proxy_cache` Data type: `Optional[String]` @@ -2030,7 +2283,7 @@ multiple places. Default value: ``undef`` -##### `proxy_cache_key` +##### `proxy_cache_key` Data type: `Optional[String]` @@ -2038,7 +2291,7 @@ Override the default proxy_cache_key of $scheme$proxy_host$request_uri Default value: ``undef`` -##### `proxy_cache_use_stale` +##### `proxy_cache_use_stale` Data type: `Optional[String]` @@ -2046,7 +2299,7 @@ Override the default proxy_cache_use_stale value of off. Default value: ``undef`` -##### `proxy_cache_valid` +##### `proxy_cache_valid` Data type: `Optional[Variant[Array, String]]` @@ -2054,7 +2307,7 @@ This directive sets the time for caching different replies. Default value: ``undef`` -##### `proxy_cache_lock` +##### `proxy_cache_lock` Data type: `Optional[Enum['on', 'off']]` @@ -2062,7 +2315,7 @@ This directive sets the locking mechanism for pouplating cache. Default value: ``undef`` -##### `proxy_cache_bypass` +##### `proxy_cache_bypass` Data type: `Optional[Variant[Array, String]]` @@ -2070,7 +2323,7 @@ Defines conditions which the response will not be cached Default value: ``undef`` -##### `proxy_method` +##### `proxy_method` Data type: `Optional[String]` @@ -2079,7 +2332,7 @@ backend. Default value: ``undef`` -##### `proxy_http_version` +##### `proxy_http_version` Data type: `Optional[String]` @@ -2087,7 +2340,7 @@ Sets the proxy http version Default value: ``undef`` -##### `proxy_set_body` +##### `proxy_set_body` Data type: `Optional[String]` @@ -2095,7 +2348,7 @@ If defined, sets the body passed to the backend. Default value: ``undef`` -##### `proxy_buffering` +##### `proxy_buffering` Data type: `Optional[Enum['on', 'off']]` @@ -2103,7 +2356,7 @@ If defined, sets the proxy_buffering to the passed value. Default value: ``undef`` -##### `proxy_request_buffering` +##### `proxy_request_buffering` Data type: `Optional[Enum['on', 'off']]` @@ -2111,7 +2364,7 @@ If defined, sets the proxy_request_buffering to the passed value. Default value: ``undef`` -##### `proxy_max_temp_file_size` +##### `proxy_max_temp_file_size` Data type: `Optional[Nginx::Size]` @@ -2119,7 +2372,7 @@ Sets the maximum size of the temporary buffer file. Default value: ``undef`` -##### `proxy_busy_buffers_size` +##### `proxy_busy_buffers_size` Data type: `Optional[Nginx::Size]` @@ -2128,7 +2381,7 @@ client while the response is not yet fully read. Default value: ``undef`` -##### `absolute_redirect` +##### `absolute_redirect` Data type: `Optional[Enum['on', 'off']]` @@ -2136,7 +2389,7 @@ Enables or disables the absolute redirect functionality of nginx Default value: ``undef`` -##### `auth_basic` +##### `auth_basic` Data type: `Optional[String]` @@ -2145,7 +2398,7 @@ Authentication. Default value: ``undef`` -##### `auth_basic_user_file` +##### `auth_basic_user_file` Data type: `Optional[String]` @@ -2153,7 +2406,7 @@ This directive sets the htpasswd filename for the authentication realm. Default value: ``undef`` -##### `auth_request` +##### `auth_request` Data type: `Optional[String]` @@ -2161,7 +2414,7 @@ This allows you to specify a custom auth endpoint Default value: ``undef`` -##### `priority` +##### `priority` Data type: `Integer[401,599]` @@ -2171,7 +2424,7 @@ root, or before root. Default value: `500` -##### `mp4` +##### `mp4` Data type: `Boolean` @@ -2180,7 +2433,7 @@ used for mp4 streaming. Default: false Default value: ``false`` -##### `flv` +##### `flv` Data type: `Boolean` @@ -2189,7 +2442,7 @@ used for flv streaming. Default: false Default value: ``false`` -##### `expires` +##### `expires` Data type: `Optional[String]` @@ -2197,7 +2450,7 @@ Setup expires time for locations content Default value: ``undef`` -##### `add_header` +##### `add_header` Data type: `Hash` @@ -2206,7 +2459,7 @@ no longer inherit headers from the parent server context Default value: `{}` -##### `gzip_static` +##### `gzip_static` Data type: `Optional[Enum['on', 'off', 'always']]` @@ -2214,7 +2467,7 @@ Defines gzip_static, nginx default is off Default value: ``undef`` -##### `reset_timedout_connection` +##### `reset_timedout_connection` Data type: `Optional[Enum['on', 'off']]` @@ -2223,7 +2476,7 @@ with the non-standard code 444. Default value: ``undef`` -##### `fastcgi_index` +##### `fastcgi_index` Data type: `Optional[String]` @@ -2231,7 +2484,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `rewrite_rules` +##### `rewrite_rules` Data type: `Array` @@ -2239,7 +2492,7 @@ Data type: `Array` Default value: `[]` -### `nginx::resource::mailhost` +### `nginx::resource::mailhost` Define a mailhost @@ -2264,9 +2517,54 @@ nginx::resource::mailhost { 'domain1.example': #### Parameters -The following parameters are available in the `nginx::resource::mailhost` defined type. - -##### `ensure` +The following parameters are available in the `nginx::resource::mailhost` defined type: + +* [`ensure`](#ensure) +* [`listen_ip`](#listen_ip) +* [`listen_port`](#listen_port) +* [`listen_options`](#listen_options) +* [`ipv6_enable`](#ipv6_enable) +* [`ipv6_listen_ip`](#ipv6_listen_ip) +* [`ipv6_listen_port`](#ipv6_listen_port) +* [`ipv6_listen_options`](#ipv6_listen_options) +* [`ssl`](#ssl) +* [`ssl_cert`](#ssl_cert) +* [`ssl_ciphers`](#ssl_ciphers) +* [`ssl_client_cert`](#ssl_client_cert) +* [`ssl_crl`](#ssl_crl) +* [`ssl_dhparam`](#ssl_dhparam) +* [`ssl_ecdh_curve`](#ssl_ecdh_curve) +* [`ssl_key`](#ssl_key) +* [`ssl_password_file`](#ssl_password_file) +* [`ssl_port`](#ssl_port) +* [`ssl_prefer_server_ciphers`](#ssl_prefer_server_ciphers) +* [`ssl_protocols`](#ssl_protocols) +* [`ssl_session_cache`](#ssl_session_cache) +* [`ssl_session_ticket_key`](#ssl_session_ticket_key) +* [`ssl_session_tickets`](#ssl_session_tickets) +* [`ssl_session_timeout`](#ssl_session_timeout) +* [`ssl_trusted_cert`](#ssl_trusted_cert) +* [`ssl_verify_depth`](#ssl_verify_depth) +* [`starttls`](#starttls) +* [`protocol`](#protocol) +* [`auth_http`](#auth_http) +* [`xclient`](#xclient) +* [`imap_auth`](#imap_auth) +* [`imap_capabilities`](#imap_capabilities) +* [`imap_client_buffer`](#imap_client_buffer) +* [`pop3_auth`](#pop3_auth) +* [`pop3_capabilities`](#pop3_capabilities) +* [`smtp_auth`](#smtp_auth) +* [`smtp_capabilities`](#smtp_capabilities) +* [`proxy_pass_error_message`](#proxy_pass_error_message) +* [`server_name`](#server_name) +* [`raw_prepend`](#raw_prepend) +* [`raw_append`](#raw_append) +* [`mailhost_cfg_append`](#mailhost_cfg_append) +* [`mailhost_cfg_prepend`](#mailhost_cfg_prepend) +* [`auth_http_header`](#auth_http_header) + +##### `ensure` Data type: `Enum['absent', 'present']` @@ -2274,7 +2572,7 @@ Enables or disables the specified mailhost Default value: `'present'` -##### `listen_ip` +##### `listen_ip` Data type: `Variant[Array[String], String]` @@ -2282,13 +2580,13 @@ Default IP Address for NGINX to listen with this server on. Defaults to all inte Default value: `'*'` -##### `listen_port` +##### `listen_port` Data type: `Stdlib::Port` Default IP Port for NGINX to listen with this server on. -##### `listen_options` +##### `listen_options` Data type: `Optional[String]` @@ -2296,7 +2594,7 @@ Extra options for listen directive like 'default' to catchall. Default value: ``undef`` -##### `ipv6_enable` +##### `ipv6_enable` Data type: `Boolean` @@ -2305,7 +2603,7 @@ if IPv6 support exists on your system before enabling. Default value: ``false`` -##### `ipv6_listen_ip` +##### `ipv6_listen_ip` Data type: `Variant[Array[String], String]` @@ -2314,7 +2612,7 @@ all interfaces (::) Default value: `'::'` -##### `ipv6_listen_port` +##### `ipv6_listen_port` Data type: `Stdlib::Port` @@ -2322,7 +2620,7 @@ Default IPv6 Port for NGINX to listen with this server on. Default value: `$listen_port` -##### `ipv6_listen_options` +##### `ipv6_listen_options` Data type: `String` @@ -2332,7 +2630,7 @@ discussed, default value is 'default'. Default value: `'default ipv6only=on'` -##### `ssl` +##### `ssl` Data type: `Boolean` @@ -2340,7 +2638,7 @@ Indicates whether to setup SSL bindings for this mailhost. Default value: ``false`` -##### `ssl_cert` +##### `ssl_cert` Data type: `Optional[String]` @@ -2349,7 +2647,7 @@ not generated by this module. Default value: ``undef`` -##### `ssl_ciphers` +##### `ssl_ciphers` Data type: `String` @@ -2357,7 +2655,7 @@ Override default SSL ciphers. Default value: `$nginx::ssl_ciphers` -##### `ssl_client_cert` +##### `ssl_client_cert` Data type: `Optional[String]` @@ -2366,7 +2664,7 @@ Support. This is not generated by this module. Default value: ``undef`` -##### `ssl_crl` +##### `ssl_crl` Data type: `Optional[String]` @@ -2374,7 +2672,7 @@ String: Specifies CRL path in file system Default value: ``undef`` -##### `ssl_dhparam` +##### `ssl_dhparam` Data type: `Optional[String]` @@ -2384,7 +2682,7 @@ session keys between server and client. Default value: `$nginx::ssl_dhparam` -##### `ssl_ecdh_curve` +##### `ssl_ecdh_curve` Data type: `Optional[String]` @@ -2392,7 +2690,7 @@ This directive specifies a curve for ECDHE ciphers. Default value: ``undef`` -##### `ssl_key` +##### `ssl_key` Data type: `Optional[String]` @@ -2401,7 +2699,7 @@ generated by this module. Default value: ``undef`` -##### `ssl_password_file` +##### `ssl_password_file` Data type: `Optional[String]` @@ -2409,7 +2707,7 @@ This directive specifies a file containing passphrases for secret keys. Default value: ``undef`` -##### `ssl_port` +##### `ssl_port` Data type: `Optional[Stdlib::Port]` @@ -2417,7 +2715,7 @@ Default IP Port for NGINX to listen with this SSL server on. Default value: ``undef`` -##### `ssl_prefer_server_ciphers` +##### `ssl_prefer_server_ciphers` Data type: `Enum['on', 'off']` @@ -2426,7 +2724,7 @@ using the SSLv3 and TLS protocols. Default value: `$nginx::ssl_prefer_server_ciphers` -##### `ssl_protocols` +##### `ssl_protocols` Data type: `String` @@ -2434,7 +2732,7 @@ SSL protocols enabled. Default value: `$nginx::ssl_protocols` -##### `ssl_session_cache` +##### `ssl_session_cache` Data type: `Optional[String]` @@ -2442,7 +2740,7 @@ Sets the type and size of the session cache. Default value: ``undef`` -##### `ssl_session_ticket_key` +##### `ssl_session_ticket_key` Data type: `Optional[String]` @@ -2451,7 +2749,7 @@ decrypt TLS session tickets. Default value: ``undef`` -##### `ssl_session_tickets` +##### `ssl_session_tickets` Data type: `Optional[String]` @@ -2459,7 +2757,7 @@ Whether to enable or disable session resumption through TLS session tickets. Default value: ``undef`` -##### `ssl_session_timeout` +##### `ssl_session_timeout` Data type: `String` @@ -2468,7 +2766,7 @@ stored in a cache. Default value: `'5m'` -##### `ssl_trusted_cert` +##### `ssl_trusted_cert` Data type: `Optional[String]` @@ -2477,7 +2775,7 @@ verify client certificates and OCSP responses if ssl_stapling is enabled. Default value: ``undef`` -##### `ssl_verify_depth` +##### `ssl_verify_depth` Data type: `Optional[Integer]` @@ -2485,7 +2783,7 @@ Sets the verification depth in the client certificates chain. Default value: ``undef`` -##### `starttls` +##### `starttls` Data type: `Enum['on', 'off', 'only']` @@ -2493,7 +2791,7 @@ Enable STARTTLS support Default value: `'off'` -##### `protocol` +##### `protocol` Data type: `Optional[Enum['imap', 'pop3', 'smtp']]` @@ -2501,7 +2799,7 @@ Mail protocol to use Default value: ``undef`` -##### `auth_http` +##### `auth_http` Data type: `Optional[String]` @@ -2510,7 +2808,7 @@ for authorization. Default value: ``undef`` -##### `xclient` +##### `xclient` Data type: `Enum['on', 'off']` @@ -2518,7 +2816,7 @@ Whether to use xclient for smtp Default value: `'on'` -##### `imap_auth` +##### `imap_auth` Data type: `Optional[String]` @@ -2526,7 +2824,7 @@ Sets permitted methods of authentication for IMAP clients. Default value: ``undef`` -##### `imap_capabilities` +##### `imap_capabilities` Data type: `Optional[Array]` @@ -2535,7 +2833,7 @@ response to the CAPA command. Default value: ``undef`` -##### `imap_client_buffer` +##### `imap_client_buffer` Data type: `Optional[String]` @@ -2543,7 +2841,7 @@ Sets the IMAP commands read buffer size. Default value: ``undef`` -##### `pop3_auth` +##### `pop3_auth` Data type: `Optional[String]` @@ -2551,7 +2849,7 @@ Sets permitted methods of authentication for POP3 clients. Default value: ``undef`` -##### `pop3_capabilities` +##### `pop3_capabilities` Data type: `Optional[Array]` @@ -2560,7 +2858,7 @@ response to the CAPA command. Default value: ``undef`` -##### `smtp_auth` +##### `smtp_auth` Data type: `Optional[String]` @@ -2568,7 +2866,7 @@ Sets permitted methods of SASL authentication for SMTP clients. Default value: ``undef`` -##### `smtp_capabilities` +##### `smtp_capabilities` Data type: `Optional[Array]` @@ -2577,7 +2875,7 @@ response to the EHLO command. Default value: ``undef`` -##### `proxy_pass_error_message` +##### `proxy_pass_error_message` Data type: `String` @@ -2586,7 +2884,7 @@ authentication on the backend to the client. Default value: `'off'` -##### `server_name` +##### `server_name` Data type: `Array` @@ -2594,7 +2892,7 @@ List of mailhostnames for which this mailhost will respond. Default value: `[$name]` -##### `raw_prepend` +##### `raw_prepend` Data type: `Optional[Variant[Array, String]]` @@ -2604,7 +2902,7 @@ semicolon on each line that requires one. Default value: ``undef`` -##### `raw_append` +##### `raw_append` Data type: `Optional[Variant[Array, String]]` @@ -2614,7 +2912,7 @@ semicolon on each line that requires one. Default value: ``undef`` -##### `mailhost_cfg_append` +##### `mailhost_cfg_append` Data type: `Optional[Hash]` @@ -2623,7 +2921,7 @@ inside server Default value: ``undef`` -##### `mailhost_cfg_prepend` +##### `mailhost_cfg_prepend` Data type: `Optional[Hash]` @@ -2632,7 +2930,7 @@ inside server Default value: ``undef`` -##### `auth_http_header` +##### `auth_http_header` Data type: `Optional[String]` @@ -2640,7 +2938,7 @@ Data type: `Optional[String]` Default value: ``undef`` -### `nginx::resource::map` +### `nginx::resource::map` Create a new mapping entry for NGINX @@ -2710,9 +3008,17 @@ nginx::string_mappings: #### Parameters -The following parameters are available in the `nginx::resource::map` defined type. +The following parameters are available in the `nginx::resource::map` defined type: -##### `ensure` +* [`ensure`](#ensure) +* [`default`](#default) +* [`string`](#string) +* [`mappings`](#mappings) +* [`hostnames`](#hostnames) +* [`include_files`](#include_files) +* [`context`](#context) + +##### `ensure` Data type: `Enum['absent', 'present']` @@ -2720,7 +3026,7 @@ Enables or disables the specified location Default value: `'present'` -##### `default` +##### `default` Data type: `Optional[String]` @@ -2729,19 +3035,19 @@ variants. Default value: ``undef`` -##### `string` +##### `string` Data type: `String[2]` Source string or variable to provide mapping for -##### `mappings` +##### `mappings` Data type: `Variant[Array, Hash]` Hash of map lookup keys and resultant values -##### `hostnames` +##### `hostnames` Data type: `Boolean` @@ -2749,7 +3055,7 @@ Indicates that source values can be hostnames with a prefix or suffix mask. Default value: ``false`` -##### `include_files` +##### `include_files` Data type: `Array[String]` @@ -2757,7 +3063,7 @@ An array of external files to include Default value: `[]` -##### `context` +##### `context` Data type: `Enum['http', 'stream']` @@ -2765,7 +3071,7 @@ Specify if mapping is for http or stream context Default value: `'http'` -### `nginx::resource::server` +### `nginx::resource::server` Create a virtual host @@ -2785,9 +3091,139 @@ nginx::resource::server { 'test2.local': #### Parameters -The following parameters are available in the `nginx::resource::server` defined type. - -##### `ensure` +The following parameters are available in the `nginx::resource::server` defined type: + +* [`ensure`](#ensure) +* [`listen_ip`](#listen_ip) +* [`listen_port`](#listen_port) +* [`listen_options`](#listen_options) +* [`listen_unix_socket_enable`](#listen_unix_socket_enable) +* [`listen_unix_socket`](#listen_unix_socket) +* [`listen_unix_socket_options`](#listen_unix_socket_options) +* [`location_satisfy`](#location_satisfy) +* [`location_allow`](#location_allow) +* [`location_deny`](#location_deny) +* [`ipv6_enable`](#ipv6_enable) +* [`ipv6_listen_ip`](#ipv6_listen_ip) +* [`ipv6_listen_port`](#ipv6_listen_port) +* [`ipv6_listen_options`](#ipv6_listen_options) +* [`add_header`](#add_header) +* [`index_files`](#index_files) +* [`autoindex`](#autoindex) +* [`autoindex_exact_size`](#autoindex_exact_size) +* [`autoindex_format`](#autoindex_format) +* [`autoindex_localtime`](#autoindex_localtime) +* [`reset_timedout_connection`](#reset_timedout_connection) +* [`proxy`](#proxy) +* [`proxy_read_timeout`](#proxy_read_timeout) +* [`proxy_send_timeout`](#proxy_send_timeout) +* [`proxy_redirect`](#proxy_redirect) +* [`proxy_buffering`](#proxy_buffering) +* [`proxy_request_buffering`](#proxy_request_buffering) +* [`proxy_max_temp_file_size`](#proxy_max_temp_file_size) +* [`proxy_busy_buffers_size`](#proxy_busy_buffers_size) +* [`resolver`](#resolver) +* [`fastcgi`](#fastcgi) +* [`fastcgi_param`](#fastcgi_param) +* [`fastcgi_params`](#fastcgi_params) +* [`fastcgi_index`](#fastcgi_index) +* [`fastcgi_script`](#fastcgi_script) +* [`uwsgi_read_timeout`](#uwsgi_read_timeout) +* [`ssl`](#ssl) +* [`ssl_cert`](#ssl_cert) +* [`ssl_client_cert`](#ssl_client_cert) +* [`ssl_verify_client`](#ssl_verify_client) +* [`ssl_crl`](#ssl_crl) +* [`ssl_dhparam`](#ssl_dhparam) +* [`ssl_ecdh_curve`](#ssl_ecdh_curve) +* [`ssl_prefer_server_ciphers`](#ssl_prefer_server_ciphers) +* [`ssl_redirect`](#ssl_redirect) +* [`ssl_redirect_port`](#ssl_redirect_port) +* [`ssl_key`](#ssl_key) +* [`ssl_port`](#ssl_port) +* [`ssl_protocols`](#ssl_protocols) +* [`ssl_buffer_size`](#ssl_buffer_size) +* [`ssl_ciphers`](#ssl_ciphers) +* [`ssl_stapling`](#ssl_stapling) +* [`ssl_stapling_file`](#ssl_stapling_file) +* [`ssl_stapling_responder`](#ssl_stapling_responder) +* [`ssl_stapling_verify`](#ssl_stapling_verify) +* [`ssl_session_timeout`](#ssl_session_timeout) +* [`ssl_session_tickets`](#ssl_session_tickets) +* [`ssl_session_ticket_key`](#ssl_session_ticket_key) +* [`ssl_trusted_cert`](#ssl_trusted_cert) +* [`ssl_verify_depth`](#ssl_verify_depth) +* [`ssl_password_file`](#ssl_password_file) +* [`spdy`](#spdy) +* [`http2`](#http2) +* [`server_name`](#server_name) +* [`www_root`](#www_root) +* [`rewrite_www_to_non_www`](#rewrite_www_to_non_www) +* [`rewrite_non_www_to_www`](#rewrite_non_www_to_www) +* [`try_files`](#try_files) +* [`proxy_cache`](#proxy_cache) +* [`proxy_cache_key`](#proxy_cache_key) +* [`proxy_cache_use_stale`](#proxy_cache_use_stale) +* [`proxy_cache_valid`](#proxy_cache_valid) +* [`proxy_cache_lock`](#proxy_cache_lock) +* [`proxy_cache_bypass`](#proxy_cache_bypass) +* [`proxy_method`](#proxy_method) +* [`proxy_http_version`](#proxy_http_version) +* [`proxy_set_body`](#proxy_set_body) +* [`absolute_redirect`](#absolute_redirect) +* [`auth_basic`](#auth_basic) +* [`auth_basic_user_file`](#auth_basic_user_file) +* [`auth_request`](#auth_request) +* [`client_max_body_size`](#client_max_body_size) +* [`client_body_timeout`](#client_body_timeout) +* [`client_header_timeout`](#client_header_timeout) +* [`raw_prepend`](#raw_prepend) +* [`raw_append`](#raw_append) +* [`location_raw_prepend`](#location_raw_prepend) +* [`location_raw_append`](#location_raw_append) +* [`server_cfg_append`](#server_cfg_append) +* [`server_cfg_prepend`](#server_cfg_prepend) +* [`server_cfg_ssl_append`](#server_cfg_ssl_append) +* [`server_cfg_ssl_prepend`](#server_cfg_ssl_prepend) +* [`include_files`](#include_files) +* [`access_log`](#access_log) +* [`error_log`](#error_log) +* [`passenger_cgi_param`](#passenger_cgi_param) +* [`passenger_set_header`](#passenger_set_header) +* [`passenger_env_var`](#passenger_env_var) +* [`passenger_pre_start`](#passenger_pre_start) +* [`log_by_lua`](#log_by_lua) +* [`log_by_lua_file`](#log_by_lua_file) +* [`gzip_types`](#gzip_types) +* [`gzip_static`](#gzip_static) +* [`owner`](#owner) +* [`group`](#group) +* [`mode`](#mode) +* [`maintenance`](#maintenance) +* [`maintenance_value`](#maintenance_value) +* [`error_pages`](#error_pages) +* [`locations`](#locations) +* [`locations_defaults`](#locations_defaults) +* [`ssl_listen_option`](#ssl_listen_option) +* [`ssl_cache`](#ssl_cache) +* [`proxy_connect_timeout`](#proxy_connect_timeout) +* [`proxy_set_header`](#proxy_set_header) +* [`proxy_hide_header`](#proxy_hide_header) +* [`proxy_pass_header`](#proxy_pass_header) +* [`uwsgi`](#uwsgi) +* [`uwsgi_params`](#uwsgi_params) +* [`location_custom_cfg`](#location_custom_cfg) +* [`location_cfg_prepend`](#location_cfg_prepend) +* [`location_cfg_append`](#location_cfg_append) +* [`location_custom_cfg_prepend`](#location_custom_cfg_prepend) +* [`location_custom_cfg_append`](#location_custom_cfg_append) +* [`format_log`](#format_log) +* [`use_default_location`](#use_default_location) +* [`rewrite_rules`](#rewrite_rules) +* [`string_mappings`](#string_mappings) +* [`geo_mappings`](#geo_mappings) + +##### `ensure` Data type: `Enum['absent', 'present']` @@ -2795,7 +3231,7 @@ Enables or disables the specified server Default value: `'present'` -##### `listen_ip` +##### `listen_ip` Data type: `Variant[Array, String]` @@ -2804,7 +3240,7 @@ interfaces (*) Default value: `'*'` -##### `listen_port` +##### `listen_port` Data type: `Stdlib::Port` @@ -2812,7 +3248,7 @@ Default TCP Port for NGINX to listen with this server on. Default value: `80` -##### `listen_options` +##### `listen_options` Data type: `Optional[String]` @@ -2820,7 +3256,7 @@ Extra options for listen directive like 'default_server' to catchall. Default value: ``undef`` -##### `listen_unix_socket_enable` +##### `listen_unix_socket_enable` Data type: `Boolean` @@ -2828,7 +3264,7 @@ value to enable/disable UNIX socket listening support. Default value: ``false`` -##### `listen_unix_socket` +##### `listen_unix_socket` Data type: `Variant[Array[Stdlib::Absolutepath], Stdlib::Absolutepath]` @@ -2836,7 +3272,7 @@ Default unix socket for NGINX to listen with this server on. Default value: `'/var/run/nginx.sock'` -##### `listen_unix_socket_options` +##### `listen_unix_socket_options` Data type: `Optional[String]` @@ -2844,7 +3280,7 @@ Extra options for listen directive like 'default' to catchall. Default value: ``undef`` -##### `location_satisfy` +##### `location_satisfy` Data type: `Optional[Enum['any', 'all']]` @@ -2853,7 +3289,7 @@ access. Default value: ``undef`` -##### `location_allow` +##### `location_allow` Data type: `Array` @@ -2861,7 +3297,7 @@ Locations to allow connections from. Default value: `[]` -##### `location_deny` +##### `location_deny` Data type: `Array` @@ -2869,7 +3305,7 @@ Locations to deny connections from. Default value: `[]` -##### `ipv6_enable` +##### `ipv6_enable` Data type: `Boolean` @@ -2878,7 +3314,7 @@ if IPv6 support exists on your system before enabling. Default value: ``false`` -##### `ipv6_listen_ip` +##### `ipv6_listen_ip` Data type: `Variant[Array, String]` @@ -2886,7 +3322,7 @@ Default IPv6 Address for NGINX to listen with this server on. Defaults to all in Default value: `'::'` -##### `ipv6_listen_port` +##### `ipv6_listen_port` Data type: `Stdlib::Port` @@ -2894,7 +3330,7 @@ Default IPv6 Port for NGINX to listen with this server on. Defaults to TCP 80 Default value: `$listen_port` -##### `ipv6_listen_options` +##### `ipv6_listen_options` Data type: `String` @@ -2904,7 +3340,7 @@ discussed, default value is 'default'. Default value: `'default ipv6only=on'` -##### `add_header` +##### `add_header` Data type: `Hash` @@ -2913,7 +3349,7 @@ Adds headers to the HTTP response when response code is equal to 200, 204, Default value: `{}` -##### `index_files` +##### `index_files` Data type: `Array` @@ -2925,7 +3361,7 @@ Default value: `[ 'index.php', ]` -##### `autoindex` +##### `autoindex` Data type: `Optional[String]` @@ -2933,7 +3369,7 @@ Set it on 'on' or 'off 'to activate/deactivate autoindex directory listing. Default value: ``undef`` -##### `autoindex_exact_size` +##### `autoindex_exact_size` Data type: `Optional[Enum['on', 'off']]` @@ -2942,7 +3378,7 @@ filesize, or rounded to kilobytes, megabytes and gigabytes. Default value: ``undef`` -##### `autoindex_format` +##### `autoindex_format` Data type: `Optional[Enum['html', 'xml', 'json', 'jsonp']]` @@ -2950,7 +3386,7 @@ Sets the format of a directory listing. Default value: ``undef`` -##### `autoindex_localtime` +##### `autoindex_localtime` Data type: `Optional[Enum['on', 'off']]` @@ -2959,7 +3395,7 @@ local time zone or UTC. Default value: ``undef`` -##### `reset_timedout_connection` +##### `reset_timedout_connection` Data type: `Optional[Enum['on', 'off']]` @@ -2968,7 +3404,7 @@ with the non-standard code 444. Default value: ``undef`` -##### `proxy` +##### `proxy` Data type: `Optional[String]` @@ -2977,7 +3413,7 @@ value, can be used in conjunction with nginx::resource::upstream Default value: ``undef`` -##### `proxy_read_timeout` +##### `proxy_read_timeout` Data type: `String` @@ -2985,7 +3421,7 @@ Override the default proxy read timeout value of 90 seconds Default value: `$nginx::proxy_read_timeout` -##### `proxy_send_timeout` +##### `proxy_send_timeout` Data type: `String` @@ -2993,7 +3429,7 @@ Override the default proxy send timeout value of 90 seconds Default value: `$nginx::proxy_send_timeout` -##### `proxy_redirect` +##### `proxy_redirect` Data type: `Optional[String]` @@ -3001,7 +3437,7 @@ Override the default proxy_redirect value of off. Default value: ``undef`` -##### `proxy_buffering` +##### `proxy_buffering` Data type: `Optional[String]` @@ -3009,7 +3445,7 @@ If defined, sets the proxy_buffering to the passed value. Default value: ``undef`` -##### `proxy_request_buffering` +##### `proxy_request_buffering` Data type: `Optional[String]` @@ -3017,7 +3453,7 @@ If defined, sets the proxy_request_buffering to the passed value. Default value: ``undef`` -##### `proxy_max_temp_file_size` +##### `proxy_max_temp_file_size` Data type: `Optional[Nginx::Size]` @@ -3025,7 +3461,7 @@ Sets the maximum size of the temporary buffer file. Default value: ``undef`` -##### `proxy_busy_buffers_size` +##### `proxy_busy_buffers_size` Data type: `Optional[Nginx::Size]` @@ -3034,7 +3470,7 @@ client while the response is not yet fully read. Default value: ``undef`` -##### `resolver` +##### `resolver` Data type: `Array` @@ -3042,7 +3478,7 @@ Configures name servers used to resolve names of upstream servers into addresses Default value: `[]` -##### `fastcgi` +##### `fastcgi` Data type: `Optional[String]` @@ -3050,7 +3486,7 @@ location of fastcgi (host:port) Default value: ``undef`` -##### `fastcgi_param` +##### `fastcgi_param` Data type: `Any` @@ -3058,7 +3494,7 @@ Set additional custom fastcgi_params Default value: ``undef`` -##### `fastcgi_params` +##### `fastcgi_params` Data type: `String` @@ -3066,7 +3502,7 @@ optional alternative fastcgi_params file to use Default value: `"${nginx::conf_dir}/fastcgi.conf"` -##### `fastcgi_index` +##### `fastcgi_index` Data type: `Optional[String]` @@ -3074,7 +3510,7 @@ optional FastCGI index page Default value: ``undef`` -##### `fastcgi_script` +##### `fastcgi_script` Data type: `Optional[String]` @@ -3082,7 +3518,7 @@ optional SCRIPT_FILE parameter Default value: ``undef`` -##### `uwsgi_read_timeout` +##### `uwsgi_read_timeout` Data type: `Optional[String]` @@ -3090,7 +3526,7 @@ optional value for uwsgi_read_timeout Default value: ``undef`` -##### `ssl` +##### `ssl` Data type: `Boolean` @@ -3098,7 +3534,7 @@ Indicates whether to setup SSL bindings for this server. Default value: ``false`` -##### `ssl_cert` +##### `ssl_cert` Data type: `Optional[Variant[String, Boolean, Array[String]]]` @@ -3109,7 +3545,7 @@ Use an array to add multiple SSL Certificates. Default value: ``undef`` -##### `ssl_client_cert` +##### `ssl_client_cert` Data type: `Optional[String]` @@ -3118,7 +3554,7 @@ Support. This is not generated by this module. Default value: ``undef`` -##### `ssl_verify_client` +##### `ssl_verify_client` Data type: `String` @@ -3126,7 +3562,7 @@ Enables verification of client certificates. Default value: `'on'` -##### `ssl_crl` +##### `ssl_crl` Data type: `Optional[String]` @@ -3134,7 +3570,7 @@ Specifies CRL path in file system Default value: ``undef`` -##### `ssl_dhparam` +##### `ssl_dhparam` Data type: `Optional[String]` @@ -3144,7 +3580,7 @@ session keys between server and client. Default value: ``undef`` -##### `ssl_ecdh_curve` +##### `ssl_ecdh_curve` Data type: `Optional[String]` @@ -3152,7 +3588,7 @@ This directive specifies a curve for ECDHE ciphers. Default value: ``undef`` -##### `ssl_prefer_server_ciphers` +##### `ssl_prefer_server_ciphers` Data type: `Optional[Enum['on', 'off']]` @@ -3161,7 +3597,7 @@ ciphers when using the SSLv3 and TLS protocols. Default value: ``undef`` -##### `ssl_redirect` +##### `ssl_redirect` Data type: `Boolean` @@ -3170,7 +3606,7 @@ honor ssl_port if it's set. Default value: ``false`` -##### `ssl_redirect_port` +##### `ssl_redirect_port` Data type: `Optional[Integer]` @@ -3178,7 +3614,7 @@ Overrides $ssl_port in the SSL redirect set by ssl_redirect Default value: ``undef`` -##### `ssl_key` +##### `ssl_key` Data type: `Optional[Variant[String, Boolean, Array[String]]]` @@ -3189,7 +3625,7 @@ Use an array to add multiple SSL Keys. Default value: ``undef`` -##### `ssl_port` +##### `ssl_port` Data type: `Integer` @@ -3197,7 +3633,7 @@ Default IP Port for NGINX to listen with this SSL server on. Default value: `443` -##### `ssl_protocols` +##### `ssl_protocols` Data type: `Optional[String]` @@ -3205,7 +3641,7 @@ SSL protocols enabled. Defaults to 'TLSv1 TLSv1.1 TLSv1.2'. Default value: ``undef`` -##### `ssl_buffer_size` +##### `ssl_buffer_size` Data type: `Optional[String]` @@ -3213,7 +3649,7 @@ Sets the size of the buffer used for sending data. Default value: ``undef`` -##### `ssl_ciphers` +##### `ssl_ciphers` Data type: `Optional[String]` @@ -3221,7 +3657,7 @@ SSL ciphers enabled. Default value: ``undef`` -##### `ssl_stapling` +##### `ssl_stapling` Data type: `Boolean` @@ -3229,7 +3665,7 @@ Enables or disables stapling of OCSP responses by the server. Default value: ``false`` -##### `ssl_stapling_file` +##### `ssl_stapling_file` Data type: `Optional[String]` @@ -3238,7 +3674,7 @@ instead of querying the OCSP responder specified in the server certificate. Default value: ``undef`` -##### `ssl_stapling_responder` +##### `ssl_stapling_responder` Data type: `Optional[String]` @@ -3247,7 +3683,7 @@ Information Access certificate extension. Default value: ``undef`` -##### `ssl_stapling_verify` +##### `ssl_stapling_verify` Data type: `Boolean` @@ -3255,7 +3691,7 @@ Enables or disables verification of OCSP responses by the server. Defaults to fa Default value: ``false`` -##### `ssl_session_timeout` +##### `ssl_session_timeout` Data type: `Optional[String]` @@ -3264,7 +3700,7 @@ Specifies a time during which a client may reuse the session parameters stored i Default value: ``undef`` -##### `ssl_session_tickets` +##### `ssl_session_tickets` Data type: `Optional[Enum['on', 'off']]` @@ -3272,7 +3708,7 @@ Enables or disables session resumption through TLS session tickets. Default value: ``undef`` -##### `ssl_session_ticket_key` +##### `ssl_session_ticket_key` Data type: `Optional[String]` @@ -3280,7 +3716,7 @@ Sets a file with the secret key used to encrypt and decrypt TLS session tickets. Default value: ``undef`` -##### `ssl_trusted_cert` +##### `ssl_trusted_cert` Data type: `Optional[String]` @@ -3289,7 +3725,7 @@ Specifies a file with trusted CA certificates in the PEM format used to verify c Default value: ``undef`` -##### `ssl_verify_depth` +##### `ssl_verify_depth` Data type: `Optional[Integer]` @@ -3297,7 +3733,7 @@ Sets the verification depth in the client certificates chain. Default value: ``undef`` -##### `ssl_password_file` +##### `ssl_password_file` Data type: `Optional[Stdlib::Absolutepath]` @@ -3305,7 +3741,7 @@ File containing the password for the SSL Key file. Default value: ``undef`` -##### `spdy` +##### `spdy` Data type: `Enum['on', 'off']` @@ -3313,7 +3749,7 @@ Toggles SPDY protocol. Default value: `$nginx::spdy` -##### `http2` +##### `http2` Data type: `Enum['on', 'off']` @@ -3321,7 +3757,7 @@ Toggles HTTP/2 protocol. Default value: `$nginx::http2` -##### `server_name` +##### `server_name` Data type: `Array[String]` @@ -3329,7 +3765,7 @@ List of servernames for which this server will respond. Default [$name]. Default value: `[$name]` -##### `www_root` +##### `www_root` Data type: `Optional[String]` @@ -3337,7 +3773,7 @@ Specifies the location on disk for files to be read from. Cannot be set in conju Default value: ``undef`` -##### `rewrite_www_to_non_www` +##### `rewrite_www_to_non_www` Data type: `Boolean` @@ -3346,7 +3782,7 @@ Adds a server directive and rewrite rule to rewrite www.domain.com to domain.com Default value: ``false`` -##### `rewrite_non_www_to_www` +##### `rewrite_non_www_to_www` Data type: `Boolean` @@ -3355,7 +3791,7 @@ Adds a server directive and rewrite rule to rewrite domain.com to www.domain.com Default value: ``false`` -##### `try_files` +##### `try_files` Data type: `Optional[Array[String]]` @@ -3363,7 +3799,7 @@ Specifies the locations for files to be checked as an array. Cannot be used in c Default value: ``undef`` -##### `proxy_cache` +##### `proxy_cache` Data type: `Optional[String]` @@ -3371,7 +3807,7 @@ This directive sets name of zone for caching. The same zone can be used in multi Default value: ``undef`` -##### `proxy_cache_key` +##### `proxy_cache_key` Data type: `Optional[String]` @@ -3379,7 +3815,7 @@ Override the default proxy_cache_key of $scheme$proxy_host$request_uri Default value: ``undef`` -##### `proxy_cache_use_stale` +##### `proxy_cache_use_stale` Data type: `Optional[String]` @@ -3387,7 +3823,7 @@ Override the default proxy_cache_use_stale value of off. Default value: ``undef`` -##### `proxy_cache_valid` +##### `proxy_cache_valid` Data type: `Optional[Variant[Array[String], String]]` @@ -3395,7 +3831,7 @@ This directive sets the time for caching different replies. Default value: ``undef`` -##### `proxy_cache_lock` +##### `proxy_cache_lock` Data type: `Optional[Enum['on', 'off']]` @@ -3403,7 +3839,7 @@ This directive sets the locking mechanism for pouplating cache. Default value: ``undef`` -##### `proxy_cache_bypass` +##### `proxy_cache_bypass` Data type: `Optional[Variant[Array[String], String]]` @@ -3411,7 +3847,7 @@ Defines conditions which the response will not be cached Default value: ``undef`` -##### `proxy_method` +##### `proxy_method` Data type: `Optional[String]` @@ -3419,7 +3855,7 @@ If defined, overrides the HTTP method of the request to be passed to the backend Default value: ``undef`` -##### `proxy_http_version` +##### `proxy_http_version` Data type: `Optional[String]` @@ -3427,7 +3863,7 @@ Sets the proxy http version Default value: ``undef`` -##### `proxy_set_body` +##### `proxy_set_body` Data type: `Optional[String]` @@ -3435,7 +3871,7 @@ If defined, sets the body passed to the backend. Default value: ``undef`` -##### `absolute_redirect` +##### `absolute_redirect` Data type: `Optional[Enum['on', 'off']]` @@ -3443,7 +3879,7 @@ Enables or disables the absolute redirect functionality of nginx Default value: ``undef`` -##### `auth_basic` +##### `auth_basic` Data type: `Optional[String]` @@ -3451,7 +3887,7 @@ This directive includes testing name and password with HTTP Basic Authentication Default value: ``undef`` -##### `auth_basic_user_file` +##### `auth_basic_user_file` Data type: `Optional[String]` @@ -3459,7 +3895,7 @@ This directive sets the htpasswd filename for the authentication realm. Default value: ``undef`` -##### `auth_request` +##### `auth_request` Data type: `Optional[String]` @@ -3467,7 +3903,7 @@ This allows you to specify a custom auth endpoint Default value: ``undef`` -##### `client_max_body_size` +##### `client_max_body_size` Data type: `Any` @@ -3475,7 +3911,7 @@ This directive sets client_max_body_size. Default value: ``undef`` -##### `client_body_timeout` +##### `client_body_timeout` Data type: `Optional[String]` @@ -3483,7 +3919,7 @@ Sets how long the server will wait for a client body. Default is 60s Default value: ``undef`` -##### `client_header_timeout` +##### `client_header_timeout` Data type: `Optional[String]` @@ -3491,7 +3927,7 @@ Sets how long the server will wait for a client header. Default is 60s Default value: ``undef`` -##### `raw_prepend` +##### `raw_prepend` Data type: `Optional[Variant[Array[String], String]]` @@ -3501,7 +3937,7 @@ on each line that requires one. Default value: ``undef`` -##### `raw_append` +##### `raw_append` Data type: `Optional[Variant[Array[String], String]]` @@ -3511,7 +3947,7 @@ each line that requires one. Default value: ``undef`` -##### `location_raw_prepend` +##### `location_raw_prepend` Data type: `Optional[Variant[Array[String], String]]` @@ -3521,7 +3957,7 @@ semicolon on each line that requires one. Default value: ``undef`` -##### `location_raw_append` +##### `location_raw_append` Data type: `Optional[Variant[Array[String], String]]` @@ -3531,7 +3967,7 @@ each line that requires one. Default value: ``undef`` -##### `server_cfg_append` +##### `server_cfg_append` Data type: `Optional[Hash]` @@ -3539,7 +3975,7 @@ It expects a hash with custom directives to put after everything else inside ser Default value: ``undef`` -##### `server_cfg_prepend` +##### `server_cfg_prepend` Data type: `Optional[Hash]` @@ -3547,7 +3983,7 @@ It expects a hash with custom directives to put before everything else inside se Default value: ``undef`` -##### `server_cfg_ssl_append` +##### `server_cfg_ssl_append` Data type: `Optional[Hash]` @@ -3555,7 +3991,7 @@ It expects a hash with custom directives to put after everything else inside ser Default value: ``undef`` -##### `server_cfg_ssl_prepend` +##### `server_cfg_ssl_prepend` Data type: `Optional[Hash]` @@ -3563,7 +3999,7 @@ It expects a hash with custom directives to put before everything else inside se Default value: ``undef`` -##### `include_files` +##### `include_files` Data type: `Optional[Array[String]]` @@ -3571,7 +4007,7 @@ Adds include files to server Default value: ``undef`` -##### `access_log` +##### `access_log` Data type: `Optional[Variant[String, Array]]` @@ -3584,7 +4020,7 @@ server with the string 'off'. Default value: ``undef`` -##### `error_log` +##### `error_log` Data type: `Optional[Variant[String, Array]]` @@ -3594,7 +4030,7 @@ server stanza (and default to nginx.conf setting) Default value: ``undef`` -##### `passenger_cgi_param` +##### `passenger_cgi_param` Data type: `Optional[Hash]` @@ -3602,7 +4038,7 @@ Allows one to define additional CGI environment variables to pass to the backend Default value: ``undef`` -##### `passenger_set_header` +##### `passenger_set_header` Data type: `Optional[Hash]` @@ -3610,7 +4046,7 @@ Allows one to set headers to pass to the backend application (Passenger 5.0+) Default value: ``undef`` -##### `passenger_env_var` +##### `passenger_env_var` Data type: `Optional[Hash]` @@ -3618,7 +4054,7 @@ Allows one to set environment variables to pass to the backend application (Pass Default value: ``undef`` -##### `passenger_pre_start` +##### `passenger_pre_start` Data type: `Optional[Variant[Array[String], String]]` @@ -3628,7 +4064,7 @@ multiple URLs can be specified. Default value: ``undef`` -##### `log_by_lua` +##### `log_by_lua` Data type: `Optional[String]` @@ -3638,7 +4074,7 @@ after. Default value: ``undef`` -##### `log_by_lua_file` +##### `log_by_lua_file` Data type: `Optional[String]` @@ -3648,7 +4084,7 @@ release, the Lua/LuaJIT bytecode to be executed. Default value: ``undef`` -##### `gzip_types` +##### `gzip_types` Data type: `Optional[String]` @@ -3656,7 +4092,7 @@ Defines gzip_types, nginx default is text/html Default value: ``undef`` -##### `gzip_static` +##### `gzip_static` Data type: `Optional[String]` @@ -3664,7 +4100,7 @@ Defines gzip_static, nginx default is off Default value: ``undef`` -##### `owner` +##### `owner` Data type: `String` @@ -3672,7 +4108,7 @@ Defines owner of the .conf file Default value: `$nginx::global_owner` -##### `group` +##### `group` Data type: `String` @@ -3680,7 +4116,7 @@ Defines group of the .conf file Default value: `$nginx::global_group` -##### `mode` +##### `mode` Data type: `String` @@ -3688,7 +4124,7 @@ Defines mode of the .conf file Default value: `$nginx::global_mode` -##### `maintenance` +##### `maintenance` Data type: `Boolean` @@ -3696,7 +4132,7 @@ A boolean value to set a server in maintenance Default value: ``false`` -##### `maintenance_value` +##### `maintenance_value` Data type: `String` @@ -3704,7 +4140,7 @@ Value to return when maintenance is on. Default value: `'return 503'` -##### `error_pages` +##### `error_pages` Data type: `Any` @@ -3712,7 +4148,7 @@ Setup errors pages, hash key is the http code and hash value the page Default value: ``undef`` -##### `locations` +##### `locations` Data type: `Hash` @@ -3720,7 +4156,7 @@ Hash of location resources used by this server Default value: `{}` -##### `locations_defaults` +##### `locations_defaults` Data type: `Hash` @@ -3728,7 +4164,7 @@ Hash of location default settings Default value: `{}` -##### `ssl_listen_option` +##### `ssl_listen_option` Data type: `Boolean` @@ -3736,7 +4172,7 @@ Data type: `Boolean` Default value: ``true`` -##### `ssl_cache` +##### `ssl_cache` Data type: `Optional[String]` @@ -3744,7 +4180,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `proxy_connect_timeout` +##### `proxy_connect_timeout` Data type: `Any` @@ -3752,7 +4188,7 @@ Data type: `Any` Default value: `$nginx::proxy_connect_timeout` -##### `proxy_set_header` +##### `proxy_set_header` Data type: `Array[String]` @@ -3760,7 +4196,7 @@ Data type: `Array[String]` Default value: `$nginx::proxy_set_header` -##### `proxy_hide_header` +##### `proxy_hide_header` Data type: `Array[String]` @@ -3768,7 +4204,7 @@ Data type: `Array[String]` Default value: `$nginx::proxy_hide_header` -##### `proxy_pass_header` +##### `proxy_pass_header` Data type: `Array[String]` @@ -3776,7 +4212,7 @@ Data type: `Array[String]` Default value: `$nginx::proxy_pass_header` -##### `uwsgi` +##### `uwsgi` Data type: `Optional[String]` @@ -3784,7 +4220,7 @@ Data type: `Optional[String]` Default value: ``undef`` -##### `uwsgi_params` +##### `uwsgi_params` Data type: `String` @@ -3792,7 +4228,7 @@ Data type: `String` Default value: `"${nginx::config::conf_dir}/uwsgi_params"` -##### `location_custom_cfg` +##### `location_custom_cfg` Data type: `Optional[Hash]` @@ -3800,7 +4236,7 @@ Data type: `Optional[Hash]` Default value: ``undef`` -##### `location_cfg_prepend` +##### `location_cfg_prepend` Data type: `Optional[Hash]` @@ -3808,7 +4244,7 @@ Data type: `Optional[Hash]` Default value: ``undef`` -##### `location_cfg_append` +##### `location_cfg_append` Data type: `Optional[Hash]` @@ -3816,7 +4252,7 @@ Data type: `Optional[Hash]` Default value: ``undef`` -##### `location_custom_cfg_prepend` +##### `location_custom_cfg_prepend` Data type: `Optional[Hash]` @@ -3824,7 +4260,7 @@ Data type: `Optional[Hash]` Default value: ``undef`` -##### `location_custom_cfg_append` +##### `location_custom_cfg_append` Data type: `Optional[Hash]` @@ -3832,7 +4268,7 @@ Data type: `Optional[Hash]` Default value: ``undef`` -##### `format_log` +##### `format_log` Data type: `Optional[String]` @@ -3840,7 +4276,7 @@ Data type: `Optional[String]` Default value: `$nginx::http_format_log` -##### `use_default_location` +##### `use_default_location` Data type: `Any` @@ -3848,7 +4284,7 @@ Data type: `Any` Default value: ``true`` -##### `rewrite_rules` +##### `rewrite_rules` Data type: `Any` @@ -3856,7 +4292,7 @@ Data type: `Any` Default value: `[]` -##### `string_mappings` +##### `string_mappings` Data type: `Any` @@ -3864,7 +4300,7 @@ Data type: `Any` Default value: `{}` -##### `geo_mappings` +##### `geo_mappings` Data type: `Any` @@ -3872,15 +4308,21 @@ Data type: `Any` Default value: `{}` -### `nginx::resource::snippet` +### `nginx::resource::snippet` Create a reusable config snippet that can be included by other resources #### Parameters -The following parameters are available in the `nginx::resource::snippet` defined type. +The following parameters are available in the `nginx::resource::snippet` defined type: -##### `ensure` +* [`ensure`](#ensure) +* [`owner`](#owner) +* [`group`](#group) +* [`mode`](#mode) +* [`raw_content`](#raw_content) + +##### `ensure` Data type: `Enum['absent', 'present']` @@ -3888,7 +4330,7 @@ Enables or disables the specified snippet Default value: `'present'` -##### `owner` +##### `owner` Data type: `String` @@ -3896,7 +4338,7 @@ Defines owner of the .conf file Default value: `$nginx::global_owner` -##### `group` +##### `group` Data type: `String` @@ -3904,7 +4346,7 @@ Defines group of the .conf file Default value: `$nginx::global_group` -##### `mode` +##### `mode` Data type: `Stdlib::Filemode` @@ -3912,13 +4354,13 @@ Defines mode of the .conf file Default value: `$nginx::global_mode` -##### `raw_content` +##### `raw_content` Data type: `String[1]` Raw content that will be inserted into the snipped as-is -### `nginx::resource::streamhost` +### `nginx::resource::streamhost` Create a virtual steamhost @@ -3934,9 +4376,27 @@ nginx::resource::streamhost { 'test2.local': #### Parameters -The following parameters are available in the `nginx::resource::streamhost` defined type. - -##### `ensure` +The following parameters are available in the `nginx::resource::streamhost` defined type: + +* [`ensure`](#ensure) +* [`listen_ip`](#listen_ip) +* [`listen_port`](#listen_port) +* [`listen_options`](#listen_options) +* [`ipv6_enable`](#ipv6_enable) +* [`ipv6_listen_ip`](#ipv6_listen_ip) +* [`ipv6_listen_port`](#ipv6_listen_port) +* [`ipv6_listen_options`](#ipv6_listen_options) +* [`proxy`](#proxy) +* [`proxy_read_timeout`](#proxy_read_timeout) +* [`resolver`](#resolver) +* [`raw_prepend`](#raw_prepend) +* [`raw_append`](#raw_append) +* [`owner`](#owner) +* [`group`](#group) +* [`mode`](#mode) +* [`proxy_connect_timeout`](#proxy_connect_timeout) + +##### `ensure` Data type: `Enum['absent', 'present']` @@ -3944,7 +4404,7 @@ Enables or disables the specified streamhost Default value: `'present'` -##### `listen_ip` +##### `listen_ip` Data type: `Variant[Array, String]` @@ -3953,7 +4413,7 @@ all interfaces (*) Default value: `'*'` -##### `listen_port` +##### `listen_port` Data type: `Integer` @@ -3961,7 +4421,7 @@ Default TCP Port for NGINX to listen with this streamhost on. Default value: `80` -##### `listen_options` +##### `listen_options` Data type: `Optional[String]` @@ -3969,7 +4429,7 @@ Extra options for listen directive like 'default' to catchall. Default value: ``undef`` -##### `ipv6_enable` +##### `ipv6_enable` Data type: `Boolean` @@ -3978,7 +4438,7 @@ support exists on your system before enabling. Default value: ``false`` -##### `ipv6_listen_ip` +##### `ipv6_listen_ip` Data type: `Variant[Array, String]` @@ -3987,7 +4447,7 @@ to all interfaces (::) Default value: `'::'` -##### `ipv6_listen_port` +##### `ipv6_listen_port` Data type: `Integer` @@ -3995,7 +4455,7 @@ Default IPv6 Port for NGINX to listen with this streamhost on. Default value: `$listen_port` -##### `ipv6_listen_options` +##### `ipv6_listen_options` Data type: `String` @@ -4005,7 +4465,7 @@ discussed, default value is 'default'. Default value: `'default ipv6only=on'` -##### `proxy` +##### `proxy` Data type: `Any` @@ -4014,7 +4474,7 @@ value, can be used in conjunction with nginx::resource::upstream Default value: ``undef`` -##### `proxy_read_timeout` +##### `proxy_read_timeout` Data type: `String` @@ -4022,7 +4482,7 @@ Override the default the proxy read timeout value of 90 seconds Default value: `$nginx::proxy_read_timeout` -##### `resolver` +##### `resolver` Data type: `Array` @@ -4031,7 +4491,7 @@ addresses. Default value: `[]` -##### `raw_prepend` +##### `raw_prepend` Data type: `Variant[Array[String], String]` @@ -4041,7 +4501,7 @@ on each line that requires one. Default value: `[]` -##### `raw_append` +##### `raw_append` Data type: `Variant[Array[String], String]` @@ -4051,7 +4511,7 @@ each line that requires one. Default value: `[]` -##### `owner` +##### `owner` Data type: `String` @@ -4059,7 +4519,7 @@ Defines owner of the .conf file Default value: `$nginx::global_owner` -##### `group` +##### `group` Data type: `String` @@ -4067,7 +4527,7 @@ Defines group of the .conf file Default value: `$nginx::global_group` -##### `mode` +##### `mode` Data type: `String` @@ -4075,7 +4535,7 @@ Defines mode of the .conf file Default to return 503 Default value: `$nginx::global_mode` -##### `proxy_connect_timeout` +##### `proxy_connect_timeout` Data type: `Any` @@ -4083,7 +4543,7 @@ Data type: `Any` Default value: `$nginx::proxy_connect_timeout` -### `nginx::resource::upstream` +### `nginx::resource::upstream` Create a new upstream proxy entry for NGINX @@ -4137,9 +4597,31 @@ nginx::resource::upstream { 'proxypass': #### Parameters -The following parameters are available in the `nginx::resource::upstream` defined type. - -##### `ensure` +The following parameters are available in the `nginx::resource::upstream` defined type: + +* [`ensure`](#ensure) +* [`context`](#context) +* [`members`](#members) +* [`members_tag`](#members_tag) +* [`member_defaults`](#member_defaults) +* [`hash`](#hash) +* [`ip_hash`](#ip_hash) +* [`keepalive`](#keepalive) +* [`keepalive_requests`](#keepalive_requests) +* [`keepalive_timeout`](#keepalive_timeout) +* [`least_conn`](#least_conn) +* [`least_time`](#least_time) +* [`ntlm`](#ntlm) +* [`queue_max`](#queue_max) +* [`queue_timeout`](#queue_timeout) +* [`random`](#random) +* [`statefile`](#statefile) +* [`sticky`](#sticky) +* [`zone`](#zone) +* [`cfg_append`](#cfg_append) +* [`cfg_prepend`](#cfg_prepend) + +##### `ensure` Data type: `Enum['present', 'absent']` @@ -4147,7 +4629,7 @@ Enables or disables the specified location Default value: `'present'` -##### `context` +##### `context` Data type: `Enum['http', 'stream']` @@ -4155,7 +4637,7 @@ Set the type of this upstream. Default value: `'http'` -##### `members` +##### `members` Data type: `Nginx::UpstreamMembers` @@ -4165,7 +4647,7 @@ nginx::resource::upstream::member Default value: `{}` -##### `members_tag` +##### `members_tag` Data type: `Optional[String[1]]` @@ -4173,7 +4655,7 @@ Restrict collecting the exported members for this upstream with a tag. Default value: ``undef`` -##### `member_defaults` +##### `member_defaults` Data type: `Nginx::UpstreamMemberDefaults` @@ -4181,7 +4663,7 @@ Specify default settings added to each member of this upstream. Default value: `{}` -##### `hash` +##### `hash` Data type: `Optional[String[1]]` @@ -4190,7 +4672,7 @@ Activate the hash load balancing method Default value: ``undef`` -##### `ip_hash` +##### `ip_hash` Data type: `Boolean` @@ -4199,7 +4681,7 @@ Activate ip_hash for this upstream Default value: ``false`` -##### `keepalive` +##### `keepalive` Data type: `Optional[Integer[1]]` @@ -4208,7 +4690,7 @@ Set the maximum number of idle keepalive connections Default value: ``undef`` -##### `keepalive_requests` +##### `keepalive_requests` Data type: `Optional[Integer[1]]` @@ -4218,7 +4700,7 @@ keepalive connection Default value: ``undef`` -##### `keepalive_timeout` +##### `keepalive_timeout` Data type: `Optional[Nginx::Time]` @@ -4228,7 +4710,7 @@ server will stay open Default value: ``undef`` -##### `least_conn` +##### `least_conn` Data type: `Boolean` @@ -4237,7 +4719,7 @@ Activate the least_conn load balancing method Default value: ``false`` -##### `least_time` +##### `least_time` Data type: `Optional[Nginx::UpstreamLeastTime]` @@ -4246,7 +4728,7 @@ Activate the least_time load balancing method Default value: ``undef`` -##### `ntlm` +##### `ntlm` Data type: `Boolean` @@ -4255,7 +4737,7 @@ Allow NTLM authentication Default value: ``false`` -##### `queue_max` +##### `queue_max` Data type: `Optional[Integer]` @@ -4264,7 +4746,7 @@ Set the maximum number of queued requests Default value: ``undef`` -##### `queue_timeout` +##### `queue_timeout` Data type: `Optional[Nginx::Time]` @@ -4273,7 +4755,7 @@ Set the timeout for the queue Default value: ``undef`` -##### `random` +##### `random` Data type: `Optional[String[1]]` @@ -4282,7 +4764,7 @@ Activate the random load balancing method Default value: ``undef`` -##### `statefile` +##### `statefile` Data type: `Optional[Stdlib::Unixpath]` @@ -4291,7 +4773,7 @@ Specifies a file that keeps the state of the dynamically configurable group Default value: ``undef`` -##### `sticky` +##### `sticky` Data type: `Optional[Nginx::UpstreamSticky]` @@ -4300,7 +4782,7 @@ Enables session affinity Default value: ``undef`` -##### `zone` +##### `zone` Data type: `Optional[Nginx::UpstreamZone]` @@ -4309,7 +4791,7 @@ Defines the name and optional the size of the shared memory zone Default value: ``undef`` -##### `cfg_append` +##### `cfg_append` Data type: `Nginx::UpstreamCustomParameters` @@ -4317,7 +4799,7 @@ Hash of custom directives to put after other directives in upstream Default value: `{}` -##### `cfg_prepend` +##### `cfg_prepend` Data type: `Nginx::UpstreamCustomParameters` @@ -4326,7 +4808,7 @@ upstream Default value: `{}` -### `nginx::resource::upstream::member` +### `nginx::resource::upstream::member` Export this resource in all upstream member servers and collect them on the NGINX server. Exporting resources requires storeconfigs on the Puppetserver @@ -4355,15 +4837,34 @@ nginx::resource::upstream { 'proxypass': #### Parameters -The following parameters are available in the `nginx::resource::upstream::member` defined type. - -##### `upstream` +The following parameters are available in the `nginx::resource::upstream::member` defined type: + +* [`upstream`](#upstream) +* [`ensure`](#ensure) +* [`context`](#context) +* [`server`](#server) +* [`port`](#port) +* [`weight`](#weight) +* [`max_conns`](#max_conns) +* [`max_fails`](#max_fails) +* [`fail_timeout`](#fail_timeout) +* [`backup`](#backup) +* [`resolve`](#resolve) +* [`route`](#route) +* [`service`](#service) +* [`slow_start`](#slow_start) +* [`state`](#state) +* [`params_prepend`](#params_prepend) +* [`params_append`](#params_append) +* [`comment`](#comment) + +##### `upstream` Data type: `String[1]` The name of the upstream resource -##### `ensure` +##### `ensure` Data type: `Enum['present', 'absent']` @@ -4371,7 +4872,7 @@ Enables or disables the specified member Default value: `'present'` -##### `context` +##### `context` Data type: `Enum['http', 'stream']` @@ -4379,7 +4880,7 @@ Set the type of this upstream Default value: `'http'` -##### `server` +##### `server` Data type: `Optional[Nginx::UpstreamMemberServer]` @@ -4387,7 +4888,7 @@ Hostname or IP of the upstream member server Default value: `$name` -##### `port` +##### `port` Data type: `Stdlib::Port` @@ -4395,7 +4896,7 @@ Port of the listening service on the upstream member Default value: `80` -##### `weight` +##### `weight` Data type: `Optional[Integer[1]]` @@ -4403,7 +4904,7 @@ Set the weight for this upstream member Default value: ``undef`` -##### `max_conns` +##### `max_conns` Data type: `Optional[Integer[1]]` @@ -4411,7 +4912,7 @@ Set the max_conns for this upstream member Default value: ``undef`` -##### `max_fails` +##### `max_fails` Data type: `Optional[Integer[0]]` @@ -4419,7 +4920,7 @@ Set the max_fails for this upstream member Default value: ``undef`` -##### `fail_timeout` +##### `fail_timeout` Data type: `Optional[Nginx::Time]` @@ -4427,7 +4928,7 @@ Set the fail_timeout for this upstream member Default value: ``undef`` -##### `backup` +##### `backup` Data type: `Boolean` @@ -4435,7 +4936,7 @@ Activate backup for this upstream member Default value: ``false`` -##### `resolve` +##### `resolve` Data type: `Boolean` @@ -4443,7 +4944,7 @@ Activate resolve for this upstream member Default value: ``false`` -##### `route` +##### `route` Data type: `Optional[String[1]]` @@ -4451,7 +4952,7 @@ Set the route for this upstream member Default value: ``undef`` -##### `service` +##### `service` Data type: `Optional[String[1]]` @@ -4459,7 +4960,7 @@ Set the service for this upstream member Default value: ``undef`` -##### `slow_start` +##### `slow_start` Data type: `Optional[Nginx::Time]` @@ -4467,7 +4968,7 @@ Set the slow_start for this upstream member Default value: ``undef`` -##### `state` +##### `state` Data type: `Optional[Enum['drain','down']]` @@ -4475,7 +4976,7 @@ Set the state for this upstream member Default value: ``undef`` -##### `params_prepend` +##### `params_prepend` Data type: `Optional[String[1]]` @@ -4483,7 +4984,7 @@ prepend a parameter for this upstream member Default value: ``undef`` -##### `params_append` +##### `params_append` Data type: `Optional[String[1]]` @@ -4491,7 +4992,7 @@ append a paremeter for this upstream member Default value: ``undef`` -##### `comment` +##### `comment` Data type: `Optional[String[1]]` @@ -4501,35 +5002,54 @@ Default value: ``undef`` ## Data types -### `Nginx::DebugConnection` +### `Nginx::DebugConnection` The Nginx::DebugConnection data type. -Alias of `Variant[Stdlib::Host, Stdlib::IP::Address, Enum['unix:']]` +Alias of -### `Nginx::ErrorLogSeverity` +```puppet +Variant[Stdlib::Host, Stdlib::IP::Address, Enum['unix:']] +``` + +### `Nginx::ErrorLogSeverity` The Nginx::ErrorLogSeverity data type. -Alias of `Enum['debug', 'info', 'notice', 'warn', 'error', 'crit', 'alert', 'emerg']` +Alias of -### `Nginx::Size` +```puppet +Enum['debug', 'info', 'notice', 'warn', 'error', 'crit', 'alert', 'emerg'] +``` + +### `Nginx::Size` The Nginx::Size data type. -Alias of `Pattern[/^\d+[k|K|m|M]?$/]` +Alias of + +```puppet +Pattern[/^\d+[k|K|m|M]?$/] +``` -### `Nginx::Time` +### `Nginx::Time` The Nginx::Time data type. -Alias of `Pattern[/^\d+(ms|s|m|h|d|w|M|y)?$/]` +Alias of + +```puppet +Pattern[/^\d+(ms|s|m|h|d|w|M|y)?$/] +``` -### `Nginx::UpstreamCustomParameters` +### `Nginx::UpstreamCustomParameters` The Nginx::UpstreamCustomParameters data type. -Alias of `Hash[String[1], Variant[ +Alias of + +```puppet +Hash[String[1], Variant[ String[1], Integer, Array[ @@ -4550,13 +5070,17 @@ Alias of `Hash[String[1], Variant[ ] ] ] - ]]` + ]] +``` -### `Nginx::UpstreamDefaults` +### `Nginx::UpstreamDefaults` The Nginx::UpstreamDefaults data type. -Alias of `Struct[{ +Alias of + +```puppet +Struct[{ context => Optional[Enum['http', 'stream']], member_defaults => Optional[Nginx::UpstreamMemberDefaults], hash => Optional[String], @@ -4575,31 +5099,47 @@ Alias of `Struct[{ zone => Optional[Nginx::UpstreamZone], cfg_append => Optional[Hash], cfg_prepend => Optional[Hash], -}]` +}] +``` -### `Nginx::UpstreamLeastTime` +### `Nginx::UpstreamLeastTime` The Nginx::UpstreamLeastTime data type. -Alias of `Variant[Nginx::UpstreamLeastTimeHttp, Nginx::UpstreamLeastTimeStream]` +Alias of + +```puppet +Variant[Nginx::UpstreamLeastTimeHttp, Nginx::UpstreamLeastTimeStream] +``` -### `Nginx::UpstreamLeastTimeHttp` +### `Nginx::UpstreamLeastTimeHttp` The Nginx::UpstreamLeastTimeHttp data type. -Alias of `Enum['header', 'header inflight', 'last_byte', 'last_byte inflight']` +Alias of + +```puppet +Enum['header', 'header inflight', 'last_byte', 'last_byte inflight'] +``` -### `Nginx::UpstreamLeastTimeStream` +### `Nginx::UpstreamLeastTimeStream` The Nginx::UpstreamLeastTimeStream data type. -Alias of `Enum['connect', 'connect inflight', 'first_byte', 'first_byte inflight', 'last_byte', 'last_byte inflight']` +Alias of + +```puppet +Enum['connect', 'connect inflight', 'first_byte', 'first_byte inflight', 'last_byte', 'last_byte inflight'] +``` -### `Nginx::UpstreamMember` +### `Nginx::UpstreamMember` The Nginx::UpstreamMember data type. -Alias of `Struct[{ +Alias of + +```puppet +Struct[{ server => Optional[Nginx::UpstreamMemberServer], port => Optional[Stdlib::Port], weight => Optional[Integer[1]], @@ -4615,13 +5155,17 @@ Alias of `Struct[{ params_prepend => Optional[String], params_append => Optional[String], comment => Optional[String], -}]` +}] +``` -### `Nginx::UpstreamMemberDefaults` +### `Nginx::UpstreamMemberDefaults` The Nginx::UpstreamMemberDefaults data type. -Alias of `Struct[{ +Alias of + +```puppet +Struct[{ server => Optional[Nginx::UpstreamMemberServer], port => Optional[Stdlib::Port], weight => Optional[Integer[1]], @@ -4636,25 +5180,37 @@ Alias of `Struct[{ state => Optional[Enum['drain','down']], params_prepend => Optional[String], params_append => Optional[String], -}]` +}] +``` -### `Nginx::UpstreamMemberServer` +### `Nginx::UpstreamMemberServer` The Nginx::UpstreamMemberServer data type. -Alias of `Variant[Stdlib::Host, Pattern[/^unix:\/([^\/\0]+\/*)[^:]*$/]]` +Alias of -### `Nginx::UpstreamMembers` +```puppet +Variant[Stdlib::Host, Pattern[/^unix:\/([^\/\0]+\/*)[^:]*$/]] +``` + +### `Nginx::UpstreamMembers` The Nginx::UpstreamMembers data type. -Alias of `Hash[String, Nginx::UpstreamMember]` +Alias of -### `Nginx::UpstreamSticky` +```puppet +Hash[String, Nginx::UpstreamMember] +``` + +### `Nginx::UpstreamSticky` The Nginx::UpstreamSticky data type. -Alias of `Variant[Hash[ +Alias of + +```puppet +Variant[Hash[ Enum['cookie'], Struct[{ name => String, @@ -4677,17 +5233,26 @@ Alias of `Variant[Hash[ header => Optional[Boolean], sync => Optional[Boolean], }] - ]]` + ]] +``` -### `Nginx::UpstreamStickyZone` +### `Nginx::UpstreamStickyZone` The Nginx::UpstreamStickyZone data type. -Alias of `Pattern[/^[-_\.A-Za-z0-9]*:\d+[k|K|m|M]$/]` +Alias of + +```puppet +Pattern[/^[-_\.A-Za-z0-9]*:\d+[k|K|m|M]$/] +``` -### `Nginx::UpstreamZone` +### `Nginx::UpstreamZone` The Nginx::UpstreamZone data type. -Alias of `Pattern[/^[-_\.A-Za-z0-9]* \d+[k|K|m|M]$/]` +Alias of + +```puppet +Pattern[/^[-_\.A-Za-z0-9]* \d+[k|K|m|M]$/] +``` diff --git a/Rakefile b/Rakefile index d1bf74911..80b799d63 100644 --- a/Rakefile +++ b/Rakefile @@ -1,9 +1,22 @@ +# Managed by modulesync - DO NOT EDIT +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ + # Attempt to load voxupuli-test (which pulls in puppetlabs_spec_helper), # otherwise attempt to load it directly. begin require 'voxpupuli/test/rake' rescue LoadError - require 'puppetlabs_spec_helper/rake_tasks' + begin + require 'puppetlabs_spec_helper/rake_tasks' + rescue LoadError + end +end + +# load optional tasks for acceptance +# only available if gem group releases is installed +begin + require 'voxpupuli/acceptance/rake' +rescue LoadError end # load optional tasks for releases @@ -34,14 +47,12 @@ begin require 'github_changelog_generator/task' require 'puppet_blacksmith' GitHubChangelogGenerator::RakeTask.new :changelog do |config| - version = (Blacksmith::Modulefile.new).version - config.future_release = "v#{version}" if version =~ /^\d+\.\d+.\d+$/ + metadata = Blacksmith::Modulefile.new + config.future_release = "v#{metadata.version}" if metadata.version =~ /^\d+\.\d+.\d+$/ config.header = "# Changelog\n\nAll notable changes to this project will be documented in this file.\nEach new release typically also includes the latest modulesync defaults.\nThese should not affect the functionality of the module." config.exclude_labels = %w{duplicate question invalid wontfix wont-fix modulesync skip-changelog} config.user = 'voxpupuli' - metadata_json = File.join(File.dirname(__FILE__), 'metadata.json') - metadata = JSON.load(File.read(metadata_json)) - config.project = metadata['name'] + config.project = metadata.metadata['name'] end # Workaround for https://github.com/github-changelog-generator/github-changelog-generator/issues/715 diff --git a/manifests/config.pp b/manifests/config.pp index 4de9c5b34..84cd151c6 100644 --- a/manifests/config.pp +++ b/manifests/config.pp @@ -26,7 +26,6 @@ $pid = $nginx::pid $proxy_temp_path = $nginx::proxy_temp_path $root_group = $nginx::root_group - $run_dir = $nginx::run_dir $sites_available_owner = $nginx::sites_available_owner $sites_available_group = $nginx::sites_available_group $sites_available_mode = $nginx::sites_available_mode @@ -189,11 +188,6 @@ } } - file { $run_dir: - ensure => directory, - mode => '0644', - } - if $nginx::manage_snippets_dir { file { $nginx::snippets_dir: ensure => directory, @@ -223,6 +217,28 @@ } } + if $fastcgi_cache_path { + file { $fastcgi_cache_path: + ensure => directory, + owner => $daemon_user, + mode => '0700', + } + } + + if $proxy_cache_path =~ Hash { + file { $proxy_cache_path.keys(): + ensure => directory, + owner => $daemon_user, + mode => '0700', + } + } elsif $proxy_cache_path =~ String { + file { $proxy_cache_path: + ensure => directory, + owner => $daemon_user, + mode => '0700', + } + } + unless $confd_only { file { "${conf_dir}/sites-available": ensure => directory, diff --git a/manifests/init.pp b/manifests/init.pp index 05b20b2c8..04b0442c5 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -38,9 +38,15 @@ # Enables or disables resetting timed out connections and connections closed # with the non-standard code 444. # +# @param nginx_snippets +# Specifies a hash from which to generate `nginx::resource::snippet` resources. +# +# @param nginx_snippets_defaults +# Can be used to define default values for the parameter `nginx_snippets`. +# class nginx ( ### START Nginx Configuration ### - Variant[Stdlib::Absolutepath, Boolean] $client_body_temp_path = $nginx::params::client_body_temp_path, + Optional[Stdlib::Absolutepath] $client_body_temp_path = undef, Boolean $confd_only = false, Boolean $confd_purge = false, $conf_dir = $nginx::params::conf_dir, @@ -61,9 +67,8 @@ Variant[String, Array[String]] $nginx_error_log = "${log_dir}/${nginx::params::nginx_error_log_file}", Nginx::ErrorLogSeverity $nginx_error_log_severity = 'error', $pid = $nginx::params::pid, - Variant[Stdlib::Absolutepath, Boolean] $proxy_temp_path = $nginx::params::proxy_temp_path, + Optional[Stdlib::Absolutepath] $proxy_temp_path = undef, $root_group = $nginx::params::root_group, - $run_dir = $nginx::params::run_dir, $sites_available_owner = $nginx::params::sites_available_owner, $sites_available_group = $nginx::params::sites_available_group, $sites_available_mode = $nginx::params::sites_available_mode, @@ -145,6 +150,8 @@ 'Host $host', 'X-Real-IP $remote_addr', 'X-Forwarded-For $proxy_add_x_forwarded_for', + 'X-Forwarded-Host $host', + 'X-Forwarded-Proto $scheme', 'Proxy ""', ], Array $proxy_hide_header = [], @@ -215,6 +222,8 @@ Hash $geo_mappings_defaults = {}, Hash $string_mappings = {}, Hash $string_mappings_defaults = {}, + Hash $nginx_snippets = {}, + Hash $nginx_snippets_defaults = {}, Hash $nginx_locations = {}, Hash $nginx_locations_defaults = {}, Hash $nginx_mailhosts = {}, @@ -235,6 +244,7 @@ contain 'nginx::service' create_resources( 'nginx::resource::geo', $geo_mappings, $geo_mappings_defaults ) + create_resources( 'nginx::resource::snippet', $nginx_snippets, $nginx_snippets_defaults ) create_resources( 'nginx::resource::location', $nginx_locations, $nginx_locations_defaults ) create_resources( 'nginx::resource::mailhost', $nginx_mailhosts, $nginx_mailhosts_defaults ) create_resources( 'nginx::resource::map', $string_mappings, $string_mappings_defaults ) diff --git a/manifests/params.pp b/manifests/params.pp index 1bfec883f..2699445f8 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -12,7 +12,6 @@ 'log_user' => 'nginx', 'log_group' => 'root', 'log_mode' => '0750', - 'run_dir' => '/var/nginx', 'package_name' => 'nginx', 'passenger_package_name' => 'passenger', 'manage_repo' => false, @@ -31,6 +30,7 @@ 'text/vnd.sun.j2me.app-descriptor' => 'jad', 'text/vnd.wap.wml' => 'wml', 'text/x-component' => 'htc', + 'image/avif' => 'avif', 'image/png' => 'png', 'image/tiff' => 'tif tiff', 'image/vnd.wap.wbmp' => 'wbmp', @@ -39,7 +39,8 @@ 'image/x-ms-bmp' => 'bmp', 'image/svg+xml' => 'svg svgz', 'image/webp' => 'webp', - 'application/font-woff' => 'woff', + 'font/woff' => 'woff', + 'font/woff2' => 'woff2', 'application/java-archive' => 'jar war ear', 'application/json' => 'json', 'application/mac-binhex40' => 'hqx', @@ -51,9 +52,14 @@ 'application/vnd.ms-excel' => 'xls', 'application/vnd.ms-fontobject' => 'eot', 'application/vnd.ms-powerpoint' => 'ppt', + 'application/vnd.oasis.opendocument.graphics' => 'odg', + 'application/vnd.oasis.opendocument.presentation' => 'odp', + 'application/vnd.oasis.opendocument.spreadsheet' => 'ods', + 'application/vnd.oasis.opendocument.text' => 'odt', 'application/vnd.wap.wmlc' => 'wmlc', 'application/vnd.google-earth.kml+xml' => 'kml', 'application/vnd.google-earth.kmz' => 'kmz', + 'application/wasm' => 'wasm', 'application/x-7z-compressed' => '7z', 'application/x-cocoa' => 'cco', 'application/x-java-archive-diff' => 'jardiff', @@ -113,7 +119,6 @@ 'log_user' => 'root', 'log_group' => 'adm', 'log_mode' => '0755', - 'run_dir' => '/run/nginx', } # The following was designed/tested on Ubuntu 18 and Debian 9/10 but probably works on newer versions as well } else { @@ -123,7 +128,6 @@ 'log_user' => 'root', 'log_group' => 'adm', 'log_mode' => '0755', - 'run_dir' => '/run/nginx', 'passenger_package_name' => 'libnginx-mod-http-passenger', 'include_modules_enabled' => true, } @@ -180,7 +184,6 @@ 'log_dir' => '/var/www/logs', 'log_user' => 'www', 'log_group' => 'wheel', - 'run_dir' => '/var/www', } } 'AIX': { @@ -190,7 +193,6 @@ 'conf_dir' => '/opt/freeware/etc/nginx/', 'log_dir' => '/opt/freeware/var/log/nginx/', 'log_group' => 'system', - 'run_dir' => '/opt/freeware/share/nginx/html', } } default: { @@ -211,12 +213,10 @@ $log_user = $_module_parameters['log_user'] $log_group = $_module_parameters['log_group'] $log_mode = $_module_parameters['log_mode'] - $run_dir = $_module_parameters['run_dir'] $temp_dir = '/tmp' $pid = $_module_parameters['pid'] $include_modules_enabled = $_module_parameters['include_modules_enabled'] - $client_body_temp_path = "${run_dir}/client_body_temp" $daemon_user = $_module_parameters['daemon_user'] $global_owner = 'root' $global_group = $_module_parameters['root_group'] @@ -228,7 +228,6 @@ $root_group = $_module_parameters['root_group'] $package_name = $_module_parameters['package_name'] $passenger_package_name = $_module_parameters['passenger_package_name'] - $proxy_temp_path = "${run_dir}/proxy_temp" $sites_available_owner = 'root' $sites_available_group = $_module_parameters['root_group'] $sites_available_mode = '0644' diff --git a/manifests/resource/mailhost.pp b/manifests/resource/mailhost.pp index f34ed6702..b17e78a47 100644 --- a/manifests/resource/mailhost.pp +++ b/manifests/resource/mailhost.pp @@ -153,7 +153,7 @@ Optional[String] $ssl_trusted_cert = undef, Optional[Integer] $ssl_verify_depth = undef, Enum['on', 'off', 'only'] $starttls = 'off', - Optional[Enum['imap', 'pop3', 'smtp']] $protocol = undef, + Optional[Enum['imap', 'pop3', 'sieve', 'smtp']] $protocol = undef, Optional[String] $auth_http = undef, Optional[String] $auth_http_header = undef, Enum['on', 'off'] $xclient = 'on', diff --git a/metadata.json b/metadata.json index 83ae67b67..182aa78b9 100644 --- a/metadata.json +++ b/metadata.json @@ -1,6 +1,6 @@ { "name": "puppet-nginx", - "version": "3.2.1-rc0", + "version": "3.3.1-rc0", "author": "Vox Pupuli", "summary": "Puppet NGINX management module", "license": "MIT", @@ -14,7 +14,7 @@ }, { "name": "puppetlabs/stdlib", - "version_requirement": ">= 5.0.0 < 8.0.0" + "version_requirement": ">= 5.0.0 < 9.0.0" } ], "requirements": [ diff --git a/spec/acceptance/init_spec.rb b/spec/acceptance/init_spec.rb index 7b39cdd44..64ada1ca7 100644 --- a/spec/acceptance/init_spec.rb +++ b/spec/acceptance/init_spec.rb @@ -4,7 +4,14 @@ context 'default parameters' do # Using puppet_apply as a helper it 'works idempotently with no errors' do - pp = 'include nginx' + pp = " + include nginx + + nginx::resource::server { 'example.com': + ensure => present, + www_root => '/var/www/html', + } + " # Run it twice and test for idempotency apply_manifest(pp, catch_failures: true) @@ -35,7 +42,16 @@ context 'with service_config_check true' do # Using puppet_apply as a helper it 'works idempotently with no errors' do - pp = "class { 'nginx': service_config_check => true, }" + pp = " + class { 'nginx': + service_config_check => true, + } + + nginx::resource::server { 'example.com': + ensure => present, + www_root => '/var/www/html', + } + " # Run it twice and test for idempotency apply_manifest(pp, catch_failures: true) diff --git a/spec/acceptance/nginx_mail_spec.rb b/spec/acceptance/nginx_mail_spec.rb index 93b2070c6..cbca9675f 100644 --- a/spec/acceptance/nginx_mail_spec.rb +++ b/spec/acceptance/nginx_mail_spec.rb @@ -3,8 +3,18 @@ describe 'nginx::resource::mailhost define:' do it 'runs successfully' do pp = " + if fact('os.family') == 'RedHat' { + package { 'nginx-mod-mail': + ensure => installed, + } + } + class { 'nginx': - mail => true, + mail => true, + dynamic_modules => fact('os.family') ? { + 'RedHat' => ['/usr/lib64/nginx/modules/ngx_mail_module.so'], + default => [], + } } nginx::resource::mailhost { 'domain1.example': ensure => present, @@ -39,9 +49,19 @@ class { 'nginx': context 'when configured for nginx 1.14' do it 'runs successfully' do pp = " + if fact('os.family') == 'RedHat' { + package { 'nginx-mod-mail': + ensure => installed, + } + } + class { 'nginx': - mail => true, - nginx_version => '1.14.0', + mail => true, + nginx_version => '1.14.0', + dynamic_modules => fact('os.family') ? { + 'RedHat' => ['/usr/lib64/nginx/modules/ngx_mail_module.so'], + default => [], + } } nginx::resource::mailhost { 'domain1.example': ensure => present, diff --git a/spec/classes/nginx_spec.rb b/spec/classes/nginx_spec.rb index 69437bee3..91ff37309 100644 --- a/spec/classes/nginx_spec.rb +++ b/spec/classes/nginx_spec.rb @@ -319,56 +319,6 @@ mode: '0644' ) end - it do - case facts[:osfamily] - when 'Debian' - is_expected.to contain_file('/run/nginx').with( - ensure: 'directory', - owner: 'root', - group: 'root', - mode: '0644' - ) - else - is_expected.to contain_file('/var/nginx').with( - ensure: 'directory', - owner: 'root', - group: 'root', - mode: '0644' - ) - end - end - it do - case facts[:osfamily] - when 'Debian' - is_expected.to contain_file('/run/nginx/client_body_temp').with( - ensure: 'directory', - group: 'root', - mode: '0700' - ) - else - is_expected.to contain_file('/var/nginx/client_body_temp').with( - ensure: 'directory', - group: 'root', - mode: '0700' - ) - end - end - it do - case facts[:osfamily] - when 'Debian' - is_expected.to contain_file('/run/nginx/proxy_temp').with( - ensure: 'directory', - group: 'root', - mode: '0700' - ) - else - is_expected.to contain_file('/var/nginx/proxy_temp').with( - ensure: 'directory', - group: 'root', - mode: '0700' - ) - end - end it do is_expected.to contain_file('/etc/nginx/nginx.conf').with( ensure: 'file', @@ -401,8 +351,6 @@ end case facts[:osfamily] when 'RedHat' - it { is_expected.to contain_file('/var/nginx/client_body_temp').with(owner: 'nginx') } - it { is_expected.to contain_file('/var/nginx/proxy_temp').with(owner: 'nginx') } it { is_expected.to contain_file('/etc/nginx/nginx.conf').with_content %r{^user nginx;} } it do is_expected.to contain_file('/var/log/nginx').with( @@ -413,8 +361,6 @@ ) end when 'Debian' - it { is_expected.to contain_file('/run/nginx/client_body_temp').with(owner: 'www-data') } - it { is_expected.to contain_file('/run/nginx/proxy_temp').with(owner: 'www-data') } it { is_expected.to contain_file('/etc/nginx/nginx.conf').with_content %r{^user www-data;} } it do is_expected.to contain_file('/var/log/nginx').with( @@ -746,6 +692,12 @@ value: '/path/to/proxy.cache', match: %r{\s+proxy_cache_path\s+/path/to/proxy.cache levels=1 keys_zone=d2:100m max_size=500m inactive=20m;} }, + { + title: 'should set proxy_cache_path from hash', + attr: 'proxy_cache_path', + value: { '/path/to/proxy.cache' => 'd2:100m' }, + match: %r{\s+proxy_cache_path\s+/path/to/proxy.cache levels=1 keys_zone=d2:100m max_size=500m inactive=20m;} + }, { title: 'should set fastcgi_cache_path', attr: 'fastcgi_cache_path', @@ -1142,6 +1094,17 @@ expect(lines & Array(param[:match])).to eq(Array(param[:match])) end + # if we have a _path attribute make sure we create the path + if param[:attr].end_with?('_path') + if param[:value].is_a?(Hash) + param[:value].keys.each do |path| + is_expected.to contain_file(path).with_ensure('directory') + end + else + is_expected.to contain_file(param[:value]).with_ensure('directory') + end + end + Array(param[:notmatch]).each do |item| is_expected.to contain_file('/etc/nginx/nginx.conf').without_content(item) end @@ -1396,14 +1359,6 @@ context 'when daemon_user = www-data' do let(:params) { { daemon_user: 'www-data' } } - case facts[:osfamily] - when 'Debian' - it { is_expected.to contain_file('/run/nginx/client_body_temp').with(owner: 'www-data') } - it { is_expected.to contain_file('/run/nginx/proxy_temp').with(owner: 'www-data') } - else - it { is_expected.to contain_file('/var/nginx/client_body_temp').with(owner: 'www-data') } - it { is_expected.to contain_file('/var/nginx/proxy_temp').with(owner: 'www-data') } - end it { is_expected.to contain_file('/etc/nginx/nginx.conf').with_content %r{^user www-data;} } end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index d266f6b47..fb5f0cbea 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,6 +1,5 @@ -# This file is managed via modulesync -# https://github.com/voxpupuli/modulesync -# https://github.com/voxpupuli/modulesync_config +# Managed by modulesync - DO NOT EDIT +# https://voxpupuli.org/docs/updating-files-managed-with-modulesync/ # puppetlabs_spec_helper will set up coverage if the env variable is set. # We want to do this if lib exists and it hasn't been explicitly set. diff --git a/templates/conf.d/nginx.conf.erb b/templates/conf.d/nginx.conf.erb index 85f364980..c19557ed3 100644 --- a/templates/conf.d/nginx.conf.erb +++ b/templates/conf.d/nginx.conf.erb @@ -216,7 +216,7 @@ http { <% end -%> <% if @proxy_cache_path.is_a?(Hash) -%> <% @proxy_cache_path.sort_by{|k,v| k}.each do |key,value| -%> - proxy_cache_path <%= key %> keys_zone=<%= value %> levels=<%= @proxy_cache_levels %> max_size=<%= @proxy_cache_max_size %> inactive=<%= @proxy_cache_inactive -%> + proxy_cache_path <%= key %> levels=<%= @proxy_cache_levels %> keys_zone=<%= value %> max_size=<%= @proxy_cache_max_size %> inactive=<%= @proxy_cache_inactive -%> <%- if @proxy_use_temp_path %> use_temp_path=<%= @proxy_use_temp_path %><% end -%> <%- if @proxy_cache_loader_files %> loader_files=<%= @proxy_cache_loader_files %><% end -%> <%- if @proxy_cache_loader_sleep %> loader_sleep=<%= @proxy_cache_loader_sleep %><% end -%>