diff --git a/REFERENCE.md b/REFERENCE.md index b790216..b92a793 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -65,6 +65,7 @@ The following parameters are available in the `otelcol` class: * [`metrics_address_host`](#-otelcol--metrics_address_host) * [`metrics_address_port`](#-otelcol--metrics_address_port) * [`service_ensure`](#-otelcol--service_ensure) +* [`service_enable`](#-otelcol--service_enable) * [`manage_service`](#-otelcol--manage_service) * [`manage_archive`](#-otelcol--manage_archive) * [`localpath_archive`](#-otelcol--localpath_archive) @@ -240,6 +241,14 @@ Ensure for service Default value: `'running'` +##### `service_enable` + +Data type: `Boolean` + +Enable the service on boot + +Default value: `true` + ##### `manage_service` Data type: `Boolean` diff --git a/manifests/init.pp b/manifests/init.pp index c82893f..8a2b928 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -43,6 +43,8 @@ # Port metrics are listening to # @param service_ensure # Ensure for service +# @param service_enable +# Enable the service on boot # @param manage_service # If service is managed by module # @param manage_archive @@ -75,6 +77,7 @@ Optional[Stdlib::Host] $metrics_address_host = undef, Stdlib::Port $metrics_address_port = 8888, Stdlib::Ensure::Service $service_ensure = 'running', + Boolean $service_enable = true, Boolean $manage_service = true, Boolean $manage_archive = false, String[1] $localpath_archive = '/tmp', diff --git a/manifests/service.pp b/manifests/service.pp index e492c7e..1753967 100644 --- a/manifests/service.pp +++ b/manifests/service.pp @@ -11,9 +11,13 @@ # @param ensure # Ensure service status # +# @param enable +# Enable service on boot +# # @api private class otelcol::service ( Stdlib::Ensure::Service $ensure = $otelcol::service_ensure, + Boolean $enable = $otelcol::service_enable, String $config_check_command = "${otelcol::service_name} validate --config=${otelcol::config_file}", Boolean $config_check = $otelcol::service_configcheck, ) { @@ -42,6 +46,7 @@ service { 'otelcol': ensure => $ensure, + enable => $enable, name => $otelcol::service_name, require => $service_require, subscribe => [Concat['otelcol-config'], File['otelcol-environment']], diff --git a/spec/classes/otelcol_spec.rb b/spec/classes/otelcol_spec.rb index 1302fa9..abda453 100644 --- a/spec/classes/otelcol_spec.rb +++ b/spec/classes/otelcol_spec.rb @@ -33,6 +33,7 @@ it { is_expected.to contain_class('otelcol::service') is_expected.to contain_service('otelcol').with_ensure('running').with_name('otelcol') + is_expected.to contain_service('otelcol').with_enable('true').with_name('otelcol') } end