2 changes: 1 addition & 1 deletion .fixtures.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ fixtures:
ruby_task_helper: 'https://git@github.com/puppetlabs/puppetlabs-ruby_task_helper'
cron_core: 'https://github.com/puppetlabs/puppetlabs-cron_core'
bootstrap: 'https://github.com/puppetlabs/puppetlabs-bootstrap'
node_manager: 'https://github.com/WhatsARanjit/puppet-node_manager'
node_manager: 'https://github.com/MartyEwings/puppet-node_manager.git'
apply_helpers: 'https://github.com/puppetlabs/puppetlabs-apply_helpers'
bolt_shim: 'https://github.com/puppetlabs/puppetlabs-bolt_shim'
debug: 'https://github.com/nwops/puppet-debug'
Expand Down
18 changes: 0 additions & 18 deletions .github/workflows/auto_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@ on:
workflow_dispatch:

env:
HONEYCOMB_WRITEKEY: 7f3c63a70eecc61d635917de46bea4e6
HONEYCOMB_DATASET: litmus tests
CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

jobs:
Expand All @@ -14,18 +12,6 @@ jobs:
runs-on: ubuntu-20.04

steps:
- name: "Honeycomb: Start recording"
uses: puppetlabs/kvrhdn-gha-buildevents@pdk-templates-v1
with:
apikey: ${{ env.HONEYCOMB_WRITEKEY }}
dataset: ${{ env.HONEYCOMB_DATASET }}
job-status: ${{ job.status }}

- name: "Honeycomb: start first step"
run: |
echo STEP_ID="auto-release" >> $GITHUB_ENV
echo STEP_START=$(date +%s) >> $GITHUB_ENV
- name: "Checkout Source"
if: ${{ github.repository_owner == 'puppetlabs' }}
uses: actions/checkout@v3
Expand Down Expand Up @@ -84,7 +70,3 @@ jobs:
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}"
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}"
- name: "Honeycomb: Record finish step"
if: ${{ always() }}
run: |
buildevents step $TRACE_ID $STEP_ID $STEP_START 'Finished auto release workflow'
18 changes: 18 additions & 0 deletions .github/workflows/call_nightly.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Call nightly testing workflows

on:
workflow_dispatch:
schedule:
- cron: '25 5 * * 3'

jobs:
spec_testing:
name: "Spec testing"
uses: ./.github/workflows/spec.yml

nightly_testing:
if: github.repository != 'puppetlabs/puppetlabs-bash_task_helper' && github.repository != 'puppetlabs/puppetlabs-puppet_operations_appliance'
name: "PE Nightly Testing"
needs: spec_testing
uses: ./.github/workflows/pe_nightly_testing.yml
secrets: inherit
5 changes: 0 additions & 5 deletions .github/workflows/pe_nightly_testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name: "PE Nightly Acceptance Testing"
on:
workflow_dispatch:
workflow_call:
schedule:
- cron: '25 5 * * *'

jobs:
setup_matrix:
Expand Down Expand Up @@ -50,9 +48,6 @@ jobs:
- image: rhel-8
os: el-8-x86_64

env:
PUPPET_GEM_VERSION: '~> 7.24'

steps:
- name: Checkout Source
uses: actions/checkout@v3
Expand Down
52 changes: 5 additions & 47 deletions .github/workflows/spec.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ on:
workflow_call:

env:
HONEYCOMB_WRITEKEY: 7f3c63a70eecc61d635917de46bea4e6
HONEYCOMB_DATASET: litmus tests
SHELLCHECK_OPTS: '-e SC1090 -e SC1091'

jobs:
Expand All @@ -17,17 +15,6 @@ jobs:
spec_matrix: ${{ steps.get-matrix.outputs.spec_matrix }}

steps:
- name: "Honeycomb: Start recording"
uses: puppetlabs/kvrhdn-gha-buildevents@pdk-templates-v1
with:
apikey: ${{ env.HONEYCOMB_WRITEKEY }}
dataset: ${{ env.HONEYCOMB_DATASET }}
job-status: ${{ job.status }}

- name: "Honeycomb: Start first step"
run: |
echo STEP_ID=setup-environment >> $GITHUB_ENV
echo STEP_START=$(date +%s) >> $GITHUB_ENV

