Compare commits

..

10 Commits

Author SHA1 Message Date
jeanluc
c04b323d38 Update to template 0.1.0 2024-11-14 00:07:09 +01:00
jeanluc
84acd4894b Exclude .copier-answers.yml from lint 2024-11-04 19:39:48 +01:00
jeanluc
5f6e574583 Migrate to Copier template 2024-11-04 19:13:13 +01:00
jeanluc
e93ec99640 feat: Remove GPG workarounds
This removes all of the incantations that were necessary to verify the
downloaded archive and relies on the improved GPG modules and
integration into the `archive` module found in 3007.0.
2024-03-05 10:05:18 +01:00
jeanluc
6fd0bbdf3d fix: Update template 2024-02-17 19:21:09 +01:00
jeanluc
5f25a5a280 fix(mods.rst): Use correct pip for onedir 2024-01-21 14:20:35 +01:00
jeanluc
bc546e64f7 fix: Do not manage python-gnupg, support RedHat by default 2024-01-20 18:41:56 +01:00
jeanluc
e322c077b0 fix: Complete migration to libtofsstack 2023-06-13 11:28:00 +02:00
jeanluc
1603e4e5d8 feat: Update template 2023-06-11 16:07:53 +02:00
jeanluc
5921c96648 chore: update template 2023-04-16 13:07:26 +02:00
81 changed files with 380 additions and 5540 deletions

86
.copier-answers.yml Normal file
View File

@@ -0,0 +1,86 @@
# Autogenerated. Do not edit this by hand, use `copier update`.
---
_commit: 0.1.0
_src_path: https://github.com/lkubb/salt-formula-copier
abbr_pysafe: gitea
author: lkubb
config: /etc/gitea/app.ini
flavor_init: general
lookup:
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
shell: /bin/bash
user: git
needs_repo: false
pkg: gitea
service: gitea
service_abbr: gitea
service_name: Gitea
settings:
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
subcomponent: ''
initialized: true
flavor_recorded: general

View File

@@ -1,122 +0,0 @@
{
"template": "https://github.com/lkubb/salt-template-formula",
"commit": "a63c03d95375f235c2d4a6159a26ae48d4fdc40b",
"checkout": null,
"context": {
"cookiecutter": {
"_extensions": [
"local_extensions.YAMLDumper"
],
"_jinja2_env_vars": {
"block_start_string": "{!",
"block_end_string": "!}",
"variable_start_string": "{=",
"variable_end_string": "=}",
"comment_start_string": "{@",
"comment_end_string": "@}"
},
"name": "Gitea",
"abbr": "gitea",
"abbr_pysafe": "gitea",
"pkg": "gitea",
"needs_repo": "",
"config": "/etc/gitea/app.ini",
"service": "gitea",
"subcomponent": "",
"subcomponent_config": "",
"git_username": "lkubb",
"lookup": {
"paths": {
"bin": "/opt/gitea",
"conf": "/etc/gitea",
"custom": "/var/lib/gitea/custom",
"data": "/var/lib/gitea/data",
"internal_token_uri": "file:///etc/gitea/internal_token",
"log": "/var/log/gitea",
"repos": "/var/lib/gitea/data/gitea-repositories",
"work": "/var/lib/gitea"
},
"requirements": [
"git",
"gpg",
"python-gnupg"
],
"build_user": "giteabuild",
"build_user_home": "/home/giteabuild",
"shell": "/bin/bash",
"user": "git",
"group": "git",
"gpg": {
"key": "7C9E68152594688862D62AF62D9AE806EC1592E2",
"keyserver": "keys.openpgp.org"
},
"pkg": {
"latest": "https://dl.gitea.io/gitea/version.json",
"sig": "https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc",
"source": "https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}",
"source_hash": "https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256"
},
"go": {
"pkg": "https://go.dev/dl/go1.18.2.linux-amd64.tar.gz",
"source_hash": "e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc"
},
"mod_rst": {
"pip_dependencies": [
"docutils"
],
"pkg_dependencies": [
"python3",
"python3-pip"
],
"chroma_repo": "https://github.com/alecthomas/chroma",
"chroma_build_path": "/opt/chroma/src",
"chroma_bin": "/opt/chroma/chroma",
"chroma_rev": "HEAD",
"path": "/usr/local/bin/grst"
}
},
"settings": {
"version": "latest",
"service": {
"requires_mount": [],
"socket_activation": false,
"wants": []
},
"config": {
"database": {
"db_type": "sqlite3"
},
"default": {
"app_name": "Gitea",
"run_user": "git",
"run_mode": "prod"
},
"oauth2": {
"jwt_secret": ""
},
"security": {
"internal_token": "",
"secret_key": ""
},
"server": {
"protocol": "http",
"domain": "localhost",
"http_addr": "0.0.0.0",
"http_port": 3000,
"lfs_jwt_secret": ""
},
"log": {
"mode": "console",
"level": "Info",
"stacktrace_level": "None"
},
"repository.signing": {
"signing_key": "default"
}
}
},
"_template": "https://github.com/lkubb/salt-template-formula"
}
},
"directory": null
}

0
.github/workflows/.gitkeep vendored Normal file
View File

View File

@@ -1,15 +0,0 @@
# 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

View File

@@ -1,212 +0,0 @@
# vim: ft=yaml
---
###############################################################################
# Define all YAML node anchors
###############################################################################
.node_anchors:
# `only` (also used for `except` where applicable)
only_branch_master_parent_repo: &only_branch_master_parent_repo
- 'master@lkubb/salt-gitea-formula'
# `stage`
stage_lint: &stage_lint 'lint'
stage_release: &stage_release 'release'
stage_test: &stage_test 'test'
# `image`
image_commitlint: &image_commitlint 'myii/ssf-commitlint:11'
image_dindruby: &image_dindruby 'myii/ssf-dind-ruby:2.7.1-r3'
image_dindrubybionic: &image_dindrubybionic 'myii/ssf-dind-ruby-bionic:2.7.5-1bbox1'
image_precommit: &image_precommit
name: 'myii/ssf-pre-commit:2.9.2'
entrypoint: ['/bin/bash', '-c']
image_rubocop: &image_rubocop 'pipelinecomponents/rubocop:latest'
image_semantic-release: &image_semanticrelease 'myii/ssf-semantic-release:15.14'
# `services`
services_docker_dind: &services_docker_dind
- 'docker:dind'
# `variables`
# https://forum.gitlab.com/t/gitlab-com-ci-caching-rubygems/5627/3
# https://bundler.io/v1.16/bundle_config.html
variables_bundler: &variables_bundler
BUNDLE_CACHE_PATH: '${CI_PROJECT_DIR}/.cache/bundler'
BUNDLE_WITHOUT: 'production'
# `cache`
cache_bundler: &cache_bundler
key: '${CI_JOB_STAGE}'
paths:
- '${BUNDLE_CACHE_PATH}'
###############################################################################
# Define stages and global variables
###############################################################################
stages:
- *stage_lint
- *stage_test
- *stage_release
variables:
DOCKER_DRIVER: 'overlay2'
###############################################################################
# `lint` stage: `commitlint`, `pre-commit` & `rubocop` (latest, failure allowed)
###############################################################################
commitlint:
stage: *stage_lint
image: *image_commitlint
script:
# Add `upstream` remote to get access to `upstream/master`
- 'git remote add upstream
https://gitlab.com/lkubb/salt-gitea-formula.git'
- 'git fetch --all'
# Set default commit hashes for `--from` and `--to`
- 'export COMMITLINT_FROM="$(git merge-base upstream/master HEAD)"'
- 'export COMMITLINT_TO="${CI_COMMIT_SHA}"'
# `coqbot` adds a merge commit to test PRs on top of the latest commit in
# the repo; amend this merge commit message to avoid failure
- |
if [ "${GITLAB_USER_LOGIN}" = "coqbot" ] \
&& [ "${CI_COMMIT_BRANCH}" != "master" ]; then
git commit --amend -m \
'chore: reword coqbot merge commit message for commitlint'
export COMMITLINT_TO=HEAD
fi
# Run `commitlint`
- 'commitlint --from "${COMMITLINT_FROM}"
--to "${COMMITLINT_TO}"
--verbose'
pre-commit:
stage: *stage_lint
image: *image_precommit
# https://pre-commit.com/#gitlab-ci-example
variables:
PRE_COMMIT_HOME: '${CI_PROJECT_DIR}/.cache/pre-commit'
cache:
key: '${CI_JOB_NAME}'
paths:
- '${PRE_COMMIT_HOME}'
script:
- 'pre-commit run --all-files --color always --verbose'
# Use a separate job for `rubocop` other than the one potentially run by `pre-commit`
# - The `pre-commit` check will only be available for formulas that pass the default
# `rubocop` check -- and must continue to do so
# - This job is allowed to fail, so can be used for all formulas
# - Furthermore, this job uses all of the latest `rubocop` features & cops,
# which will help when upgrading the `rubocop` linter used in `pre-commit`
rubocop:
allow_failure: true
stage: *stage_lint
image: *image_rubocop
script:
- 'rubocop -d -P -S --enable-pending-cops'
###############################################################################
# Define `test` template
###############################################################################
.test_instance: &test_instance
stage: *stage_test
image: *image_dindruby
services: *services_docker_dind
variables: *variables_bundler
cache: *cache_bundler
before_script:
# TODO: This should work from the env vars above automatically
- 'bundle config set path "${BUNDLE_CACHE_PATH}"'
- 'bundle config set without "${BUNDLE_WITHOUT}"'
- 'bundle install'
script:
# Alternative value to consider: `${CI_JOB_NAME}`
- 'bin/kitchen verify "${DOCKER_ENV_CI_JOB_NAME}"'
###############################################################################
# Define `test` template (`allow_failure: true`)
###############################################################################
.test_instance_failure_permitted:
<<: *test_instance
allow_failure: true
###############################################################################
# `test` stage: each instance below uses the `test` template above
###############################################################################
## 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`
# yamllint disable rule:line-length
# default-debian-11-tiamat-py3: {extends: '.test_instance'}
# default-debian-10-tiamat-py3: {extends: '.test_instance'}
# default-debian-9-tiamat-py3: {extends: '.test_instance'}
# default-ubuntu-2204-tiamat-py3: {extends: '.test_instance_failure_permitted'}
# default-ubuntu-2004-tiamat-py3: {extends: '.test_instance'}
# default-ubuntu-1804-tiamat-py3: {extends: '.test_instance'}
# default-centos-stream8-tiamat-py3: {extends: '.test_instance_failure_permitted'}
# default-centos-7-tiamat-py3: {extends: '.test_instance'}
# default-amazonlinux-2-tiamat-py3: {extends: '.test_instance'}
# default-oraclelinux-8-tiamat-py3: {extends: '.test_instance'}
# default-oraclelinux-7-tiamat-py3: {extends: '.test_instance'}
# default-almalinux-8-tiamat-py3: {extends: '.test_instance'}
# default-rockylinux-8-tiamat-py3: {extends: '.test_instance'}
default-debian-11-master-py3: {extends: '.test_instance'}
default-debian-10-master-py3: {extends: '.test_instance'}
default-debian-9-master-py3: {extends: '.test_instance'}
default-ubuntu-2204-master-py3: {extends: '.test_instance_failure_permitted'}
default-ubuntu-2004-master-py3: {extends: '.test_instance'}
default-ubuntu-1804-master-py3: {extends: '.test_instance'}
default-centos-stream8-master-py3: {extends: '.test_instance_failure_permitted'}
default-centos-7-master-py3: {extends: '.test_instance'}
default-fedora-36-master-py3: {extends: '.test_instance_failure_permitted'}
default-fedora-35-master-py3: {extends: '.test_instance'}
default-opensuse-leap-153-master-py3: {extends: '.test_instance'}
default-opensuse-tmbl-latest-master-py3: {extends: '.test_instance_failure_permitted'}
default-amazonlinux-2-master-py3: {extends: '.test_instance'}
default-oraclelinux-8-master-py3: {extends: '.test_instance'}
default-oraclelinux-7-master-py3: {extends: '.test_instance'}
default-arch-base-latest-master-py3: {extends: '.test_instance'}
default-gentoo-stage3-latest-master-py3: {extends: '.test_instance'}
default-gentoo-stage3-systemd-master-py3: {extends: '.test_instance'}
default-almalinux-8-master-py3: {extends: '.test_instance'}
default-rockylinux-8-master-py3: {extends: '.test_instance'}
# default-debian-11-3004-1-py3: {extends: '.test_instance'}
# default-debian-10-3004-1-py3: {extends: '.test_instance'}
# default-debian-9-3004-1-py3: {extends: '.test_instance'}
# default-ubuntu-2204-3004-1-py3: {extends: '.test_instance_failure_permitted'}
# default-ubuntu-2004-3004-1-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3004-1-py3: {extends: '.test_instance'}
# default-centos-stream8-3004-1-py3: {extends: '.test_instance_failure_permitted'}
# default-centos-7-3004-1-py3: {extends: '.test_instance'}
# default-fedora-36-3004-1-py3: {extends: '.test_instance_failure_permitted'}
# default-fedora-35-3004-1-py3: {extends: '.test_instance'}
# default-amazonlinux-2-3004-1-py3: {extends: '.test_instance'}
# default-oraclelinux-8-3004-1-py3: {extends: '.test_instance'}
# default-oraclelinux-7-3004-1-py3: {extends: '.test_instance'}
# default-arch-base-latest-3004-1-py3: {extends: '.test_instance'}
# default-gentoo-stage3-latest-3004-1-py3: {extends: '.test_instance'}
# default-gentoo-stage3-systemd-3004-1-py3: {extends: '.test_instance'}
# default-almalinux-8-3004-1-py3: {extends: '.test_instance'}
# default-rockylinux-8-3004-1-py3: {extends: '.test_instance'}
# default-opensuse-leap-153-3004-0-py3: {extends: '.test_instance'}
# default-opensuse-tmbl-latest-3004-0-py3: {extends: '.test_instance_failure_permitted'}
# default-debian-10-3003-4-py3: {extends: '.test_instance'}
# default-debian-9-3003-4-py3: {extends: '.test_instance'}
# default-ubuntu-2004-3003-4-py3: {extends: '.test_instance'}
# default-ubuntu-1804-3003-4-py3: {extends: '.test_instance'}
# default-centos-stream8-3003-4-py3: {extends: '.test_instance_failure_permitted'}
# default-centos-7-3003-4-py3: {extends: '.test_instance'}
# default-amazonlinux-2-3003-4-py3: {extends: '.test_instance'}
# default-oraclelinux-8-3003-4-py3: {extends: '.test_instance'}
# default-oraclelinux-7-3003-4-py3: {extends: '.test_instance'}
# default-almalinux-8-3003-4-py3: {extends: '.test_instance'}
# yamllint enable rule:line-length
###############################################################################
# `release` stage: `semantic-release`
###############################################################################
semantic-release:
only: *only_branch_master_parent_repo
stage: *stage_release
image: *image_semanticrelease
variables:
MAINTAINER_TOKEN: '${GH_TOKEN}'
script:
# Update `AUTHORS.md`
- '${HOME}/go/bin/maintainer contributor'
# Run `semantic-release`
- 'semantic-release'

