Skip to content

Commit

Permalink
Merge branch 'main' of github.com:tailored-automation/puppet-module-p…
Browse files Browse the repository at this point in the history
…atroni
  • Loading branch information
pkhillari committed Feb 6, 2025
2 parents 009f4f8 + a47bbe3 commit 20c8df4
Show file tree
Hide file tree
Showing 52 changed files with 1,921 additions and 808 deletions.
6 changes: 6 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM puppet/pdk:latest

# [Optional] Uncomment this section to install additional packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>

38 changes: 38 additions & 0 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# devcontainer


For format details, see https://aka.ms/devcontainer.json.

For config options, see the README at:
https://github.com/microsoft/vscode-dev-containers/tree/v0.140.1/containers/puppet

``` json
{
"name": "Puppet Development Kit (Community)",
"dockerFile": "Dockerfile",

// Set *default* container specific settings.json values on container create.
"settings": {
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash",
}
}
},

// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"puppet.puppet-vscode",
"rebornix.Ruby"
],

// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "pdk --version",
}
```



17 changes: 17 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"name": "Puppet Development Kit (Community)",
"dockerFile": "Dockerfile",

"settings": {
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash",
}
}
},

"extensions": [
"puppet.puppet-vscode",
"rebornix.Ruby"
]
}
19 changes: 9 additions & 10 deletions .fixtures-latest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,22 @@
# See https://github.com/puppetlabs/puppetlabs_spec_helper#using-fixtures for details
---
fixtures:
repositories:
forge_modules:
stdlib:
repo: https://github.com/puppetlabs/puppetlabs-stdlib.git
repo: puppetlabs/stdlib
postgresql:
repo: https://github.com/puppetlabs/puppetlabs-postgresql.git
repo: puppetlabs/postgresql
# Needed by Postgresql module
apt:
repo: https://github.com/puppetlabs/puppetlabs-apt.git
repo: puppetlabs/apt
python:
repo: https://github.com/voxpupuli/puppet-python.git
repo: puppet/python
# Needed by Python module
epel:
repo: https://github.com/voxpupuli/puppet-epel.git
repo: puppet/epel
systemd:
repo: https://github.com/camptocamp/puppet-systemd.git
repo: puppet/systemd
yumrepo_core:
repo: git://github.com/puppetlabs/puppetlabs-yumrepo_core
puppet_version: ">= 6.0.0"
repo: puppetlabs/yumrepo_core
symlinks:
etcd: "#{source_dir}"
patroni: "#{source_dir}"
33 changes: 16 additions & 17 deletions .fixtures.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,29 @@
# See https://github.com/puppetlabs/puppetlabs_spec_helper#using-fixtures for details
---
fixtures:
repositories:
forge_modules:
stdlib:
repo: https://github.com/puppetlabs/puppetlabs-stdlib.git
ref: v6.0.0
repo: puppetlabs/stdlib
ref: '9.4.1'
postgresql:
repo: https://github.com/puppetlabs/puppetlabs-postgresql.git
ref: v6.4.0
repo: puppetlabs/postgresql
ref: '10.0.2'
# Needed by Postgresql module
apt:
repo: https://github.com/puppetlabs/puppetlabs-apt.git
ref: v7.5.0
repo: puppetlabs/apt
ref: '9.1.0'
python:
repo: https://github.com/voxpupuli/puppet-python.git
ref: v4.0.0
repo: puppet/python
ref: '7.0.0'
# Needed by Python module
epel:
repo: https://github.com/voxpupuli/puppet-epel.git
ref: v3.0.0
repo: puppet/epel
ref: '5.0.0'
systemd:
repo: https://github.com/camptocamp/puppet-systemd.git
ref: 2.0.0
repo: puppet/systemd
ref: '6.1.0'
yumrepo_core:
repo: git://github.com/puppetlabs/puppetlabs-yumrepo_core
ref: 1.0.1
puppet_version: ">= 6.0.0"
repo: puppetlabs/yumrepo_core
ref: '2.0.0'
symlinks:
etcd: "#{source_dir}"
patroni: "#{source_dir}"
94 changes: 94 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: CI

on:
push:
branches:
- main
- master
pull_request:

jobs:
unit:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.allow_failure }}
strategy:
fail-fast: false
matrix:
include:
- ruby: 2.7.8
puppet: 7
fixtures: .fixtures.yml
allow_failure: false
- ruby: 2.7.8
puppet: 7
fixtures: .fixtures-latest.yml
allow_failure: true
- ruby: 3.2.2
puppet: 8
fixtures: .fixtures.yml
allow_failure: false
- ruby: 3.2.2
puppet: 8
fixtures: .fixtures-latest.yml
allow_failure: true
env:
BUNDLE_WITHOUT: system_tests:release
PUPPET_GEM_VERSION: "~> ${{ matrix.puppet }}.0"
FIXTURES_YML: ${{ matrix.fixtures }}
name: Puppet ${{ matrix.puppet }} (Ruby ${{ matrix.ruby }} fixtures=${{ matrix.fixtures }})
steps:
- uses: actions/checkout@v3
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
cache-version: 2
bundler: '2.1.0'
- name: Validate
run: bundle exec rake check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop syntax lint metadata_lint
- name: Run tests
run: bundle exec rake parallel_spec
acceptance:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
set:
- "el8"
- "el9"
- "debian-11"
- "ubuntu-2004"
- "ubuntu-2204"
puppet:
- "puppet7"
- "puppet8"
env:
BUNDLE_WITHOUT: development:release
BEAKER_debug: true
name:
steps:
- name: Enable IPv6 on docker
run: |
echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json
sudo service docker restart
# https://github.com/actions/virtual-environments/issues/181#issuecomment-610874237
- name: apparmor
run: |
set -x
sudo apt-get remove mysql-server --purge
sudo apt-get install apparmor-profiles
sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
- uses: actions/checkout@v3
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'
bundler-cache: true
cache-version: 2
bundler: '2.1.0'
- name: Run tests
run: bundle exec rake beaker
env:
BEAKER_PUPPET_COLLECTION: ${{ matrix.puppet }}
BEAKER_set: ${{ matrix.set }}
31 changes: 31 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
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@v3
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'
bundler-cache: true
cache-version: 2
bundler: '2.1.0'
- name: Build and Deploy
env:
# Configure secrets here:
# https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets
BLACKSMITH_FORGE_USERNAME: 'tailoredautomation'
BLACKSMITH_FORGE_API_KEY: '${{ secrets.PUPPET_FORGE_API_KEY }}'
run: bundle exec rake module:push
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,4 @@
.project
.envrc
/inventory.yaml
/spec/fixtures/litmus_inventory.yaml
3 changes: 3 additions & 0 deletions .pdkignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@
.project
.envrc
/inventory.yaml
/spec/fixtures/litmus_inventory.yaml
/appveyor.yml
/.fixtures.yml
/Gemfile
Expand All @@ -40,3 +41,5 @@
/.yardopts
/spec/
/.vscode/
/.sync.yml
/.devcontainer/
3 changes: 3 additions & 0 deletions .puppet-lint.rc
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
--no-80chars-check
--no-140chars-check
--no-manifest_whitespace_opening_brace_after-check
--relative
--fail_on_warnings
Loading

0 comments on commit 20c8df4

Please sign in to comment.