class droneci ( Hash $env_vars = {}, String $docker_image = 'drone/drone:2', Array[String] $ports = [], Array[String] $volumes = [], Stdlib::Absolutepath $env_file = '/etc/sysconfig/droneci', ) { # Create the environment file from a template file { $env_file: ensure => file, content => template('droneci/droneci_env.erb'), mode => '0644', } # Define the systemd service for Drone CI systemd::unit_file { 'droneci.service': ensure => present, content => template('droneci/droneci_service.erb'), enable => true, active => true, subscribe => File[$env_file], } }