View File

@@ -1,56 +1,40 @@
# vim: ft=yaml # vim: ft=yaml
--- ---
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
ci:
autofix_commit_msg: |
ci(pre-commit.ci): apply auto fixes from pre-commit.com hooks
For more information, see https://pre-commit.ci
autofix_prs: true
autoupdate_branch: ''
autoupdate_commit_msg: |
ci(pre-commit.ci): perform `pre-commit` autoupdate
autoupdate_schedule: quarterly
skip: []
submodules: false
default_stages: [commit]
repos: 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/rubocop-hq/rubocop
rev: v1.30.1
hooks:
- id: rubocop
name: Check Ruby files with rubocop
args: [--debug]
always_run: true
pass_filenames: false
- repo: https://github.com/shellcheck-py/shellcheck-py - repo: https://github.com/shellcheck-py/shellcheck-py
rev: v0.8.0.4 rev: v0.9.0.6
hooks: hooks:
- id: shellcheck - id: shellcheck
name: Check shell scripts with shellcheck name: Check shell scripts with shellcheck
files: ^.*\.(sh|bash|ksh)$ files: ^.*\.(sh|bash|ksh)$
types: [] types: []
- repo: https://github.com/adrienverge/yamllint - repo: https://github.com/adrienverge/yamllint
rev: v1.26.3 rev: v1.32.0
hooks: hooks:
- id: yamllint - id: yamllint
name: Check YAML syntax with yamllint name: Check YAML syntax with yamllint
args: [--strict, '.'] args: [--strict]
always_run: true types: [file]
pass_filenames: false # Files to include
# 1. Obvious YAML files
# 2. `pillar.example` and similar files
# 3. SLS files under directory `test/` which are pillar files
# Files to exclude
# 1. SLS files under directory `test/` which are state files
# 2. `kitchen.vagrant.yml`, which contains Embedded Ruby (ERB) template syntax
# 3. YAML files heavily reliant on Jinja
files: |
(?x)^(
.*\.yaml|
.*\.yml|
\.salt-lint|
\.yamllint|
.*\.example|
)$
exclude: |
(?x)^(
.copier-answers.yml|
)$
- repo: https://github.com/warpnet/salt-lint - repo: https://github.com/warpnet/salt-lint
rev: v0.9.2 rev: v0.9.2
hooks: hooks:
@@ -76,12 +60,12 @@ repos:
always_run: true always_run: true
pass_filenames: false pass_filenames: false
- repo: https://github.com/myint/rstcheck - repo: https://github.com/myint/rstcheck
rev: 3f929574 rev: v6.2.0
hooks: hooks:
- id: rstcheck - id: rstcheck
name: Check reST files using rstcheck name: Check reST files using rstcheck
exclude: 'docs/CHANGELOG.rst' exclude: 'docs/CHANGELOG.rst'
additional_dependencies: [sphinx==4.3.0] additional_dependencies: [sphinx==7.2.6]
- repo: https://github.com/saltstack-formulas/mirrors-rst-lint - repo: https://github.com/saltstack-formulas/mirrors-rst-lint
rev: v1.3.2 rev: v1.3.2
hooks: hooks:
@@ -95,4 +79,4 @@ repos:
docs/index.rst| docs/index.rst|
docs/pillar.rst| docs/pillar.rst|
)$ )$
additional_dependencies: [pygments==2.9.0] additional_dependencies: [pygments==2.16.1]

View File

@@ -1,4 +1,6 @@
[rstcheck] [rstcheck]
report=info report=info
ignore_language=rst ignore_language=rst
ignore_messages=(Duplicate (ex|im)plicit target.*|Hyperlink target ".*" is not referenced\.$) # salt['config.get']('roles') is misidentified as a Markdown link.
# Ignore for now, but perhaps try to submit a fix upstream in rstcheck
ignore_messages=(Duplicate (ex|im)plicit target.*|Hyperlink target ".*" is not referenced\.$|\(rst\) Link is formatted in Markdown style\.)

View File

@@ -1,22 +0,0 @@
# 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:
IgnoredMethods:
- control
- describe
# Increase from default of `25`
Max: 30
Security/YAMLLoad:
Exclude:
- test/integration/**/_mapdata.rb
# General settings across all cops in this formula
AllCops:
NewCops: enable
# Any offenses that should be fixed, e.g. collected via. `rubocop --auto-gen-config`

View File

@@ -1,184 +0,0 @@
# vim: ft=yaml
---
################################################################################
# NOTE: This file is UNMAINTAINED; it is provided for references purposes only.
# No guarantees are tendered that this structure will work after 2020.
################################################################################
# * https://en.wikipedia.org/wiki/Travis_CI:
# - "... free open-source plans were removed in [sic] the end of 2020"
# - https://blog.travis-ci.com/2020-11-02-travis-ci-new-billing
# - https://ropensci.org/technotes/2020/11/19/moving-away-travis/
################################################################################
## 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
# # As part of the switch away from Travis CI, ensure that the `release` stage
# # is not run inadvertently
# - 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-11-tiamat-py3
# - env: INSTANCE=default-debian-10-tiamat-py3
# - env: INSTANCE=default-debian-9-tiamat-py3
# - env: INSTANCE=default-ubuntu-2204-tiamat-py3
# - env: INSTANCE=default-ubuntu-2004-tiamat-py3
# - env: INSTANCE=default-ubuntu-1804-tiamat-py3
# - env: INSTANCE=default-centos-stream8-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-almalinux-8-tiamat-py3
# - env: INSTANCE=default-rockylinux-8-tiamat-py3
- env: INSTANCE=default-debian-11-master-py3
- env: INSTANCE=default-debian-10-master-py3
- env: INSTANCE=default-debian-9-master-py3
- env: INSTANCE=default-ubuntu-2204-master-py3
- env: INSTANCE=default-ubuntu-2004-master-py3
- env: INSTANCE=default-ubuntu-1804-master-py3
- env: INSTANCE=default-centos-stream8-master-py3
- env: INSTANCE=default-centos-7-master-py3
- env: INSTANCE=default-fedora-36-master-py3
- env: INSTANCE=default-fedora-35-master-py3
- env: INSTANCE=default-opensuse-leap-153-master-py3
- env: INSTANCE=default-opensuse-tmbl-latest-master-py3
- env: INSTANCE=default-amazonlinux-2-master-py3
- env: INSTANCE=default-oraclelinux-8-master-py3
- env: INSTANCE=default-oraclelinux-7-master-py3
- env: INSTANCE=default-arch-base-latest-master-py3
- env: INSTANCE=default-gentoo-stage3-latest-master-py3
- env: INSTANCE=default-gentoo-stage3-systemd-master-py3
- env: INSTANCE=default-almalinux-8-master-py3
- env: INSTANCE=default-rockylinux-8-master-py3
# - env: INSTANCE=default-debian-11-3004-1-py3
# - env: INSTANCE=default-debian-10-3004-1-py3
# - env: INSTANCE=default-debian-9-3004-1-py3
# - env: INSTANCE=default-ubuntu-2204-3004-1-py3
# - env: INSTANCE=default-ubuntu-2004-3004-1-py3
# - env: INSTANCE=default-ubuntu-1804-3004-1-py3
# - env: INSTANCE=default-centos-stream8-3004-1-py3
# - env: INSTANCE=default-centos-7-3004-1-py3
# - env: INSTANCE=default-fedora-36-3004-1-py3
# - env: INSTANCE=default-fedora-35-3004-1-py3
# - env: INSTANCE=default-amazonlinux-2-3004-1-py3
# - env: INSTANCE=default-oraclelinux-8-3004-1-py3
# - env: INSTANCE=default-oraclelinux-7-3004-1-py3
# - env: INSTANCE=default-arch-base-latest-3004-1-py3
# - env: INSTANCE=default-gentoo-stage3-latest-3004-1-py3
# - env: INSTANCE=default-gentoo-stage3-systemd-3004-1-py3
# - env: INSTANCE=default-almalinux-8-3004-1-py3
# - env: INSTANCE=default-rockylinux-8-3004-1-py3
# - env: INSTANCE=default-opensuse-leap-153-3004-0-py3
# - env: INSTANCE=default-opensuse-tmbl-latest-3004-0-py3
# - env: INSTANCE=default-debian-10-3003-4-py3
# - env: INSTANCE=default-debian-9-3003-4-py3
# - env: INSTANCE=default-ubuntu-2004-3003-4-py3
# - env: INSTANCE=default-ubuntu-1804-3003-4-py3
# - env: INSTANCE=default-centos-stream8-3003-4-py3
# - env: INSTANCE=default-centos-7-3003-4-py3
# - env: INSTANCE=default-amazonlinux-2-3003-4-py3
# - env: INSTANCE=default-oraclelinux-8-3003-4-py3
# - env: INSTANCE=default-oraclelinux-7-3003-4-py3
# - env: INSTANCE=default-almalinux-8-3003-4-py3
## 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'

View File

