Showing with 841 additions and 570 deletions.
  1. +53 −0 .github/workflows/acceptance-cluster.yaml
  2. +74 −0 .github/workflows/acceptance-full.yaml
  3. +63 −0 .github/workflows/acceptance.yaml
  4. +28 −0 .github/workflows/release.yaml
  5. +59 −0 .github/workflows/unit.yaml
  6. +0 −362 .travis.yml
  7. +18 −14 CHANGELOG.md
  8. +10 −0 README.md
  9. +62 −1 REFERENCE.md
  10. +8 −0 lib/puppet/provider/sensu_agent_entity_config/sensu_api.rb
  11. +14 −0 lib/puppet/provider/sensu_agent_entity_config/sensuctl.rb
  12. +1 −0 lib/puppet/provider/sensu_postgres_config/sensuctl.rb
  13. +6 −0 lib/puppet/type/sensu_agent_entity_config.rb
  14. +15 −4 lib/puppet/type/sensu_agent_entity_setup.rb
  15. +49 −20 lib/puppet/type/sensu_ldap_auth.rb
  16. +6 −0 lib/puppet/type/sensu_postgres_config.rb
  17. +16 −11 manifests/agent.pp
  18. +20 −16 manifests/agent/annotation.pp
  19. +20 −17 manifests/agent/label.pp
  20. +8 −6 manifests/agent/subscription.pp
  21. +3 −0 manifests/backend.pp
  22. +8 −7 manifests/backend/datastore/postgresql.pp
  23. +3 −2 metadata.json
  24. +2 −2 spec/acceptance/00_backend_spec.rb
  25. +85 −24 spec/acceptance/01_agent_spec.rb
  26. +1 −1 spec/acceptance/03_no_ssl_spec.rb
  27. +1 −1 spec/acceptance/04_plugins_spec.rb
  28. +1 −1 spec/acceptance/05_enterprise_spec.rb
  29. +17 −0 spec/acceptance/06_postgresql_spec.rb
  30. +1 −1 spec/acceptance/07_cli_spec.rb
  31. +1 −1 spec/acceptance/99_facts_spec.rb
  32. +1 −1 spec/acceptance/examples_spec.rb
  33. +8 −0 spec/acceptance/nodesets/centos-7.yml
  34. +38 −0 spec/acceptance/nodesets/ubuntu-2004.yml
  35. +3 −7 spec/acceptance/sensu_bolt_tasks_spec.rb
  36. +30 −0 spec/acceptance/sensu_ldap_auth_spec.rb
  37. +8 −7 spec/acceptance/windows_spec.rb
  38. +42 −35 spec/classes/agent_spec.rb
  39. +4 −1 spec/classes/api_spec.rb
  40. +8 −7 spec/classes/backend_datastore_postgresql_spec.rb
  41. +4 −1 spec/classes/init_spec.rb
  42. +4 −1 spec/defines/agent_annotation_spec.rb
  43. +4 −1 spec/defines/agent_config_entry_spec.rb
  44. +4 −1 spec/defines/agent_label_spec.rb
  45. +4 −1 spec/defines/agent_subscription_spec.rb
  46. +4 −0 spec/spec_helper_acceptance.rb
  47. +1 −0 spec/unit/provider/sensu_postgres_config/sensuctl_spec.rb
  48. +2 −2 spec/unit/sensu_ldap_auth_spec.rb
  49. +3 −1 spec/unit/sensu_postgres_config_spec.rb
  50. +3 −4 tests/README.md
  51. +8 −3 tests/decrypt-secrets.sh
  52. +5 −6 tests/encrypt-secrets.sh
  53. BIN tests/secrets.tar.gpg
53 changes: 53 additions & 0 deletions .github/workflows/acceptance-cluster.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Acceptance cluster

on:
push:
branches:
- master
pull_request:

jobs:
acceptance-cluster:
runs-on: ubuntu-latest
# Items marked as ci_build=yes are allowed to fail
continue-on-error: ${{ matrix.ci_build == 'yes' }}
strategy:
fail-fast: false
matrix:
puppet:
- puppet5
- puppet6
- puppet7
use_agent:
- no
- yes
ci_build:
- no
include:
- puppet: puppet6
use_agent: no
ci_build: yes
env:
BEAKER_debug: true
name: Sensu Go Cluster ${{ matrix.puppet }} (use-agent=${{ matrix.use_agent }} CI=${{ matrix.ci_build }})
steps:
- uses: actions/checkout@v2
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'
bundler-cache: true
bundler: '2.1.0'
- name: Decrypt secrets
env:
SENSU_SECRETS_PASSWORD: ${{ secrets.SENSU_SECRETS_PASSWORD }}
if: ${{ env.SENSU_SECRETS_PASSWORD != null }}
run: ./tests/decrypt-secrets.sh
- name: Run tests
run: bundle exec rake beaker
env:
BEAKER_PUPPET_COLLECTION: ${{ matrix.puppet }}
BEAKER_set: centos-7-cluster
BEAKER_sensu_mode: cluster
BEAKER_sensu_use_agent: ${{ matrix.use_agent }}
BEAKER_sensu_ci_build: ${{ matrix.ci_build }}
74 changes: 74 additions & 0 deletions .github/workflows/acceptance-full.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Acceptance full

on:
push:
branches:
- master
pull_request:

