4 changes: 4 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@ on:

jobs:
LitmusAcceptance:
env:
HONEYCOMB_WRITEKEY: 7f3c63a70eecc61d635917de46bea4e6
HONEYCOMB_DATASET: litmus tests
CI: true
runs-on: self-hosted
strategy:
matrix:
Expand Down
46 changes: 46 additions & 0 deletions .github/workflows/weekly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: "weekly"

on:
schedule:
- cron: '0 1 * * 6'

jobs:
LitmusAcceptance:
env:
HONEYCOMB_WRITEKEY: 7f3c63a70eecc61d635917de46bea4e6
HONEYCOMB_DATASET: litmus tests
CI: true
runs-on: self-hosted
strategy:
matrix:
ruby_version: [2.5.x]
puppet_gem_version: [~> 6.0]
platform: [release_checks]
agent_family: ['puppet5', 'puppet6']

steps:
- uses: actions/checkout@v1
- name: Litmus Parallel
uses: puppetlabs/action-litmus_parallel@master
with:
platform: ${{ matrix.platform }}
agent_family: ${{ matrix.agent_family }}
Spec:
runs-on: self-hosted
strategy:
matrix:
check: [parallel_spec, 'syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop']
ruby_version: [2.5.x]
puppet_gem_version: [~> 5.0, ~> 6.0]
exclude:
- puppet_gem_version: ~> 5.0
check: 'syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop'
- ruby_version: 2.5.x
puppet_gem_version: ~> 5.0
steps:
- uses: actions/checkout@v1
- name: Spec Tests
uses: puppetlabs/action-litmus_spec@master
with:
puppet_gem_version: ${{ matrix.puppet_gem_version }}
check: ${{ matrix.check }}
2 changes: 2 additions & 0 deletions .sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
delete: true

.travis.yml:
global_env:
- HONEYCOMB_WRITEKEY="7f3c63a70eecc61d635917de46bea4e6",HONEYCOMB_DATASET="litmus tests"
deploy_to_forge:
enabled: false
branches:
Expand Down
10 changes: 7 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
os: linux
dist: xenial
language: ruby
cache: bundler
Expand All @@ -15,12 +16,15 @@ script:
- 'SIMPLECOV=yes bundle exec rake $CHECK'
bundler_args: --without system_tests
rvm:
- 2.5.3
- 2.5.7
env:
global:
- HONEYCOMB_WRITEKEY="7f3c63a70eecc61d635917de46bea4e6",HONEYCOMB_DATASET="litmus tests"
stages:
- static
- spec
- acceptance
matrix:
jobs:
fast_finish: true
include:
-
Expand All @@ -32,7 +36,7 @@ matrix:
stage: spec
-
env: PUPPET_GEM_VERSION="~> 6.0" CHECK=parallel_spec
rvm: 2.5.3
rvm: 2.5.7
stage: spec
branches:
only:
Expand Down
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@

All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org).

## [v5.2.0](https://github.com/puppetlabs/puppetlabs-kubernetes/tree/v5.2.0) (2020-05-13)

