diff --git a/.ansible-lint b/.ansible-lint index 9b9b52a..2b580a2 100644 --- a/.ansible-lint +++ b/.ansible-lint @@ -3,6 +3,7 @@ exclude_paths: - ".gitlab/*" - ".gitlab-ci.yml" + - ".woodpecker/*" - "defaults/main.yaml" - "meta/main.yaml" - "vars/*" diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 7ec2c37..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -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" diff --git a/.markdownlint-cli2.jsonc b/.markdownlint-cli2.jsonc index 56cd87c..a4ea90f 100644 --- a/.markdownlint-cli2.jsonc +++ b/.markdownlint-cli2.jsonc @@ -6,7 +6,8 @@ // linting rules "config": { "MD013": { - "line_length": 120 + "line_length": 120, + "tables": false } } } diff --git a/.woodpecker/linting.yml b/.woodpecker/linting.yml new file mode 100644 index 0000000..02cf4c2 --- /dev/null +++ b/.woodpecker/linting.yml @@ -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" diff --git a/defaults/main.yaml b/defaults/main.yaml index cfc7d3f..c2d8f83 100644 --- a/defaults/main.yaml +++ b/defaults/main.yaml @@ -2,7 +2,7 @@ # mitogen # renovate: datasource=github-releases depName=mitogen-hq/mitogen versioning=pep440 -mitogen_version: "0.3.46" +mitogen_version: "0.3.47" # semaphore options semaphore_admin_username: "admin" diff --git a/meta/main.yaml b/meta/main.yaml index 5ca7579..545d637 100644 --- a/meta/main.yaml +++ b/meta/main.yaml @@ -5,7 +5,4 @@ galaxy_info: description: "install and configure an semaphore server" license: "MIT" role_name: "semaphore" -dependencies: - - name: "docker" - src: "git+https://gitlab.simoncor.net/ansible/ans-docker.git" - version: "main" +dependencies: [] diff --git a/playbook.yaml b/playbook.yaml index 5d4bdd0..1d01808 100644 --- a/playbook.yaml +++ b/playbook.yaml @@ -15,6 +15,11 @@ 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: semaphore" ansible.builtin.include_role: diff --git a/readme.md b/readme.md index f3ed1d4..6e9ea6f 100644 --- a/readme.md +++ b/readme.md @@ -4,21 +4,21 @@ Install and configure [Semaphore UI](https://semaphoreui.com/) - a modern UI for ## Variables -| Variable | Required | Default | Description | -|----------|----------|---------|-------------| -| `mitogen_version` | No | `0.3.45` | Mitogen version to install | -| `semaphore_admin_username` | No | `admin` | Admin username | -| `semaphore_admin_password` | Yes | `admin` | Admin password | -| `semaphore_admin_name` | No | `Administrator` | Admin display name | -| `semaphore_admin_email` | No | `admin@example.com` | Admin email | -| `semaphore_runner_token` | Yes | `runner-token` | Runner authentication token | -| `semaphore_email_sender` | No | `semaphore@example.com` | Email sender address | -| `semaphore_email_host` | No | `smtp` | SMTP host | -| `semaphore_email_port` | No | `465` | SMTP port | -| `semaphore_email_username` | No | `smtp-user` | SMTP username | -| `semaphore_email_password` | Yes | `smtp-pass` | SMTP password | -| `semaphore_ansible_ssh_key` | Yes | - | Ansible SSH private key | -| `semaphore_ssh_config` | No | - | SSH config content | +| Variable | Required | Default | Description | +| --------------------------- | -------- | ----------------------- | --------------------------- | +| `mitogen_version` | No | `0.3.45` | Mitogen version to install | +| `semaphore_admin_username` | No | `admin` | Admin username | +| `semaphore_admin_password` | Yes | `admin` | Admin password | +| `semaphore_admin_name` | No | `Administrator` | Admin display name | +| `semaphore_admin_email` | No | `admin@example.com` | Admin email | +| `semaphore_runner_token` | Yes | `runner-token` | Runner authentication token | +| `semaphore_email_sender` | No | `semaphore@example.com` | Email sender address | +| `semaphore_email_host` | No | `smtp` | SMTP host | +| `semaphore_email_port` | No | `465` | SMTP port | +| `semaphore_email_username` | No | `smtp-user` | SMTP username | +| `semaphore_email_password` | Yes | `smtp-pass` | SMTP password | +| `semaphore_ansible_ssh_key` | Yes | ----------------------- | Ansible SSH private key | +| `semaphore_ssh_config` | No | ----------------------- | SSH config content | ## Example diff --git a/roles/requirements.yml b/roles/requirements.yml index cd44031..6f2d49a 100644 --- a/roles/requirements.yml +++ b/roles/requirements.yml @@ -2,5 +2,5 @@ roles: - name: "semaphore" - src: "https://gitlab.simoncor.net/ansible/ans-semaphore.git" + src: "https://git.simoncor.net/ansible/semaphore.git" scm: "git" diff --git a/tasks/install.yaml b/tasks/install.yaml index 19b32c3..5b45781 100644 --- a/tasks/install.yaml +++ b/tasks/install.yaml @@ -80,7 +80,7 @@ # semaphore name: "semaphore-app" - image: "docker.io/semaphoreui/semaphore:v2.17.36" + image: "cr.simoncor.net/dockerhub/semaphoreui/semaphore:v2.18.3" image_name_mismatch: "recreate" restart_policy: "unless-stopped" network_mode: "host"