Add basic config and service teststags/v1.0.0
# -*- coding: utf-8 -*- | |||||
# vim: ft=yaml | |||||
--- | |||||
name: Commitlint | |||||
'on': [pull_request] | |||||
jobs: | |||||
lint: | |||||
runs-on: ubuntu-latest | |||||
env: | |||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |||||
steps: | |||||
- uses: actions/checkout@v2 | |||||
with: | |||||
fetch-depth: 0 | |||||
- uses: wagoid/commitlint-github-action@v1 |
# Byte-compiled / optimized / DLL files | |||||
__pycache__/ | |||||
*.py[cod] | |||||
*$py.class | |||||
# C extensions | |||||
*.so | |||||
# Distribution / packaging | |||||
.Python | |||||
env/ | |||||
build/ | |||||
develop-eggs/ | |||||
dist/ | |||||
downloads/ | |||||
eggs/ | |||||
.eggs/ | |||||
lib/ | |||||
lib64/ | |||||
parts/ | |||||
sdist/ | |||||
var/ | |||||
wheels/ | |||||
*.egg-info/ | |||||
.installed.cfg | |||||
*.egg | |||||
# PyInstaller | |||||
# Usually these files are written by a python script from a packager | |||||
# before PyInstaller builds the exe, so as to inject date/other infos into it. | |||||
*.manifest | |||||
*.spec | |||||
# Installer logs | |||||
pip-log.txt | |||||
pip-delete-this-directory.txt | |||||
# Unit test / coverage reports | |||||
htmlcov/ | |||||
.tox/ | |||||
.coverage | |||||
.coverage.* | |||||
.cache | |||||
nosetests.xml | |||||
coverage.xml | |||||
*.cover | |||||
.hypothesis/ | |||||
.kitchen | |||||
.kitchen.local.yml | |||||
kitchen.local.yml | |||||
junit-*.xml | |||||
# Translations | |||||
*.mo | |||||
*.pot | |||||
# Django stuff: | |||||
*.log | |||||
local_settings.py | |||||
# Flask stuff: | |||||
instance/ | |||||
.webassets-cache | |||||
# Scrapy stuff: | |||||
.scrapy | |||||
# Sphinx documentation | |||||
docs/_build/ | |||||
# PyBuilder | |||||
target/ | |||||
# Jupyter Notebook | |||||
.ipynb_checkpoints | |||||
# pyenv | |||||
.python-version | |||||
# celery beat schedule file | |||||
celerybeat-schedule | |||||
# SageMath parsed files | |||||
*.sage.py | |||||
# dotenv | |||||
.env | |||||
# virtualenv | |||||
.venv | |||||
venv/ | |||||
ENV/ | |||||
# Spyder project settings | |||||
.spyderproject | |||||
.spyproject | |||||
# Rope project settings | |||||
.ropeproject | |||||
# mkdocs documentation | |||||
/site | |||||
# mypy | |||||
.mypy_cache/ | |||||
# Bundler | |||||
.bundle/ | |||||
# copied `.md` files used for conversion to `.rst` using `m2r` | |||||
docs/*.md | |||||
# Vim | |||||
*.sw? | |||||
## Collected when centralising formulas (check and sort) | |||||
# `collectd-formula` | |||||
.pytest_cache/ | |||||
/.idea/ | |||||
Dockerfile.*_* | |||||
ignore/ | |||||
tmp/ |
# -*- coding: utf-8 -*- | |||||
# vim: ft=yaml | |||||
--- | |||||
# See https://pre-commit.com for more information | |||||
# See https://pre-commit.com/hooks.html for more hooks | |||||
default_stages: [commit] | |||||
repos: | |||||
- repo: https://github.com/dafyddj/commitlint-pre-commit-hook | |||||
rev: v2.3.0 | |||||
hooks: | |||||
- id: commitlint | |||||
name: Check commit message using commitlint | |||||
description: Lint commit message against @commitlint/config-conventional rules | |||||
stages: [commit-msg] | |||||
additional_dependencies: ['@commitlint/config-conventional@8.3.4'] | |||||
- id: commitlint-travis | |||||
stages: [manual] | |||||
additional_dependencies: ['@commitlint/config-conventional@8.3.4'] | |||||
always_run: true | |||||
- repo: https://github.com/adithyabsk/mirrors-rubocop | |||||
rev: v0.91.0 | |||||
hooks: | |||||
- id: rubocop | |||||
name: Check Ruby files with rubocop | |||||
args: [--debug] | |||||
always_run: true | |||||
pass_filenames: false | |||||
- repo: https://github.com/jumanjihouse/pre-commit-hooks | |||||
rev: 2.1.3 | |||||
hooks: | |||||
- id: shellcheck | |||||
name: Check shell scripts with shellcheck | |||||
files: ^.*\.(sh|bash|ksh)$ | |||||
types: [] | |||||
args: [] | |||||
- repo: https://github.com/adrienverge/yamllint.git | |||||
rev: v1.23.0 | |||||
hooks: | |||||
- id: yamllint | |||||
name: Check YAML syntax with yamllint | |||||
args: [--strict, '.'] | |||||
always_run: true | |||||
pass_filenames: false | |||||
- repo: https://github.com/warpnet/salt-lint | |||||
rev: v0.3.0 | |||||
hooks: | |||||
- id: salt-lint | |||||
name: Check Salt files using salt-lint | |||||
files: ^.*\.(sls|jinja|j2|tmpl|tst)$ | |||||
- repo: https://github.com/myint/rstcheck | |||||
rev: 3f929574 | |||||
hooks: | |||||
- id: rstcheck | |||||
name: Check reST files using rstcheck | |||||
exclude: 'docs/CHANGELOG.rst' | |||||
args: [--report=warning] |
[rstcheck] | |||||
report=error | |||||
ignore_language=rst |
# -*- coding: utf-8 -*- | |||||
# vim: ft=yaml | |||||
--- | |||||
# General overrides used across formulas in the org | |||||
Layout/LineLength: | |||||
# Increase from default of `80` | |||||
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`) | |||||
Max: 88 | |||||
Metrics/BlockLength: | |||||
ExcludedMethods: | |||||
- control | |||||
- describe | |||||
# Increase from default of `25` | |||||
Max: 30 | |||||
# Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config` |
# -*- coding: utf-8 -*- | |||||
# vim: ft=yaml | |||||
--- | |||||
exclude_paths: [] | |||||
rules: {} | |||||
skip_list: | |||||
# Using `salt-lint` for linting other files as well, such as Jinja macros/templates | |||||
- 205 # Use ".sls" as a Salt State file extension | |||||
# Skipping `207` and `208` because `210` is sufficient, at least for the time-being | |||||
# I.e. Allows 3-digit unquoted codes to still be used, such as `644` and `755` | |||||
- 207 # File modes should always be encapsulated in quotation marks | |||||
- 208 # File modes should always contain a leading zero | |||||
tags: [] | |||||
verbosity: 1 |
# -*- coding: utf-8 -*- | |||||
# vim: ft=yaml | |||||
--- | |||||
## Machine config | |||||
os: 'linux' | |||||
arch: 'amd64' | |||||
dist: 'bionic' | |||||
version: '~> 1.0' | |||||
## Language and cache config | |||||
language: 'ruby' | |||||
cache: 'bundler' | |||||
## Services config | |||||
services: | |||||
- docker | |||||
## Script to run for the test stage | |||||
script: | |||||
- bin/kitchen verify "${INSTANCE}" | |||||
## Stages and jobs matrix | |||||
stages: | |||||
- test | |||||
- name: 'release' | |||||
if: 'branch = master AND type != pull_request' | |||||
jobs: | |||||
include: | |||||
## Define the test stage that runs the linters (and testing matrix, if applicable) | |||||
# Run all of the linters in a single job | |||||
- language: 'node_js' | |||||
node_js: 'lts/*' | |||||
env: 'Lint' | |||||
name: 'Lint: salt-lint, yamllint, rubocop, shellcheck & commitlint' | |||||
before_install: 'skip' | |||||
script: | |||||
# Install and run `salt-lint` | |||||
- pip install --user salt-lint | |||||
- git ls-files -- '*.sls' '*.jinja' '*.j2' '*.tmpl' '*.tst' | |||||
| xargs salt-lint | |||||
# Install and run `yamllint` | |||||
# Need at least `v1.17.0` for the `yaml-files` setting | |||||
- pip install --user yamllint>=1.17.0 | |||||
- yamllint -s . | |||||
# Install and run `rubocop` | |||||
- gem install rubocop | |||||
- rubocop -d | |||||
# Run `shellcheck` (already pre-installed in Travis) | |||||
- shellcheck --version | |||||
- git ls-files -- '*.sh' '*.bash' '*.ksh' | |||||
| xargs shellcheck | |||||
# Install and run `commitlint` | |||||
- npm i -D @commitlint/config-conventional | |||||
@commitlint/travis-cli | |||||
- commitlint-travis | |||||
# Run `pre-commit` linters in a single job | |||||
- language: 'python' | |||||
env: 'Lint_pre-commit' | |||||
name: 'Lint: pre-commit' | |||||
before_install: 'skip' | |||||
cache: | |||||
directories: | |||||
- $HOME/.cache/pre-commit | |||||
script: | |||||
# Install and run `pre-commit` | |||||
- pip install pre-commit==2.7.1 | |||||
- pre-commit run --all-files --color always --verbose | |||||
- pre-commit run --color always --hook-stage manual --verbose commitlint-travis | |||||
## Define the rest of the matrix based on Kitchen testing | |||||
# Make sure the instances listed below match up with | |||||
# the `platforms` defined in `kitchen.yml` | |||||
# NOTE: Please try to select up to six instances that add some meaningful | |||||
# testing of the formula's behaviour. If possible, try to refrain from | |||||
# the classical "chosing all the instances because I want to test on | |||||
# another/all distro/s" trap: it will just add time to the testing (see | |||||
# the discussion on #121). As an example, the set chosen below covers | |||||
# the most used distros families, systemd and non-systemd and the latest | |||||
# three supported Saltstack versions with python2 and 3. | |||||
# As for `kitchen.yml`, that should still contain all of the platforms, | |||||
# to allow for comprehensive local testing | |||||
# Ref: https://github.com/saltstack-formulas/template-formula/issues/118 | |||||
# Ref: https://github.com/saltstack-formulas/template-formula/issues/121 | |||||
# - env: INSTANCE=default-debian-10-tiamat-py3 | |||||
# - env: INSTANCE=default-debian-9-tiamat-py3 | |||||
# - env: INSTANCE=default-ubuntu-2004-tiamat-py3 | |||||
# - env: INSTANCE=default-ubuntu-1804-tiamat-py3 | |||||
# - env: INSTANCE=default-ubuntu-1604-tiamat-py3 | |||||
- env: INSTANCE=default-centos-8-tiamat-py3 | |||||
- env: INSTANCE=default-centos-7-tiamat-py3 | |||||
# - env: INSTANCE=default-amazonlinux-2-tiamat-py3 | |||||
# - env: INSTANCE=default-oraclelinux-8-tiamat-py3 | |||||
# - env: INSTANCE=default-oraclelinux-7-tiamat-py3 | |||||
- env: INSTANCE=default-debian-10-master-py3 | |||||
- env: INSTANCE=default-ubuntu-2004-master-py3 | |||||
- env: INSTANCE=default-ubuntu-1804-master-py3 | |||||
# - env: INSTANCE=default-centos-8-master-py3 | |||||
# - env: INSTANCE=default-fedora-32-master-py3 | |||||
# - env: INSTANCE=default-fedora-31-master-py3 | |||||
# - env: INSTANCE=default-opensuse-leap-152-master-py3 | |||||
# - env: INSTANCE=default-amazonlinux-2-master-py3 | |||||
# - env: INSTANCE=default-debian-10-3001-py3 | |||||
- env: INSTANCE=default-debian-9-3001-py3 | |||||
# - env: INSTANCE=default-ubuntu-2004-3001-py3 | |||||
# - env: INSTANCE=default-ubuntu-1804-3001-py3 | |||||
# - env: INSTANCE=default-centos-8-3001-py3 | |||||
# - env: INSTANCE=default-centos-7-3001-py3 | |||||
# - env: INSTANCE=default-fedora-32-3001-py3 | |||||
# - env: INSTANCE=default-fedora-31-3001-py3 | |||||
# - env: INSTANCE=default-opensuse-leap-152-3001-py3 | |||||
# - env: INSTANCE=default-amazonlinux-2-3001-py3 | |||||
# - env: INSTANCE=default-oraclelinux-8-3001-py3 | |||||
# - env: INSTANCE=default-oraclelinux-7-3001-py3 | |||||
# - env: INSTANCE=default-debian-10-3000-3-py3 | |||||
# - env: INSTANCE=default-debian-9-3000-3-py3 | |||||
# - env: INSTANCE=default-ubuntu-1804-3000-3-py3 | |||||
# - env: INSTANCE=default-centos-8-3000-3-py3 | |||||
# - env: INSTANCE=default-centos-7-3000-3-py3 | |||||
# - env: INSTANCE=default-fedora-31-3000-3-py3 | |||||
# - env: INSTANCE=default-opensuse-leap-152-3000-3-py3 | |||||
# - env: INSTANCE=default-amazonlinux-2-3000-3-py3 | |||||
# - env: INSTANCE=default-ubuntu-1804-3000-3-py2 | |||||
# - env: INSTANCE=default-ubuntu-1604-3000-3-py2 | |||||
# - env: INSTANCE=default-arch-base-latest-3000-3-py2 | |||||
# - env: INSTANCE=upstart-centos-6-2019-2-py2 | |||||
# - env: INSTANCE=upstart-amazonlinux-1-2019-2-py2 | |||||
## Define the release stage that runs `semantic-release` | |||||
- stage: 'release' | |||||
language: 'node_js' | |||||
node_js: 'lts/*' | |||||
env: 'Release' | |||||
name: 'Run semantic-release inc. file updates to AUTHORS, CHANGELOG & FORMULA' | |||||
before_install: 'skip' | |||||
script: | |||||
# Update `AUTHORS.md` | |||||
- export MAINTAINER_TOKEN=${GH_TOKEN} | |||||
- go get github.com/myii/maintainer | |||||
- maintainer contributor | |||||
# Install all dependencies required for `semantic-release` | |||||
- npm i -D @semantic-release/changelog@3 | |||||
@semantic-release/exec@3 | |||||
@semantic-release/git@7 | |||||
deploy: | |||||
provider: 'script' | |||||
# Opt-in to `dpl v2` to complete the Travis build config validation (beta) | |||||
# * https://docs.travis-ci.com/user/build-config-validation | |||||
# Deprecated `skip_cleanup` can now be avoided, `cleanup: false` is by default | |||||
edge: true | |||||
# Run `semantic-release` | |||||
script: 'npx semantic-release@15.14' |
# -*- coding: utf-8 -*- | |||||
# vim: ft=yaml | |||||
--- | |||||
# Extend the `default` configuration provided by `yamllint` | |||||
extends: default | |||||
# Files to ignore completely | |||||
# 1. All YAML files under directory `node_modules/`, introduced during the Travis run | |||||
# 2. Any SLS files under directory `test/`, which are actually state files | |||||
# 3. Any YAML files under directory `.kitchen/`, introduced during local testing | |||||
ignore: | | |||||
node_modules/ | |||||
test/**/states/**/*.sls | |||||
.kitchen/ | |||||
diaspora/files/database.yml | |||||
diaspora/files/diaspora.yml | |||||
yaml-files: | |||||
# Default settings | |||||
- '*.yaml' | |||||
- '*.yml' | |||||
- .salt-lint | |||||
- .yamllint | |||||
# SaltStack Formulas additional settings | |||||
- '*.example' | |||||
- test/**/*.sls | |||||
rules: | |||||
empty-values: | |||||
forbid-in-block-mappings: true | |||||
forbid-in-flow-mappings: true | |||||
line-length: | |||||
# Increase from default of `80` | |||||
# Based on https://github.com/PyCQA/flake8-bugbear#opinionated-warnings (`B950`) | |||||
max: 88 | |||||
octal-values: | |||||
forbid-implicit-octal: true | |||||
forbid-explicit-octal: true |
# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners | |||||
# SECTION: Owner(s) for everything in the repo, unless a later match takes precedence | |||||
# FILE PATTERN OWNER(S) | |||||
* @SuperTux88 | |||||
# SECTION: Owner(s) for specific directories | |||||
# FILE PATTERN OWNER(S) | |||||
# SECTION: Owner(s) for files/directories related to `semantic-release` | |||||
# FILE PATTERN OWNER(S) | |||||
/.github/workflows/ @saltstack-formulas/ssf | |||||
/bin/install-hooks @saltstack-formulas/ssf | |||||
/bin/kitchen @saltstack-formulas/ssf | |||||
/docs/AUTHORS.rst @saltstack-formulas/ssf | |||||
/docs/CHANGELOG.rst @saltstack-formulas/ssf | |||||
/docs/TOFS_pattern.rst @saltstack-formulas/ssf | |||||
/diaspora/libsaltcli.jinja @saltstack-formulas/ssf | |||||
/diaspora/libtofs.jinja @saltstack-formulas/ssf | |||||
/test/integration/**/inspec.yml @saltstack-formulas/ssf | |||||
/test/integration/**/README.md @saltstack-formulas/ssf | |||||
/.gitignore @saltstack-formulas/ssf | |||||
/.cirrus.yml @saltstack-formulas/ssf | |||||
/.pre-commit-config.yaml @saltstack-formulas/ssf | |||||
/.rstcheck.cfg @saltstack-formulas/ssf | |||||
/.rubocop.yml @saltstack-formulas/ssf | |||||
/.salt-lint @saltstack-formulas/ssf | |||||
/.travis.yml @saltstack-formulas/ssf | |||||
/.yamllint @saltstack-formulas/ssf | |||||
/AUTHORS.md @saltstack-formulas/ssf | |||||
/CHANGELOG.md @saltstack-formulas/ssf | |||||
/CODEOWNERS @saltstack-formulas/ssf | |||||
/commitlint.config.js @saltstack-formulas/ssf | |||||
/FORMULA @saltstack-formulas/ssf | |||||
/Gemfile @saltstack-formulas/ssf | |||||
/Gemfile.lock @saltstack-formulas/ssf | |||||
/kitchen.yml @saltstack-formulas/ssf | |||||
/pre-commit_semantic-release.sh @saltstack-formulas/ssf | |||||
/release-rules.js @saltstack-formulas/ssf | |||||
/release.config.js @saltstack-formulas/ssf | |||||
# SECTION: Owner(s) for specific files | |||||
# FILE PATTERN OWNER(S) |
name: diaspora | |||||
os: Debian, Ubuntu, RedHat, CentOS | |||||
os_family: Debian, RedHat | |||||
version: 0.1.0 | |||||
release: 1 | |||||
minimum_version: 2019.2 | |||||
summary: diaspora formula | |||||
description: A saltstack formula to install and configure diaspora* | |||||
top_level_dir: diaspora |
# frozen_string_literal: true | |||||
source 'https://rubygems.org' | |||||
gem 'kitchen-docker', github: 'test-kitchen/kitchen-docker', ref: '41e80fe' | |||||
gem 'kitchen-inspec', '>= 2.2.1' | |||||
gem 'kitchen-salt', '>= 0.6.3' |
GIT | |||||
remote: https://github.com/test-kitchen/kitchen-docker.git | |||||
revision: 41e80fed3a7cc86323e19c16a5a340cebf7e5848 | |||||
ref: 41e80fe | |||||
specs: | |||||
kitchen-docker (2.10.0) | |||||
test-kitchen (>= 1.0.0) | |||||
GEM | |||||
remote: https://rubygems.org/ | |||||
specs: | |||||
activesupport (5.2.4.4) | |||||
concurrent-ruby (~> 1.0, >= 1.0.2) | |||||
i18n (>= 0.7, < 2) | |||||
minitest (~> 5.1) | |||||
tzinfo (~> 1.1) | |||||
addressable (2.7.0) | |||||
public_suffix (>= 2.0.2, < 5.0) | |||||
aws-eventstream (1.1.0) | |||||
aws-partitions (1.380.0) | |||||
aws-sdk-apigateway (1.55.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-apigatewayv2 (1.29.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-athena (1.33.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-autoscaling (1.22.0) | |||||
aws-sdk-core (~> 3, >= 3.52.1) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-budgets (1.35.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-cloudformation (1.44.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-cloudfront (1.43.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-cloudhsm (1.27.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-cloudhsmv2 (1.30.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-cloudtrail (1.29.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-cloudwatch (1.45.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-cloudwatchlogs (1.38.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-codecommit (1.40.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-codedeploy (1.37.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-codepipeline (1.37.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-configservice (1.53.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-core (3.109.1) | |||||
aws-eventstream (~> 1, >= 1.0.2) | |||||
aws-partitions (~> 1, >= 1.239.0) | |||||
aws-sigv4 (~> 1.1) | |||||
jmespath (~> 1.0) | |||||
aws-sdk-costandusagereportservice (1.28.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-dynamodb (1.55.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-ec2 (1.198.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-ecr (1.39.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-ecs (1.70.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-efs (1.36.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-eks (1.44.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-elasticache (1.43.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-elasticbeanstalk (1.38.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-elasticloadbalancing (1.29.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-elasticloadbalancingv2 (1.53.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-elasticsearchservice (1.43.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-firehose (1.35.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-guardduty (1.42.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-iam (1.46.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-kafka (1.29.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-kinesis (1.30.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-kms (1.39.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-lambda (1.51.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-organizations (1.17.0) | |||||
aws-sdk-core (~> 3, >= 3.39.0) | |||||
aws-sigv4 (~> 1.0) | |||||
aws-sdk-rds (1.102.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-redshift (1.50.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-route53 (1.44.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-route53domains (1.28.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-route53resolver (1.21.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-s3 (1.83.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sdk-kms (~> 1) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-securityhub (1.35.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-ses (1.36.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-sms (1.27.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-sns (1.32.1) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-sqs (1.34.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sdk-ssm (1.93.0) | |||||
aws-sdk-core (~> 3, >= 3.109.0) | |||||
aws-sigv4 (~> 1.1) | |||||
aws-sigv4 (1.2.2) | |||||
aws-eventstream (~> 1, >= 1.0.2) | |||||
azure_graph_rbac (0.17.2) | |||||
ms_rest_azure (~> 0.12.0) | |||||
azure_mgmt_key_vault (0.17.6) | |||||
ms_rest_azure (~> 0.12.0) | |||||
azure_mgmt_resources (0.18.0) | |||||
ms_rest_azure (~> 0.12.0) | |||||
azure_mgmt_security (0.18.2) | |||||
ms_rest_azure (~> 0.12.0) | |||||
azure_mgmt_storage (0.22.0) | |||||
ms_rest_azure (~> 0.12.0) | |||||
bcrypt_pbkdf (1.0.1) | |||||
builder (3.2.4) | |||||
chef-config (16.5.77) | |||||
addressable | |||||
chef-utils (= 16.5.77) | |||||
fuzzyurl | |||||
mixlib-config (>= 2.2.12, < 4.0) | |||||
mixlib-shellout (>= 2.0, < 4.0) | |||||
tomlrb (~> 1.2) | |||||
chef-telemetry (1.0.14) | |||||
chef-config | |||||
concurrent-ruby (~> 1.0) | |||||
ffi-yajl (~> 2.2) | |||||
chef-utils (16.5.77) | |||||
coderay (1.1.3) | |||||
concurrent-ruby (1.1.7) | |||||
declarative (0.0.20) | |||||
declarative-option (0.1.0) | |||||
diff-lcs (1.4.4) | |||||
docker-api (2.0.0) | |||||
excon (>= 0.47.0) | |||||
multi_json | |||||
domain_name (0.5.20190701) | |||||
unf (>= 0.0.5, < 1.0.0) | |||||
ecma-re-validator (0.2.1) | |||||
regexp_parser (~> 1.2) | |||||
ed25519 (1.2.4) | |||||
erubi (1.9.0) | |||||
excon (0.76.0) | |||||
faraday (1.0.1) | |||||
multipart-post (>= 1.2, < 3) | |||||
faraday-cookie_jar (0.0.7) | |||||
faraday (>= 0.8.0) | |||||
http-cookie (~> 1.0.0) | |||||
faraday_middleware (1.0.0) | |||||
faraday (~> 1.0) | |||||
ffi (1.13.1) | |||||
ffi-yajl (2.3.4) | |||||
libyajl2 (~> 1.2) | |||||
fuzzyurl (0.9.0) | |||||
google-api-client (0.44.0) | |||||
addressable (~> 2.5, >= 2.5.1) | |||||
googleauth (~> 0.9) | |||||
httpclient (>= 2.8.1, < 3.0) | |||||
mini_mime (~> 1.0) | |||||
representable (~> 3.0) | |||||
retriable (>= 2.0, < 4.0) | |||||
signet (~> 0.12) | |||||
googleauth (0.13.0) | |||||
faraday (>= 0.17.3, < 2.0) | |||||
jwt (>= 1.4, < 3.0) | |||||
memoist (~> 0.16) | |||||
multi_json (~> 1.11) | |||||
os (>= 0.9, < 2.0) | |||||
signet (~> 0.14) | |||||
gssapi (1.3.0) | |||||
ffi (>= 1.0.1) | |||||
gyoku (1.3.1) | |||||
builder (>= 2.1.2) | |||||
hana (1.3.6) | |||||
hashie (3.6.0) | |||||
http-cookie (1.0.3) | |||||
domain_name (~> 0.5) | |||||
httpclient (2.8.3) | |||||
i18n (1.8.5) | |||||
concurrent-ruby (~> 1.0) | |||||
inifile (3.0.0) | |||||
inspec (4.23.11) | |||||
faraday_middleware (>= 0.12.2, < 1.1) | |||||
inspec-core (= 4.23.11) | |||||
train (~> 3.0) | |||||
train-aws (~> 0.1) | |||||
train-habitat (~> 0.1) | |||||
train-winrm (~> 0.2) | |||||
inspec-core (4.23.11) | |||||
addressable (~> 2.4) | |||||
chef-telemetry (~> 1.0) | |||||
faraday (>= 0.9.0, < 1.1) | |||||
hashie (~> 3.4) | |||||
json_schemer (>= 0.2.1, < 0.2.12) | |||||
license-acceptance (>= 0.2.13, < 3.0) | |||||
method_source (>= 0.8, < 2.0) | |||||
mixlib-log (~> 3.0) | |||||
multipart-post (~> 2.0) | |||||
parallel (~> 1.9) | |||||
parslet (~> 1.5) | |||||
pry (~> 0.13) | |||||
rspec (~> 3.9) | |||||
rspec-its (~> 1.2) | |||||
rubyzip (~> 1.2, >= 1.2.2) | |||||
semverse (~> 3.0) | |||||
sslshake (~> 1.2) | |||||
thor (>= 0.20, < 2.0) | |||||
tomlrb (~> 1.2.0) | |||||
train-core (~> 3.0) | |||||
tty-prompt (~> 0.17) | |||||
tty-table (~> 0.10) | |||||
jmespath (1.4.0) | |||||
json (2.3.1) | |||||
json_schemer (0.2.11) | |||||
ecma-re-validator (~> 0.2) | |||||
hana (~> 1.3) | |||||
regexp_parser (~> 1.5) | |||||
uri_template (~> 0.7) | |||||
jwt (2.2.2) | |||||
kitchen-inspec (2.2.1) | |||||
hashie (~> 3.4) | |||||
inspec (>= 2.2.64, < 5.0) | |||||
test-kitchen (>= 2.7, < 3) | |||||
kitchen-salt (0.6.3) | |||||
hashie (>= 3.5) | |||||
test-kitchen (>= 1.4) | |||||
libyajl2 (1.2.0) | |||||
license-acceptance (2.1.2) | |||||
pastel (~> 0.7) | |||||
tomlrb (~> 1.2) | |||||
tty-box (~> 0.6) | |||||
tty-prompt (~> 0.20) | |||||
little-plugger (1.1.4) | |||||
logging (2.3.0) | |||||
little-plugger (~> 1.1) | |||||
multi_json (~> 1.14) | |||||
memoist (0.16.2) | |||||
method_source (1.0.0) | |||||
mini_mime (1.0.2) | |||||
minitest (5.14.2) | |||||
mixlib-config (3.0.9) | |||||
tomlrb | |||||
mixlib-install (3.12.3) | |||||
mixlib-shellout | |||||
mixlib-versioning | |||||
thor | |||||
mixlib-log (3.0.9) | |||||
mixlib-shellout (3.1.6) | |||||
chef-utils | |||||
mixlib-versioning (1.2.12) | |||||
ms_rest (0.7.6) | |||||
concurrent-ruby (~> 1.0) | |||||
faraday (>= 0.9, < 2.0.0) | |||||
timeliness (~> 0.3.10) | |||||
ms_rest_azure (0.12.0) | |||||
concurrent-ruby (~> 1.0) | |||||
faraday (>= 0.9, < 2.0.0) | |||||
faraday-cookie_jar (~> 0.0.6) | |||||
ms_rest (~> 0.7.6) | |||||
multi_json (1.15.0) | |||||
multipart-post (2.1.1) | |||||
net-scp (3.0.0) | |||||
net-ssh (>= 2.6.5, < 7.0.0) | |||||
net-ssh (6.1.0) | |||||
net-ssh-gateway (2.0.0) | |||||
net-ssh (>= 4.0.0) | |||||
nori (2.6.0) | |||||
os (1.1.1) | |||||
parallel (1.19.2) | |||||
parslet (1.8.2) | |||||
pastel (0.8.0) | |||||
tty-color (~> 0.5) | |||||
pry (0.13.1) | |||||
coderay (~> 1.1) | |||||
method_source (~> 1.0) | |||||
public_suffix (4.0.6) | |||||
regexp_parser (1.8.1) | |||||
representable (3.0.4) | |||||
declarative (< 0.1.0) | |||||
declarative-option (< 0.2.0) | |||||
uber (< 0.2.0) | |||||
retriable (3.1.2) | |||||
rspec (3.9.0) | |||||
rspec-core (~> 3.9.0) | |||||
rspec-expectations (~> 3.9.0) | |||||
rspec-mocks (~> 3.9.0) | |||||
rspec-core (3.9.3) | |||||
rspec-support (~> 3.9.3) | |||||
rspec-expectations (3.9.2) | |||||
diff-lcs (>= 1.2.0, < 2.0) | |||||
rspec-support (~> 3.9.0) | |||||
rspec-its (1.3.0) | |||||
rspec-core (>= 3.0.0) | |||||
rspec-expectations (>= 3.0.0) | |||||
rspec-mocks (3.9.1) | |||||
diff-lcs (>= 1.2.0, < 2.0) | |||||
rspec-support (~> 3.9.0) | |||||
rspec-support (3.9.3) | |||||
rubyntlm (0.6.2) | |||||
rubyzip (1.3.0) | |||||
semverse (3.0.0) | |||||
signet (0.14.0) | |||||
addressable (~> 2.3) | |||||
faraday (>= 0.17.3, < 2.0) | |||||
jwt (>= 1.5, < 3.0) | |||||
multi_json (~> 1.10) | |||||
sslshake (1.3.1) | |||||
strings (0.2.0) | |||||
strings-ansi (~> 0.2) | |||||
unicode-display_width (~> 1.5) | |||||
unicode_utils (~> 1.4) | |||||
strings-ansi (0.2.0) | |||||
test-kitchen (2.7.2) | |||||
bcrypt_pbkdf (~> 1.0) | |||||
ed25519 (~> 1.2) | |||||
license-acceptance (>= 1.0.11, < 3.0) | |||||
mixlib-install (~> 3.6) | |||||
mixlib-shellout (>= 1.2, < 4.0) | |||||
net-scp (>= 1.1, < 4.0) | |||||
net-ssh (>= 2.9, < 7.0) | |||||
net-ssh-gateway (>= 1.2, < 3.0) | |||||
thor (>= 0.19, < 2.0) | |||||
winrm (~> 2.0) | |||||
winrm-elevated (~> 1.0) | |||||
winrm-fs (~> 1.1) | |||||
thor (1.0.1) | |||||
thread_safe (0.3.6) | |||||
timeliness (0.3.10) | |||||
tomlrb (1.2.9) | |||||
train (3.3.24) | |||||
activesupport (>= 5.2.4.3, < 6.0.0) | |||||
azure_graph_rbac (~> 0.16) | |||||
azure_mgmt_key_vault (~> 0.17) | |||||
azure_mgmt_resources (~> 0.15) | |||||
azure_mgmt_security (~> 0.18) | |||||
azure_mgmt_storage (~> 0.18) | |||||
docker-api (>= 1.26, < 3.0) | |||||
google-api-client (>= 0.23.9, < 0.44.1) | |||||
googleauth (>= 0.6.6, < 0.13.1) | |||||
inifile (~> 3.0) | |||||
train-core (= 3.3.24) | |||||
train-winrm (~> 0.2) | |||||
train-aws (0.1.18) | |||||
aws-sdk-apigateway (~> 1.0) | |||||
aws-sdk-apigatewayv2 (~> 1.0) | |||||
aws-sdk-athena (~> 1.0) | |||||
aws-sdk-autoscaling (~> 1.22.0) | |||||
aws-sdk-budgets (~> 1.0) | |||||
aws-sdk-cloudformation (~> 1.0) | |||||
aws-sdk-cloudfront (~> 1.0) | |||||
aws-sdk-cloudhsm (~> 1.0) | |||||
aws-sdk-cloudhsmv2 (~> 1.0) | |||||
aws-sdk-cloudtrail (~> 1.8) | |||||
aws-sdk-cloudwatch (~> 1.13) | |||||
aws-sdk-cloudwatchlogs (~> 1.13) | |||||
aws-sdk-codecommit (~> 1.0) | |||||
aws-sdk-codedeploy (~> 1.0) | |||||
aws-sdk-codepipeline (~> 1.0) | |||||
aws-sdk-configservice (~> 1.21) | |||||
aws-sdk-core (~> 3.0) | |||||
aws-sdk-costandusagereportservice (~> 1.6) | |||||
aws-sdk-dynamodb (~> 1.31) | |||||
aws-sdk-ec2 (~> 1.70) | |||||
aws-sdk-ecr (~> 1.18) | |||||
aws-sdk-ecs (~> 1.30) | |||||
aws-sdk-efs (~> 1.0) | |||||
aws-sdk-eks (~> 1.9) | |||||
aws-sdk-elasticache (~> 1.0) | |||||
aws-sdk-elasticbeanstalk (~> 1.0) | |||||
aws-sdk-elasticloadbalancing (~> 1.8) | |||||
aws-sdk-elasticloadbalancingv2 (~> 1.0) | |||||
aws-sdk-elasticsearchservice (~> 1.0) | |||||
aws-sdk-firehose (~> 1.0) | |||||
aws-sdk-guardduty (~> 1.31) | |||||
aws-sdk-iam (~> 1.13) | |||||
aws-sdk-kafka (~> 1.0) | |||||
aws-sdk-kinesis (~> 1.0) | |||||
aws-sdk-kms (~> 1.13) | |||||
aws-sdk-lambda (~> 1.0) | |||||
aws-sdk-organizations (~> 1.17.0) | |||||
aws-sdk-rds (~> 1.43) | |||||
aws-sdk-redshift (~> 1.0) | |||||
aws-sdk-route53 (~> 1.0) | |||||
aws-sdk-route53domains (~> 1.0) | |||||
aws-sdk-route53resolver (~> 1.0) | |||||
aws-sdk-s3 (~> 1.30) | |||||
aws-sdk-securityhub (~> 1.0) | |||||
aws-sdk-ses (~> 1.0) | |||||
aws-sdk-sms (~> 1.0) | |||||
aws-sdk-sns (~> 1.9) | |||||
aws-sdk-sqs (~> 1.10) | |||||
aws-sdk-ssm (~> 1.0) | |||||
train-core (3.3.24) | |||||
addressable (~> 2.5) | |||||
ffi (!= 1.13.0) | |||||
json (>= 1.8, < 3.0) | |||||
mixlib-shellout (>= 2.0, < 4.0) | |||||
net-scp (>= 1.2, < 4.0) | |||||
net-ssh (>= 2.9, < 7.0) | |||||
train-habitat (0.2.13) | |||||
train-winrm (0.2.11) | |||||
winrm (~> 2.0) | |||||
winrm-elevated (~> 1.2.2) | |||||
winrm-fs (~> 1.0) | |||||
tty-box (0.6.0) | |||||
pastel (~> 0.8) | |||||
strings (~> 0.2.0) | |||||
tty-cursor (~> 0.7) | |||||
tty-color (0.5.2) | |||||
tty-cursor (0.7.1) | |||||
tty-prompt (0.22.0) | |||||
pastel (~> 0.8) | |||||
tty-reader (~> 0.8) | |||||
tty-reader (0.8.0) | |||||
tty-cursor (~> 0.7) | |||||
tty-screen (~> 0.8) | |||||
wisper (~> 2.0) | |||||
tty-screen (0.8.1) | |||||
tty-table (0.12.0) | |||||
pastel (~> 0.8) | |||||
strings (~> 0.2.0) | |||||
tty-screen (~> 0.8) | |||||
tzinfo (1.2.7) | |||||
thread_safe (~> 0.1) | |||||
uber (0.1.0) | |||||
unf (0.1.4) | |||||
unf_ext | |||||
unf_ext (0.0.7.7) | |||||
unicode-display_width (1.7.0) | |||||
unicode_utils (1.4.0) | |||||
uri_template (0.7.0) | |||||
winrm (2.3.4) | |||||
builder (>= 2.1.2) | |||||
erubi (~> 1.8) | |||||
gssapi (~> 1.2) | |||||
gyoku (~> 1.0) | |||||
httpclient (~> 2.2, >= 2.2.0.2) | |||||
logging (>= 1.6.1, < 3.0) | |||||
nori (~> 2.0) | |||||
rubyntlm (~> 0.6.0, >= 0.6.1) | |||||
winrm-elevated (1.2.2) | |||||
erubi (~> 1.8) | |||||
winrm (~> 2.0) | |||||
winrm-fs (~> 1.0) | |||||
winrm-fs (1.3.3) | |||||
erubi (~> 1.8) | |||||
logging (>= 1.6.1, < 3.0) | |||||
rubyzip (~> 1.1) | |||||
winrm (~> 2.0) | |||||
wisper (2.0.1) | |||||
PLATFORMS | |||||
ruby | |||||
DEPENDENCIES | |||||
kitchen-docker! | |||||
kitchen-inspec (>= 2.2.1) | |||||
kitchen-salt (>= 0.6.3) | |||||
BUNDLED WITH | |||||
2.1.2 |
# diaspora-formula | |||||
A saltstack formula to install and configure the distributed social network, [diaspora*](https://diasporafoundation.org/). | |||||
> Note: See the full [Salt Formulas installation and usage instructions](http://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html). | |||||
> | |||||
> This formula only manages diaspora. You are responsible for installing/configuring PostgreSQL or MariaDB as appropriate. | |||||
## Available states | |||||
### `diaspora` | |||||
Install, configure and run diaspora as a service. | |||||
### `diaspora.install` | |||||
Installs diaspora from github. | |||||
(Includes `diaspora.config`) | |||||
### `diaspora.config` | |||||
Configures diaspora. | |||||
### `diaspora.service` | |||||
Creates a service for diaspora and runs it. | |||||
(Includes `diaspora.install` and `diaspora.config`) |
#!/usr/bin/env sh | |||||
set -o nounset # Treat unset variables as an error and immediately exit | |||||
set -o errexit # If a command fails exit the whole script | |||||
if [ "${DEBUG:-false}" = "true" ]; then | |||||
set -x # Run the entire script in debug mode | |||||
fi | |||||
if ! command -v pre-commit >/dev/null 2>&1; then | |||||
echo "pre-commit not found: please install or check your PATH" >&2 | |||||
echo "See https://pre-commit.com/#installation" >&2 | |||||
exit 1 | |||||
fi | |||||
pre-commit install --install-hooks | |||||
pre-commit install --hook-type commit-msg --install-hooks |
#!/usr/bin/env ruby | |||||
# frozen_string_literal: true | |||||
# | |||||
# This file was generated by Bundler. | |||||
# | |||||
# The application 'kitchen' is installed as part of a gem, and | |||||
# this file is here to facilitate running it. | |||||
# | |||||
require 'pathname' | |||||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', | |||||
Pathname.new(__FILE__).realpath) | |||||
bundle_binstub = File.expand_path('bundle', __dir__) | |||||
if File.file?(bundle_binstub) | |||||
if File.read(bundle_binstub, 300) =~ /This file was generated by Bundler/ | |||||
load(bundle_binstub) | |||||
else | |||||
abort( | |||||
'Your `bin/bundle` was not generated by Bundler, '\ | |||||
'so this binstub cannot run. Replace `bin/bundle` by running '\ | |||||
'`bundle binstubs bundler --force`, then run this command again.' | |||||
) | |||||
end | |||||
end | |||||
require 'rubygems' | |||||
require 'bundler/setup' | |||||
load Gem.bin_path('test-kitchen', 'kitchen') |
module.exports = { | |||||
extends: ['@commitlint/config-conventional'], | |||||
rules: { | |||||
'body-max-line-length': [2, 'always', 120], | |||||
'footer-max-line-length': [2, 'always', 120], | |||||
'header-max-length': [2, 'always', 72], | |||||
}, | |||||
}; |
.. _readme: | |||||
diaspora-formula | |||||
================ | |||||
|img_travis| |img_sr| |img_pc| | |||||
.. |img_travis| image:: https://travis-ci.com/SuperTux88/diaspora-formula.svg?branch=master | |||||
:alt: Travis CI Build Status | |||||
:scale: 100% | |||||
:target: https://travis-ci.com/SuperTux88/diaspora-formula | |||||
.. |img_sr| image:: https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg | |||||
:alt: Semantic Release | |||||
:scale: 100% | |||||
:target: https://github.com/semantic-release/semantic-release | |||||
.. |img_pc| image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white | |||||
:alt: pre-commit | |||||
:scale: 100% | |||||
:target: https://github.com/pre-commit/pre-commit | |||||
A saltstack formula to install and configure the distributed social network, `diaspora* <https://diasporafoundation.org/>`_. | |||||
.. contents:: **Table of Contents** | |||||
:depth: 1 | |||||
General notes | |||||
------------- | |||||
See the full `SaltStack Formulas installation and usage instructions | |||||
<https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html>`_. | |||||
If you are interested in writing or contributing to formulas, please pay attention to the `Writing Formula Section | |||||
<https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html#writing-formulas>`_. | |||||
If you want to use this formula, please pay attention to the ``FORMULA`` file and/or ``git tag``, | |||||
which contains the currently released version. This formula is versioned according to `Semantic Versioning <http://semver.org/>`_. | |||||
See `Formula Versioning Section <https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html#versioning>`_ for more details. | |||||
If you need (non-default) configuration, please pay attention to the ``pillar.example`` file and/or `Special notes`_ section. | |||||
Contributing to this repo | |||||
------------------------- | |||||
Commit messages | |||||
^^^^^^^^^^^^^^^ | |||||
**Commit message formatting is significant!!** | |||||
Please see `How to contribute <https://github.com/saltstack-formulas/.github/blob/master/CONTRIBUTING.rst>`_ for more details. | |||||
pre-commit | |||||
^^^^^^^^^^ | |||||
`pre-commit <https://pre-commit.com/>`_ is configured for this formula, which you may optionally use to ease the steps involved in submitting your changes. | |||||
First install the ``pre-commit`` package manager using the appropriate `method <https://pre-commit.com/#installation>`_, then run ``bin/install-hooks`` and | |||||
now ``pre-commit`` will run automatically on each ``git commit``. :: | |||||
$ bin/install-hooks | |||||
pre-commit installed at .git/hooks/pre-commit | |||||
pre-commit installed at .git/hooks/commit-msg | |||||
Special notes | |||||
------------- | |||||
This formula only manages diaspora. You are responsible for installing/configuring PostgreSQL or MariaDB as appropriate. | |||||
Available states | |||||
---------------- | |||||
.. contents:: | |||||
:local: | |||||
``diaspora`` | |||||
^^^^^^^^^^^^ | |||||
*Meta-state (This is a state that includes other states)*. | |||||
This installs diaspora, | |||||
manages the diaspora configuration file and then | |||||
starts the associated diaspora service. | |||||
``diaspora.install`` | |||||
^^^^^^^^^^^^^^^^^^^^ | |||||
This state will install diaspora from GitHub and has a dependency on ``diaspora.config`` via include list. | |||||
``diaspora.config`` | |||||
^^^^^^^^^^^^^^^^^^^ | |||||
This state will configure diaspora. | |||||
``diaspora.service`` | |||||
^^^^^^^^^^^^^^^^^^^^ | |||||
This state will create and start the diaspora services and has a dependency on ``diaspora.install`` via include list. | |||||
Testing | |||||
------- | |||||
Linux testing is done with ``kitchen-salt``. | |||||
Requirements | |||||
^^^^^^^^^^^^ | |||||
* Ruby | |||||
* Docker | |||||
.. code-block:: bash | |||||
$ gem install bundler | |||||
$ bundle install | |||||
$ bin/kitchen test [platform] | |||||
Where ``[platform]`` is the platform name defined in ``kitchen.yml``, | |||||
e.g. ``debian-9-2019-2-py3``. | |||||
``bin/kitchen converge`` | |||||
^^^^^^^^^^^^^^^^^^^^^^^^ | |||||
Creates the docker instance and runs the ``diaspora`` main state, ready for testing. | |||||
``bin/kitchen verify`` | |||||
^^^^^^^^^^^^^^^^^^^^^^ | |||||
Runs the ``inspec`` tests on the actual instance. | |||||
``bin/kitchen destroy`` | |||||
^^^^^^^^^^^^^^^^^^^^^^^ | |||||
Removes the docker instance. | |||||
``bin/kitchen test`` | |||||
^^^^^^^^^^^^^^^^^^^^ | |||||
Runs all of the stages above in one go: i.e. ``destroy`` + ``converge`` + ``verify`` + ``destroy``. | |||||
``bin/kitchen login`` | |||||
^^^^^^^^^^^^^^^^^^^^^ | |||||
Gives you SSH access to the instance for manual testing. |
# -*- coding: utf-8 -*- | |||||
# vim: ft=yaml | |||||
--- | |||||
# For help on this file's format, see https://kitchen.ci/ | |||||
driver: | |||||
name: docker | |||||
use_sudo: false | |||||
privileged: true | |||||
run_command: /lib/systemd/systemd | |||||
# Make sure the platforms listed below match up with | |||||
# the `env.matrix` instances defined in `.travis.yml` | |||||
platforms: | |||||
## SALT `tiamat` | |||||
- name: debian-10-tiamat-py3 | |||||
driver: | |||||
image: saltimages/salt-tiamat-py3:debian-10 | |||||
- name: debian-9-tiamat-py3 | |||||
driver: | |||||
image: saltimages/salt-tiamat-py3:debian-9 | |||||
- name: ubuntu-2004-tiamat-py3 | |||||
driver: | |||||
image: saltimages/salt-tiamat-py3:ubuntu-20.04 | |||||
- name: ubuntu-1804-tiamat-py3 | |||||
driver: | |||||
image: saltimages/salt-tiamat-py3:ubuntu-18.04 | |||||
- name: ubuntu-1604-tiamat-py3 | |||||
driver: | |||||
image: saltimages/salt-tiamat-py3:ubuntu-16.04 | |||||
- name: centos-8-tiamat-py3 | |||||
driver: | |||||
image: saltimages/salt-tiamat-py3:centos-8 | |||||
- name: centos-7-tiamat-py3 | |||||
driver: | |||||
image: saltimages/salt-tiamat-py3:centos-7 | |||||
- name: amazonlinux-2-tiamat-py3 | |||||
driver: | |||||
image: saltimages/salt-tiamat-py3:amazonlinux-2 | |||||
- name: oraclelinux-8-tiamat-py3 | |||||
driver: | |||||
image: saltimages/salt-tiamat-py3:oraclelinux-8 | |||||
- name: oraclelinux-7-tiamat-py3 | |||||
driver: | |||||
image: saltimages/salt-tiamat-py3:oraclelinux-7 | |||||
## SALT `master` | |||||
- name: debian-10-master-py3 | |||||
driver: | |||||
image: saltimages/salt-master-py3:debian-10 | |||||
- name: ubuntu-2004-master-py3 | |||||
driver: | |||||
image: saltimages/salt-master-py3:ubuntu-20.04 | |||||
- name: ubuntu-1804-master-py3 | |||||
driver: | |||||
image: saltimages/salt-master-py3:ubuntu-18.04 | |||||
- name: centos-8-master-py3 | |||||
driver: | |||||
image: saltimages/salt-master-py3:centos-8 | |||||
- name: fedora-32-master-py3 | |||||
driver: | |||||
image: saltimages/salt-master-py3:fedora-32 | |||||
- name: fedora-31-master-py3 | |||||
driver: | |||||
image: saltimages/salt-master-py3:fedora-31 | |||||
- name: opensuse-leap-152-master-py3 | |||||
driver: | |||||
image: saltimages/salt-master-py3:opensuse-leap-15.2 | |||||
run_command: /usr/lib/systemd/systemd | |||||
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`: | |||||
# => SCP did not finish successfully (255): (Net::SCP::Error) | |||||
transport: | |||||
max_ssh_sessions: 1 | |||||
- name: amazonlinux-2-master-py3 | |||||
driver: | |||||
image: saltimages/salt-master-py3:amazonlinux-2 | |||||
## SALT `3001` | |||||
- name: debian-10-3001-py3 | |||||
driver: | |||||
image: saltimages/salt-3001-py3:debian-10 | |||||
- name: debian-9-3001-py3 | |||||
driver: | |||||
image: saltimages/salt-3001-py3:debian-9 | |||||
- name: ubuntu-2004-3001-py3 | |||||
driver: | |||||
image: saltimages/salt-3001-py3:ubuntu-20.04 | |||||
- name: ubuntu-1804-3001-py3 | |||||
driver: | |||||
image: saltimages/salt-3001-py3:ubuntu-18.04 | |||||
- name: centos-8-3001-py3 | |||||
driver: | |||||
image: saltimages/salt-3001-py3:centos-8 | |||||
- name: centos-7-3001-py3 | |||||
driver: | |||||
image: saltimages/salt-3001-py3:centos-7 | |||||
- name: fedora-32-3001-py3 | |||||
driver: | |||||
image: saltimages/salt-3001-py3:fedora-32 | |||||
- name: fedora-31-3001-py3 | |||||
driver: | |||||
image: saltimages/salt-3001-py3:fedora-31 | |||||
- name: opensuse-leap-152-3001-py3 | |||||
driver: | |||||
image: saltimages/salt-3001-py3:opensuse-leap-15.2 | |||||
run_command: /usr/lib/systemd/systemd | |||||
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`: | |||||
# => SCP did not finish successfully (255): (Net::SCP::Error) | |||||
transport: | |||||
max_ssh_sessions: 1 | |||||
- name: amazonlinux-2-3001-py3 | |||||
driver: | |||||
image: saltimages/salt-3001-py3:amazonlinux-2 | |||||
- name: oraclelinux-8-3001-py3 | |||||
driver: | |||||
image: saltimages/salt-3001-py3:oraclelinux-8 | |||||
- name: oraclelinux-7-3001-py3 | |||||
driver: | |||||
image: saltimages/salt-3001-py3:oraclelinux-7 | |||||
## SALT `3000.3` | |||||
- name: debian-10-3000-3-py3 | |||||
driver: | |||||
image: saltimages/salt-3000.3-py3:debian-10 | |||||
- name: debian-9-3000-3-py3 | |||||
driver: | |||||
image: saltimages/salt-3000.3-py3:debian-9 | |||||
- name: ubuntu-1804-3000-3-py3 | |||||
driver: | |||||
image: saltimages/salt-3000.3-py3:ubuntu-18.04 | |||||
- name: centos-8-3000-3-py3 | |||||
driver: | |||||
image: saltimages/salt-3000.3-py3:centos-8 | |||||
- name: centos-7-3000-3-py3 | |||||
driver: | |||||
image: saltimages/salt-3000.3-py3:centos-7 | |||||
- name: fedora-31-3000-3-py3 | |||||
driver: | |||||
image: saltimages/salt-3000.3-py3:fedora-31 | |||||
- name: opensuse-leap-152-3000-3-py3 | |||||
driver: | |||||
image: saltimages/salt-3000.3-py3:opensuse-leap-15.2 | |||||
run_command: /usr/lib/systemd/systemd | |||||
# Workaround to avoid intermittent failures on `opensuse-leap-15.2`: | |||||
# => SCP did not finish successfully (255): (Net::SCP::Error) | |||||
transport: | |||||
max_ssh_sessions: 1 | |||||
- name: amazonlinux-2-3000-3-py3 | |||||
driver: | |||||
image: saltimages/salt-3000.3-py3:amazonlinux-2 | |||||
- name: ubuntu-1804-3000-3-py2 | |||||
driver: | |||||
image: saltimages/salt-3000.3-py2:ubuntu-18.04 | |||||
- name: ubuntu-1604-3000-3-py2 | |||||
driver: | |||||
image: saltimages/salt-3000.3-py2:ubuntu-16.04 | |||||
- name: arch-base-latest-3000-3-py2 | |||||
driver: | |||||
image: saltimages/salt-3000.3-py2:arch-base-latest | |||||
run_command: /usr/lib/systemd/systemd | |||||
## SALT `2019.2` | |||||
- name: centos-6-2019-2-py2 | |||||
driver: | |||||
image: saltimages/salt-2019.2-py2:centos-6 | |||||
run_command: /sbin/init | |||||
- name: amazonlinux-1-2019-2-py2 | |||||
driver: | |||||
image: saltimages/salt-2019.2-py2:amazonlinux-1 | |||||
run_command: /sbin/init | |||||
provisioner: | |||||
name: salt_solo | |||||
log_level: debug | |||||
salt_install: none | |||||
require_chef: false | |||||
formula: diaspora | |||||
salt_copy_filter: | |||||
- .kitchen | |||||
- .git | |||||
verifier: | |||||
# https://www.inspec.io/ | |||||
name: inspec | |||||
sudo: true | |||||
# cli, documentation, html, progress, json, json-min, json-rspec, junit | |||||
reporter: | |||||
- cli | |||||
suites: | |||||
- name: default | |||||
provisioner: | |||||
state_top: | |||||
base: | |||||
'*': | |||||
- diaspora | |||||
pillars: | |||||
top.sls: | |||||
base: | |||||
'*': | |||||
- diaspora | |||||
pillars_from_files: | |||||
diaspora.sls: pillar.example | |||||
verifier: | |||||
inspec_tests: | |||||
- path: test/integration/default |
#!/bin/sh | |||||
############################################################################### | |||||
# (A) Update `FORMULA` with `${nextRelease.version}` | |||||
############################################################################### | |||||
sed -i -e "s_^\(version:\).*_\1 ${1}_" FORMULA | |||||
############################################################################### | |||||
# (B) Use `m2r` to convert automatically produced `.md` docs to `.rst` | |||||
############################################################################### | |||||
# Install `m2r` | |||||
sudo -H pip install m2r | |||||
# Copy and then convert the `.md` docs | |||||
cp ./*.md docs/ | |||||
cd docs/ || exit | |||||
m2r --overwrite ./*.md | |||||
# Change excess `H1` headings to `H2` in converted `CHANGELOG.rst` | |||||
sed -i -e '/^=.*$/s/=/-/g' CHANGELOG.rst | |||||
sed -i -e '1,4s/-/=/g' CHANGELOG.rst | |||||
# Use for debugging output, when required | |||||
# cat AUTHORS.rst | |||||
# cat CHANGELOG.rst | |||||
# Return back to the main directory | |||||
cd .. |
// No release is triggered for the types commented out below. | |||||
// Commits using these types will be incorporated into the next release. | |||||
// | |||||
// NOTE: Any changes here must be reflected in `CONTRIBUTING.md`. | |||||
module.exports = [ | |||||
{breaking: true, release: 'major'}, | |||||
// {type: 'build', release: 'patch'}, | |||||
// {type: 'chore', release: 'patch'}, | |||||
// {type: 'ci', release: 'patch'}, | |||||
{type: 'docs', release: 'patch'}, | |||||
{type: 'feat', release: 'minor'}, | |||||
{type: 'fix', release: 'patch'}, | |||||
{type: 'perf', release: 'patch'}, | |||||
{type: 'refactor', release: 'patch'}, | |||||
{type: 'revert', release: 'patch'}, | |||||
{type: 'style', release: 'patch'}, | |||||
{type: 'test', release: 'patch'}, | |||||
]; |
module.exports = { | |||||
branch: 'master', | |||||
plugins: [ | |||||
['@semantic-release/commit-analyzer', { | |||||
preset: 'angular', | |||||
releaseRules: './release-rules.js', | |||||
}], | |||||
'@semantic-release/release-notes-generator', | |||||
['@semantic-release/changelog', { | |||||
changelogFile: 'CHANGELOG.md', | |||||
changelogTitle: '# Changelog', | |||||
}], | |||||
['@semantic-release/exec', { | |||||
prepareCmd: 'sh ./pre-commit_semantic-release.sh ${nextRelease.version}', | |||||
}], | |||||
['@semantic-release/git', { | |||||
assets: ['*.md', 'docs/*.rst', 'FORMULA'], | |||||
}], | |||||
'@semantic-release/github', | |||||
], | |||||
generateNotes: { | |||||
preset: 'angular', | |||||
writerOpts: { | |||||
// Required due to upstream bug preventing all types being displayed. | |||||
// Bug: https://github.com/conventional-changelog/conventional-changelog/issues/317 | |||||
// Fix: https://github.com/conventional-changelog/conventional-changelog/pull/410 | |||||
transform: (commit, context) => { | |||||
const issues = [] | |||||
commit.notes.forEach(note => { | |||||
note.title = `BREAKING CHANGES` | |||||
}) | |||||
// NOTE: Any changes here must be reflected in `CONTRIBUTING.md`. | |||||
if (commit.type === `feat`) { | |||||
commit.type = `Features` | |||||
} else if (commit.type === `fix`) { | |||||
commit.type = `Bug Fixes` | |||||
} else if (commit.type === `perf`) { | |||||
commit.type = `Performance Improvements` | |||||
} else if (commit.type === `revert`) { | |||||
commit.type = `Reverts` | |||||
} else if (commit.type === `docs`) { | |||||
commit.type = `Documentation` | |||||
} else if (commit.type === `style`) { | |||||
commit.type = `Styles` | |||||
} else if (commit.type === `refactor`) { | |||||
commit.type = `Code Refactoring` | |||||
} else if (commit.type === `test`) { | |||||
commit.type = `Tests` | |||||
} else if (commit.type === `build`) { | |||||
commit.type = `Build System` | |||||
// } else if (commit.type === `chore`) { | |||||
// commit.type = `Maintenance` | |||||
} else if (commit.type === `ci`) { | |||||
commit.type = `Continuous Integration` | |||||
} else { | |||||
return | |||||
} | |||||
if (commit.scope === `*`) { | |||||
commit.scope = `` | |||||
} | |||||
if (typeof commit.hash === `string`) { | |||||
commit.shortHash = commit.hash.substring(0, 7) | |||||
} | |||||
if (typeof commit.subject === `string`) { | |||||
let url = context.repository | |||||
? `${context.host}/${context.owner}/${context.repository}` | |||||
: context.repoUrl | |||||
if (url) { | |||||
url = `${url}/issues/` | |||||
// Issue URLs. | |||||
commit.subject = commit.subject.replace(/#([0-9]+)/g, (_, issue) => { | |||||
issues.push(issue) | |||||
return `[#${issue}](${url}${issue})` | |||||
}) | |||||
} | |||||
if (context.host) { | |||||
// User URLs. | |||||
commit.subject = commit.subject.replace(/\B@([a-z0-9](?:-?[a-z0-9/]){0,38})/g, (_, username) => { | |||||
if (username.includes('/')) { | |||||
return `@${username}` | |||||
} | |||||
return `[@${username}](${context.host}/${username})` | |||||
}) | |||||
} | |||||
} | |||||
// remove references that already appear in the subject | |||||
commit.references = commit.references.filter(reference => { | |||||
if (issues.indexOf(reference.issue) === -1) { | |||||
return true | |||||
} | |||||
return false | |||||
}) | |||||
return commit | |||||
}, | |||||
}, | |||||
}, | |||||
}; |
# InSpec Profile: `default` | |||||
This shows the implementation of the `default` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md). | |||||
## Verify a profile | |||||
InSpec ships with built-in features to verify a profile structure. | |||||
```bash | |||||
$ inspec check default | |||||
Summary | |||||
------- | |||||
Location: default | |||||
Profile: profile | |||||
Controls: 4 | |||||
Timestamp: 2019-06-24T23:09:01+00:00 | |||||
Valid: true | |||||
Errors | |||||
------ | |||||
Warnings | |||||
-------- | |||||
``` | |||||
## Execute a profile | |||||
To run all **supported** controls on a local machine use `inspec exec /path/to/profile`. | |||||
```bash | |||||
$ inspec exec default | |||||
.. | |||||
Finished in 0.0025 seconds (files took 0.12449 seconds to load) | |||||
8 examples, 0 failures | |||||
``` | |||||
## Execute a specific control from a profile | |||||
To run one control from the profile use `inspec exec /path/to/profile --controls name`. | |||||
```bash | |||||
$ inspec exec default --controls package | |||||
. | |||||
Finished in 0.0025 seconds (files took 0.12449 seconds to load) | |||||
1 examples, 0 failures | |||||
``` | |||||
See an [example control here](https://github.com/inspec/inspec/blob/master/examples/profile/controls/example.rb). |
# frozen_string_literal: true | |||||
control 'diaspora configuration' do | |||||
title 'should match desired lines' | |||||
describe file('/srv/diaspora/config/database.yml') do | |||||
it { should be_file } | |||||
it { should be_owned_by 'diaspora' } | |||||
it { should be_grouped_into 'root' } | |||||
its('mode') { should cmp '0600' } | |||||
its('content') do | |||||
should include '# This file is managed by Salt! Do not edit by hand!' | |||||
end | |||||
end | |||||
describe file('/srv/diaspora/config/diaspora.yml') do | |||||
it { should be_file } | |||||
it { should be_owned_by 'diaspora' } | |||||
it { should be_grouped_into 'root' } | |||||
its('mode') { should cmp '0600' } | |||||
its('content') do | |||||
should include '# This file is managed by Salt! Do not edit by hand!' | |||||
end | |||||
its('content') { should include 'rails_environment: production' } | |||||
end | |||||
end |
# frozen_string_literal: true | |||||
control 'diaspora services' do | |||||
impact 0.5 | |||||
title 'should be running and enabled' | |||||
services = ['diaspora-sidekiq.service', 'diaspora-web.service'] | |||||
services.each do |service_name| | |||||
describe service(service_name) do | |||||
it { should be_installed } | |||||
it { should be_enabled } | |||||
it { should be_running } | |||||
end | |||||
end | |||||
end |
# -*- coding: utf-8 -*- | |||||
# vim: ft=yaml | |||||
--- | |||||
name: default | |||||
title: diaspora formula | |||||
maintainer: SaltStack Formulas | |||||
license: Apache-2.0 | |||||
summary: Verify that the diaspora formula is setup and configured correctly | |||||
depends: | |||||
- name: share | |||||
path: test/integration/share | |||||
supports: | |||||
- platform-name: debian | |||||
- platform-name: ubuntu | |||||
- platform-name: centos |
# InSpec Profile: `share` | |||||
This shows the implementation of the `share` InSpec [profile](https://github.com/inspec/inspec/blob/master/docs/profiles.md). | |||||
Its goal is to share the libraries between all profiles. | |||||
## Libraries | |||||
### `system` | |||||
The `system` library provides easy access to system dependent information: | |||||
- `system.platform`: based on `inspec.platform`, modify to values that are more consistent from a SaltStack perspective | |||||
- `system.platform[:family]` provide a family name for Arch | |||||
- `system.platform[:name]` modify `amazon` to `amazonlinux` | |||||
- `system.platform[:release]` tweak Arch and Amazon Linux: | |||||
- `Arch` is always `base-latest` | |||||
- `Amazon Linux` release `2018` is resolved as `1` | |||||
- `system.platform[:finger]` is the concatenation of the name and the major release number (except for Ubuntu, which gives `ubuntu-20.04` for example) |
# -*- coding: utf-8 -*- | |||||
# vim: ft=yaml | |||||
--- | |||||
name: share | |||||
title: InSpec shared resources | |||||
maintainer: SaltStack Formulas | |||||
license: Apache-2.0 | |||||
summary: shared resources | |||||
supports: | |||||
- platform-name: debian | |||||
- platform-name: ubuntu | |||||
- platform-name: centos | |||||
- platform-name: fedora | |||||
- platform-name: opensuse | |||||
- platform-name: suse | |||||
- platform-name: freebsd | |||||
- platform-name: amazon | |||||
- platform-name: oracle | |||||
- platform-name: arch |
# frozen_string_literal: true | |||||
# system.rb -- InSpec resources for system values | |||||
# Author: Daniel Dehennin <daniel.dehennin@ac-dijon.fr> | |||||
# Copyright (C) 2020 Daniel Dehennin <daniel.dehennin@ac-dijon.fr> | |||||
class SystemResource < Inspec.resource(1) | |||||
name 'system' | |||||
attr_reader :platform | |||||
def initialize | |||||
@platform = build_platform | |||||
end | |||||
private | |||||
def build_platform | |||||
{ | |||||
family: build_platform_family, | |||||
name: build_platform_name, | |||||
release: build_platform_release, | |||||
finger: build_platform_finger | |||||
} | |||||
end | |||||
def build_platform_family | |||||
case inspec.platform[:name] | |||||
when 'arch' | |||||
'arch' | |||||
else | |||||
inspec.platform[:family] | |||||
end | |||||
end | |||||
def build_platform_name | |||||
case inspec.platform[:name] | |||||
when 'amazon' | |||||
'amazonlinux' | |||||
else | |||||
inspec.platform[:name] | |||||
end | |||||
end | |||||
def build_platform_release | |||||
case inspec.platform[:name] | |||||
when 'amazon' | |||||
# `2018` relase is named `1` in kitchen.yaml | |||||
inspec.platform[:release].gsub(/2018.*/, '1') | |||||
when 'arch' | |||||
'base-latest' | |||||
else | |||||
inspec.platform[:release] | |||||
end | |||||
end | |||||
def build_platform_finger | |||||
"#{build_platform_name}-#{build_finger_release}" | |||||
end | |||||
def build_finger_release | |||||
case inspec.platform[:name] | |||||
when 'ubuntu' | |||||
build_platform_release.split('.').slice(0, 2).join('.') | |||||
else | |||||
build_platform_release.split('.')[0] | |||||
end | |||||
end | |||||
end |