- name: Checkout Source
uses: actions/checkout@v3
Expand All @@ -44,30 +31,18 @@ jobs:
if: ${{ github.repository_owner == 'puppetlabs' }}
run: |
echo ::group::bundler environment
buildevents cmd $TRACE_ID $STEP_ID 'bundle env' -- bundle env
bundle env
echo ::endgroup::
- name: "Honeycomb: Record Setup Environment time"
if: ${{ github.repository_owner == 'puppetlabs' }}
run: |
buildevents step $TRACE_ID $STEP_ID $STEP_START 'Setup Environment'
echo STEP_ID=Setup-Acceptance-Test-Matrix >> $GITHUB_ENV
echo STEP_START=$(date +%s) >> $GITHUB_ENV
- name: Setup Spec Test Matrix
id: get-matrix
run: |
if [ '${{ github.repository_owner }}' == 'puppetlabs' ]; then
buildevents cmd $TRACE_ID $STEP_ID matrix_from_metadata -- bundle exec matrix_from_metadata_v2
bundle exec matrix_from_metadata_v2
else
echo "spec_matrix={}" >> $GITHUB_OUTPUT
fi
- name: "Honeycomb: Record Setup Test Matrix time"
if: ${{ always() }}
run: |
buildevents step $TRACE_ID $STEP_ID $STEP_START 'Setup Test Matrix'
Spec:
name: "Spec Tests (Puppet: ${{matrix.puppet_version}}, Ruby Ver: ${{matrix.ruby_version}})"
needs:
Expand All @@ -80,29 +55,12 @@ jobs:
matrix: ${{fromJson(needs.setup_matrix.outputs.spec_matrix)}}

env:
BUILDEVENT_FILE: '../buildevents.txt'
PUPPET_GEM_VERSION: ${{ matrix.puppet_version }}

steps:
- run: |
echo "SANITIZED_PUPPET_VERSION=$(echo '${{ matrix.puppet_version }}' | sed 's/~> //g')" >> $GITHUB_ENV
- run: |
echo 'puppet_version=${{ env.SANITIZED_PUPPET_VERSION }}' >> $BUILDEVENT_FILE
- name: "Honeycomb: Start first step"
run: |
echo "STEP_ID=${{ env.SANITIZED_PUPPET_VERSION }}-spec" >> $GITHUB_ENV
echo STEP_START=$(date +%s) >> $GITHUB_ENV
- name: "Honeycomb: Start recording"
uses: puppetlabs/kvrhdn-gha-buildevents@pdk-templates-v1
with:
apikey: ${{ env.HONEYCOMB_WRITEKEY }}
dataset: ${{ env.HONEYCOMB_DATASET }}
job-status: ${{ job.status }}
matrix-key: ${{ env.SANITIZED_PUPPET_VERSION }}

- name: Checkout Source
uses: actions/checkout@v3

Expand All @@ -115,16 +73,16 @@ jobs:
- name: Print bundle environment
run: |
echo ::group::bundler environment
buildevents cmd $TRACE_ID $STEP_ID 'bundle env' -- bundle env
bundle env
echo ::endgroup::
- name: Run Static & Syntax Tests
run: |
buildevents cmd $TRACE_ID $STEP_ID 'static_syntax_checks Puppet ${{ matrix.puppet_version }}, Ruby ${{ matrix.ruby_version }}' -- bundle exec rake syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop
bundle exec rake syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop
- name: Run parallel_spec tests
run: |
buildevents cmd $TRACE_ID $STEP_ID 'rake parallel_spec Puppet ${{ matrix.puppet_version }}, Ruby ${{ matrix.ruby_version }}' -- bundle exec rake parallel_spec
bundle exec rake parallel_spec
shellcheck:
name: Shellcheck
runs-on: ubuntu-latest
Expand Down
2 changes: 2 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ Style/TrailingCommaInArrayLiteral:
Style/SymbolArray:
Description: Using percent style obscures symbolic intent of array's contents.
EnforcedStyle: brackets
Layout/MultilineOperationIndentation:
Enabled: false
RSpec/MessageSpies:
EnforcedStyle: receive
Style/Documentation:
Expand Down
6 changes: 4 additions & 2 deletions .sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,10 @@ spec/default_facts.yml:
user: 'root'
settings:
module_groups: 'base+pe_only'


.rubocop.yml:
default_configs:
"Layout/MultilineOperationIndentation":
Enabled: False
Gemfile:
optional:
":development":
Expand Down
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,25 @@

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).

## [v1.13.1](https://github.com/puppetlabs/puppet_operational_dashboards/tree/v1.13.1) (2023-04-27)

