diff --git a/.travis.yml b/.travis.yml index 257881c..05ab455 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,76 +1,74 @@ -sudo: false +--- +os: linux +dist: focal language: ruby cache: bundler bundler_args: "--without system_tests development" before_install: - - bundle -v - - rm Gemfile.lock || true - - gem update --system - - gem update bundler - - gem --version - - bundle -v + - yes | gem update --system + - bundle --version script: - bundle exec rake $CHECK jobs: fast_finish: true include: - - rvm: 2.3.1 + - rvm: 2.4.4 + bundler_args: --without system_tests development release env: PUPPET_VERSION="~> 5.0" CHECK=test FORGEDEPLOY=yes - - rvm: 2.3.1 + - rvm: 2.5.3 + bundler_args: --without system_tests development release env: PUPPET_VERSION="~> 5.0" CHECK=rubocop - rvm: 2.5.3 + bundler_args: --without system_tests development release env: PUPPET_VERSION="~> 6.1" CHECK=test - rvm: 2.5.3 + bundler_args: --without system_tests development release env: PUPPET_VERSION="~> 6.1" CHECK=rubocop - rvm: 2.5.3 bundler_args: --without development release env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=centos7-64{image=centos:7.6.1810} CHECK=beaker services: docker - rvm: 2.5.3 bundler_args: --without development release env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=centos7-64{image=centos:7.6.1810} CHECK=beaker services: docker - rvm: 2.5.3 bundler_args: --without development release env: BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_setfile=debian10-64 CHECK=beaker services: docker - rvm: 2.5.3 bundler_args: --without development release env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=debian10-64 CHECK=beaker services: docker - rvm: 2.5.3 bundler_args: --without development release env: BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_setfile=debian9-64 CHECK=beaker services: docker - rvm: 2.5.3 bundler_args: --without development release env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=debian9-64 CHECK=beaker services: docker - rvm: 2.5.3 bundler_args: --without development release env: BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_setfile=ubuntu2004-64 CHECK=beaker services: docker - - rvm: 2.5.3 - bundler_args: --without development release - env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=ubuntu2004-64 CHECK=beaker - services: docker - rvm: 2.5.3 bundler_args: --without development release env: BEAKER_PUPPET_COLLECTION=puppet6 BEAKER_setfile=ubuntu1804-64 CHECK=beaker services: docker - rvm: 2.5.3 bundler_args: --without development release env: BEAKER_PUPPET_COLLECTION=puppet5 BEAKER_setfile=ubuntu1804-64 CHECK=beaker services: docker notifications: email: false deploy: provider: puppetforge - user: saz + username: saz password: secure: Ul2gGsT/hMn7xFHtgCCiCMnDGrhCjvxA77hCMrponMI5QI5K9MYsJ/ellOjcscGmsy7ijRVk86GK3R16z3ESyBekEd/gK4rfKP2TKq3sgX1xobspee4TKbTUHwoX+L0Rk61LYlutD3QjvGxTGQ80fPb4JlNQHAE264HJw7PZgUk= on: tags: true all_branches: true - rvm: 2.3.1 + rvm: 2.4.4 condition: "$FORGEDEPLOY = true" diff --git a/manifests/instance.pp b/manifests/instance.pp index eef7bb9..9d9ac1d 100644 --- a/manifests/instance.pp +++ b/manifests/instance.pp @@ -1,70 +1,69 @@ # # @summary Manage multiple memcached instances # # @param manage_firewall enable/disable fireall management via puppetlabs/firewall # @param port the udp and tcp port to listen on. By default, the instance name is used # @param limits systemd limits for the service # @param override_content overrides for the unit, as string # @param override_source overrides for the unit, as file resource # # @author pglushchenko # @author Tim Meusel # define memcached::instance ( Boolean $manage_firewall = false, Stdlib::Port::Unprivileged $port = Integer($name), Optional[Systemd::ServiceLimits] $limits = undef, Optional[String[1]] $override_content = undef, Optional[Stdlib::Filesource] $override_source = undef, ) { - unless $facts['kernel'] == 'Linux' { fail("memcached::instance currently only works with Linux, you are running ${facts['kernel']}") } require memcached require memcached::instance::servicefile $service_name = "memcached@${port}.service" if $manage_firewall { firewall { "100_tcp_${port}_for_memcached": dport => $port, proto => 'tcp', action => 'accept', } } service { $service_name: ensure => 'running', enable => true, } if $limits { systemd::service_limits { $service_name: limits => $limits, } } if $override_content or $override_source { if $override_content and $override_source { fail('memcached::instance: you can only set override_content OR override_source, dont set both') } # eager is required to reload systemd before we reload the service systemd::dropin_file { "${service_name}-override.conf": unit => $service_name, source => $override_source, content => $override_content, daemon_reload => 'eager', notify => Service[$service_name], } } if $facts['os']['selinux']['enabled'] { selinux::port { "allow-${service_name}": ensure => 'present', seltype => 'memcache_port_t', protocol => 'tcp', port => $port, before => Service[$service_name], } } }