@@ -3,33 +3,6 @@
# Extend the `default` configuration provided by `yamllint` # Extend the `default` configuration provided by `yamllint`
extends: 'default' extends: 'default'
# Files to ignore completely
# 1. All YAML files under directory `.bundle/`, introduced if gems are installed locally
# 2. All YAML files under directory `.cache/`, introduced during the CI run
# 3. All YAML files under directory `.git/`
# 4. All YAML files under directory `node_modules/`, introduced during the CI run
# 5. Any SLS files under directory `test/`, which are actually state files
# 6. Any YAML files under directory `.kitchen/`, introduced during local testing
# 7. `kitchen.vagrant.yml`, which contains Embedded Ruby (ERB) template syntax
ignore: |
.bundle/
.cache/
.git/
node_modules/
test/**/states/**/*.sls
.kitchen/
kitchen.vagrant.yml
yaml-files:
# Default settings
- '*.yaml'
- '*.yml'
- .salt-lint
- .yamllint
# SaltStack Formulas additional settings
- '*.example'
- test/**/*.sls
rules: rules:
empty-values: empty-values:
forbid-in-block-mappings: true forbid-in-block-mappings: true

View File

@@ -1,53 +0,0 @@
# 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)
* @lkubb
# 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
/*/_mapdata/ @saltstack-formulas/ssf
/*/libmapstack.jinja @saltstack-formulas/ssf
/*/libmatchers.jinja @saltstack-formulas/ssf
/*/libsaltcli.jinja @saltstack-formulas/ssf
/*/libtofs.jinja @saltstack-formulas/ssf
/*/map.jinja @saltstack-formulas/ssf
/test/integration/**/_mapdata.rb @saltstack-formulas/ssf
/test/integration/**/libraries/system.rb @saltstack-formulas/ssf
/test/integration/**/inspec.yml @saltstack-formulas/ssf
/test/integration/**/README.md @saltstack-formulas/ssf
/test/salt/pillar/top.sls @saltstack-formulas/ssf
/.gitignore @saltstack-formulas/ssf
/.cirrus.yml @saltstack-formulas/ssf
/.gitlab-ci.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
/kitchen.vagrant.yml @saltstack-formulas/ssf
/kitchen.windows.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)

View File

@@ -1,5 +1,5 @@
name: gitea name: gitea
os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Amazon, Oracle, Suse, openSUSE, Gentoo, Funtoo, Arch, Manjaro, Alpine, FreeBSD, OpenBSD, Solaris, SmartOS, Windows, MacOS os: Debian, Ubuntu, Raspbian, RedHat, Fedora, CentOS, Amazon, Oracle, SUSE, openSUSE, Gentoo, Funtoo, Arch, Manjaro, Alpine, FreeBSD, OpenBSD, Solaris, SmartOS, Windows, MacOS
os_family: Debian, RedHat, Suse, Gentoo, Arch, Alpine, FreeBSD, OpenBSD, Solaris, Windows, MacOS os_family: Debian, RedHat, Suse, Gentoo, Arch, Alpine, FreeBSD, OpenBSD, Solaris, Windows, MacOS
version: 1.0.0 version: 1.0.0
release: 1 release: 1

19
Gemfile
View File

@@ -1,19 +0,0 @@
# frozen_string_literal: true
source ENV.fetch('PROXY_RUBYGEMSORG', 'https://rubygems.org')
# Install the `inspec` gem using `git` because versions after `4.22.22`
# suppress diff output; this version fixes this for our uses.
# rubocop:disable Layout/LineLength
gem 'inspec', git: 'https://gitlab.com/saltstack-formulas/infrastructure/inspec', branch: 'ssf'
# rubocop:enable Layout/LineLength
# Install the `kitchen-docker` gem using `git` in order to gain a performance
# improvement: avoid package installations which are already covered by the
# `salt-image-builder` (i.e. the pre-salted images that we're using)
# rubocop:disable Layout/LineLength
gem 'kitchen-docker', git: 'https://gitlab.com/saltstack-formulas/infrastructure/kitchen-docker', branch: 'ssf'
# rubocop:enable Layout/LineLength
gem 'kitchen-inspec', '>= 2.5.0'
gem 'kitchen-salt', '>= 0.7.2'

View File

