commit
b566f81a6b
29 changed files with 3585 additions and 0 deletions
@ -0,0 +1,27 @@
|
||||
# Changelog |
||||
|
||||
{{ range .Versions -}} |
||||
## {{ if .Tag.Previous }}[{{ .Tag.Name }}]({{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}){{ else }}{{ .Tag.Name }}{{ end }} ({{ datetime "2006-01-02" .Tag.Date }}) |
||||
|
||||
{{ range .CommitGroups -}} |
||||
### {{ .Title }} |
||||
|
||||
{{ $subjects := list }} |
||||
{{ range .Commits -}} |
||||
{{ if not (has .Subject $subjects) -}} |
||||
- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }} |
||||
{{ $subjects = append $subjects .Subject -}} |
||||
{{ end }} |
||||
{{- end }} |
||||
{{- end -}} |
||||
|
||||
{{- if .NoteGroups -}} |
||||
{{ range .NoteGroups -}} |
||||
### {{ .Title }} |
||||
|
||||
{{ range .Notes }} |
||||
{{ .Body }} |
||||
{{ end }} |
||||
{{ end -}} |
||||
{{ end -}} |
||||
{{ end -}} |
@ -0,0 +1,25 @@
|
||||
style: github |
||||
template: CHANGELOG.tpl.md |
||||
info: |
||||
title: CHANGELOG |
||||
repository_url: https://github.com/thegeeklab/prometheus-pve-sd |
||||
options: |
||||
commit_groups: |
||||
title_maps: |
||||
feat: Features |
||||
fix: Bug Fixes |
||||
perf: Performance Improvements |
||||
refactor: Code Refactoring |
||||
chore: Others |
||||
test: Testing |
||||
ci: CI Pipeline |
||||
docs: Documentation |
||||
header: |
||||
pattern: "^(\\w*)(?:\\(([\\w\\$\\.\\-\\*\\s]*)\\))?\\:\\s(.*)$" |
||||
pattern_maps: |
||||
- Type |
||||
- Scope |
||||
- Subject |
||||
notes: |
||||
keywords: |
||||
- BREAKING CHANGE |
@ -0,0 +1,493 @@
|
||||
local PythonVersion(pyversion='3.6') = { |
||||
name: 'python' + std.strReplace(pyversion, '.', '') + '-pytest', |
||||
image: 'python:' + pyversion, |
||||
environment: { |
||||
PY_COLORS: 1, |
||||
}, |
||||
commands: [ |
||||
'pip install poetry poetry-dynamic-versioning -qq', |
||||
'poetry config experimental.new-installer false', |
||||
'poetry install', |
||||
'poetry version', |
||||
'poetry run prometheus-pve-sd --help', |
||||
], |
||||
depends_on: [ |
||||
'fetch', |
||||
], |
||||
}; |
||||
|
||||
local PipelineLint = { |
||||
kind: 'pipeline', |
||||
name: 'lint', |
||||
platform: { |
||||
os: 'linux', |
||||
arch: 'amd64', |
||||
}, |
||||
steps: [ |
||||
{ |
||||
name: 'yapf', |
||||
image: 'python:3.9', |
||||
environment: { |
||||
PY_COLORS: 1, |
||||
}, |
||||
commands: [ |
||||
'git fetch -tq', |
||||
'pip install poetry poetry-dynamic-versioning -qq', |
||||
'poetry config experimental.new-installer false', |
||||
'poetry install', |
||||
'poetry run yapf -dr ./prometheuspvesd', |
||||
], |
||||
}, |
||||
{ |
||||
name: 'flake8', |
||||
image: 'python:3.9', |
||||
environment: { |
||||
PY_COLORS: 1, |
||||
}, |
||||
commands: [ |
||||
'git fetch -tq', |
||||
'pip install poetry poetry-dynamic-versioning -qq', |
||||
'poetry config experimental.new-installer false', |
||||
'poetry install', |
||||
'poetry run flake8 ./prometheuspvesd', |
||||
], |
||||
}, |
||||
], |
||||
trigger: { |
||||
ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'], |
||||
}, |
||||
}; |
||||
|
||||
local PipelineTest = { |
||||
kind: 'pipeline', |
||||
name: 'test', |
||||
platform: { |
||||
os: 'linux', |
||||
arch: 'amd64', |
||||
}, |
||||
steps: [ |
||||
{ |
||||
name: 'fetch', |
||||
image: 'python:3.9', |
||||
commands: [ |
||||
'git fetch -tq', |
||||
], |
||||
}, |
||||
PythonVersion(pyversion='3.6'), |
||||
PythonVersion(pyversion='3.7'), |
||||
PythonVersion(pyversion='3.8'), |
||||
PythonVersion(pyversion='3.9'), |
||||
], |
||||
depends_on: [ |
||||
'lint', |
||||
], |
||||
trigger: { |
||||
ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'], |
||||
}, |
||||
}; |
||||
|
||||
local PipelineSecurity = { |
||||
kind: 'pipeline', |
||||
name: 'security', |
||||
platform: { |
||||
os: 'linux', |
||||
arch: 'amd64', |
||||
}, |
||||
steps: [ |
||||
{ |
||||
name: 'bandit', |
||||
image: 'python:3.9', |
||||
environment: { |
||||
PY_COLORS: 1, |
||||
}, |
||||
commands: [ |
||||
'git fetch -tq', |
||||
'pip install poetry poetry-dynamic-versioning -qq', |
||||
'poetry config experimental.new-installer false', |
||||
'poetry install', |
||||
'poetry run bandit -r ./prometheuspvesd -x ./prometheuspvesd/test', |
||||
], |
||||
}, |
||||
], |
||||
depends_on: [ |
||||
'test', |
||||
], |
||||
trigger: { |
||||
ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'], |
||||
}, |
||||
}; |
||||
|
||||
local PipelineBuildPackage = { |
||||
kind: 'pipeline', |
||||
name: 'build-package', |
||||
platform: { |
||||
os: 'linux', |
||||
arch: 'amd64', |
||||
}, |
||||
steps: [ |
||||
{ |
||||
name: 'build', |
||||
image: 'python:3.9', |
||||
commands: [ |
||||
'git fetch -tq', |
||||
'pip install poetry poetry-dynamic-versioning -qq', |
||||
'poetry build', |
||||
], |
||||
}, |
||||
{ |
||||
name: 'checksum', |
||||
image: 'alpine', |
||||
commands: [ |
||||
'cd dist/ && sha256sum * > ../sha256sum.txt', |
||||
], |
||||
}, |
||||
{ |
||||
name: 'changelog-generate', |
||||
image: 'thegeeklab/git-chglog', |
||||
commands: [ |
||||
'git fetch -tq', |
||||
'git-chglog --no-color --no-emoji -o CHANGELOG.md ${DRONE_TAG:---next-tag unreleased unreleased}', |
||||
], |
||||
}, |
||||
{ |
||||
name: 'changelog-format', |
||||
image: 'thegeeklab/alpine-tools', |
||||
commands: [ |
||||
'prettier CHANGELOG.md', |
||||
'prettier -w CHANGELOG.md', |
||||
], |
||||
}, |
||||
{ |
||||
name: 'publish-github', |
||||
image: 'plugins/github-release', |
||||
settings: { |
||||
overwrite: true, |
||||
api_key: { from_secret: 'github_token' }, |
||||
files: ['dist/*', 'sha256sum.txt'], |
||||
title: '${DRONE_TAG}', |
||||
note: 'CHANGELOG.md', |
||||
}, |
||||
when: { |
||||
ref: ['refs/tags/**'], |
||||
}, |
||||
}, |
||||
{ |
||||
name: 'publish-pypi', |
||||
image: 'python:3.9', |
||||
commands: [ |
||||
'git fetch -tq', |
||||
'pip install poetry poetry-dynamic-versioning -qq', |
||||
'poetry publish -n', |
||||
], |
||||
environment: { |
||||
POETRY_HTTP_BASIC_PYPI_USERNAME: { from_secret: 'pypi_username' }, |
||||
POETRY_HTTP_BASIC_PYPI_PASSWORD: { from_secret: 'pypi_password' }, |
||||
}, |
||||
when: { |
||||
ref: ['refs/tags/**'], |
||||
}, |
||||
}, |
||||
], |
||||
depends_on: [ |
||||
'security', |
||||
], |
||||
trigger: { |
||||
ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'], |
||||
}, |
||||
}; |
||||
|
||||
local PipelineBuildContainer(arch='amd64') = { |
||||
local build = if arch == 'arm' then [{ |
||||
name: 'build', |
||||
image: 'python:3.9-alpine', |
||||
commands: [ |
||||
'apk add -Uq --no-cache build-base libressl-dev libffi-dev musl-dev python3-dev git cargo', |
||||
'git fetch -tq', |
||||
'pip install poetry poetry-dynamic-versioning -qq', |
||||
'poetry build', |
||||
], |
||||
environment: { |
||||
CARGO_NET_GIT_FETCH_WITH_CLI: true, |
||||
}, |
||||
}] else [{ |
||||
name: 'build', |
||||
image: 'python:3.9', |
||||
commands: [ |
||||
'git fetch -tq', |
||||
'pip install poetry poetry-dynamic-versioning -qq', |
||||
'poetry build', |
||||
], |
||||
}], |
||||
|
||||
kind: 'pipeline', |
||||
name: 'build-container-' + arch, |
||||
platform: { |
||||
os: 'linux', |
||||
arch: arch, |
||||
}, |
||||
steps: build + [ |
||||
{ |
||||
name: 'dryrun', |
||||
image: 'thegeeklab/drone-docker:19', |
||||
settings: { |
||||
dry_run: true, |
||||
dockerfile: 'docker/Dockerfile.' + arch, |
||||
repo: 'thegeeklab/${DRONE_REPO_NAME}', |
||||
username: { from_secret: 'docker_username' }, |
||||
password: { from_secret: 'docker_password' }, |
||||
}, |
||||
depends_on: ['build'], |
||||
when: { |
||||
ref: ['refs/pull/**'], |
||||
}, |
||||
}, |
||||
{ |
||||
name: 'publish-dockerhub', |
||||
image: 'thegeeklab/drone-docker:19', |
||||
settings: { |
||||
auto_tag: true, |
||||
auto_tag_suffix: arch, |
||||
dockerfile: 'docker/Dockerfile.' + arch, |
||||
repo: 'thegeeklab/${DRONE_REPO_NAME}', |
||||
username: { from_secret: 'docker_username' }, |
||||
password: { from_secret: 'docker_password' }, |
||||
}, |
||||
when: { |
||||
ref: ['refs/heads/main', 'refs/tags/**'], |
||||
}, |
||||
depends_on: ['dryrun'], |
||||
}, |
||||
{ |
||||
name: 'publish-quay', |
||||
image: 'thegeeklab/drone-docker:19', |
||||
settings: { |
||||
auto_tag: true, |
||||
auto_tag_suffix: arch, |
||||
dockerfile: 'docker/Dockerfile.' + arch, |
||||
registry: 'quay.io', |
||||
repo: 'quay.io/thegeeklab/${DRONE_REPO_NAME}', |
||||
username: { from_secret: 'quay_username' }, |
||||
password: { from_secret: 'quay_password' }, |
||||
}, |
||||
when: { |
||||
ref: ['refs/heads/main', 'refs/tags/**'], |
||||
}, |
||||
depends_on: ['dryrun'], |
||||
}, |
||||
], |
||||
depends_on: [ |
||||
'security', |
||||
], |
||||
trigger: { |
||||
ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'], |
||||
}, |
||||
}; |
||||
|
||||
local PipelineDocs = { |
||||
kind: 'pipeline', |
||||
name: 'docs', |
||||
platform: { |
||||
os: 'linux', |
||||
arch: 'amd64', |
||||
}, |
||||
concurrency: { |
||||
limit: 1, |
||||
}, |
||||
steps: [ |
||||
{ |
||||
name: 'assets', |
||||
image: 'thegeeklab/alpine-tools', |
||||
commands: [ |
||||
'make doc', |
||||
], |
||||
}, |
||||
{ |
||||
name: 'markdownlint', |
||||
image: 'thegeeklab/markdownlint-cli', |
||||
commands: [ |
||||
"markdownlint 'docs/content/**/*.md' 'README.md' 'CONTRIBUTING.md'", |
||||
], |
||||
}, |
||||
{ |
||||
name: 'spellcheck', |
||||
image: 'node:lts-alpine', |
||||
commands: [ |
||||
'npm install -g spellchecker-cli', |
||||
"spellchecker --files 'docs/content/**/*.md' 'README.md' -d .dictionary -p spell indefinite-article syntax-urls --no-suggestions", |
||||
], |
||||
environment: { |
||||
FORCE_COLOR: true, |
||||
NPM_CONFIG_LOGLEVEL: 'error', |
||||
}, |
||||
}, |
||||
{ |
||||
name: 'testbuild', |
||||
image: 'thegeeklab/hugo:0.83.1', |
||||
commands: [ |
||||
'hugo -s docs/ -b http://localhost/', |
||||
], |
||||
}, |
||||
{ |
||||
name: 'link-validation', |
||||
image: 'thegeeklab/link-validator', |
||||
commands: [ |
||||
'link-validator -ro', |
||||
], |
||||
environment: { |
||||
LINK_VALIDATOR_BASE_DIR: 'docs/public', |
||||
}, |
||||
}, |
||||
{ |
||||
name: 'build', |
||||
image: 'thegeeklab/hugo:0.83.1', |
||||
commands: [ |
||||
'hugo -s docs/', |
||||
], |
||||
}, |
||||
{ |
||||
name: 'beautify', |
||||
image: 'node:lts-alpine', |
||||
commands: [ |
||||
'npm install -g js-beautify', |
||||
"html-beautify -r -f 'docs/public/**/*.html'", |
||||
], |
||||
environment: { |
||||
FORCE_COLOR: true, |
||||
NPM_CONFIG_LOGLEVEL: 'error', |
||||
}, |
||||
}, |
||||
{ |
||||
name: 'publish', |
||||
image: 'plugins/s3-sync', |
||||
settings: { |
||||
access_key: { from_secret: 's3_access_key' }, |
||||
bucket: 'geekdocs', |
||||
delete: true, |
||||
endpoint: 'https://sp.rknet.org', |
||||
path_style: true, |
||||
secret_key: { from_secret: 's3_secret_access_key' }, |
||||
source: 'docs/public/', |
||||
strip_prefix: 'docs/public/', |
||||
target: '/${DRONE_REPO_NAME}', |
||||
}, |
||||
when: { |
||||
ref: ['refs/heads/main', 'refs/tags/**'], |
||||
}, |
||||
}, |
||||
], |
||||
depends_on: [ |
||||
'build-package', |
||||
'build-container-amd64', |
||||
'build-container-arm64', |
||||
'build-container-arm', |
||||
], |
||||
trigger: { |
||||
ref: ['refs/heads/main', 'refs/tags/**', 'refs/pull/**'], |
||||
}, |
||||
}; |
||||
|
||||
local PipelineNotifications = { |
||||
kind: 'pipeline', |
||||
name: 'notifications', |
||||
platform: { |
||||
os: 'linux', |
||||
arch: 'amd64', |
||||
}, |
||||
steps: [ |
||||
{ |
||||
image: 'plugins/manifest', |
||||
name: 'manifest-dockerhub', |
||||
settings: { |
||||
ignore_missing: true, |
||||
auto_tag: true, |
||||
username: { from_secret: 'docker_username' }, |
||||
password: { from_secret: 'docker_password' }, |
||||
spec: 'docker/manifest.tmpl', |
||||
}, |
||||
when: { |
||||
status: ['success'], |
||||
}, |
||||
}, |
||||
{ |
||||
image: 'plugins/manifest', |
||||
name: 'manifest-quay', |
||||
settings: { |
||||
ignore_missing: true, |
||||
auto_tag: true, |
||||
username: { from_secret: 'quay_username' }, |
||||
password: { from_secret: 'quay_password' }, |
||||
spec: 'docker/manifest-quay.tmpl', |
||||
}, |
||||
when: { |
||||
status: ['success'], |
||||
}, |
||||
}, |
||||
{ |
||||
name: 'pushrm-dockerhub', |
||||
pull: 'always', |
||||
image: 'chko/docker-pushrm:1', |
||||
environment: { |
||||
DOCKER_PASS: { |
||||
from_secret: 'docker_password', |
||||
}, |
||||
DOCKER_USER: { |
||||
from_secret: 'docker_username', |
||||
}, |
||||
PUSHRM_FILE: 'README.md', |
||||
PUSHRM_SHORT: 'Prometheus Service Discovery for Proxmox VE', |
||||
PUSHRM_TARGET: 'thegeeklab/${DRONE_REPO_NAME}', |
||||
}, |
||||
when: { |
||||
status: ['success'], |
||||
}, |
||||
}, |
||||
{ |
||||
name: 'pushrm-quay', |
||||
pull: 'always', |
||||
image: 'chko/docker-pushrm:1', |
||||
environment: { |
||||
APIKEY__QUAY_IO: { |
||||
from_secret: 'quay_token', |
||||
}, |
||||
PUSHRM_FILE: 'README.md', |
||||
PUSHRM_TARGET: 'quay.io/thegeeklab/${DRONE_REPO_NAME}', |
||||
}, |
||||
when: { |
||||
status: ['success'], |
||||
}, |
||||
}, |
||||
{ |
||||
name: 'matrix', |
||||
image: 'plugins/matrix', |
||||
settings: { |
||||
homeserver: { from_secret: 'matrix_homeserver' }, |
||||
roomid: { from_secret: 'matrix_roomid' }, |
||||
template: 'Status: **{{ build.status }}**<br/> Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}<br/> Message: {{ build.message }}', |
||||
username: { from_secret: 'matrix_username' }, |
||||
password: { from_secret: 'matrix_password' }, |
||||
}, |
||||
when: { |
||||
status: ['success', 'failure'], |
||||
}, |
||||
}, |
||||
], |
||||
depends_on: [ |
||||
'docs', |
||||
], |
||||
trigger: { |
||||
ref: ['refs/heads/main', 'refs/tags/**'], |
||||
status: ['success', 'failure'], |
||||
}, |
||||
}; |
||||
|
||||
[ |
||||
PipelineLint, |
||||
PipelineTest, |
||||
PipelineSecurity, |
||||
PipelineBuildPackage, |
||||
PipelineBuildContainer(arch='amd64'), |
||||
PipelineBuildContainer(arch='arm64'), |
||||
PipelineBuildContainer(arch='arm'), |
||||
PipelineDocs, |
||||
PipelineNotifications, |
||||
] |
@ -0,0 +1,635 @@
|
||||
--- |
||||
kind: pipeline |
||||
name: lint |
||||
|
||||
platform: |
||||
os: linux |
||||
arch: amd64 |
||||
|
||||
steps: |
||||
- name: yapf |
||||
image: python:3.9 |
||||
commands: |
||||
- git fetch -tq |
||||
- pip install poetry poetry-dynamic-versioning -qq |
||||
- poetry config experimental.new-installer false |
||||
- poetry install |
||||
- poetry run yapf -dr ./prometheuspvesd |
||||
environment: |
||||
PY_COLORS: 1 |
||||
|
||||
- name: flake8 |
||||
image: python:3.9 |
||||
commands: |
||||
- git fetch -tq |
||||
- pip install poetry poetry-dynamic-versioning -qq |
||||
- poetry config experimental.new-installer false |
||||
- poetry install |
||||
- poetry run flake8 ./prometheuspvesd |
||||
environment: |
||||
PY_COLORS: 1 |
||||
|
||||
trigger: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
- refs/pull/** |
||||
|
||||
--- |
||||
kind: pipeline |
||||
name: test |
||||
|
||||
platform: |
||||
os: linux |
||||
arch: amd64 |
||||
|
||||
steps: |
||||
- name: fetch |
||||
image: python:3.9 |
||||
commands: |
||||
- git fetch -tq |
||||
|
||||
- name: python36-pytest |
||||
image: python:3.6 |
||||
commands: |
||||
- pip install poetry poetry-dynamic-versioning -qq |
||||
- poetry config experimental.new-installer false |
||||
- poetry install |
||||
- poetry version |
||||
- poetry run prometheus-pve-sd --help |
||||
environment: |
||||
PY_COLORS: 1 |
||||
depends_on: |
||||
- fetch |
||||
|
||||
- name: python37-pytest |
||||
image: python:3.7 |
||||
commands: |
||||
- pip install poetry poetry-dynamic-versioning -qq |
||||
- poetry config experimental.new-installer false |
||||
- poetry install |
||||
- poetry version |
||||
- poetry run prometheus-pve-sd --help |
||||
environment: |
||||
PY_COLORS: 1 |
||||
depends_on: |
||||
- fetch |
||||
|
||||
- name: python38-pytest |
||||
image: python:3.8 |
||||
commands: |
||||
- pip install poetry poetry-dynamic-versioning -qq |
||||
- poetry config experimental.new-installer false |
||||
- poetry install |
||||
- poetry version |
||||
- poetry run prometheus-pve-sd --help |
||||
environment: |
||||
PY_COLORS: 1 |
||||
depends_on: |
||||
- fetch |
||||
|
||||
- name: python39-pytest |
||||
image: python:3.9 |
||||
commands: |
||||
- pip install poetry poetry-dynamic-versioning -qq |
||||
- poetry config experimental.new-installer false |
||||
- poetry install |
||||
- poetry version |
||||
- poetry run prometheus-pve-sd --help |
||||
environment: |
||||
PY_COLORS: 1 |
||||
depends_on: |
||||
- fetch |
||||
|
||||
trigger: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
- refs/pull/** |
||||
|
||||
depends_on: |
||||
- lint |
||||
|
||||
--- |
||||
kind: pipeline |
||||
name: security |
||||
|
||||
platform: |
||||
os: linux |
||||
arch: amd64 |
||||
|
||||
steps: |
||||
- name: bandit |
||||
image: python:3.9 |
||||
commands: |
||||
- git fetch -tq |
||||
- pip install poetry poetry-dynamic-versioning -qq |
||||
- poetry config experimental.new-installer false |
||||
- poetry install |
||||
- poetry run bandit -r ./prometheuspvesd -x ./prometheuspvesd/test |
||||
environment: |
||||
PY_COLORS: 1 |
||||
|
||||
trigger: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
- refs/pull/** |
||||
|
||||
depends_on: |
||||
- test |
||||
|
||||
--- |
||||
kind: pipeline |
||||
name: build-package |
||||
|
||||
platform: |
||||
os: linux |
||||
arch: amd64 |
||||
|
||||
steps: |
||||
- name: build |
||||
image: python:3.9 |
||||
commands: |
||||
- git fetch -tq |
||||
- pip install poetry poetry-dynamic-versioning -qq |
||||
- poetry build |
||||
|
||||
- name: checksum |
||||
image: alpine |
||||
commands: |
||||
- cd dist/ && sha256sum * > ../sha256sum.txt |
||||
|
||||
- name: changelog-generate |
||||
image: thegeeklab/git-chglog |
||||
commands: |
||||
- git fetch -tq |
||||
- git-chglog --no-color --no-emoji -o CHANGELOG.md ${DRONE_TAG:---next-tag unreleased unreleased} |
||||
|
||||
- name: changelog-format |
||||
image: thegeeklab/alpine-tools |
||||
commands: |
||||
- prettier CHANGELOG.md |
||||
- prettier -w CHANGELOG.md |
||||
|
||||
- name: publish-github |
||||
image: plugins/github-release |
||||
settings: |
||||
api_key: |
||||
from_secret: github_token |
||||
files: |
||||
- dist/* |
||||
- sha256sum.txt |
||||
note: CHANGELOG.md |
||||
overwrite: true |
||||
title: ${DRONE_TAG} |
||||
when: |
||||
ref: |
||||
- refs/tags/** |
||||
|
||||
- name: publish-pypi |
||||
image: python:3.9 |
||||
commands: |
||||
- git fetch -tq |
||||
- pip install poetry poetry-dynamic-versioning -qq |
||||
- poetry publish -n |
||||
environment: |
||||
POETRY_HTTP_BASIC_PYPI_PASSWORD: |
||||
from_secret: pypi_password |
||||
POETRY_HTTP_BASIC_PYPI_USERNAME: |
||||
from_secret: pypi_username |
||||
when: |
||||
ref: |
||||
- refs/tags/** |
||||
|
||||
trigger: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
- refs/pull/** |
||||
|
||||
depends_on: |
||||
- security |
||||
|
||||
--- |
||||
kind: pipeline |
||||
name: build-container-amd64 |
||||
|
||||
platform: |
||||
os: linux |
||||
arch: amd64 |
||||
|
||||
steps: |
||||
- name: build |
||||
image: python:3.9 |
||||
commands: |
||||
- git fetch -tq |
||||
- pip install poetry poetry-dynamic-versioning -qq |
||||
- poetry build |
||||
|
||||
- name: dryrun |
||||
image: thegeeklab/drone-docker:19 |
||||
settings: |
||||
dockerfile: docker/Dockerfile.amd64 |
||||
dry_run: true |
||||
password: |
||||
from_secret: docker_password |
||||
repo: thegeeklab/${DRONE_REPO_NAME} |
||||
username: |
||||
from_secret: docker_username |
||||
when: |
||||
ref: |
||||
- refs/pull/** |
||||
depends_on: |
||||
- build |
||||
|
||||
- name: publish-dockerhub |
||||
image: thegeeklab/drone-docker:19 |
||||
settings: |
||||
auto_tag: true |
||||
auto_tag_suffix: amd64 |
||||
dockerfile: docker/Dockerfile.amd64 |
||||
password: |
||||
from_secret: docker_password |
||||
repo: thegeeklab/${DRONE_REPO_NAME} |
||||
username: |
||||
from_secret: docker_username |
||||
when: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
depends_on: |
||||
- dryrun |
||||
|
||||
- name: publish-quay |
||||
image: thegeeklab/drone-docker:19 |
||||
settings: |
||||
auto_tag: true |
||||
auto_tag_suffix: amd64 |
||||
dockerfile: docker/Dockerfile.amd64 |
||||
password: |
||||
from_secret: quay_password |
||||
registry: quay.io |
||||
repo: quay.io/thegeeklab/${DRONE_REPO_NAME} |
||||
username: |
||||
from_secret: quay_username |
||||
when: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
depends_on: |
||||
- dryrun |
||||
|
||||
trigger: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
- refs/pull/** |
||||
|
||||
depends_on: |
||||
- security |
||||
|
||||
--- |
||||
kind: pipeline |
||||
name: build-container-arm64 |
||||
|
||||
platform: |
||||
os: linux |
||||
arch: arm64 |
||||
|
||||
steps: |
||||
- name: build |
||||
image: python:3.9 |
||||
commands: |
||||
- git fetch -tq |
||||
- pip install poetry poetry-dynamic-versioning -qq |
||||
- poetry build |
||||
|
||||
- name: dryrun |
||||
image: thegeeklab/drone-docker:19 |
||||
settings: |
||||
dockerfile: docker/Dockerfile.arm64 |
||||
dry_run: true |
||||
password: |
||||
from_secret: docker_password |
||||
repo: thegeeklab/${DRONE_REPO_NAME} |
||||
username: |
||||
from_secret: docker_username |
||||
when: |
||||
ref: |
||||
- refs/pull/** |
||||
depends_on: |
||||
- build |
||||
|
||||
- name: publish-dockerhub |
||||
image: thegeeklab/drone-docker:19 |
||||
settings: |
||||
auto_tag: true |
||||
auto_tag_suffix: arm64 |
||||
dockerfile: docker/Dockerfile.arm64 |
||||
password: |
||||
from_secret: docker_password |
||||
repo: thegeeklab/${DRONE_REPO_NAME} |
||||
username: |
||||
from_secret: docker_username |
||||
when: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
depends_on: |
||||
- dryrun |
||||
|
||||
- name: publish-quay |
||||
image: thegeeklab/drone-docker:19 |
||||
settings: |
||||
auto_tag: true |
||||
auto_tag_suffix: arm64 |
||||
dockerfile: docker/Dockerfile.arm64 |
||||
password: |
||||
from_secret: quay_password |
||||
registry: quay.io |
||||
repo: quay.io/thegeeklab/${DRONE_REPO_NAME} |
||||
username: |
||||
from_secret: quay_username |
||||
when: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
depends_on: |
||||
- dryrun |
||||
|
||||
trigger: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
- refs/pull/** |
||||
|
||||
depends_on: |
||||
- security |
||||
|
||||
--- |
||||
kind: pipeline |
||||
name: build-container-arm |
||||
|
||||
platform: |
||||
os: linux |
||||
arch: arm |
||||
|
||||
steps: |
||||
- name: build |
||||
image: python:3.9-alpine |
||||
commands: |
||||
- apk add -Uq --no-cache build-base libressl-dev libffi-dev musl-dev python3-dev git cargo |
||||
- git fetch -tq |
||||
- pip install poetry poetry-dynamic-versioning -qq |
||||
- poetry build |
||||
environment: |
||||
CARGO_NET_GIT_FETCH_WITH_CLI: true |
||||
|
||||
- name: dryrun |
||||
image: thegeeklab/drone-docker:19 |
||||
settings: |
||||
dockerfile: docker/Dockerfile.arm |
||||
dry_run: true |
||||
password: |
||||
from_secret: docker_password |
||||
repo: thegeeklab/${DRONE_REPO_NAME} |
||||
username: |
||||
from_secret: docker_username |
||||
when: |
||||
ref: |
||||
- refs/pull/** |
||||
depends_on: |
||||
- build |
||||
|
||||
- name: publish-dockerhub |
||||
image: thegeeklab/drone-docker:19 |
||||
settings: |
||||
auto_tag: true |
||||
auto_tag_suffix: arm |
||||
dockerfile: docker/Dockerfile.arm |
||||
password: |
||||
from_secret: docker_password |
||||
repo: thegeeklab/${DRONE_REPO_NAME} |
||||
username: |
||||
from_secret: docker_username |
||||
when: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
depends_on: |
||||
- dryrun |
||||
|
||||
- name: publish-quay |
||||
image: thegeeklab/drone-docker:19 |
||||
settings: |
||||
auto_tag: true |
||||
auto_tag_suffix: arm |
||||
dockerfile: docker/Dockerfile.arm |
||||
password: |
||||
from_secret: quay_password |
||||
registry: quay.io |
||||
repo: quay.io/thegeeklab/${DRONE_REPO_NAME} |
||||
username: |
||||
from_secret: quay_username |
||||
when: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
depends_on: |
||||
- dryrun |
||||
|
||||
trigger: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
- refs/pull/** |
||||
|
||||
depends_on: |
||||
- security |
||||
|
||||
--- |
||||
kind: pipeline |
||||
name: docs |
||||
|
||||
platform: |
||||
os: linux |
||||
arch: amd64 |
||||
|
||||
concurrency: |
||||
limit: 1 |
||||
|
||||
steps: |
||||
- name: assets |
||||
image: thegeeklab/alpine-tools |
||||
commands: |
||||
- make doc |
||||
|
||||
- name: markdownlint |
||||
image: thegeeklab/markdownlint-cli |
||||
commands: |
||||
- markdownlint 'docs/content/**/*.md' 'README.md' 'CONTRIBUTING.md' |
||||
|
||||
- name: spellcheck |
||||
image: node:lts-alpine |
||||
commands: |
||||
- npm install -g spellchecker-cli |
||||
- spellchecker --files 'docs/content/**/*.md' 'README.md' -d .dictionary -p spell indefinite-article syntax-urls --no-suggestions |
||||
environment: |
||||
FORCE_COLOR: true |
||||
NPM_CONFIG_LOGLEVEL: error |
||||
|
||||
- name: testbuild |
||||
image: thegeeklab/hugo:0.83.1 |
||||
commands: |
||||
- hugo -s docs/ -b http://localhost/ |
||||
|
||||
- name: link-validation |
||||
image: thegeeklab/link-validator |
||||
commands: |
||||
- link-validator -ro |
||||
environment: |
||||
LINK_VALIDATOR_BASE_DIR: docs/public |
||||
|
||||
- name: build |
||||
image: thegeeklab/hugo:0.83.1 |
||||
commands: |
||||
- hugo -s docs/ |
||||
|
||||
- name: beautify |
||||
image: node:lts-alpine |
||||
commands: |
||||
- npm install -g js-beautify |
||||
- html-beautify -r -f 'docs/public/**/*.html' |
||||
environment: |
||||
FORCE_COLOR: true |
||||
NPM_CONFIG_LOGLEVEL: error |
||||
|
||||
- name: publish |
||||
image: plugins/s3-sync |
||||
settings: |
||||
access_key: |
||||
from_secret: s3_access_key |
||||
bucket: geekdocs |
||||
delete: true |
||||
endpoint: https://sp.rknet.org |
||||
path_style: true |
||||
secret_key: |
||||
from_secret: s3_secret_access_key |
||||
source: docs/public/ |
||||
strip_prefix: docs/public/ |
||||
target: /${DRONE_REPO_NAME} |
||||
when: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
|
||||
trigger: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
- refs/pull/** |
||||
|
||||
depends_on: |
||||
- build-package |
||||
- build-container-amd64 |
||||
- build-container-arm64 |
||||
- build-container-arm |
||||
|
||||
--- |
||||
kind: pipeline |
||||
name: notifications |
||||
|
||||
platform: |
||||
os: linux |
||||
arch: amd64 |
||||
|
||||
steps: |
||||
- name: manifest-dockerhub |
||||
image: plugins/manifest |
||||
settings: |
||||
auto_tag: true |
||||
ignore_missing: true |
||||
password: |
||||
from_secret: docker_password |
||||
spec: docker/manifest.tmpl |
||||
username: |
||||
from_secret: docker_username |
||||
when: |
||||
status: |
||||
- success |
||||
|
||||
- name: manifest-quay |
||||
image: plugins/manifest |
||||
settings: |
||||
auto_tag: true |
||||
ignore_missing: true |
||||
password: |
||||
from_secret: quay_password |
||||
spec: docker/manifest-quay.tmpl |
||||
username: |
||||
from_secret: quay_username |
||||
when: |
||||
status: |
||||
- success |
||||
|
||||
- name: pushrm-dockerhub |
||||
pull: always |
||||
image: chko/docker-pushrm:1 |
||||
environment: |
||||
DOCKER_PASS: |
||||
from_secret: docker_password |
||||
DOCKER_USER: |
||||
from_secret: docker_username |
||||
PUSHRM_FILE: README.md |
||||
PUSHRM_SHORT: Prometheus Service Discovery for Proxmox VE |
||||
PUSHRM_TARGET: thegeeklab/${DRONE_REPO_NAME} |
||||
when: |
||||
status: |
||||
- success |
||||
|
||||
- name: pushrm-quay |
||||
pull: always |
||||
image: chko/docker-pushrm:1 |
||||
environment: |
||||
APIKEY__QUAY_IO: |
||||
from_secret: quay_token |
||||
PUSHRM_FILE: README.md |
||||
PUSHRM_TARGET: quay.io/thegeeklab/${DRONE_REPO_NAME} |
||||
when: |
||||
status: |
||||
- success |
||||
|
||||
- name: matrix |
||||
image: plugins/matrix |
||||
settings: |
||||
homeserver: |
||||
from_secret: matrix_homeserver |
||||
password: |
||||
from_secret: matrix_password |
||||
roomid: |
||||
from_secret: matrix_roomid |
||||
template: "Status: **{{ build.status }}**<br/> Build: [{{ repo.Owner }}/{{ repo.Name }}]({{ build.link }}) ({{ build.branch }}) by {{ build.author }}<br/> Message: {{ build.message }}" |
||||
username: |
||||
from_secret: matrix_username |
||||
when: |
||||
status: |
||||
- success |
||||
- failure |
||||
|
||||
trigger: |
||||
ref: |
||||
- refs/heads/main |
||||
- refs/tags/** |
||||
status: |
||||
- success |
||||
- failure |
||||
|
||||
depends_on: |
||||
- docs |
||||
|
||||
--- |
||||
kind: signature |
||||
hmac: 791f2a668d1295b69cb7000c3a38b8e3ca15d99b1c8ac40559c71aa9456fc018 |
||||
|
||||
... |
@ -0,0 +1,56 @@
|
||||
repository: |
||||
name: prometheus-pve-sd |
||||
description: Prometheus Service Discovery for Proxmox VE |
||||
topics: prometheus, proxmox, metrics, sd, python |
||||
|
||||
private: false |
||||
has_issues: true |
||||
has_projects: false |
||||
has_wiki: false |
||||
has_downloads: true |
||||
|
||||
default_branch: main |
||||
|
||||
allow_squash_merge: true |
||||
allow_merge_commit: true |
||||
allow_rebase_merge: true |
||||
|
||||
labels: |
||||
- name: bug |
||||
color: d73a4a |
||||
description: Something isn't working |
||||
- name: documentation |
||||
color: 0075ca |
||||
description: Improvements or additions to documentation |
||||
- name: duplicate |
||||
color: cfd3d7 |
||||
description: This issue or pull request already exists |
||||
- name: enhancement |
||||
color: a2eeef |
||||
description: New feature or request |
||||
- name: good first issue |
||||
color: 7057ff |
||||
description: Good for newcomers |
||||
- name: help wanted |
||||
color: 008672 |
||||
description: Extra attention is needed |
||||
- name: invalid |
||||
color: e4e669 |
||||
description: This doesn't seem right |
||||
- name: question |
||||
color: d876e3 |
||||
description: Further information is requested |
||||
- name: wontfix |
||||
color: ffffff |
||||
description: This will not be worked on |
||||
|
||||
branches: |
||||
- name: main |
||||
protection: |
||||
required_pull_request_reviews: null |
||||
required_status_checks: |
||||
strict: false |
||||
contexts: |
||||
- continuous-integration/drone/pr |
||||
enforce_admins: null |
||||
restrictions: null |
@ -0,0 +1,111 @@
|
||||
# ---> Python |
||||
# Byte-compiled / optimized / DLL files |
||||
__pycache__/ |
||||
*.py[cod] |
||||
*$py.class |
||||
|
||||
# C extensions |
||||
*.so |
||||
|
||||
# Distribution / packaging |
||||
.Python |
||||
env/ |
||||
build/ |
||||
develop-eggs/ |
||||
dist/ |
||||
downloads/ |
||||
eggs/ |
||||
.eggs/ |
||||
parts/ |
||||
sdist/ |
||||
var/ |
||||
wheels/ |
||||
*.egg-info/ |
||||
.installed.cfg |
||||
*.egg |
||||
|
||||
# PyInstaller |
||||
# Usually these files are written by a python script from a template |
||||
# before PyInstaller builds the exe, so as to inject date/other infos into it. |
||||
*.manifest |
||||
*.spec |
||||
|
||||
# Installer logs |
||||
pip-log.txt |
||||
pip-delete-this-directory.txt |
||||
|
||||
# Unit test / coverage reports |
||||
htmlcov/ |
||||
.tox/ |
||||
.coverage |
||||
.coverage.* |
||||
.cache |
||||
nosetests.xml |
||||
coverage.xml |
||||
*,cover |
||||
.hypothesis/ |
||||
|
||||
# Translations |
||||
*.mo |
||||
*.pot |
||||
|
||||
# Django stuff: |
||||
*.log |
||||
local_settings.py |
||||
|
||||
# Flask stuff: |
||||
instance/ |
||||
.webassets-cache |
||||
|
||||
# Scrapy stuff: |
||||
.scrapy |
||||
|
||||
# Sphinx documentation |
||||
docs/_build/ |
||||
|
||||
# PyBuilder |
||||
target/ |
||||
|
||||
# Jupyter Notebook |
||||
.ipynb_checkpoints |
||||
|
||||
# pyenv |
||||
.python-version |
||||
|
||||
# celery beat schedule file |
||||
celerybeat-schedule |
||||
|
||||
# SageMath parsed files |
||||
*.sage.py |
||||
|
||||
# dotenv |
||||
.env |
||||
|
||||
# virtualenv |
||||
.venv |
||||
venv/ |
||||
ENV/ |
||||
env/ |
||||
env*/ |
||||
|
||||
# Spyder project settings |
||||
.spyderproject |
||||
|
||||
# Rope project settings |
||||
.ropeproject |
||||
|
||||
# Ignore ide addons |
||||
.server-script |
||||
.on-save.json |
||||
.vscode |
||||
.pytest_cache |
||||
|
||||
pip-wheel-metadata |
||||
|
||||
# Hugo documentation |
||||
docs/themes/ |
||||
docs/public/ |
||||
resources/_gen/ |
||||
|
||||
# Misc |
||||
CHANGELOG.md |
@ -0,0 +1,6 @@
|
||||
--- |
||||
default: True |
||||
MD013: False |
||||
MD041: False |
||||
MD004: |
||||
style: dash |
@ -0,0 +1,31 @@
|
||||
# Contributing |
||||
|
||||
## Security |
||||
|
||||
If you think you have found a **security issue**, please do not mention it in this repository. |
||||
Instead, send an email to security@thegeeklab.de with as many details as possible so it can be handled confidential. |
||||
|
||||
## Bug Reports and Feature Requests |
||||
|
||||
If you have found a **bug** or have a **feature request** please use the search first in case a similar issue already exists. |
||||
If not, please create an issue in this repository |
||||
|
||||
## Code |
||||
|
||||
If you would like to fix a bug or implement a feature, please fork the repository and create a Pull Request. |
||||
|
||||
Before you start any Pull Request, it is recommended that you create an issue to discuss first if you have any |
||||
doubts about requirement or implementation. That way you can be sure that the maintainer(s) agree on what to change and how, |
||||
and you can hopefully get a quick merge afterwards. |
||||
|
||||
Pull Requests can only be merged once all status checks are green. |
||||
|
||||
## Do not force push to your Pull Request branch |
||||
|
||||
Please do not force push to your Pull Requests branch after you have created your Pull Request, as doing so makes it harder for us to review your work. |
||||
Pull Requests will always be squashed by us when we merge your work. Commit as many times as you need in your Pull Request branch. |
||||
|
||||
## Re-requesting a review |
||||
|
||||
Please do not ping your reviewer(s) by mentioning them in a new comment. Instead, use the re-request review functionality. |
||||
Read more about this in the [GitHub docs, Re-requesting a review](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request#re-requesting-a-review). |
@ -0,0 +1,21 @@
|
||||
MIT License |
||||
|
||||
Copyright (c) 2021 Robert Kaussow <mail@thegeeklab.de> |
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy |
||||
of this software and associated documentation files (the "Software"), to deal |
||||
in the Software without restriction, including without limitation the rights |
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
||||
copies of the Software, and to permit persons to whom the Software is furnished |
||||
to do so, subject to the following conditions: |
||||
|
||||
The above copyright notice and this permission notice (including the next |
||||
paragraph) shall be included in all copies or substantial portions of the |
||||
Software. |
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS |
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS |
||||
OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF |
||||
OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
@ -0,0 +1,20 @@
|
||||
# renovate: datasource=github-releases depName=thegeeklab/hugo-geekdoc
|
||||
THEME_VERSION := v0.13.4
|
||||
THEME := hugo-geekdoc
|
||||
BASEDIR := docs
|
||||
THEMEDIR := $(BASEDIR)/themes
|
||||
|
||||
.PHONY: all |
||||
all: doc |
||||
|
||||
.PHONY: doc |
||||
doc: doc-assets |
||||
|
||||
.PHONY: doc-assets |
||||
doc-assets: |
||||
mkdir -p $(THEMEDIR)/$(THEME)/ ; \
|
||||
curl -sSL "https://github.com/thegeeklab/$(THEME)/releases/download/${THEME_VERSION}/$(THEME).tar.gz" | tar -xz -C $(THEMEDIR)/$(THEME)/ --strip-components=1
|
||||
|
||||
.PHONY: clean |
||||
clean: |
||||
rm -rf $(THEMEDIR) && \
|
@ -0,0 +1,24 @@
|
||||
# prometheus-pve-sd |
||||
|
||||
Prometheus Service Discovery for Proxmox VE |
||||
|
||||
[](https://drone.thegeeklab.de/thegeeklab/prometheus-pve-sd) |
||||
[](https://hub.docker.com/r/thegeeklab/prometheus-pve-sd) |
||||
[](https://quay.io/repository/thegeeklab/prometheus-pve-sd) |
||||
[](https://pypi.org/project/prometheus-pve-sd/) |
||||
[](https://pypi.org/project/prometheus-pve-sd/) |
||||
[](https://pypi.org/project/prometheus-pve-sd/) |
||||
[](https://github.com/thegeeklab/prometheus-pve-sd/graphs/contributors) |
||||
[](https://github.com/thegeeklab/prometheus-pve-sd) |
||||
[](https://github.com/thegeeklab/prometheus-pve-sd/blob/main/LICENSE) |
||||
|
||||
TBD |
||||
|
||||
## Contributors |
||||
|
||||
Special thanks goes to all [contributors](https://github.com/thegeeklab/prometheus-pve-sd/graphs/contributors). If you would like to contribute, |
||||
please see the [instructions](https://github.com/thegeeklab/prometheus-pve-sd/blob/main/CONTRIBUTING.md). |
||||
|
||||
## License |
||||
|
||||
This project is licensed under the MIT License - see the [LICENSE](https://github.com/thegeeklab/prometheus-pve-sd/blob/main/LICENSE) file for details. |
@ -0,0 +1,23 @@
|
||||
FROM amd64/python:3.9-alpine@sha256:d2dfb8f0a8b3ab3e2899bba05e53c2b16bc1b8c1fca83637266edb8d1a57dc86 |
||||
|
||||
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>" |
||||
LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>" |
||||
LABEL org.opencontainers.image.title="prometheus-pve-sd" |
||||
LABEL org.opencontainers.image.url="https://github.com/thegeeklab/prometheus-pve-sd/" |
||||
LABEL org.opencontainers.image.source="https://github.com/thegeeklab/prometheus-pve-sd/" |
||||
LABEL org.opencontainers.image.documentation="https://github.com/thegeeklab/prometheus-pve-sd/" |
||||
|
||||
ENV PY_COLORS=1 |
||||
|
||||
ADD dist/prometheus_pve_sd--*.whl / |
||||
|
||||
RUN apk update && \ |
||||
pip install --upgrade --no-cache-dir pip && \ |
||||
pip install --no-cache-dir $(find / -name "prometheus_pve_sd--*.whl") && \ |
||||
rm -f prometheus_pve_sd--*.whl && \ |
||||
rm -rf /var/cache/apk/* && \ |
||||
rm -rf /root/.cache/ |
||||
|
||||
USER root |
||||
CMD [] |
||||
ENTRYPOINT ["/usr/local/bin/prometheus-pve-sd"] |
@ -0,0 +1,23 @@
|
||||
FROM arm32v7/python:3.9-alpine@sha256:183252dde15e315fbe570a5355be839251aa4878b20163c767dd5238de3c988e |
||||
|
||||
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>" |
||||
LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>" |
||||
LABEL org.opencontainers.image.title="prometheus-pve-sd" |
||||
LABEL org.opencontainers.image.url="https://github.com/thegeeklab/prometheus-pve-sd/" |
||||
LABEL org.opencontainers.image.source="https://github.com/thegeeklab/prometheus-pve-sd/" |
||||
LABEL org.opencontainers.image.documentation="https://github.com/thegeeklab/prometheus-pve-sd/" |
||||
|
||||
ENV PY_COLORS=1 |
||||
|
||||
ADD dist/prometheus_pve_sd--*.whl / |
||||
|
||||
RUN apk update && \ |
||||
pip install --upgrade --no-cache-dir pip && \ |
||||
pip install --no-cache-dir $(find / -name "prometheus_pve_sd--*.whl") && \ |
||||
rm -f prometheus_pve_sd--*.whl && \ |
||||
rm -rf /var/cache/apk/* && \ |
||||
rm -rf /root/.cache/ |
||||
|
||||
USER root |
||||
CMD [] |
||||
ENTRYPOINT ["/usr/local/bin/prometheus-pve-sd"] |
@ -0,0 +1,23 @@
|
||||
FROM arm64v8/python:3.9-alpine@sha256:2dd55073bf996f367008a7fad490add0343b5c151b708dcf52c133f70ab171a9 |
||||
|
||||
LABEL maintainer="Robert Kaussow <mail@thegeeklab.de>" |
||||
LABEL org.opencontainers.image.authors="Robert Kaussow <mail@thegeeklab.de>" |
||||
LABEL org.opencontainers.image.title="prometheus-pve-sd" |
||||
LABEL org.opencontainers.image.url="https://github.com/thegeeklab/prometheus-pve-sd/" |
||||
LABEL org.opencontainers.image.source="https://github.com/thegeeklab/prometheus-pve-sd/" |
||||
LABEL org.opencontainers.image.documentation="https://github.com/thegeeklab/prometheus-pve-sd/" |
||||
|
||||
ENV PY_COLORS=1 |
||||
|
||||
ADD dist/prometheus_pve_sd--*.whl / |
||||
|
||||
RUN apk update && \ |
||||
pip install --upgrade --no-cache-dir pip && \ |
||||
pip install --no-cache-dir $(find / -name "prometheus_pve_sd--*.whl") && \ |
||||
rm -f prometheus_pve_sd--*.whl && \ |
||||
rm -rf /var/cache/apk/* && \ |
||||
rm -rf /root/.cache/ |
||||
|
||||
USER root |
||||
CMD [] |
||||
ENTRYPOINT ["/usr/local/bin/prometheus-pve-sd"] |
@ -0,0 +1,24 @@
|
||||
image: quay.io/thegeeklab/prometheus-pve-sd:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}} |
||||
{{#if build.tags}} |
||||
tags: |
||||
{{#each build.tags}} |
||||
- {{this}} |
||||
{{/each}} |
||||
{{/if}} |
||||
manifests: |
||||
- image: quay.io/thegeeklab/prometheus-pve-sd:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}amd64 |
||||
platform: |
||||
architecture: amd64 |
||||
os: linux |
||||
|
||||
- image: quay.io/thegeeklab/prometheus-pve-sd:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}arm64 |
||||
platform: |
||||
architecture: arm64 |
||||
os: linux |
||||
variant: v8 |
||||
|
||||
- image: quay.io/thegeeklab/prometheus-pve-sd:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}arm |
||||
platform: |
||||
architecture: arm |
||||
os: linux |
||||
variant: v7 |
@ -0,0 +1,24 @@
|
||||
image: thegeeklab/prometheus-pve-sd:{{#if build.tag}}{{trimPrefix "v" build.tag}}{{else}}latest{{/if}} |
||||
{{#if build.tags}} |
||||
tags: |
||||
{{#each build.tags}} |
||||
- {{this}} |
||||
{{/each}} |
||||
{{/if}} |
||||
manifests: |
||||
- image: thegeeklab/prometheus-pve-sd:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}amd64 |
||||
platform: |
||||
architecture: amd64 |
||||
os: linux |
||||
|
||||
- image: thegeeklab/prometheus-pve-sd:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}arm64 |
||||
platform: |
||||
architecture: arm64 |
||||
os: linux |
||||
variant: v8 |
||||
|
||||
- image: thegeeklab/prometheus-pve-sd:{{#if build.tag}}{{trimPrefix "v" build.tag}}-{{/if}}arm |
||||
platform: |
||||