caddy
: Main class, includes all other classes.
caddy::config
: This class handles the Caddy config.caddy::install
: This class handles the Caddy archive.caddy::service
: This class handles the Caddy service.
caddy::vhost
: This defined type handles the Caddy virtual hosts.
Main class, includes all other classes.
include caddy
class { 'caddy':
caddy_features => 'http.git,http.filter,http.ipfilter',
}
class { 'caddy':
version => '2.0.0',
install_method => 'github',
}
The following parameters are available in the caddy
class:
version
install_method
install_path
caddy_user
caddy_group
caddy_shell
caddy_log_dir
caddy_home
caddy_ssl_dir
caddy_license
caddy_telemetry
caddy_features
caddy_architecture
caddy_account_id
caddy_api_key
systemd_limit_processes
systemd_private_devices
systemd_capability_bounding_set
systemd_ambient_capabilities
systemd_no_new_privileges
Data type: String[1]
Which version is used.
Default value: '2.0.0'
Data type: Optional[Enum['github']]
Which source is used.
Default value: undef
Data type: Stdlib::Absolutepath
Directory where the Caddy binary is stored.
Default value: '/opt/caddy'
Data type: String[1]
The user used by the Caddy process.
Default value: 'caddy'
Data type: String[1]
The group used by the Caddy process.
Default value: 'caddy'
Data type: Stdlib::Absolutepath
Which shell is used.
Default value: '/sbin/nologin'
Data type: Stdlib::Absolutepath
Directory where the log files are stored.
Default value: '/var/log/caddy'
Data type: Stdlib::Absolutepath
Directory where the Caddy data is stored.
Default value: '/var/lib/caddy'
Data type: Stdlib::Absolutepath
Directory where Let's Encrypt certificates are stored.
Default value: '/etc/ssl/caddy'
Data type: Enum['personal', 'commercial']
Whether a personal or commercial license is used.
Default value: 'personal'
Data type: Enum['on','off']
Whether telemetry data should be collected.
Default value: 'off'
Data type: String[1]
A list of features the Caddy binary should support.
Default value: 'http.git,http.filter,http.ipfilter'
Data type: String[1]
A temporary variable, required for the download URL.
Default value: $facts['os']['architecture']
Data type: Optional[String[1]]
The account ID, required for the commercial license.
Default value: undef
Data type: Optional[String[1]]
The API key, required for the commercial license.
Default value: undef
Data type: Integer[0]
The number of processes.
Default value: 64
Data type: Boolean
Whether the process has access to physical devices.
Default value: true
Data type: Optional[String[1]]
Controls which capabilities to include in the capability bounding set for the executed process.
Default value: undef
Data type: String[1]
Controls which capabilities to include in the ambient capability set for the executed process.
Default value: 'CAP_NET_BIND_SERVICE'
Data type: Optional[Boolean]
Whether the process and all its children can gain new privileges through execve().
Default value: undef
This defined type handles the Caddy virtual hosts.
caddy::vhost { 'example1':
source => 'puppet:///modules/caddy/etc/caddy/config/example1.conf',
}
caddy::vhost { 'example2:
content => 'localhost:2015',
}
The following parameters are available in the caddy::vhost
defined type:
Data type: Optional[Stdlib::Filesource]
source (path) for the caddy vhost configuration
Default value: undef
Data type: Optional[String]
string with the caddy vhost configuration
Default value: undef