Puppet Class: apache::mod::http2

Defined in:
manifests/mod/http2.pp

Summary

Installs and configures `mod_http2`.

Overview

Parameters:

  • h2_copy_files (Optional[Boolean]) (defaults to: undef)

    Determine file handling in responses.

  • h2_direct (Optional[Boolean]) (defaults to: undef)

    H2 Direct Protocol Switch.

  • h2_early_hints (Optional[Boolean]) (defaults to: undef)

    Determine sending of 103 status codes.

  • h2_max_session_streams (Optional[Integer]) (defaults to: undef)

    Sets maximum number of active streams per HTTP/2 session.

  • h2_max_worker_idle_seconds (Optional[Integer]) (defaults to: undef)

    Sets maximum number of seconds h2 workers remain idle until shut down.

  • h2_max_workers (Optional[Integer]) (defaults to: undef)

    Sets maximum number of worker threads to use per child process.

  • h2_min_workers (Optional[Integer]) (defaults to: undef)

    Sets minimal number of worker threads to use per child process.

  • h2_modern_tls_only (Optional[Boolean]) (defaults to: undef)

    Toggles the security checks on HTTP/2 connections in TLS mode

  • h2_push (Optional[Boolean]) (defaults to: undef)

    Toggles the usage of the HTTP/2 server push protocol feature.

  • h2_push_diary_size (Optional[Integer]) (defaults to: undef)

    Sets maximum number of HTTP/2 server pushes that are remembered per HTTP/2 connection.

  • h2_push_priority (Array[String]) (defaults to: [])

    Require HTTP/2 connections to be “modern TLS” only

  • h2_push_resource (Array[String]) (defaults to: [])

    When added to a directory/location, HTTP/2 PUSHes will be attempted for all paths added via this directive

  • h2_serialize_headers (Optional[Boolean]) (defaults to: undef)

    Toggles if HTTP/2 requests shall be serialized in HTTP/1.1 format for processing by httpd core or if received binary data shall be passed into the request_recs directly.

  • h2_stream_max_mem_size (Optional[Integer]) (defaults to: undef)

    Sets the maximum number of outgoing data bytes buffered in memory for an active streams.

  • h2_tls_cool_down_secs (Optional[Integer]) (defaults to: undef)

    Sets the number of seconds of idle time on a TLS connection before the TLS write size falls back to small (~1300 bytes) length.

  • h2_tls_warm_up_size (Optional[Integer]) (defaults to: undef)

    Sets the number of bytes to be sent in small TLS records (~1300 bytes) until doing maximum sized writes (16k) on https: HTTP/2 connections.

  • h2_upgrade (Optional[Boolean]) (defaults to: undef)

    Toggles the usage of the HTTP/1.1 Upgrade method for switching to HTTP/2.

  • h2_window_size (Optional[Integer]) (defaults to: undef)

    Sets the size of the window that is used for flow control from client to server and limits the amount of data the server has to buffer.

  • apache_version (Optional[String]) (defaults to: undef)

    Version of Apache to install module on.

See Also:



68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'manifests/mod/http2.pp', line 68

class apache::mod::http2 (
  Optional[Boolean] $h2_copy_files              = undef,
  Optional[Boolean] $h2_direct                  = undef,
  Optional[Boolean] $h2_early_hints             = undef,
  Optional[Integer] $h2_max_session_streams     = undef,
  Optional[Integer] $h2_max_worker_idle_seconds = undef,
  Optional[Integer] $h2_max_workers             = undef,
  Optional[Integer] $h2_min_workers             = undef,
  Optional[Boolean] $h2_modern_tls_only         = undef,
  Optional[Boolean] $h2_push                    = undef,
  Optional[Integer] $h2_push_diary_size         = undef,
  Array[String]     $h2_push_priority           = [],
  Array[String]     $h2_push_resource           = [],
  Optional[Boolean] $h2_serialize_headers       = undef,
  Optional[Integer] $h2_stream_max_mem_size     = undef,
  Optional[Integer] $h2_tls_cool_down_secs      = undef,
  Optional[Integer] $h2_tls_warm_up_size        = undef,
  Optional[Boolean] $h2_upgrade                 = undef,
  Optional[Integer] $h2_window_size             = undef,
  Optional[String]  $apache_version             = undef,
) {
  include apache
  apache::mod { 'http2': }

  $_apache_version = pick($apache_version, $apache::apache_version)

  file { 'http2.conf':
    ensure  => file,
    content => template('apache/mod/http2.conf.erb'),
    mode    => $apache::file_mode,
    path    => "${apache::mod_dir}/http2.conf",
    owner   => $apache::params::user,
    group   => $apache::params::group,
    require => Exec["mkdir ${apache::mod_dir}"],
    before  => File[$apache::mod_dir],
    notify  => Class['apache::service'],
  }
}