Compare commits

...

10 commits

Author SHA1 Message Date
c4b85fdc30 chore(package): update cr.simoncor.net/dockerhub/library/traefik docker tag to v3.7.1
All checks were successful
ci/woodpecker/push/linting Pipeline was successful
2026-05-15 12:46:23 +00:00
67362655d9 chore(package): update cr.simoncor.net/dockerhub/fosrl/pangolin docker tag to v1.18.4
All checks were successful
ci/woodpecker/push/linting Pipeline was successful
2026-05-15 12:46:20 +00:00
f3de156138 ci: migrate from gitlab ci to woodpecker
All checks were successful
ci/woodpecker/push/linting Pipeline was successful
2026-05-15 14:31:00 +02:00
8a1348cd22 feat: add pangoline role requirement 2026-05-08 17:11:37 +02:00
38a728f305 feat: merge role and playbook into single repo
Add playbook.yaml and roles/requirements.yml from play-pangolin.
The role now includes docker via include_role in the playbook,
matching the ans-jellyfin pattern.
2026-05-08 17:08:09 +02:00
02fba6bb5d feat: move deps to playbook
Remove galaxy dependencies from role meta and add explicit
include_role tasks in the playbook instead.
2026-05-08 15:44:27 +02:00
b8868485d0 feat: use pull-through cache for Docker Hub images
Replace docker.io references with cr.simoncor.net/dockerhub
pull-through cache. Official images now use explicit library/
namespace for cache compatibility.
2026-05-08 14:42:38 +02:00
30881cd1fd feat: pin traefik version to v3.7.0 2026-05-08 13:46:51 +02:00
3ad285c5be chore(package): update docker.io/fosrl/pangolin docker tag to v1.18.3 2026-05-07 04:47:44 +00:00
ea9321953c chore(package): update docker.io/library/traefik docker tag to v3.7 2026-05-06 04:47:40 +00:00
9 changed files with 83 additions and 22 deletions

View file

@ -3,6 +3,7 @@
exclude_paths:
- ".gitlab/*"
- ".gitlab-ci.yml"
- ".woodpecker/*"
- "defaults/main.yaml"
- "meta/main.yaml"
- "vars/*"

View file

@ -1,13 +0,0 @@
---
# gitlab stages
stages:
- "gitleaks"
- "linting"
# include components
include:
- component: "$CI_SERVER_FQDN/components/ansible/linting@v3.0.3"
- component: "$CI_SERVER_FQDN/components/gitleaks/gitleaks@v1.0.0"
- component: "$CI_SERVER_FQDN/components/markdownlint/markdownlint@1.0.0"
- component: "$CI_SERVER_FQDN/components/yamllint/yamllint@1.0.2"

View file

@ -6,7 +6,8 @@
// linting rules
"config": {
"MD013": {
"line_length": 120
"line_length": 120,
"tables": false
}
}
}

41
.woodpecker/linting.yml Normal file
View file

@ -0,0 +1,41 @@
---
when:
- event: "push"
branch: "main"
- event: "manual"
steps:
# gitleaks
- name: "gitleaks"
# renovate: datasource=github-releases depName=gitleaks/gitleaks
image: "cr.simoncor.net/ghcr/gitleaks/gitleaks:v8.30.1"
commands:
- "gitleaks detect --source . --verbose --redact"
# yamllint
- name: "yamllint"
# renovate: datasource=docker depName=cr.simoncor.net/yamllint
image: "cr.simoncor.net/yamllint:1.38.0"
depends_on:
- "gitleaks"
commands:
- "yamllint -c .yamllint ."
# ansible-lint
- name: "ansible-lint"
# renovate: datasource=docker depName=docker.io/pipelinecomponents/ansible-lint
image: "cr.simoncor.net/dockerhub/pipelinecomponents/ansible-lint:0.79.11"
depends_on:
- "gitleaks"
commands:
- "ansible-lint -c .ansible-lint ."
# markdownlint
- name: "markdownlint"
# renovate: datasource=docker depName=docker.io/davidanson/markdownlint-cli2
image: "cr.simoncor.net/dockerhub/davidanson/markdownlint-cli2:v0.22.1"
depends_on:
- "gitleaks"
commands:
- "markdownlint-cli2 --config .markdownlint-cli2.jsonc"

View file

@ -5,8 +5,4 @@ galaxy_info:
description: "install and configure an pangolin server"
license: "MIT"
role_name: "pangolin"
dependencies:
- name: "docker"
src: "https://gitlab.simoncor.net/ansible/ans-docker.git"
scm: "git"
version: "main"
dependencies: []

26
playbook.yaml Normal file
View file

@ -0,0 +1,26 @@
---
# execute this role
- name: "install and configure Pangolin"
hosts: "all"
become: true
tasks:
# due to semaphore bug we need to do this ourselves
- name: "force-update requirements"
ansible.builtin.command:
cmd: "ansible-galaxy install -f -r roles/requirements.yml"
become: false
delegate_to: "localhost"
changed_when: false
failed_when: false
# execute the role
- name: "execute role: docker"
ansible.builtin.include_role:
name: "docker"
# execute the role
- name: "execute role: pangolin"
ansible.builtin.include_role:
name: "pangolin"

View file

@ -1,3 +1,3 @@
# Ansible Role: Pangolin
Install and configure [Pangolin](https://digpangolin.com/) - a serverless web analytics tool.
Install and configure [Pangolin](https://digpangolin.com/) - a tunneled reverse proxy for homelabs.

9
roles/requirements.yml Normal file
View file

@ -0,0 +1,9 @@
---
roles:
- name: "docker"
src: "https://git.simoncor.net/ansible/docker.git"
scm: "git"
- name: "pangolin"
src: "https://git.simoncor.net/ansible/pangolin.git"
scm: "git"

View file

@ -29,7 +29,7 @@
pull: "always"
state: "started"
name: "pangolin"
image: "docker.io/fosrl/pangolin:1.18.2"
image: "cr.simoncor.net/dockerhub/fosrl/pangolin:1.18.4"
restart_policy: "unless-stopped"
networks:
- name: "pangolin"
@ -62,7 +62,7 @@
pull: "always"
state: "started"
name: "traefik"
image: "docker.io/library/traefik:v3.6"
image: "cr.simoncor.net/dockerhub/library/traefik:v3.7.1"
restart_policy: "unless-stopped"
networks:
- name: "pangolin"