jobs:
acceptance-full:
runs-on: ubuntu-latest
# Items marked as ci_build=yes are allowed to fail
continue-on-error: ${{ matrix.ci_build == 'yes' }}
strategy:
fail-fast: false
matrix:
# Modes described in DESIGN.md: https://github.com/sensu/sensu-puppet/blob/master/DESIGN.md#acceptance-tests
sensu_mode:
- full
- types
- examples
puppet:
- puppet5
- puppet6
- puppet7
use_agent:
- no
ci_build:
- no
include:
- sensu_mode: types
puppet: puppet5
use_agent: yes
ci_build: no
- sensu_mode: types
puppet: puppet6
use_agent: yes
ci_build: no
- sensu_mode: types
puppet: puppet7
use_agent: yes
ci_build: no
- sensu_mode: types
puppet: puppet6
use_agent: no
ci_build: yes
- sensu_mode: examples
puppet: puppet6
use_agent: no
ci_build: yes
env:
BEAKER_debug: true
name: ${{ matrix.set }} ${{ matrix.puppet }} (mode=${{ matrix.sensu_mode }} use-agent=${{ matrix.use_agent }} CI=${{ matrix.ci_build }})
steps:
- uses: actions/checkout@v2
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'
bundler-cache: true
bundler: '2.1.0'
- name: Decrypt secrets
env:
SENSU_SECRETS_PASSWORD: ${{ secrets.SENSU_SECRETS_PASSWORD }}
if: ${{ env.SENSU_SECRETS_PASSWORD != null }}
run: ./tests/decrypt-secrets.sh
- name: Run tests
run: bundle exec rake beaker
env:
BEAKER_PUPPET_COLLECTION: ${{ matrix.puppet }}
BEAKER_set: centos-7
BEAKER_sensu_mode: ${{ matrix.sensu_mode }}
BEAKER_sensu_use_agent: ${{ matrix.use_agent }}
BEAKER_sensu_ci_build: ${{ matrix.ci_build }}
63 changes: 63 additions & 0 deletions .github/workflows/acceptance.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Acceptance

on:
push:
branches:
- master
pull_request:

jobs:
acceptance:
runs-on: ubuntu-latest
# Items marked as ci_build=yes are allowed to fail
continue-on-error: ${{ matrix.ci_build == 'yes' }}
strategy:
fail-fast: false
matrix:
set:
- centos-7
- centos-8
- debian-9
- debian-10
- ubuntu-1604
- ubuntu-1804
- ubuntu-2004
- amazonlinux-2
- amazonlinux-201803
puppet:
- puppet5
- puppet6
- puppet7
ci_build:
- no
- yes
exclude:
- puppet: puppet5
ci_build: yes
- puppet: puppet7
ci_build: yes
# Puppet 5 is not built for Ubuntu 20.04
- puppet: puppet5
set: ubuntu-2004
env:
BEAKER_debug: true
name: ${{ matrix.set }} ${{ matrix.puppet }} (ci=${{ matrix.ci_build }})
steps:
- uses: actions/checkout@v2
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'
bundler-cache: true
bundler: '2.1.0'
- name: Decrypt secrets
env:
SENSU_SECRETS_PASSWORD: ${{ secrets.SENSU_SECRETS_PASSWORD }}
if: ${{ env.SENSU_SECRETS_PASSWORD != null }}
run: ./tests/decrypt-secrets.sh
- name: Run tests
run: bundle exec rake beaker
env:
BEAKER_PUPPET_COLLECTION: ${{ matrix.puppet }}
BEAKER_set: ${{ matrix.set }}
BEAKER_sensu_ci_build: ${{ matrix.ci_build }}
28 changes: 28 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Release

on:
push:
tags:
- '*'

env:
BUNDLE_WITHOUT: system_tests

jobs:
deploy:
name: 'deploy to forge'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'
bundler-cache: true
bundler: '2.1.0'
- name: Build and Deploy
env:
BLACKSMITH_FORGE_USERNAME: sensu
BLACKSMITH_FORGE_API_KEY: '${{ secrets.PUPPET_FORGE_API_KEY }}'
run: bundle exec rake module:push
59 changes: 59 additions & 0 deletions .github/workflows/unit.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Unit

on:
push:
branches:
- master
pull_request:

jobs:
unit:
runs-on: ubuntu-latest
# Items marked as allow_failure=true are allowed to fail
# This is fixtures using latest untagged versions
continue-on-error: ${{ matrix.allow_failure }}
strategy:
fail-fast: false
matrix:
include:
- ruby: 2.4.9
puppet: 5
fixtures: .fixtures.yml
allow_failure: false
- ruby: 2.5.7
puppet: 6
fixtures: .fixtures.yml
allow_failure: false
- ruby: 2.7.0
puppet: 7
fixtures: .fixtures.yml
allow_failure: false
- ruby: 2.4.9
puppet: 5
fixtures: .fixtures-latest.yml
allow_failure: true
- ruby: 2.5.7
puppet: 6
fixtures: .fixtures-latest.yml
allow_failure: true
- ruby: 2.7.0
puppet: 7
fixtures: .fixtures-latest.yml
allow_failure: true
env:
BUNDLE_WITHOUT: system_tests:development
PUPPET_GEM_VERSION: "~> ${{ matrix.puppet }}.0"
FIXTURES_YML: ${{ matrix.fixtures }}
name: Puppet ${{ matrix.puppet }} (Ruby ${{ matrix.ruby }} fixtures=${{ matrix.fixtures }})
steps:
- uses: actions/checkout@v2
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
bundler: '2.1.0'
- name: Validate
run: bundle exec rake validate lint strings:generate reference
- name: Run tests
run: bundle exec rake parallel_spec
Loading