@@ -1,675 +0,0 @@
GIT
remote: https://gitlab.com/saltstack-formulas/infrastructure/inspec
revision: aaef842906a5666f0fc0b4f186b4dd3498f5b28c
branch: ssf
specs:
inspec (5.18.15)
cookstyle
faraday_middleware (>= 0.12.2, < 1.1)
inspec-core (= 5.18.15)
mongo (= 2.13.2)
progress_bar (~> 1.3.3)
rake
train (~> 3.10)
train-aws (~> 0.2)
train-habitat (~> 0.1)
train-winrm (~> 0.2)
inspec-core (5.18.15)
addressable (~> 2.4)
chef-telemetry (~> 1.0, >= 1.0.8)
faraday (>= 0.9.0, < 1.5)
faraday_middleware (~> 1.0)
hashie (>= 3.4, < 5.0)
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, < 2.0)
pry (~> 0.13)
rspec (>= 3.9, <= 3.11)
rspec-its (~> 1.2)
rubyzip (>= 1.2.2, < 3.0)
semverse (~> 3.0)
sslshake (~> 1.2)
thor (>= 0.20, < 2.0)
tomlrb (>= 1.2, < 2.1)
train-core (~> 3.10)
tty-prompt (~> 0.17)
tty-table (~> 0.10)
GIT
remote: https://gitlab.com/saltstack-formulas/infrastructure/kitchen-docker
revision: 9a09bc1e571e25f3ccabf4725ca2048d970fff82
branch: ssf
specs:
kitchen-docker (2.12.0)
test-kitchen (>= 1.0.0)
GEM
remote: https://rubygems.org/
specs:
activesupport (7.0.3.1)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
ast (2.4.2)
aws-eventstream (1.2.0)
aws-partitions (1.607.0)
aws-sdk-alexaforbusiness (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-amplify (1.32.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-apigateway (1.78.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-apigatewayv2 (1.42.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-applicationautoscaling (1.51.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-athena (1.55.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-autoscaling (1.63.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-batch (1.47.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-budgets (1.50.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudformation (1.70.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudfront (1.65.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsm (1.39.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudhsmv2 (1.42.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudtrail (1.49.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatch (1.64.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatchevents (1.46.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-cloudwatchlogs (1.53.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codecommit (1.51.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codedeploy (1.49.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-codepipeline (1.53.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-cognitoidentity (1.31.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-cognitoidentityprovider (1.53.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-configservice (1.79.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-core (3.131.2)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.525.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1, >= 1.6.1)
aws-sdk-costandusagereportservice (1.40.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-databasemigrationservice (1.53.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-dynamodb (1.75.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ec2 (1.322.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecr (1.56.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecrpublic (1.12.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecs (1.100.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-efs (1.54.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-eks (1.75.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticache (1.78.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticbeanstalk (1.51.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancing (1.40.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticloadbalancingv2 (1.78.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-elasticsearchservice (1.65.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-emr (1.53.0)
aws-sdk-core (~> 3, >= 3.121.2)
aws-sigv4 (~> 1.1)
aws-sdk-eventbridge (1.24.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-firehose (1.48.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-glue (1.88.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-guardduty (1.58.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-iam (1.69.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-kafka (1.50.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-kinesis (1.41.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-kms (1.57.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-lambda (1.84.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-mq (1.40.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-networkfirewall (1.17.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-networkmanager (1.24.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-organizations (1.59.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-ram (1.26.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-rds (1.148.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-redshift (1.84.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53 (1.63.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53domains (1.40.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-route53resolver (1.37.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.114.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.4)
aws-sdk-s3control (1.43.0)
aws-sdk-core (~> 3, >= 3.122.0)
aws-sigv4 (~> 1.1)
aws-sdk-secretsmanager (1.46.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-securityhub (1.67.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-servicecatalog (1.60.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-ses (1.41.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-shield (1.48.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-signer (1.32.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv4 (~> 1.1)
aws-sdk-simpledb (1.29.0)
aws-sdk-core (~> 3, >= 3.120.0)
aws-sigv2 (~> 1.0)
aws-sdk-sms (1.40.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-sns (1.53.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-sqs (1.51.1)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-ssm (1.137.0)
aws-sdk-core (~> 3, >= 3.127.0)
aws-sigv4 (~> 1.1)
aws-sdk-states (1.39.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-synthetics (1.19.0)
aws-sdk-core (~> 3, >= 3.121.2)
aws-sigv4 (~> 1.1)
aws-sdk-transfer (1.34.0)
aws-sdk-core (~> 3, >= 3.112.0)
aws-sigv4 (~> 1.1)
aws-sdk-waf (1.43.0)
aws-sdk-core (~> 3, >= 3.122.0)
aws-sigv4 (~> 1.1)
aws-sigv2 (1.1.0)
aws-sigv4 (1.5.0)
aws-eventstream (~> 1, >= 1.0.2)
azure_graph_rbac (0.17.2)
ms_rest_azure (~> 0.12.0)
azure_mgmt_key_vault (0.17.7)
ms_rest_azure (~> 0.12.0)
azure_mgmt_resources (0.18.2)
ms_rest_azure (~> 0.12.0)
azure_mgmt_security (0.19.0)
ms_rest_azure (~> 0.12.0)
azure_mgmt_storage (0.23.0)
ms_rest_azure (~> 0.12.0)
bcrypt_pbkdf (1.1.0)
bson (4.15.0)
builder (3.2.4)
chef-config (17.10.0)
addressable
chef-utils (= 17.10.0)
fuzzyurl
mixlib-config (>= 2.2.12, < 4.0)
mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2)
chef-telemetry (1.1.1)
chef-config
concurrent-ruby (~> 1.0)
chef-utils (17.10.0)
concurrent-ruby
coderay (1.1.3)
concurrent-ruby (1.1.10)
cookstyle (7.32.1)
rubocop (= 1.25.1)
declarative (0.0.20)
diff-lcs (1.5.0)
docker-api (2.2.0)
excon (>= 0.47.0)
multi_json
domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0)
ed25519 (1.3.0)
erubi (1.10.0)
excon (0.92.3)
faraday (1.4.3)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.1)
multipart-post (>= 1.2, < 3)
ruby2_keywords (>= 0.0.4)
faraday-cookie_jar (0.0.7)
faraday (>= 0.8.0)
http-cookie (~> 1.0.0)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday_middleware (1.0.0)
faraday (~> 1.0)
ffi (1.15.5)
fuzzyurl (0.9.0)
google-api-client (0.52.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)
rexml
signet (~> 0.12)
googleauth (0.14.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.1)
ffi (>= 1.0.1)
gyoku (1.4.0)
builder (>= 2.1.2)
rexml (~> 3.0)
hashie (4.1.0)
highline (2.0.3)
http-cookie (1.0.5)
domain_name (~> 0.5)
httpclient (2.8.3)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
inifile (3.0.0)
jmespath (1.6.1)
json (2.6.2)
jwt (2.4.1)
kitchen-inspec (2.6.1)
hashie (>= 3.4, <= 5.0)
inspec (>= 2.2.64, < 7.0)
test-kitchen (>= 2.7, < 4)
kitchen-salt (0.7.2)
hashie (>= 3.5)
test-kitchen (>= 1.4)
license-acceptance (2.1.13)
pastel (~> 0.7)
tomlrb (>= 1.2, < 3.0)
tty-box (~> 0.6)
tty-prompt (~> 0.20)
little-plugger (1.1.4)
logging (2.3.1)
little-plugger (~> 1.1)
multi_json (~> 1.14)
memoist (0.16.2)
method_source (1.0.0)
mini_mime (1.1.2)
minitest (5.16.2)
mixlib-config (3.0.27)
tomlrb
mixlib-install (3.12.19)
mixlib-shellout
mixlib-versioning
thor
mixlib-log (3.0.9)
mixlib-shellout (3.2.7)
chef-utils
mixlib-versioning (1.2.12)
mongo (2.13.2)
bson (>= 4.8.2, < 5.0.0)
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.2.3)
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)
options (2.3.2)
os (1.1.4)
parallel (1.22.1)
parser (3.1.2.0)
ast (~> 2.4.1)
parslet (1.8.2)
pastel (0.8.0)
tty-color (~> 0.5)
progress_bar (1.3.3)
highline (>= 1.6, < 3)
options (~> 2.3.0)
pry (0.14.1)
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (4.0.7)
rainbow (3.1.1)
rake (13.0.6)
regexp_parser (2.5.0)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.2.5)
rspec (3.11.0)
rspec-core (~> 3.11.0)
rspec-expectations (~> 3.11.0)
rspec-mocks (~> 3.11.0)
rspec-core (3.11.0)
rspec-support (~> 3.11.0)
rspec-expectations (3.11.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-its (1.3.0)
rspec-core (>= 3.0.0)
rspec-expectations (>= 3.0.0)
rspec-mocks (3.11.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-support (3.11.0)
rubocop (1.25.1)
parallel (~> 1.10)
parser (>= 3.1.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml
rubocop-ast (>= 1.15.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 3.0)
rubocop-ast (1.19.1)
parser (>= 3.1.1.0)
ruby-progressbar (1.11.0)
ruby2_keywords (0.0.5)
rubyntlm (0.6.3)
rubyzip (2.3.2)
semverse (3.0.2)
signet (0.17.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
sslshake (1.3.1)
strings (0.2.1)
strings-ansi (~> 0.2)
unicode-display_width (>= 1.5, < 3.0)
unicode_utils (~> 1.4)
strings-ansi (0.2.0)
test-kitchen (3.3.1)
bcrypt_pbkdf (~> 1.0)
chef-utils (>= 16.4.35)
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.2.1)
timeliness (0.3.10)
tomlrb (1.3.0)
trailblazer-option (0.1.2)
train (3.10.1)
activesupport (>= 6.0.3.1)
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.52.0)
googleauth (>= 0.6.6, <= 0.14.0)
inifile (~> 3.0)
train-core (= 3.10.1)
train-winrm (~> 0.2)
train-aws (0.2.24)
aws-sdk-alexaforbusiness (~> 1.0)
aws-sdk-amplify (~> 1.32.0)
aws-sdk-apigateway (~> 1.0)
aws-sdk-apigatewayv2 (~> 1.0)
aws-sdk-applicationautoscaling (>= 1.46, < 1.52)
aws-sdk-athena (~> 1.0)
aws-sdk-autoscaling (>= 1.22, < 1.64)
aws-sdk-batch (>= 1.36, < 1.48)
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-cloudwatchevents (>= 1.36, < 1.47)
aws-sdk-cloudwatchlogs (~> 1.13)
aws-sdk-codecommit (~> 1.0)
aws-sdk-codedeploy (~> 1.0)
aws-sdk-codepipeline (~> 1.0)
aws-sdk-cognitoidentity (>= 1.26, < 1.32)
aws-sdk-cognitoidentityprovider (>= 1.46, < 1.54)
aws-sdk-configservice (~> 1.21)
aws-sdk-core (~> 3.0)
aws-sdk-costandusagereportservice (~> 1.6)
aws-sdk-databasemigrationservice (>= 1.42, < 1.54)
aws-sdk-dynamodb (~> 1.31)
aws-sdk-ec2 (~> 1.70)
aws-sdk-ecr (~> 1.18)
aws-sdk-ecrpublic (~> 1.3)
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-emr (~> 1.53.0)
aws-sdk-eventbridge (~> 1.24.0)
aws-sdk-firehose (~> 1.0)
aws-sdk-glue (>= 1.71, < 1.89)
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-mq (~> 1.40.0)
aws-sdk-networkfirewall (>= 1.6.0)
aws-sdk-networkmanager (>= 1.13.0)
aws-sdk-organizations (>= 1.17, < 1.60)
aws-sdk-ram (>= 1.21, < 1.27)
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-s3control (~> 1.43.0)
aws-sdk-secretsmanager (>= 1.42, < 1.47)
aws-sdk-securityhub (~> 1.0)
aws-sdk-servicecatalog (>= 1.48, < 1.61)
aws-sdk-ses (~> 1.41.0)
aws-sdk-shield (~> 1.30)
aws-sdk-signer (~> 1.32.0)
aws-sdk-simpledb (~> 1.29.0)
aws-sdk-sms (~> 1.0)
aws-sdk-sns (~> 1.9)
aws-sdk-sqs (~> 1.10)
aws-sdk-ssm (~> 1.0)
aws-sdk-states (>= 1.35, < 1.40)
aws-sdk-synthetics (~> 1.19.0)
aws-sdk-transfer (>= 1.26, < 1.35)
aws-sdk-waf (~> 1.43.0)
train-core (3.10.1)
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.22)
train-winrm (0.2.13)
winrm (>= 2.3.6, < 3.0)
winrm-elevated (~> 1.2.2)
winrm-fs (~> 1.0)
tty-box (0.7.0)
pastel (~> 0.8)
strings (~> 0.2.0)
tty-cursor (~> 0.7)
tty-color (0.6.0)
tty-cursor (0.7.1)
tty-prompt (0.23.1)
pastel (~> 0.8)
tty-reader (~> 0.8)
tty-reader (0.9.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 (2.0.4)
concurrent-ruby (~> 1.0)
uber (0.1.0)
unf (0.1.4)
unf_ext
unf_ext (0.0.8.2)
unicode-display_width (2.2.0)
unicode_utils (1.4.0)
winrm (2.3.6)
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.3)
winrm-elevated (1.2.3)
erubi (~> 1.8)
winrm (~> 2.0)
winrm-fs (~> 1.0)
winrm-fs (1.3.5)
erubi (~> 1.8)
logging (>= 1.6.1, < 3.0)
rubyzip (~> 2.0)
winrm (~> 2.0)
wisper (2.0.1)
PLATFORMS
ruby
DEPENDENCIES
inspec!
kitchen-docker!
kitchen-inspec (>= 2.5.0)
kitchen-salt (>= 0.7.2)
BUNDLED WITH
2.1.2

View File

@@ -1,32 +0,0 @@
#!/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')

View File

@@ -19,9 +19,9 @@ ignore = ["_mapdata"]
# Given a directory with `package.init`, `package.install` # Given a directory with `package.init`, `package.install`
# and `package.clean`, only dump init and clean. # and `package.clean`, only dump init and clean.
avoid_init_dup = True avoid_init_dup = True
# By default, states are ordered alphabetically, but init # By default, states are ordered according to the top `init.sls`, but init
# always comes first and all clean states are separated. # always comes first and all clean states are separated.
# This overrides the purely alphabetical order for the roots. # This overrides the order for the roots. Defaults to `"auto"`.
sort_list = ["init", "clean", "package", "config", "service"] sort_list = ["init", "clean", "package", "config", "service"]
[tool.slsdoc.single_renderer] [tool.slsdoc.single_renderer]
@@ -79,6 +79,7 @@ cut_prefix = true
include_formula_root = false include_formula_root = false
''' '''
import re
from pathlib import Path from pathlib import Path
import toml import toml
@@ -196,7 +197,7 @@ class StateRegistry:
""" """
sort_key = () sort_key = ()
if a[0] in self.sort_list: if a[0] in self.sort_list:
sort_key += (str(self.sort_list.index(a[0])),) sort_key += (str(self.sort_list.index(a[0])).zfill(3),)
else: else:
sort_key += (str(len(self.sort_list)),) sort_key += (str(len(self.sort_list)),)
if a[-1] == "init": if a[-1] == "init":
@@ -318,7 +319,16 @@ class StateRegistry:
# given package.init, package.install and package.clean, # given package.init, package.install and package.clean,
# only dump init and clean # only dump init and clean
parent = self.lookup(state_id[:-1], tree=True) parent = self.lookup(state_id[:-1], tree=True)
if len(parent) == 3 and "init" in parent and "clean" in parent: if (
len(
list(
x for x, y in parent.items() if not isinstance(y, dict)
)
)
== 3
and "init" in parent
and "clean" in parent
):
continue continue
yield self.states[state_id] yield self.states[state_id]
@@ -630,9 +640,7 @@ class DepthRenderer(Renderer):
def _render_single(self, states, prefix): def _render_single(self, states, prefix):
target = self._get_target(prefix) target = self._get_target(prefix)
rendr = self.delegate( rendr = self.delegate(target=target, prefix=prefix, **self.opts["single_opts"])
target=target, prefix=prefix, **self.opts["single_opts"]
)
rendr.render(states) rendr.render(states)
def _render_index(self, states, indices, prefix=None): def _render_index(self, states, indices, prefix=None):
@@ -711,7 +719,7 @@ class SaltAutodoc:
for file in self.glob(src): for file in self.glob(src):
if str(file.relative_to(self.base)).startswith(tuple(self.ignore)): if str(file.relative_to(self.base)).startswith(tuple(self.ignore)):
continue continue
with open(file, "r") as f: with open(file) as f:
text = "".join(f.readlines()) text = "".join(f.readlines())
try: try:
comment = self.find_comment(text) comment = self.find_comment(text)
@@ -732,8 +740,7 @@ class SaltAutodoc:
""" """
Returns Path objects pointing to Salt states provided by this formula. Returns Path objects pointing to Salt states provided by this formula.
""" """
for path in (self.base / Path(src)).rglob("*.sls"): yield from (self.base / Path(src)).rglob("*.sls")
yield path
def find_comment(self, text): def find_comment(self, text):
""" """
@@ -779,9 +786,18 @@ if __name__ == "__main__":
else: else:
raise ValueError(f"Invalid value for renderer: {renderer}") raise ValueError(f"Invalid value for renderer: {renderer}")
base = list(base_dir.glob("*/init.sls"))[0].parent
sort_list = options.get("sort_list", "auto")
if sort_list == "auto":
init = (base / "init.sls").read_text()
sort_list = ["init", "clean"] + re.findall(
r"\n[^\S\n]+\-\ \.(\S+)",
re.findall(r"include:((?:\n(?:[^\S\n]+|\{\%.*)\S.*)+)", init)[0],
)
reg = StateRegistry( reg = StateRegistry(
avoid_init_dup=options.get("avoid_init_dup", True), avoid_init_dup=options.get("avoid_init_dup", True),
sort_list=options.get("sort_list"), sort_list=sort_list,
) )
doc = SaltAutodoc( doc = SaltAutodoc(
rendr=rend, rendr=rend,

View File

@@ -1,8 +0,0 @@
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],
},
};

View File

@@ -23,15 +23,15 @@ General notes
------------- -------------
See the full `SaltStack Formulas installation and usage instructions See the full `SaltStack Formulas installation and usage instructions
<https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html>`_. <https://docs.saltproject.io/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 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>`_. <https://docs.saltproject.io/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``, 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/>`_. 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. See `Formula Versioning Section <https://docs.saltproject.io/en/latest/topics/development/conventions/formulas.html#versioning>`_ for more details.
If you need (non-default) configuration, please refer to: If you need (non-default) configuration, please refer to:
@@ -197,48 +197,3 @@ There is a script that semi-autodocuments available states: ``bin/slsdoc``.
If a ``.sls`` file begins with a Jinja comment, it will dump that into the docs. It can be configured differently depending on the formula. See the script source code for details currently. If a ``.sls`` file begins with a Jinja comment, it will dump that into the docs. It can be configured differently depending on the formula. See the script source code for details currently.
This means if you feel a state should be documented, make sure to write a comment explaining it. This means if you feel a state should be documented, make sure to write a comment explaining it.
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 ``gitea`` 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.

View File

@@ -330,7 +330,7 @@ We can simplify the ``conf.sls`` with the new ``files_switch`` macro to use in t
In ``libtofs.jinja``, we define this new macro ``files_switch``. In ``libtofs.jinja``, we define this new macro ``files_switch``.
.. literalinclude:: ../template/libtofs.jinja .. literalinclude:: ../gitea/libtofs.jinja
:caption: /srv/saltstack/salt-formulas/ntp-saltstack-formula/ntp/libtofs.jinja :caption: /srv/saltstack/salt-formulas/ntp-saltstack-formula/ntp/libtofs.jinja
:language: jinja :language: jinja

View File

@@ -23,15 +23,15 @@ General notes
------------- -------------
See the full `SaltStack Formulas installation and usage instructions See the full `SaltStack Formulas installation and usage instructions
<https://docs.saltstack.com/en/latest/topics/development/conventions/formulas.html>`_. <https://docs.saltproject.io/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 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>`_. <https://docs.saltproject.io/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``, 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/>`_. 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. See `Formula Versioning Section <https://docs.saltproject.io/en/latest/topics/development/conventions/formulas.html#versioning>`_ for more details.
If you need (non-default) configuration, please refer to: If you need (non-default) configuration, please refer to:
@@ -104,48 +104,3 @@ There is a script that semi-autodocuments available states: ``bin/slsdoc``.
If a ``.sls`` file begins with a Jinja comment, it will dump that into the docs. It can be configured differently depending on the formula. See the script source code for details currently. If a ``.sls`` file begins with a Jinja comment, it will dump that into the docs. It can be configured differently depending on the formula. See the script source code for details currently.
This means if you feel a state should be documented, make sure to write a comment explaining it. This means if you feel a state should be documented, make sure to write a comment explaining it.
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 ``gitea`` 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.

View File

@@ -73,7 +73,7 @@ Create the file ``/etc/salt/master.d/fileserver.conf`` and restart the ``master`
Create per DNS configuration for ``gitea`` formula Create per DNS configuration for ``gitea`` formula
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Now, we can provides the per DNS domain name configuration files for the ``gitea`` formulas under ``/srv/salt/gitea/parameters/``. Now, we can provides the per DNS domain name configuration files for the ``gitea`` formulas under ``/srv/salt/gitea/parameters/``.
@@ -104,7 +104,7 @@ We create another configuration for the DNS domain ``example.com`` in the Jinja
Create per role configuration for ``gitea`` formula Create per role configuration for ``gitea`` formula
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Now, we can provides the per role configuration files for the ``gitea`` formulas under ``/srv/salt/gitea/parameters/``. Now, we can provides the per role configuration files for the ``gitea`` formulas under ``/srv/salt/gitea/parameters/``.
@@ -470,7 +470,7 @@ Use formula configuration values in templates
When you need to process salt templates, you should avoid calling `salt['config.get']`_ (or `salt['pillar.get']`_ and `salt['grains.get']`_) directly from the template. All the needed values should be available within the ``mapdata`` variable exported by ``map.jinja``. When you need to process salt templates, you should avoid calling `salt['config.get']`_ (or `salt['pillar.get']`_ and `salt['grains.get']`_) directly from the template. All the needed values should be available within the ``mapdata`` variable exported by ``map.jinja``.
Here is an example based on `template-formula/gitea/config/file.sls`_: Here is an example based on `template-formula/TEMPLATE/config/file.sls`_:
.. code-block:: sls .. code-block:: sls
@@ -537,5 +537,5 @@ This ``sls`` file expose a ``gitea`` context variable to the jinja template whic
.. _salt.slsutil.merge: https://docs.saltproject.io/en/latest/ref/modules/all/salt.modules.slsutil.html#salt.modules.slsutil.merge .. _salt.slsutil.merge: https://docs.saltproject.io/en/latest/ref/modules/all/salt.modules.slsutil.html#salt.modules.slsutil.merge
.. _traverse: https://docs.saltproject.io/en/latest/topics/jinja/index.html#traverse .. _traverse: https://docs.saltproject.io/en/latest/topics/jinja/index.html#traverse
.. _salt-ssh: https://docs.saltproject.io/en/latest/topics/ssh/ .. _salt-ssh: https://docs.saltproject.io/en/latest/topics/ssh/
.. _template-formula/gitea/config/file.sls: https://github.com/saltstack-formulas/template-formula/blob/master/gitea/config/file.sls .. _template-formula/TEMPLATE/config/file.sls: https://github.com/saltstack-formulas/template-formula/blob/master/TEMPLATE/config/file.sls
.. _bug 58726: https://github.com/saltstack/salt/issues/58726 .. _bug 58726: https://github.com/saltstack/salt/issues/58726

View File

@@ -3,7 +3,7 @@
{%- set tplroot = tpldir.split("/")[0] %} {%- set tplroot = tpldir.split("/")[0] %}
{%- set sls_package_install = tplroot ~ ".package.install" %} {%- set sls_package_install = tplroot ~ ".package.install" %}
{%- from tplroot ~ "/map.jinja" import mapdata as gitea with context %} {%- from tplroot ~ "/map.jinja" import mapdata as gitea with context %}
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %} {%- from tplroot ~ "/libtofsstack.jinja" import files_switch with context %}
include: include:
- {{ sls_package_install }} - {{ sls_package_install }}
@@ -25,8 +25,10 @@ Gitea internal token file is generated:
Gitea configuration is managed: Gitea configuration is managed:
file.managed: file.managed:
- name: {{ gitea.lookup.paths.conf | path_join("app.ini") }} - name: {{ gitea.lookup.paths.conf | path_join("app.ini") }}
- source: {{ files_switch(["app.ini", "app.ini.j2"], - source: {{ files_switch(
lookup="Gitea configuration is managed" ["app.ini", "app.ini.j2"],
config=gitea,
lookup="Gitea configuration is managed"
) )
}} }}
- template: jinja - template: jinja

View File

View File

@@ -2,7 +2,6 @@
{#- Get the `tplroot` from `tpldir` #} {#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split("/")[0] %} {%- set tplroot = tpldir.split("/")[0] %}
{%- from tplroot ~ "/libsaltcli.jinja" import cli with context %}
{%- set query_map = { {%- set query_map = {
"C": "config.get", "C": "config.get",
@@ -161,7 +160,7 @@
{%- endif %} {%- endif %}
{#- Add `merge:` option to `salt["config.get"]` if configured #} {#- Add `merge:` option to `salt["config.get"]` if configured #}
{%- if cli not in ["ssh", "unknown"] and parsed.query_method == "config.get" and config_get_strategy %} {%- if parsed.query_method == "config.get" and config_get_strategy %}
{%- set query_opts = { {%- set query_opts = {
"merge": config_get_strategy, "merge": config_get_strategy,
"delimiter": parsed.query_delimiter, "delimiter": parsed.query_delimiter,
@@ -174,14 +173,6 @@
~ "'" ~ "'"
) %} ) %}
{%- else %} {%- else %}
{%- if cli in ["ssh", "unknown"] %}
{%- do salt["log.warning"](
log_prefix
~ "the 'delimiter' and 'merge' options of 'config.get' are skipped when the salt command type is '"
~ cli
~ "'"
) %}
{%- endif %}
{%- set query_opts = {} %} {%- set query_opts = {} %}
{%- set query_opts_msg = "" %} {%- set query_opts_msg = "" %}
{%- endif %} {%- endif %}

View File

@@ -2,13 +2,12 @@
{#- Get the relevant values from the `opts` dict #} {#- Get the relevant values from the `opts` dict #}
{%- set opts_cli = opts.get('__cli', '') %} {%- set opts_cli = opts.get('__cli', '') %}
{%- set opts_masteropts_cli = opts | traverse('__master_opts__:__cli', '') %}
{#- Determine the type of salt command being run #} {#- Determine the type of salt command being run #}
{%- if opts_cli == 'salt-minion' %} {%- if opts_cli == 'salt-minion' %}
{%- set cli = 'minion' %} {%- set cli = 'minion' %}
{%- elif opts_cli == 'salt-call' %} {%- elif opts_cli == 'salt-call' %}
{%- set cli = 'ssh' if opts_masteropts_cli in ('salt-ssh', 'salt-master') else 'local' %} {%- set cli = 'ssh' if "__master_opts__" in opts else 'local' %}
{%- elif opts_cli %} {%- elif opts_cli %}
{%- set cli = 'api' %} {%- set cli = 'api' %}
{%- else %} {%- else %}

108
gitea/libtofsstack.jinja Normal file
View File

@@ -0,0 +1,108 @@
{%- macro files_switch(
source_files,
config,
lookup=none,
default_files_switch=["id", "os_family"],
indent_width=6,
use_subpath=false,
json=false
) %}
{#-
Renders a list of `salt://` URI for the `source` parameter of a `file.managed`
state function. This helps with applying the Template Override and
Files Switch (TOFS) pattern.
Based on `libtofs.jinja`, but homogenized with how `libmapstack` works:
* Instead of calling `config.get` for configuration parameters to this macro,
the configuration is passed in by the caller. This allows setting
the values together with the other parameters for `libmapstack.jinja`
instead of (unexpectedly) relying on pillar/grains/opts only.
* Like the `parameters` for `libmapstack`, the name of the switch is prepended
to its value. Hence for a Debian minion named `db` with `["id", "os_family"]`, the
paths would be:
- <path_prefix>/files/id/db (instead of `<path_prefix>/files/db`)
- <path_prefix>/files/os_family/Debian (instead of `<path_prefix>/files/Debian`)
- <path_prefix>/files/default
source_files
Ordered list of files to check for.
config
Externally merged configuration dict, usually the imported value of `map.jinja`.
lookup
Key under `tofs:source_files` to prepend to the list of source files.
default_files_switch
If `tofs:files_switch` is unset, this is the ordered list of
parameters to `config.get` to use as selector switch of the directories under
`<path_prefix>/files`.
indent_width
Indentation of the result value to conform to YAML.
use_subpath
Lookup the source file recursively from the including
state's directory up to `tplroot`. Defaults to false.
#}
{%- set tplroot = tpldir.split("/")[0] %}
{%- set path_prefix = config | traverse("tofs:path_prefix", tplroot) %}
{%- set files_dir = config | traverse("tofs:dirs:files", "files") %}
{%- set files_switch_list = config | traverse("tofs:files_switch", default_files_switch) %}
{#- Lookup source_files (v2), files (v1), or fallback to an empty list #}
{%- set src_files = config | traverse("tofs:source_files:" ~ lookup, config | traverse("tofs:files:" ~ lookup, [])) %}
{#- Append the default source_files #}
{%- set src_files = src_files + source_files %}
{#- Only add to [""] when supporting older TOFS implementations #}
{%- set path_prefix_exts = [""] %}
{%- if use_subpath and tplroot != tpldir %}
{#- Walk directory tree to find {{ files_dir }} #}
{%- set subpath_parts = tpldir.lstrip(tplroot).lstrip("/").split("/") %}
{%- for path in subpath_parts %}
{%- set subpath = subpath_parts[0 : loop.index] | join("/") %}
{%- do path_prefix_exts.append("/" ~ subpath) %}
{%- endfor %}
{%- endif %}
{%- for path_prefix_ext in path_prefix_exts | reverse %}
{%- set path_prefix_inc_ext = path_prefix ~ path_prefix_ext %}
{#- For older TOFS implementation, use `files_switch` from the config #}
{#- Use the default, new method otherwise #}
{%- set fsl = config | traverse(path_prefix_ext | replace("/", ":") ~ ":files_switch", files_switch_list) %}
{#- Append an empty value to evaluate as `default` in the loop below #}
{%- if "" not in fsl %}
{%- set fsl = fsl + [""] %}
{%- endif %}
{%- for fs in fsl %}
{%- for src_file in src_files %}
{%- if fs %}
{%- set fs_dirs = salt["config.get"](fs, fs) %}
{%- else %}
{%- set fs_dirs = config | traverse("tofs:dirs:default", "default") %}
{%- endif %}
{#- Force the `config.get` lookup result as a list where necessary #}
{#- since we need to also handle grains that are lists #}
{%- if fs_dirs is string %}
{%- set fs_dirs = [fs_dirs] %}
{%- endif %}
{%- for fs_dir in fs_dirs %}
{#- strip empty elements by using a select #}
{%- set url = (
[
"- salt:/",
path_prefix_inc_ext.strip("/"),
files_dir.strip("/"),
fs,
fs_dir.strip("/"),
src_file.strip("/"),
]
| select
| join("/")
) %}
{{ url | indent(indent_width, true) }}
{%- endfor %}
{%- endfor %}
{%- endfor %}
{%- endfor %}
{%- endmacro %}

View File

@@ -1,14 +1,9 @@
{#- vim: ft=jinja #} {#- vim: ft=jinja #}
{#- Get the `tplroot` from `tpldir` #}
{%- set tplroot = tpldir.split("/")[0] %} {%- set tplroot = tpldir.split("/")[0] %}
{%- from tplroot ~ "/libmapstack.jinja" import mapstack with context %}
{#- Where to lookup parameters source files #}
{%- set formula_param_dir = tplroot ~ "/parameters" %} {%- set formula_param_dir = tplroot ~ "/parameters" %}
{#- List of sources to lookup for parameters #} {#- Default parameter sources if not specified in map_jinja.yaml #}
{#- Fallback to previously used grains plus minion `id` #}
{%- set map_sources = [ {%- set map_sources = [
"Y:G@osarch", "Y:G@osarch",
"Y:G@os_family", "Y:G@os_family",
@@ -16,49 +11,72 @@
"Y:G@osfinger", "Y:G@osfinger",
"C@" ~ tplroot, "C@" ~ tplroot,
"Y:G@id", "Y:G@id",
] %} ]
%}
{%- set _map_settings = mapstack( {#- Search base paths for parameter YAML files (only with `saltext-formula`: if not specified in map_jinja.yaml) #}
matchers=["map_jinja.yaml"], {%- set parameter_dirs = [
defaults={ formula_param_dir,
"values": {"sources": map_sources} ]
}, %}
log_prefix="map.jinja configuration: ",
)
| load_yaml %}
{%- set map_sources = _map_settings | traverse("values:sources") %} {#-
{%- do salt["log.debug"]( Execution module that executes the below `else` Jinja logic in Python and caches the result,
"map.jinja: load parameters from sources:\n" yielding a significant speedup of state rendering.
~ map_sources Provided by `salt-pip install saltext-formula`. See https://lkubb.github.io/saltext-formula/.
| yaml(False) #}
) %} {%- if "map.data" in salt %}
{%- set mapdata = salt["map.data"](tpldir, sources=map_sources, parameter_dirs=parameter_dirs) %}
{%- else %}
{%- from tplroot ~ "/libmapstack.jinja" import mapstack with context %}
{#- Load formula parameters values #} {#- Load meta configuration #}
{%- set _formula_matchers = ["defaults.yaml"] + map_sources %} {%- set _map_settings = mapstack(
matchers=["map_jinja.yaml"],
defaults={
"values": {"sources": map_sources}
},
log_prefix="map.jinja configuration: ",
)
| load_yaml
%}
{%- set _formula_settings = mapstack( {%- set map_sources = _map_settings | traverse("values:sources") %}
matchers=_formula_matchers, {%- do salt["log.debug"](
dirs=[formula_param_dir], "map.jinja: load parameters from sources:\n"
defaults={ ~ map_sources
"values": {}, | yaml(False)
"merge_strategy": salt["config.get"](tplroot ~ ":strategy", None), )
"merge_lists": salt["config.get"](tplroot ~ ":merge_lists", False), %}
},
log_prefix="map.jinja: ",
)
| load_yaml %}
{#- Make sure to track `map.jinja` configuration with `_mapdata` #} {#- Load formula configuration #}
{%- do _formula_settings["values"].update( {%- set _formula_matchers = ["defaults.yaml"] + map_sources %}
{
"map_jinja": _map_settings["values"]
}
) %}
{%- do salt["log.debug"]("map.jinja: save parameters in variable 'mapdata'") %} {%- set _formula_settings = mapstack(
{%- set mapdata = _formula_settings["values"] %} matchers=_formula_matchers,
dirs=parameter_dirs,
defaults={
"values": {},
"merge_strategy": salt["config.get"](tplroot ~ ":strategy", None),
"merge_lists": salt["config.get"](tplroot ~ ":merge_lists", False),
},
log_prefix="map.jinja: ",
)
| load_yaml
%}
{#- Per formula post-processing of `mapdata` if it exists #} {#- Make sure to track `map.jinja` configuration with `_mapdata` #}
{%- do salt["log.debug"]("map.jinja: post-processing of 'mapdata'") %} {%- do _formula_settings["values"].update(
{%- include tplroot ~ "/post-map.jinja" ignore missing %} {
"map_jinja": _map_settings["values"]
}
)
%}
{%- do salt["log.debug"]("map.jinja: save parameters in variable 'mapdata'") %}
{%- set mapdata = _formula_settings["values"] %}
{#- Optional per-formula post-processing of `mapdata` #}
{%- do salt["log.debug"]("map.jinja: post-processing of 'mapdata'") %}
{%- include tplroot ~ "/post-map.jinja" ignore missing %}
{%- endif %}

View File

@@ -8,7 +8,6 @@
{%- set tplroot = tpldir.split("/")[0] %} {%- set tplroot = tpldir.split("/")[0] %}
{%- set sls_config_file = tplroot ~ ".config.file" %} {%- set sls_config_file = tplroot ~ ".config.file" %}
{%- from tplroot ~ "/map.jinja" import mapdata as gitea with context %} {%- from tplroot ~ "/map.jinja" import mapdata as gitea with context %}
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %}
Gitea RST external renderer is absent: Gitea RST external renderer is absent:
file.absent: file.absent:

View File

@@ -3,7 +3,7 @@
import subprocess import subprocess
import sys import sys
from docutils import nodes, core, io from docutils import nodes, core
from docutils.parsers.rst import directives, Directive from docutils.parsers.rst import directives, Directive

View File

@@ -12,7 +12,7 @@
{%- set sls_config_file = tplroot ~ ".config.file" %} {%- set sls_config_file = tplroot ~ ".config.file" %}
{%- set sls_go_install = tplroot ~ ".go" %} {%- set sls_go_install = tplroot ~ ".go" %}
{%- from tplroot ~ "/map.jinja" import mapdata as gitea with context %} {%- from tplroot ~ "/map.jinja" import mapdata as gitea with context %}
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %} {%- from tplroot ~ "/libtofsstack.jinja" import files_switch with context %}
include: include:
- {{ sls_go_install }} - {{ sls_go_install }}
@@ -24,6 +24,7 @@ RST external renderer pkg dependencies are installed:
RST external renderer pip dependencies are installed: RST external renderer pip dependencies are installed:
pip.installed: pip.installed:
- names: {{ gitea.lookup.mod_rst.pip_dependencies | json }} - names: {{ gitea.lookup.mod_rst.pip_dependencies | json }}
- bin_env: __slot__:salt:cmd.which('pip')
- require: - require:
- RST external renderer pkg dependencies are installed - RST external renderer pkg dependencies are installed
@@ -59,9 +60,11 @@ Chroma is installed:
RST external renderer is installed: RST external renderer is installed:
file.managed: file.managed:
- name: {{ gitea.lookup.mod_rst.path }} - name: {{ gitea.lookup.mod_rst.path }}
- source: {{ files_switch(["grst"], - source: {{ files_switch(
use_subpath=True, ["grst"],
lookup="RST external renderer is installed" config=gitea,
use_subpath=True,
lookup="RST external renderer is installed",
) )
}} }}
- mode: '0755' - mode: '0755'

View File

@@ -21,8 +21,6 @@ Gitea package files are absent:
{%- for p in ["conf", "custom", "log"] %} {%- for p in ["conf", "custom", "log"] %}
- {{ gitea.lookup.paths[p] }} - {{ gitea.lookup.paths[p] }}
{%- endfor %} {%- endfor %}
# to make sure this can be installed again (onchanges req in package.installed)
- /tmp/gitea-{{ gitea.version }}
- require: - require:
- sls: {{ sls_config_clean }} - sls: {{ sls_config_clean }}

View File

@@ -2,7 +2,7 @@
{%- set tplroot = tpldir.split("/")[0] %} {%- set tplroot = tpldir.split("/")[0] %}
{%- from tplroot ~ "/map.jinja" import mapdata as gitea with context %} {%- from tplroot ~ "/map.jinja" import mapdata as gitea with context %}
{%- from tplroot ~ "/libtofs.jinja" import files_switch with context %} {%- from tplroot ~ "/libtofsstack.jinja" import files_switch with context %}
Gitea user/group is present: Gitea user/group is present:
user.present: user.present:
@@ -22,92 +22,6 @@ Gitea user/group is present:
- system: true - system: true
{%- endif %} {%- endif %}
Requirements for managing Gitea are fulfilled:
pkg.installed:
- pkgs: {{ gitea.lookup.requirements | json }}
# needed to avoid exception when running gpg.get_key in unless below
cmd.run:
- name: gpg --list-keys
- unless:
- test -d "${GNUPG_HOME:-$HOME/.gnupg}"
# the above does not work somehow
- test -d /root/.gnupg
Gitea is available:
file.managed:
- names:
- /tmp/gitea-{{ gitea.version }}:
- source: {{ gitea.lookup.pkg.source.format(version=gitea.version, arch=gitea.lookup.arch) }}
- source_hash: {{ gitea.lookup.pkg.source_hash.format(version=gitea.version, arch=gitea.lookup.arch) }}
- /tmp/gitea-{{ gitea.version }}.asc:
- source: {{ gitea.lookup.pkg.sig.format(version=gitea.version, arch=gitea.lookup.arch) }}
- skip_verify: true
- user: {{ gitea.lookup.user }}
- group: {{ gitea.lookup.group }}
Gitea GPG key is present (received from keyserver):
gpg.present:
- name: {{ gitea.lookup.gpg.key[-16:] }}
- keyserver: {{ gitea.lookup.gpg.keyserver }}
Gitea GPG key is present (fallback):
file.managed:
- name: /tmp/gitea-key.asc
- source: salt://gitea/files/default/key.asc
- onfail:
- Gitea GPG key is present (received from keyserver)
module.run:
- gpg.import_key:
- filename: /tmp/gitea-key.asc
- onfail:
- Gitea GPG key is present (received from keyserver)
- require:
- file: /tmp/gitea-key.asc
{%- if "gpg" not in salt["saltutil.list_extmods"]().get("states", []) %}
# Ensure the following does not run without the key being present.
# The official gpg modules are currently big liars and always report
# `Yup, no worries! Everything is fine.`
Gitea key is actually present:
module.run:
- gpg.get_key:
- fingerprint: {{ gitea.lookup.gpg.key }}
{%- endif %}
{%- if "gpg" not in salt["saltutil.list_extmods"]().get("states", []) %}
Gitea is verified:
test.configurable_test_state:
- name: Check if the downloaded binary has been signed by the release key
- changes: False
- result: >
__slot__:salt:gpg.verify(filename=/tmp/gitea-{{ gitea.version }},
signature=/tmp/gitea-{{ gitea.version }}.asc).res
- require:
- Gitea is available
- Gitea key is actually present
{%- else %}
Gitea is verified:
gpg.verified:
- name: /tmp/gitea-{{ gitea.version }}
- signature: /tmp/gitea-{{ gitea.version }}.asc
- signed_by_any: {{ gitea.lookup.gpg.key }}
- require:
- Gitea is available
- require_any:
- Gitea GPG key is present (received from keyserver)
- Gitea GPG key is present (fallback)
{%- endif %}
Gitea binary is absent if verification failed:
file.absent:
- name: /tmp/gitea-{{ gitea.version }}
- onfail:
- Gitea is verified
Gitea directories are setup: Gitea directories are setup:
file.directory: file.directory:
- names: - names:
@@ -119,30 +33,50 @@ Gitea directories are setup:
- group: {{ gitea.lookup.group }} - group: {{ gitea.lookup.group }}
# This prevents the web-installer from functioning, would need 0770 on /etc/gitea. # This prevents the web-installer from functioning, would need 0770 on /etc/gitea.
- mode: '0750' - mode: '0750'
- require:
- Gitea user/group is present
Requirements for managing Gitea are fulfilled:
pkg.installed:
- pkgs: {{ gitea.lookup.requirements | json }}
Gitea GPG key is present:
gpg.present:
- name: {{ gitea.lookup.gpg.key[-16:] }}
- keyserver: {{ gitea.lookup.gpg.keyserver }}
- source: {{ files_switch(
["key.asc"],
config=gitea,
lookup="Gitea GPG key is present",
)
}}
- require:
- Requirements for managing Gitea are fulfilled
Gitea binary is installed: Gitea binary is installed:
file.copy: file.managed:
- name: {{ gitea.lookup.paths.bin | path_join("gitea") }} - name: {{ gitea.lookup.paths.bin | path_join("gitea") }}
- source: /tmp/gitea-{{ gitea.version }} - source: {{ gitea.lookup.pkg.source.format(version=gitea.version, arch=gitea.lookup.arch) }}
# in case the version changed, overwrite previous binary - source_hash: {{ gitea.lookup.pkg.source_hash.format(version=gitea.version, arch=gitea.lookup.arch) }}
- force: true - signature: {{ gitea.lookup.pkg.sig.format(version=gitea.version, arch=gitea.lookup.arch) }}
- signed_by_any: {{ gitea.lookup.gpg.key | json }}
- makedirs: true - makedirs: true
- user: {{ gitea.lookup.user }} - user: {{ gitea.lookup.user }}
- group: {{ gitea.lookup.group }} - group: {{ gitea.lookup.group }}
- mode: '0755' - mode: '0755'
# only run if a new version was downloaded
- onchanges:
- Gitea is available
- require: - require:
- Gitea is verified - Gitea GPG key is present
- Gitea user/group is present
Gitea service unit is available: Gitea service unit is available:
file.managed: file.managed:
- name: {{ gitea.lookup.service.unit.format(name=gitea.lookup.service.name) }} - name: {{ gitea.lookup.service.unit.format(name=gitea.lookup.service.name) }}
- source: {{ files_switch( - source: {{ files_switch(
["gitea.service.j2"], ["gitea.service", "gitea.service.j2"],
config=gitea,
lookup="Gitea service unit is available", lookup="Gitea service unit is available",
) }} )
}}
- template: jinja - template: jinja
- mode: '0644' - mode: '0644'
- user: root - user: root

View File

@@ -45,7 +45,6 @@ values:
requirements: requirements:
- git - git
- gpg - gpg
- python-gnupg
shell: /bin/bash shell: /bin/bash
user: git user: git
config: config:
@@ -77,6 +76,11 @@ values:
socket_activation: false socket_activation: false
wants: [] wants: []
version: latest version: latest
tofs:
files_switch:
- id
- roles
- os_family
# Just here for testing # Just here for testing
added_in_defaults: defaults_value added_in_defaults: defaults_value
winner: defaults winner: defaults

View File

@@ -13,8 +13,4 @@
values: values:
lookup: lookup:
pkg_manager: apt pkg_manager: apt
requirements:
- git
- gpg
- python3-gnupg
... ...

View File

@@ -13,4 +13,7 @@
values: values:
lookup: lookup:
pkg_manager: yum pkg_manager: yum
requirements:
- gnupg2
- git
... ...

View File

@@ -1,280 +0,0 @@
# vim: ft=yaml
---
# For help on this file's format, see https://kitchen.ci/
driver:
name: docker
use_sudo: false
privileged: true
run_command: /usr/lib/systemd/systemd
provisioner:
name: salt_solo
log_level: debug
salt_install: none
require_chef: false
formula: gitea
salt_copy_filter:
- .kitchen
- .git
pillars_from_directories:
- test/salt/pillar
platforms:
## SALT `tiamat`
- name: debian-11-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-11
run_command: /lib/systemd/systemd
- name: debian-10-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2204-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-22.04
run_command: /lib/systemd/systemd
- name: ubuntu-2004-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:centos-stream8
- 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
- name: almalinux-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:almalinux-8
- name: rockylinux-8-tiamat-py3
driver:
image: saltimages/salt-tiamat-py3:rockylinux-8
## SALT `master`
- name: debian-11-master-py3
driver:
image: saltimages/salt-master-py3:debian-11
run_command: /lib/systemd/systemd
- name: debian-10-master-py3
driver:
image: saltimages/salt-master-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-master-py3
driver:
image: saltimages/salt-master-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2204-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-22.04
run_command: /lib/systemd/systemd
- name: ubuntu-2004-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-master-py3
driver:
image: saltimages/salt-master-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-master-py3
driver:
image: saltimages/salt-master-py3:centos-stream8
- name: centos-7-master-py3
driver:
image: saltimages/salt-master-py3:centos-7
- name: fedora-36-master-py3
driver:
image: saltimages/salt-master-py3:fedora-36
- name: fedora-35-master-py3
driver:
image: saltimages/salt-master-py3:fedora-35
- name: opensuse-leap-153-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-leap-15.3
# Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-master-py3
driver:
image: saltimages/salt-master-py3:opensuse-tumbleweed-latest
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
# => 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
- name: oraclelinux-8-master-py3
driver:
image: saltimages/salt-master-py3:oraclelinux-8
- name: oraclelinux-7-master-py3
driver:
image: saltimages/salt-master-py3:oraclelinux-7
- name: arch-base-latest-master-py3
driver:
image: saltimages/salt-master-py3:arch-base-latest
- name: gentoo-stage3-latest-master-py3
driver:
image: saltimages/salt-master-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: gentoo-stage3-systemd-master-py3
driver:
image: saltimages/salt-master-py3:gentoo-stage3-systemd
- name: almalinux-8-master-py3
driver:
image: saltimages/salt-master-py3:almalinux-8
- name: rockylinux-8-master-py3
driver:
image: saltimages/salt-master-py3:rockylinux-8
## SALT `3004.1`
- name: debian-11-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:debian-11
run_command: /lib/systemd/systemd
- name: debian-10-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2204-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:ubuntu-22.04
run_command: /lib/systemd/systemd
- name: ubuntu-2004-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:centos-stream8
- name: centos-7-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:centos-7
- name: fedora-36-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:fedora-36
- name: fedora-35-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:fedora-35
- name: amazonlinux-2-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:amazonlinux-2
- name: oraclelinux-8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:oraclelinux-8
- name: oraclelinux-7-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:oraclelinux-7
- name: arch-base-latest-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:arch-base-latest
- name: gentoo-stage3-latest-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:gentoo-stage3-latest
run_command: /sbin/init
- name: gentoo-stage3-systemd-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:gentoo-stage3-systemd
- name: almalinux-8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:almalinux-8
- name: rockylinux-8-3004-1-py3
driver:
image: saltimages/salt-3004.1-py3:rockylinux-8
## SALT `3004.0`
- name: opensuse-leap-153-3004-0-py3
driver:
image: saltimages/salt-3004.0-py3:opensuse-leap-15.3
# Workaround to avoid intermittent failures on `opensuse-leap-15.3`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
- name: opensuse-tmbl-latest-3004-0-py3
driver:
image: saltimages/salt-3004.0-py3:opensuse-tumbleweed-latest
# Workaround to avoid intermittent failures on `opensuse-tumbleweed`:
# => SCP did not finish successfully (255): (Net::SCP::Error)
transport:
max_ssh_sessions: 1
## SALT `3003.4`
- name: debian-10-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:debian-10
run_command: /lib/systemd/systemd
- name: debian-9-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:debian-9
run_command: /lib/systemd/systemd
- name: ubuntu-2004-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:ubuntu-20.04
run_command: /lib/systemd/systemd
- name: ubuntu-1804-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:ubuntu-18.04
run_command: /lib/systemd/systemd
- name: centos-stream8-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:centos-stream8
- name: centos-7-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:centos-7
- name: amazonlinux-2-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:amazonlinux-2
- name: oraclelinux-8-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:oraclelinux-8
- name: oraclelinux-7-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:oraclelinux-7
- name: almalinux-8-3003-4-py3
driver:
image: saltimages/salt-3003.4-py3:almalinux-8
verifier:
# https://www.inspec.io/
name: inspec
sudo: true
reporter:
# cli, documentation, html, progress, json, json-min, json-rspec, junit
- cli
suites:
- name: default
provisioner:
state_top:
base:
'*':
- gitea._mapdata
- gitea
verifier:
inspec_tests:
- path: test/integration/default

View File

@@ -110,7 +110,6 @@ gitea:
requirements: requirements:
- git - git
- gpg - gpg
- python-gnupg
shell: /bin/bash shell: /bin/bash
user: git user: git

View File

@@ -1,30 +0,0 @@
#!/bin/sh
###############################################################################
# (A) Update `FORMULA` with `${nextRelease.version}`
###############################################################################
sed -i -e "s_^\(version:\).*_\1 ${1}_" FORMULA
###############################################################################
# (B) Use `m2r2` to convert automatically produced `.md` docs to `.rst`
###############################################################################
# Install `m2r2`
pip3 install m2r2
# Copy and then convert the `.md` docs
cp ./*.md docs/
cd docs/ || exit
m2r2 --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 ..

View File

@@ -1,18 +0,0 @@
// 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'},
];

View File

@@ -1,107 +0,0 @@
module.exports = {
branch: 'master',
repositoryUrl: 'https://github.com/lkubb/salt-gitea-formula',
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
},
},
},
};

View File

@@ -1,50 +0,0 @@
# 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).

View File

@@ -1,47 +0,0 @@
# frozen_string_literal: true
require 'yaml'
control 'gitea._mapdata' do
title '`map.jinja` should match the reference file'
### Method
# The steps below for each file appear convoluted but they are both required
# and similar in nature:
# 1. The earliest method was to simply compare the files textually but this often
# led to false positives due to inconsistencies (e.g. spacing, ordering)
# 2. The next method was to load the files back into YAML structures and then
# compare but InSpec provided block diffs this way, unusable by end users
# 3. The final step was to dump the YAML structures back into a string to use
# for the comparison; this both worked and provided human-friendly diffs
### Comparison file for the specific platform
### Static, adjusted as part of code contributions, as map data is changed
# Strip the `platform[:finger]` version number down to the "OS major release"
platform_finger = system.platform[:finger].split('.').first.to_s
# Use that to set the path to the file (relative to the InSpec suite directory)
mapdata_file_path = "_mapdata/#{platform_finger}.yaml"
# Load the mapdata from profile, into a YAML structure
# https://docs.chef.io/inspec/profiles/#profile-files
mapdata_file_yaml = YAML.load(inspec.profile.file(mapdata_file_path))
# Dump the YAML back into a string for comparison
mapdata_file_dump = YAML.dump(mapdata_file_yaml)
### Output file produced by running the `_mapdata` state
### Dynamic, generated during Kitchen's `converge` phase
# Derive the location of the dumped mapdata (differs for Windows)
output_dir = platform[:family] == 'windows' ? '/temp' : '/tmp'
# Use that to set the path to the file (absolute path, i.e. within the container)
output_file_path = "#{output_dir}/salt_mapdata_dump.yaml"
# Load the output into a YAML structure using InSpec's `yaml` resource
# https://github.com/inspec/inspec/blob/49b7d10/lib/inspec/resources/yaml.rb#L29
output_file_yaml = yaml(output_file_path).params
# Dump the YAML back into a string for comparison
output_file_dump = YAML.dump(output_file_yaml)
describe 'File content' do
it 'should match profile map data exactly' do
expect(output_file_dump).to eq(mapdata_file_dump)
end
end
end

View File

@@ -1,40 +0,0 @@
# frozen_string_literal: true
control 'gitea.config.file' do
title 'Verify the configuration file'
describe file('/etc/gitea/app.ini') do
it { should be_file }
it { should be_owned_by 'root' }
it { should be_grouped_into 'root' }
its('mode') { should cmp '0644' }
its('content') do
should include(
'This is another example file from SaltStack template-formula.'
)
end
its('content') { should include '"added_in_pillar": "pillar_value"' }
its('content') { should include '"added_in_defaults": "defaults_value"' }
its('content') { should include '"added_in_lookup": "lookup_value"' }
its('content') { should include '"config": "/etc/template-formula.conf"' }
its('content') { should include '"lookup": {"added_in_lookup": "lookup_value",' }
its('content') { should include '"pkg": {"name": "' }
its('content') { should include '"service": {"name": "' }
its('content') do
# rubocop:disable Lint/RedundantCopDisableDirective
# rubocop:disable Layout/LineLength
should include(
'"tofs": {"files_switch": ["any/path/can/be/used/here", "id", '\
'"roles", "osfinger", "os", "os_family"], "source_files": '\
'{"gitea-config-file-file-managed": ["example.tmpl.jinja"], '\
'"gitea--config-file-file-managed": '\
'["-example.tmpl.jinja"]}'
)
# rubocop:enable Layout/LineLength
# rubocop:enable Lint/RedundantCopDisableDirective
end
its('content') { should include '"arch": "amd64"' }
its('content') { should include '"winner": "pillar"}' }
its('content') { should include 'winner of the merge: pillar' }
end
end

View File

@@ -1,11 +0,0 @@
# frozen_string_literal: true
control 'gitea.package.install' do
title 'The required package should be installed'
package_name = 'gitea'
describe package(package_name) do
it { should be_installed }
end
end

View File

@@ -1,13 +0,0 @@
# frozen_string_literal: true
control 'gitea.service.running' do
title 'The service should be installed, enabled and running'
service_name = ''
describe service(service_name) do
it { should be_installed }
it { should be_enabled }
it { should be_running }
end
end

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# AlmaLinux-8
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Amazon Linux AMI-2018
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Amazon Linux-2
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Arch
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# CentOS-6
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# CentOS Linux-7
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# CentOS Linux-8
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Debian-10
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Debian-11
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Debian-9
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Fedora-31
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Fedora-32
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Fedora-33
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Fedora-34
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Fedora-35
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Fedora-36
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Gentoo-2
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Gentoo-2
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Leap-15
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# openSUSE Tumbleweed-yyyymmdd
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Oracle Linux Server-7
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Oracle Linux Server-8
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Rocky Linux-8
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Ubuntu-16.04
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Ubuntu-18.04
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Ubuntu-20.04
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,103 +0,0 @@
# yamllint disable rule:indentation rule:line-length
# Ubuntu-22.04
---
values:
added_in_defaults: defaults_value
added_in_lookup: lookup_value
added_in_pillar: pillar_value
lookup:
arch: amd64
rootgroup: root
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
map_jinja:
sources:
- Y:G@osarch
- Y:G@os_family
- Y:G@os
- Y:G@osfinger
- C@gitea
- Y:G@id
master: template-master
tofs:
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
source_files:
gitea-config-file-file-managed:
- example.tmpl.jinja
winner: pillar

View File

@@ -1,28 +0,0 @@
# vim: ft=yaml
---
name: default
title: Gitea formula
maintainer: lkubb
license: Apache-2.0
# yamllint disable-line rule:line-length
summary: Verify that the Gitea formula is setup and configured correctly
depends:
- name: share
path: test/integration/share
supports:
- platform-name: debian
- platform-name: ubuntu
- platform-name: centos
- platform-name: fedora
- platform-name: opensuse
- platform-name: suse
- platform-name: freebsd
- platform-name: openbsd
- platform-name: amazon
- platform-name: oracle
- platform-name: arch
- platform-name: gentoo
- platform-name: almalinux
- platform-name: rocky
- platform-name: mac_os_x
- platform: windows

View File

@@ -1,22 +0,0 @@
# 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 and Gentoo
- `system.platform[:name]` append `linux` to both `amazon` and `oracle`; ensure Windows platforms are resolved as simply `windows`
- `system.platform[:release]` tweak Arch, Amazon Linux, Gentoo, openSUSE and Windows:
- `Arch` is always `base-latest`
- `Amazon Linux` release `2018` is resolved as `1`
- `Gentoo` release is trimmed to its major version number and then the init system is appended (i.e. `sysv` or `sysd`)
- `openSUSE` is resolved as `tumbleweed` if the `platform[:release]` is in date format
- `Windows` uses the widely-used release number (e.g. `8.1` or `2019-server`) in place of the actual system release version
- `system.platform[:finger]` is the concatenation of the name and the major release number (except for Ubuntu, which gives `ubuntu-20.04` for example)

View File

@@ -1,24 +0,0 @@
# 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: openbsd
- platform-name: amazon
- platform-name: oracle
- platform-name: arch
- platform-name: gentoo
- platform-name: almalinux
- platform-name: rocky
- platform-name: mac_os_x
- platform: windows

View File

@@ -1,138 +0,0 @@
# 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>
# rubocop:disable Metrics/ClassLength
class SystemResource < Inspec.resource(1)
name 'system'
attr_reader :platform
def initialize
super
@platform = build_platform
end
private
def build_platform
{
family: build_platform_family,
name: build_platform_name,
release: build_platform_release,
finger: build_platform_finger,
codename: build_platform_codename
}
end
def build_platform_family
case inspec.platform[:name]
when 'arch', 'gentoo'
inspec.platform[:name]
else
inspec.platform[:family]
end
end
def build_platform_name
case inspec.platform[:name]
when 'amazon', 'oracle', 'rocky'
"#{inspec.platform[:name]}linux"
when /^windows_/
inspec.platform[:family]
else
inspec.platform[:name]
end
end
# rubocop:disable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity
def build_platform_release
case inspec.platform[:name]
when 'amazon'
# `2018` relase is named `1` in `kitchen.yml`
inspec.platform[:release].gsub(/2018.*/, '1')
when 'arch'
'base-latest'
when 'gentoo'
"#{inspec.platform[:release].split('.')[0]}-#{derive_gentoo_init_system}"
when 'mac_os_x'
inspec.command('sw_vers -productVersion').stdout.to_s
when 'opensuse'
# rubocop:disable Style/NumericLiterals,Layout/LineLength
inspec.platform[:release].to_i > 20210101 ? 'tumbleweed' : inspec.platform[:release]
# rubocop:enable Style/NumericLiterals,Layout/LineLength
when 'windows_8.1_pro'
'8.1'
when 'windows_server_2022_datacenter'
'2022-server'
when 'windows_server_2019_datacenter'
'2019-server'
when 'windows_server_2016_datacenter'
'2016-server'
else
inspec.platform[:release]
end
end
# rubocop:enable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity
def derive_gentoo_init_system
inspec.command('systemctl').exist? ? 'sysd' : 'sysv'
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
# rubocop:disable Metrics/MethodLength,Metrics/CyclomaticComplexity
def build_platform_codename
case build_platform_finger
when 'ubuntu-22.04'
'jammy'
when 'ubuntu-20.04'
'focal'
when 'ubuntu-18.04'
'bionic'
when 'debian-11'
'bullseye'
when 'debian-10'
'buster'
when 'debian-9'
'stretch'
when 'almalinux-8'
"AlmaLinux #{build_platform_release} (Arctic Sphynx)"
when 'amazonlinux-2'
'Amazon Linux 2'
when 'arch-base-latest'
'Arch Linux'
when 'centos-7'
'CentOS Linux 7 (Core)'
when 'centos-8'
'CentOS Stream 8'
when 'opensuse-tumbleweed'
'openSUSE Tumbleweed'
when 'opensuse-15'
"openSUSE Leap #{build_platform_release}"
when 'oraclelinux-8', 'oraclelinux-7'
"Oracle Linux Server #{build_platform_release}"
when 'gentoo-2-sysd', 'gentoo-2-sysv'
'Gentoo/Linux'
when 'rockylinux-8'
"Rocky Linux #{build_platform_release} (Green Obsidian)"
else
''
end
end
# rubocop:enable Metrics/MethodLength,Metrics/CyclomaticComplexity
end
# rubocop:enable Metrics/ClassLength

View File

@@ -1,117 +0,0 @@
# vim: ft=yaml
---
gitea:
lookup:
master: template-master
# Just for testing purposes
winner: lookup
added_in_lookup: lookup_value
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
tofs:
# The files_switch key serves as a selector for alternative
# directories under the formula files directory. See TOFS pattern
# doc for more info.
# Note: Any value not evaluated by `config.get` will be used literally.
# This can be used to set custom paths, as many levels deep as required.
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
# All aspects of path/file resolution are customisable using the options below.
# This is unnecessary in most cases; there are sensible defaults.
# Default path: salt://< path_prefix >/< dirs.files >/< dirs.default >
# I.e.: salt://gitea/files/default
# path_prefix: template_alt
# dirs:
# files: files_alt
# default: default_alt
# The entries under `source_files` are prepended to the default source files
# given for the state
# source_files:
# gitea-config-file-file-managed:
# - 'example_alt.tmpl'
# - 'example_alt.tmpl.jinja'
# For testing purposes
source_files:
gitea-config-file-file-managed:
- 'example.tmpl.jinja'
# Just for testing purposes
winner: pillar
added_in_pillar: pillar_value

View File

@@ -1,6 +0,0 @@
# vim: ft=yaml
---
# libtofs.jinja must work with tofs.files_switch looked up list
roles:
- foo
- bar

View File

@@ -1,4 +0,0 @@
# vim: ft=yaml
---
portage:
sync_wait_one_day: true

View File

@@ -1,10 +0,0 @@
# vim: ft=yaml
---
base:
'*':
- default
'G@os_family:Gentoo':
- gentoo
'os:*':
- define_roles
...

View File

@@ -1,117 +0,0 @@
# vim: ft=yaml
---
gitea:
lookup:
master: template-master
# Just for testing purposes
winner: lookup
added_in_lookup: lookup_value
config: '/etc/gitea/app.ini'
service:
name: gitea
build_user: giteabuild
build_user_home: /home/giteabuild
go:
pkg: https://go.dev/dl/go1.18.2.linux-amd64.tar.gz
source_hash: e54bec97a1a5d230fc2f9ad0880fcbabb5888f30ed9666eca4a91c5a32e86cbc
gpg:
key: 7C9E68152594688862D62AF62D9AE806EC1592E2
keyserver: keys.openpgp.org
group: git
mod_rst:
chroma_bin: /opt/chroma/chroma
chroma_build_path: /opt/chroma/src
chroma_repo: https://github.com/alecthomas/chroma
chroma_rev: HEAD
path: /usr/local/bin/grst
pip_dependencies:
- docutils
pkg_dependencies:
- python3
- python3-pip
paths:
bin: /opt/gitea
conf: /etc/gitea
custom: /var/lib/gitea/custom
data: /var/lib/gitea/data
internal_token_uri: file:///etc/gitea/internal_token
log: /var/log/gitea
repos: /var/lib/gitea/data/gitea-repositories
work: /var/lib/gitea
pkg:
latest: https://dl.gitea.io/gitea/version.json
sig: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.asc
source: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}
source_hash: https://dl.gitea.io/gitea/{version}/gitea-{version}-linux-{arch}.sha256
requirements:
- git
- gpg
- python-gnupg
shell: /bin/bash
user: git
config:
database:
db_type: sqlite3
default:
app_name: Gitea
run_mode: prod
run_user: git
log:
level: Info
mode: console
stacktrace_level: None
oauth2:
jwt_secret: ''
repository.signing:
signing_key: default
security:
internal_token: ''
secret_key: ''
server:
domain: localhost
http_addr: 0.0.0.0
http_port: 3000
lfs_jwt_secret: ''
protocol: http
service:
requires_mount: []
socket_activation: false
wants: []
version: latest
tofs:
# The files_switch key serves as a selector for alternative
# directories under the formula files directory. See TOFS pattern
# doc for more info.
# Note: Any value not evaluated by `config.get` will be used literally.
# This can be used to set custom paths, as many levels deep as required.
files_switch:
- any/path/can/be/used/here
- id
- roles
- osfinger
- os
- os_family
# All aspects of path/file resolution are customisable using the options below.
# This is unnecessary in most cases; there are sensible defaults.
# Default path: salt://< path_prefix >/< dirs.files >/< dirs.default >
# I.e.: salt://gitea/files/default
# path_prefix: template_alt
# dirs:
# files: files_alt
# default: default_alt
# The entries under `source_files` are prepended to the default source files
# given for the state
# source_files:
# gitea-config-file-file-managed:
# - 'example_alt.tmpl'
# - 'example_alt.tmpl.jinja'
# For testing purposes
source_files:
gitea-config-file-file-managed:
- 'example.tmpl.jinja'
# Just for testing purposes
winner: pillar
added_in_pillar: pillar_value