[Full Changelog](https://github.com/puppetlabs/puppet_operational_dashboards/compare/v1.13.0...v1.13.1)

### Changed

- \(SUP-3952\) Remove Puppet 6 as a supported platform [\#158](https://github.com/puppetlabs/puppet_operational_dashboards/pull/158) ([elainemccloskey](https://github.com/elainemccloskey))

### Added

- Allow differentiation between ssl influxdb and puppet ssl connections [\#161](https://github.com/puppetlabs/puppet_operational_dashboards/pull/161) ([tuxmea](https://github.com/tuxmea))
- \(SUP-4194\) Puppet 8 release prep [\#159](https://github.com/puppetlabs/puppet_operational_dashboards/pull/159) ([elainemccloskey](https://github.com/elainemccloskey))
- Allow disabling of System Performance dashboard creation [\#157](https://github.com/puppetlabs/puppet_operational_dashboards/pull/157) ([tuxmea](https://github.com/tuxmea))
- telegraf: Update 1.24.3-1-\>1.25.3-1 [\#155](https://github.com/puppetlabs/puppet_operational_dashboards/pull/155) ([bastelfreak](https://github.com/bastelfreak))

### Fixed

- Restore missing operational\_dashboards tag [\#154](https://github.com/puppetlabs/puppet_operational_dashboards/pull/154) ([m0dular](https://github.com/m0dular))

## [v1.13.0](https://github.com/puppetlabs/puppet_operational_dashboards/tree/v1.13.0) (2023-03-29)

[Full Changelog](https://github.com/puppetlabs/puppet_operational_dashboards/compare/v1.12.0...v1.13.0)
Expand Down
31 changes: 30 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,36 @@ This module is a replacement for the [puppet_metrics_dashboard module](https://f

### Note on air-gapped environments

If you are applying either the `puppet_operational_dashboards` or `puppet_operational_dashboards::telegraf::agent` classes to a node that cannot access the internet, it is possible to install packages from an archive source located within the air gap.
If you are applying either the `puppet_operational_dashboards` or `puppet_operational_dashboards::telegraf::agent` classes to a node that cannot access the internet, it is possible to install packages from either an internal repository or archive sources located within the air gap.

### Internal repositories
To use internal repositories, set the following parameters.

For InfluxDB, the following parameters are configurable:

* [repo_url](https://forge.puppet.com/modules/puppetlabs/influxdb/reference#repo_url) to point to a local URL
* [repo_gpg_key_url](https://forge.puppet.com/modules/puppetlabs/influxdb/reference#repo_gpg_key_url) to point to a local URL with the repository's GPG key
* [repo_gpg_key_id](https://forge.puppet.com/modules/puppetlabs/influxdb/reference#repo_gpg_key_id) to specify a different GPG key ID

Alternatively, you may set [manage_repo](https://forge.puppet.com/modules/puppetlabs/influxdb/reference#manage_repo) to `false` to manage the repository configuration yourself.

For Grafana, the equivalent parameters are:

* [repo_url](https://forge.puppet.com/modules/puppet/grafana/reference#repo_url)
* [repo_gpg_key_url](https://forge.puppet.com/modules/puppet/grafana/reference#repo_gpg_key_url)
* [repo_key_id](https://forge.puppet.com/modules/puppet/grafana/reference#repo_key_id)
* [manage_package_repo](https://forge.puppet.com/modules/puppet/grafana/reference#manage_package_repo)

For Telegraf, the following parameters are available:

* [repo_location](https://forge.puppet.com/modules/puppet/telegraf/reference#repo_location)
* [manage_repo](https://forge.puppet.com/modules/puppet/telegraf/reference#manage_repo)

GPG options are currently not configurable.

### Archive sources

To use archive sources, set the following parameters.

For InfluxDB, set:

Expand Down
9 changes: 9 additions & 0 deletions REFERENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,7 @@ The following parameters are available in the `puppet_operational_dashboards::pr
* [`provisioning_datasource_file`](#-puppet_operational_dashboards--profile--dashboards--provisioning_datasource_file)
* [`include_pe_metrics`](#-puppet_operational_dashboards--profile--dashboards--include_pe_metrics)
* [`manage_system_board`](#-puppet_operational_dashboards--profile--dashboards--manage_system_board)
* [`system_dashboard_version`](#-puppet_operational_dashboards--profile--dashboards--system_dashboard_version)

##### <a name="-puppet_operational_dashboards--profile--dashboards--token"></a>`token`

Expand Down Expand Up @@ -427,6 +428,14 @@ Whether the System Performance dashboard should be created

Default value: `$puppet_operational_dashboards::manage_system_board`

##### <a name="-puppet_operational_dashboards--profile--dashboards--system_dashboard_version"></a>`system_dashboard_version`

Data type: `Enum['v1', 'v2', 'all']`

Version of the system dashboard to manage. v2 is compatible with puppet_metrics_collector version 7 and up

Default value: `'v2'`

### <a name="puppet_operational_dashboards--profile--postgres_access"></a>`puppet_operational_dashboards::profile::postgres_access`

Allows Telegraf to connect and collect metrics from postgres nodes
Expand Down
Loading