[Full Changelog](https://github.com/puppetlabs/puppetlabs-kubernetes/compare/v5.1.0...v5.2.0)

### Added

- \(FEAT\) Add docker storage options [\#383](https://github.com/puppetlabs/puppetlabs-kubernetes/pull/383) ([AblionGE](https://github.com/AblionGE))

### Fixed

- Create client certificates per server with SAN values [\#382](https://github.com/puppetlabs/puppetlabs-kubernetes/pull/382) ([AblionGE](https://github.com/AblionGE))

## [v5.1.0](https://github.com/puppetlabs/puppetlabs-kubernetes/tree/v5.1.0) (2020-01-27)

[Full Changelog](https://github.com/puppetlabs/puppetlabs-kubernetes/compare/v5.0.0...v5.1.0)
Expand Down Expand Up @@ -52,6 +64,7 @@ All notable changes to this project will be documented in this file. The format

### Fixed

- Add extra arguments for API server and controller manager [\#282](https://github.com/puppetlabs/puppetlabs-kubernetes/pull/282) ([fydai](https://github.com/fydai))
- cluster name missing tag brackets in worker config [\#280](https://github.com/puppetlabs/puppetlabs-kubernetes/pull/280) ([jorhett](https://github.com/jorhett))
- Avoid log message about waiting for SA when it already exists [\#278](https://github.com/puppetlabs/puppetlabs-kubernetes/pull/278) ([jorhett](https://github.com/jorhett))
- MODULES-8947 fixing bugs and tests [\#274](https://github.com/puppetlabs/puppetlabs-kubernetes/pull/274) ([sheenaajay](https://github.com/sheenaajay))
Expand Down
2 changes: 2 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ group :development do
gem "puppet-module-win-default-r#{minor_version}", '~> 0.4', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "puppet-module-win-dev-r#{minor_version}", '~> 0.4', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "github_changelog_generator", require: false, git: 'https://github.com/skywinder/github-changelog-generator', ref: '20ee04ba1234e9e83eb2ffb5056e23d641c7a018' if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.2.2')
gem 'ed25519', '>= 1.2', '< 2.0'
gem 'bcrypt_pbkdf', '>= 1.0', '< 2.0'
end

puppet_version = ENV['PUPPET_GEM_VERSION']
Expand Down
36 changes: 31 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,24 @@ The URL for the Docker yum repo gpg key.

Defaults to `https://yum.dockerproject.org/gpg`.

#### `docker_storage_driver`

The storage driver for Docker (added to '/etc/docker/daemon.json')

Defaults to `overlay2`.

#### `docker_storage_opts`

The storage options for Docker (Array added to '/etc/docker/daemon.json')

Defaults to `undef`.

#### `docker_extra_daemon_config`

Extra daemons options

Defaults to `undef`.

#### `etcd_version`

Specifies the version of etcd.
Expand Down Expand Up @@ -722,15 +740,22 @@ Docker is the supported container runtime for this module.
If you would like to contribute to this module, please follow the rules in the [CONTRIBUTING.md](https://github.com/puppetlabs/puppetlabs-kubernetes/blob/master/CONTRIBUTING.md). For more information, see our [module contribution guide.](https://puppet.com/docs/puppet/latest/contributing.html)

To run the acceptance tests you can use Puppet Litmus with the Vagrant provider by using the following commands:

bundle exec rake 'litmus:provision_list[all_supported]'
bundle exec rake 'litmus:install_agent[puppet5]'
bundle exec rake 'litmus:install_module'
bundle exec rake 'litmus:acceptance:parallel'
```
# install rvm with and ruby >2.5
rvm install "ruby-2.5.1"
gem install bundler
bundler install
bundle exec rake 'litmus:provision_list[all_supported]'
bundle exec rake 'litmus:install_agent[puppet5]'
bundle exec rake 'litmus:install_module'
bundle exec rake 'litmus:acceptance:parallel'
```
For more information about Litmus please see [the wiki](https://github.com/puppetlabs/puppet_litmus/wiki).

As currently Litmus does not allow memory size and cpu size parameters for the Vagrant provisioner task we recommend to manually update the Vagrantfile used by the provisioner and add at least the following specifications for the puppetlabs-kubernetes module acceptance tests:

**Update Vagrantfile in the file: spec/fixtures/modules/provision/tasks/vagrant.rb**
```
vf = <<-VF
Vagrant.configure(\"2\") do |config|
config.vm.box = '#{platform}'
Expand All @@ -745,6 +770,7 @@ As currently Litmus does not allow memory size and cpu size parameters for the V
#{synced_folder}
end
VF
```

## Examples

Expand Down
42 changes: 41 additions & 1 deletion REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -905,6 +905,14 @@ Defaults to ""
The URL for the Docker yum repo gpg key
Defaults to https://yum.dockerproject.org/gpg

[*docker_storage_driver*]
Storage Driver to be added to `/etc/docker/daemon.json`
Defaults to overlay2

[*docker_storage_opts*]
Storage options to be added to `/etc/docker/daemon.json`
Defaults to undef

[*docker_extra_daemon_config*]
Extra configuration to be added to `/etc/docker/daemon.json`
Defaults to undef
Expand Down Expand Up @@ -1473,7 +1481,7 @@ Data type: `String`



Default value: "https://github.com/coreos/etcd/releases/download/v${etcd_version}/${etcd_archive}"
Default value: "https://github.com/etcd-io/etcd/releases/download/v${etcd_version}/${etcd_archive}"

##### `etcd_install_method`

Expand Down Expand Up @@ -1595,6 +1603,22 @@ Data type: `Optional[String]`

Default value: `undef`

##### `docker_storage_driver`

Data type: `Optional[String]`



Default value: 'overlay2'

##### `docker_storage_opts`

Data type: `Optional[Array]`



Default value: $facts['os']['family']

##### `docker_extra_daemon_config`

Data type: `Optional[String]`
Expand Down Expand Up @@ -2467,6 +2491,22 @@ Data type: `Optional[String]`

Default value: $kubernetes::docker_package_name

##### `docker_storage_driver`

Data type: `Optional[String]`



Default value: $kubernetes::docker_storage_driver

##### `docker_storage_opts`

Data type: `Optional[Array]`



Default value: $kubernetes::docker_storage_opts

##### `docker_extra_daemon_config`

Data type: `Optional[String]`
Expand Down
2 changes: 2 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# frozen_string_literal: true

require 'puppet_litmus/rake_tasks' if Bundler.rubygems.find_name('puppet_litmus').any?
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-syntax/tasks/puppet-syntax'
Expand Down
15 changes: 14 additions & 1 deletion manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -339,6 +339,14 @@
# The URL for the Docker yum repo gpg key
# Defaults to https://yum.dockerproject.org/gpg
#
# [*docker_storage_driver*]
# Storage Driver to be added to `/etc/docker/daemon.json`
# Defaults to overlay2
#
# [*docker_storage_opts*]
# Storage options to be added to `/etc/docker/daemon.json`
# Defaults to undef
#
# [*docker_extra_daemon_config*]
# Extra configuration to be added to `/etc/docker/daemon.json`
# Defaults to undef
Expand Down Expand Up @@ -468,7 +476,7 @@
"https://github.com/containerd/containerd/releases/download/v${containerd_version}/${containerd_archive}",
String $etcd_archive = "etcd-v${etcd_version}-linux-amd64.tar.gz",
String $etcd_package_name = 'etcd-server',
String $etcd_source = "https://github.com/coreos/etcd/releases/download/v${etcd_version}/${etcd_archive}",
String $etcd_source = "https://github.com/etcd-io/etcd/releases/download/v${etcd_version}/${etcd_archive}",
String $etcd_install_method = 'wget',
Optional[String] $kubernetes_apt_location = undef,
Optional[String] $kubernetes_apt_release = undef,
Expand All @@ -484,6 +492,11 @@
Optional[String] $docker_yum_gpgkey = undef,
Optional[String] $docker_key_id = undef,
Optional[String] $docker_key_source = undef,
Optional[String] $docker_storage_driver = 'overlay2',
Optional[Array] $docker_storage_opts = $facts['os']['family'] ? {
'RedHat' => ['overlay2.override_kernel_check=true'],
default => undef,
},
Optional[String] $docker_extra_daemon_config = undef,
String $docker_log_max_file = '1',
String $docker_log_max_size = '100m',
Expand Down
2 changes: 2 additions & 0 deletions manifests/packages.pp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
Boolean $manage_etcd = $kubernetes::manage_etcd,
Optional[String] $docker_version = $kubernetes::docker_version,
Optional[String] $docker_package_name = $kubernetes::docker_package_name,
Optional[String] $docker_storage_driver = $kubernetes::docker_storage_driver,
Optional[Array] $docker_storage_opts = $kubernetes::docker_storage_opts,
Optional[String] $docker_extra_daemon_config = $kubernetes::docker_extra_daemon_config,
String $docker_log_max_file = $kubernetes::docker_log_max_file,
String $docker_log_max_size = $kubernetes::docker_log_max_size,
Expand Down
6 changes: 3 additions & 3 deletions metadata.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "puppetlabs-kubernetes",
"version": "5.1.0",
"version": "5.2.0",
"author": "Puppet",
"summary": "The module installs and configures a Kubernetes cluster",
"license": "Apache-2.0",
Expand Down Expand Up @@ -64,7 +64,7 @@
"version_requirement": ">= 5.5.10 < 7.0.0"
}
],
"pdk-version": "1.15.0",
"pdk-version": "1.17.0",
"template-url": "https://github.com/puppetlabs/pdk-templates#master",
"template-ref": "heads/master-0-g5676b3f"
"template-ref": "1.17.0-0-gd3a4319"
}
Loading