From d3350339ba7f0824c2bb67041ab5625f5396a373 Mon Sep 17 00:00:00 2001 From: brooke Date: Sat, 7 Jun 2025 15:06:38 -0400 Subject: [PATCH] init --- .drone.yml | 39 +++++++++++++++++++++++++++++++++++++++ .env.sample | 8 ++++++++ .gitignore | 1 + README.md | 24 ++++++++++++++++++++++++ abra.sh | 2 ++ compose.yml | 35 +++++++++++++++++++++++++++++++++++ release/.git-keep-me | 0 7 files changed, 109 insertions(+) create mode 100644 .drone.yml create mode 100644 .env.sample create mode 100644 .gitignore create mode 100644 README.md create mode 100755 abra.sh create mode 100644 compose.yml create mode 100644 release/.git-keep-me diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..8139990 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,39 @@ +--- +kind: pipeline +name: deploy to swarm-test.autonomic.zone +steps: + - name: deployment + image: git.coopcloud.tech/coop-cloud/stack-ssh-deploy:latest + settings: + host: swarm-test.autonomic.zone + stack: example_com # UPDATE ME + generate_secrets: true + purge: true + deploy_key: + from_secret: drone_ssh_swarm_test + networks: + - proxy + environment: + DOMAIN: example.swarm-test.autonomic.zone # UPDATE ME + STACK_NAME: example_com # UPDATE ME + LETS_ENCRYPT_ENV: staging + # Also set any config versions from abra.sh +trigger: + branch: + - main +--- +kind: pipeline +name: generate recipe catalogue +steps: + - name: release a new version + image: plugins/downstream + settings: + server: https://build.coopcloud.tech + token: + from_secret: drone_abra-bot_token + fork: true + repositories: + - toolshed/auto-recipes-catalogue-json + +trigger: + event: tag diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..e14e833 --- /dev/null +++ b/.env.sample @@ -0,0 +1,8 @@ +TYPE=foregjo-runner + +DOMAIN=foregjo-runner.example.com + +## Domain aliases +#EXTRA_DOMAINS=', `www.foregjo-runner.example.com`' + +LETS_ENCRYPT_ENV=production diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7a6353d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.envrc diff --git a/README.md b/README.md new file mode 100644 index 0000000..10548e6 --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +# foregjo-runner + +> A daemon that connects to a Forgejo instance and runs jobs for continuous integration. + + + +* **Category**: Tools +* **Status**: wip +* **Image**: [`foregjo/runner`](https://code.forgejo.org/forgejo/-/packages/container/runner/6), 4, upstream +* **Healthcheck**: No +* **Backups**: No +* **Email**: No +* **Tests**: No +* **SSO**: No + + + +## Quick start + +* `abra app new foregjo-runner --secrets` +* `abra app config ` +* `abra app deploy ` + +For more, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech). diff --git a/abra.sh b/abra.sh new file mode 100755 index 0000000..13b5452 --- /dev/null +++ b/abra.sh @@ -0,0 +1,2 @@ +# Set any config versions here +# Docs: https://docs.coopcloud.tech/maintainers/handbook/#manage-configs diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..b3d59e1 --- /dev/null +++ b/compose.yml @@ -0,0 +1,35 @@ +--- +services: + app: + image: nginx:1.27.5 + networks: + - proxy + deploy: + restart_policy: + condition: on-failure + labels: + - "traefik.enable=true" + - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=80" + - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`${EXTRA_DOMAINS})" + - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" + - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" + ## Redirect from EXTRA_DOMAINS to DOMAIN + #- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect" + ## Redirect HTTP to HTTPS + # - "traefik.http.middlewares.${STACK_NAME}-redirect.redirectscheme.scheme=https" + # - "traefik.http.middlewares.${STACK_NAME}-redirect.redirectscheme.permanent=true" + ## When you're ready for release, run "abra recipe sync " to set this + - "coop-cloud.${STACK_NAME}.version=" + ## Enable backups: https://docs.coopcloud.tech/maintainers/handbook/#how-do-i-configure-backuprestore + # - "backupbot.backup=true" + # - "backupbot.backup.path=/some/path" + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost"] + interval: 30s + timeout: 10s + retries: 10 + start_period: 1m + +networks: + proxy: + external: true diff --git a/release/.git-keep-me b/release/.git-keep-me new file mode 100644 index 0000000..e69de29