├── git-hashes ├── acmedns.txt ├── godaddy.txt ├── ioopia.txt ├── netcup.txt ├── nicrudns.txt ├── rfc2136.txt ├── transip.txt ├── dinahosting.txt ├── totaluptime.txt ├── caddy-release.txt ├── ovh.txt ├── alidns.txt ├── civo.txt ├── ddnss.txt ├── desec.txt ├── dnspod.txt ├── duckdns.txt ├── dynv6.txt ├── gandi.txt ├── glesys.txt ├── hetzner.txt ├── hosttech.txt ├── inwx.txt ├── ionos.txt ├── leaseweb.txt ├── linode.txt ├── metaname.txt ├── namesilo.txt ├── netlify.txt ├── njalla.txt ├── porkbun.txt ├── powerdns.txt ├── route53.txt ├── scaleway.txt ├── vercel.txt ├── vultr.txt ├── cloudflare.txt ├── digitalocean.txt ├── directadmin.txt ├── infomaniak.txt ├── mythicbeasts.txt ├── namecheap.txt ├── namedotcom.txt ├── tencentcloud.txt ├── google-domains.txt ├── googleclouddns.txt └── openstack-designate.txt ├── Dockerfile ├── Dockerfile-alpine ├── commit-check.sh ├── .github └── workflows │ ├── start-build.yml │ ├── build-image.yml │ └── main-workflow.yml ├── README.md └── LICENSE /git-hashes/acmedns.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /git-hashes/godaddy.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /git-hashes/ioopia.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /git-hashes/netcup.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /git-hashes/nicrudns.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /git-hashes/rfc2136.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /git-hashes/transip.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /git-hashes/dinahosting.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /git-hashes/totaluptime.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /git-hashes/caddy-release.txt: -------------------------------------------------------------------------------- 1 | v2.10.2 2 | -------------------------------------------------------------------------------- /git-hashes/ovh.txt: -------------------------------------------------------------------------------- 1 | 17fd665136b593153167bf9dfee9a3c0bd2c7ac0 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/alidns.txt: -------------------------------------------------------------------------------- 1 | a857a02269080fef400bccbe8bfc98bb69b39542 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/civo.txt: -------------------------------------------------------------------------------- 1 | e2766c887ff53e6d24eb2646bbae85af77f41a78 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/ddnss.txt: -------------------------------------------------------------------------------- 1 | 7f65108b0a6249d8e630fe2431143069c4317ee4 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/desec.txt: -------------------------------------------------------------------------------- 1 | 3a2346e8855981eb139d7dfac4e252a827b5ecf7 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/dnspod.txt: -------------------------------------------------------------------------------- 1 | 1fd4ce87e919f47db5fa029c31ae74b9737a58af HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/duckdns.txt: -------------------------------------------------------------------------------- 1 | 86ea11d23d37c85f3900a8c3093405e2bcd68d2e HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/dynv6.txt: -------------------------------------------------------------------------------- 1 | 71fad600afb29911aa04cbfd99f7d5d878c3bc48 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/gandi.txt: -------------------------------------------------------------------------------- 1 | d814cce86812e1e78544496e8f79e725058d8f1a HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/glesys.txt: -------------------------------------------------------------------------------- 1 | bdd770cc52c18990d6dbba99cfcad8bfbaa59e9f HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/hetzner.txt: -------------------------------------------------------------------------------- 1 | a35eabf73870572343093ff98687034d748e5eb3 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/hosttech.txt: -------------------------------------------------------------------------------- 1 | 706ade8378b237a618bba8610a4c30da403a536e HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/inwx.txt: -------------------------------------------------------------------------------- 1 | 0f77239a2ff4144dcbae5339535cfe4f539c3143 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/ionos.txt: -------------------------------------------------------------------------------- 1 | e892a221f283f47116e696fec80a5b704def5c08 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/leaseweb.txt: -------------------------------------------------------------------------------- 1 | 2250f553ccfc4e6295cc32b21a9d3fd8a1edda28 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/linode.txt: -------------------------------------------------------------------------------- 1 | 8d22aced594f0de03dba7bcbb26f00b4de4f0140 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/metaname.txt: -------------------------------------------------------------------------------- 1 | 329557bb1723d0713870108599630909a935bfe0 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/namesilo.txt: -------------------------------------------------------------------------------- 1 | 00a9bfe62f0021046f5668888fe97cf99888a795 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/netlify.txt: -------------------------------------------------------------------------------- 1 | c1477a09d3352242156e000f7e6abed9ffe60f72 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/njalla.txt: -------------------------------------------------------------------------------- 1 | f709141f1fe628c34dbcfb6e7b6ffcfd5100ab7e HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/porkbun.txt: -------------------------------------------------------------------------------- 1 | ce0d8d12ed133b8438c28863f6bf3c63bf83a279 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/powerdns.txt: -------------------------------------------------------------------------------- 1 | fce233d9b92d1e16c217bd323eb375b531eb31d1 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/route53.txt: -------------------------------------------------------------------------------- 1 | 7b6ad1579a25333095a481d5d1bf5f4d8fa364f2 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/scaleway.txt: -------------------------------------------------------------------------------- 1 | 2760c1bb84854322dc72f29f8a3994ef61d49794 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/vercel.txt: -------------------------------------------------------------------------------- 1 | ac196e3e1b5ef24869868b744548da320318137f HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/vultr.txt: -------------------------------------------------------------------------------- 1 | 55bf3e9768beb9c465cc795fba6ee774573a5d22 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/cloudflare.txt: -------------------------------------------------------------------------------- 1 | 6dc1fbb7e925b0da6736780db2e90f4816b79ab7 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/digitalocean.txt: -------------------------------------------------------------------------------- 1 | 04bde2867106aa1b44c2f9da41a285fa02e629c5 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/directadmin.txt: -------------------------------------------------------------------------------- 1 | caede21887423edfc49faeb81aafba8fc49bd097 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/infomaniak.txt: -------------------------------------------------------------------------------- 1 | ad87fbe60923fb2778b62b6d0ce3a93b40d2cd7f HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/mythicbeasts.txt: -------------------------------------------------------------------------------- 1 | 9ba5c537cd8e170ccc505a51126b358face25675 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/namecheap.txt: -------------------------------------------------------------------------------- 1 | c7fcf32a68fbf6424aa29ba49a8d588f424bd364 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/namedotcom.txt: -------------------------------------------------------------------------------- 1 | b9fae156cd97e1720f20aa03d82f96d2cf773e7a HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/tencentcloud.txt: -------------------------------------------------------------------------------- 1 | e1d4c80e2ffc2777aee0f06969fc27fb8a928ec8 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/google-domains.txt: -------------------------------------------------------------------------------- 1 | f8efef531adad90f1134b7ba58b33aba20947abf HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/googleclouddns.txt: -------------------------------------------------------------------------------- 1 | 6fcdbd98a8565df50ff40ff53411dc6c8d97dcd9 HEAD 2 | -------------------------------------------------------------------------------- /git-hashes/openstack-designate.txt: -------------------------------------------------------------------------------- 1 | 3d04840644828859aacf731311c96004750e3bab HEAD 2 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM caddy:builder AS builder 2 | ARG GO_LINK 3 | ENV GO_LINK=$GO_LINK 4 | 5 | RUN xcaddy build --with $GO_LINK 6 | 7 | FROM caddy:latest 8 | 9 | COPY --from=builder /usr/bin/caddy /usr/bin/caddy -------------------------------------------------------------------------------- /Dockerfile-alpine: -------------------------------------------------------------------------------- 1 | FROM caddy:builder-alpine AS builder 2 | ARG GO_LINK 3 | ENV GO_LINK=$GO_LINK 4 | 5 | RUN xcaddy build --with $GO_LINK 6 | 7 | FROM caddy:alpine 8 | 9 | COPY --from=builder /usr/bin/caddy /usr/bin/caddy -------------------------------------------------------------------------------- /commit-check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # $1=git link $2 = local hash file $3 remote/file that contains the hash in the repo $4 output name 3 | git ls-remote $1 HEAD > $2 4 | 5 | local="$2" 6 | remote="$3" 7 | # if the files match, then it means the build is up-to-date, so no need to rebuild. 8 | if cmp -s "$local" "$remote"; then 9 | echo "$4=false" >> $GITHUB_OUTPUT 10 | else 11 | echo "$4=true" >> $GITHUB_OUTPUT 12 | fi -------------------------------------------------------------------------------- /.github/workflows/start-build.yml: -------------------------------------------------------------------------------- 1 | name: build cloudflare dns image 2 | 3 | on: 4 | workflow_call: 5 | inputs: 6 | dockerfile: 7 | required: true 8 | type: string 9 | dockerfile_alpine: 10 | required: true 11 | type: string 12 | image_title: 13 | required: true 14 | type: string 15 | license: 16 | required: true 17 | type: string 18 | tag: 19 | required: true 20 | type: string 21 | alpine_tag: 22 | required: true 23 | type: string 24 | go_plugin_link: 25 | required: true 26 | type: string 27 | hash_file: 28 | required: true 29 | type: string 30 | plugin_name: 31 | required: true 32 | type: string 33 | repo: 34 | required: true 35 | type: string 36 | 37 | concurrency: ${{ inputs.plugin_name }} 38 | 39 | jobs: 40 | build-image: 41 | uses: FarisZR/caddy-dns-OCI/.github/workflows/build-image.yml@main 42 | secrets: inherit 43 | permissions: 44 | packages: write 45 | with: 46 | image_name: fariszr/caddy-dns 47 | dockerfile: ${{ inputs.dockerfile }} 48 | image_title: ${{ inputs.image_title }} 49 | license: ${{ inputs.license }} 50 | tag: ${{ inputs.tag }} 51 | go_plugin_link: ${{ inputs.go_plugin_link }} 52 | 53 | build-alpine-image: 54 | uses: FarisZR/caddy-dns-OCI/.github/workflows/build-image.yml@main 55 | secrets: inherit 56 | permissions: 57 | packages: write 58 | with: 59 | image_name: fariszr/caddy-dns 60 | dockerfile: ${{ inputs.dockerfile_alpine }} 61 | image_title: ${{ inputs.image_title }} 62 | license: ${{ inputs.license }} 63 | tag: ${{ inputs.alpine_tag }} 64 | go_plugin_link: ${{ inputs.go_plugin_link }} 65 | 66 | update-plugin-build-commit: 67 | runs-on: ubuntu-latest 68 | needs: build-image 69 | env: 70 | HASH_FILE: ${{ inputs.hash_file }} 71 | REPO: ${{ inputs.repo }} 72 | steps: 73 | - name: Checkout repository 74 | uses: actions/checkout@v3 75 | 76 | - name: fetch latest commits 77 | run: git pull 78 | 79 | - name: Update build commit 80 | run: git ls-remote ${{ env.REPO }} HEAD > ${{ env.HASH_FILE }} 81 | 82 | - name: commit and push hash update 83 | uses: stefanzweifel/git-auto-commit-action@v4 84 | with: 85 | file_pattern: ${{ inputs.hash_file }} 86 | commit_message: update ${{ inputs.plugin_name }} build commit -------------------------------------------------------------------------------- /.github/workflows/build-image.yml: -------------------------------------------------------------------------------- 1 | name: build docker image 2 | 3 | on: 4 | workflow_call: 5 | inputs: 6 | image_name: 7 | required: true 8 | type: string 9 | dockerfile: 10 | required: true 11 | type: string 12 | image_title: 13 | required: true 14 | type: string 15 | license: 16 | required: true 17 | type: string 18 | tag: 19 | required: true 20 | type: string 21 | go_plugin_link: 22 | required: true 23 | type: string 24 | 25 | permissions: 26 | packages: write 27 | 28 | jobs: 29 | build-image: 30 | runs-on: ubuntu-latest 31 | env: 32 | CONTEXT: . 33 | LICENSE: ${{ inputs.license }} 34 | IMAGE_NAME: ${{ inputs.image_name }} 35 | DOCKER_FILE: ${{ inputs.dockerfile }} 36 | IMAGE_TITLE: ${{ inputs.image_title }} 37 | TAG: ${{ inputs.tag }} 38 | GO_LINK: ${{ inputs.go_plugin_link }} 39 | 40 | steps: 41 | - name: Checkout repository 42 | uses: actions/checkout@v3 43 | 44 | - name: Set up QEMU 45 | uses: docker/setup-qemu-action@master 46 | with: 47 | platforms: all 48 | 49 | # Workaround: https://github.com/docker/build-push-action/issues/461 50 | - name: Setup Docker buildx 51 | uses: docker/setup-buildx-action@v2 52 | 53 | # Login against a Docker registry except on PR 54 | # https://github.com/docker/login-action 55 | - name: Log into registry docker.io 56 | if: github.event_name != 'pull_request' 57 | uses: docker/login-action@v2 58 | with: 59 | registry: docker.io 60 | username: ${{ secrets.DOCKER_USER }} 61 | password: ${{ secrets.DOCKER_PASS }} 62 | 63 | - name: Log into registry quay.io 64 | if: github.event_name != 'pull_request' 65 | uses: docker/login-action@v2 66 | with: 67 | registry: quay.io 68 | username: ${{ secrets.QUAY_USER }} 69 | password: ${{ secrets.QUAY_PASS }} 70 | 71 | - name: Log into registry ghcr.io 72 | if: github.event_name != 'pull_request' 73 | uses: docker/login-action@v2 74 | with: 75 | registry: ghcr.io 76 | username: ${{ github.actor }} 77 | password: ${{ secrets.GITHUB_TOKEN }} 78 | 79 | # Extract metadata (tags, labels) for Docker 80 | # https://github.com/docker/metadata-action 81 | - name: Extract Docker metadata 82 | id: meta 83 | uses: docker/metadata-action@v4 84 | with: 85 | images: | 86 | ghcr.io/${{ env.IMAGE_NAME }} 87 | quay.io/${{ env.IMAGE_NAME }} 88 | docker.io/${{ env.IMAGE_NAME }} 89 | labels: | 90 | org.opencontainers.image.licenses=${{ env.LICENSE }} 91 | org.opencontainers.image.title=${{ env.IMAGE_TITLE }} 92 | org.opencontainers.image.source=https://github.com/FarisZR/caddy-dns-OCI 93 | 94 | # Build and push Docker image with Buildx (don't push on PR) 95 | # https://github.com/docker/build-push-action 96 | - name: Build and push Docker image 97 | id: build-and-push 98 | uses: docker/build-push-action@v4 99 | with: 100 | context: ${{ env.CONTEXT }} 101 | file: ${{ env.DOCKER_FILE }} 102 | platforms: linux/amd64,linux/arm64,linux/arm/v7, linux/arm/v6 103 | push: ${{ github.event_name != 'pull_request' }} 104 | build-args: "GO_LINK=${{ env.GO_LINK }}" 105 | tags: | 106 | quay.io/${{ env.IMAGE_NAME }}:${{ env.TAG }} 107 | ghcr.io/${{ env.IMAGE_NAME }}:${{ env.TAG }} 108 | docker.io/${{ env.IMAGE_NAME }}:${{ env.TAG }} 109 | labels: ${{ steps.meta.outputs.labels }} 110 | cache-from: type=gha 111 | cache-to: type=gha,mode=max -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # caddy-dns-OCI 2 | I created this project to avoid having to manually update my custom caddy images. 3 | It checks for updates 4 times a day (every 6 hours) and rebuilds the images accordingly. 4 | 5 | ## Which plugins are supported? 6 | Pretty much all plugins except lego-deprecated and plugins affected by https://github.com/FarisZR/caddy-dns-OCI/issues/1 or https://github.com/FarisZR/caddy-dns-OCI/issues/2 7 | 8 | **If you notice a plugin that is not listed in this project, open a [PR](#contributing)!**. 9 | 10 | Are all plugins being built correctly? 11 | This should be green, if it fails then something is not building correctly. 12 | 13 | [![Main workflow](https://github.com/FarisZR/caddy-dns-OCI/actions/workflows/main-workflow.yml/badge.svg)](https://github.com/FarisZR/caddy-dns-OCI/actions/workflows/main-workflow.yml) 14 | 15 | ## usage 16 | 17 | ```bash 18 | docker pull oci.fariszr.com/fariszr/caddy-dns:(YOURPLUGINNAME) 19 | ``` 20 | ### Alpine 21 | 22 | ```bash 23 | docker pull oci.fariszr.com/fariszr/caddy-dns:(YOURPLUGINNAME)-alpine 24 | ``` 25 | 26 | ## Supported architectures 27 | - AMD64 28 | - ARM64 29 | - ARMv7 30 | - ARMv6 31 | 32 | 33 | ## Registries 34 | - `oci.fariszr.com` (Recommended, it's a redirect to [Quay.io](https://quay.io), and in the case of a new [rug pull](https://httptoolkit.com/blog/docker-image-registry-facade/), I can move to another host without changing the URL) 35 | - GitHub packages (ghcr.io/FarisZR/caddy-dns) 36 | - [docker hub](https://hub.docker.com/r/fariszr/caddy-dns) 37 | 38 | ## How does it work? 39 | Glad you asked! 40 | This is basically a CI project, relying on some quick scripts to check for remote pushes and versioning without any webhooks, which is possible because GitHub actions are unlimited for public repos (thanks Github!). 41 | 42 | ## Checking for caddy and plugin updates 43 | 44 | ### When there is a new caddy release 45 | First, the `check-for-new-caddy-release` job will run, and use the GitHub API to compare the latest caddy release with the one in [caddy-release.txt](./git-hashes/caddy-release.txt). 46 | If it is different, it will set the `caddy` output to true, which will trigger `update-caddy-build-version` to update the version in the repo. 47 | Then the `check-for-plugin-updates` job will start, and since caddy itself is out of date, it will skip all plugin checks and set all plugins as out of date to force a rebuild. 48 | (It will also trigger all builds if the `trigger_all_builds` input of a `workflow_dispatch` event is set to true). 49 | 50 | ### When a plugin is out of date 51 | If Caddy is up to date, the `check-for-plugin-updates` job will use the [commit-check.sh](./commit-check.sh) script to fetch the latest remote commit and compare it with the hashes in the [git-hashes](./git-hashes/) folder. 52 | If there is a new hash, it will set a plugin-specific output to true, which will then match the `if' expression for the build job for that specific plugin. 53 | 54 | ## Building images 55 | Now that we know which images to update, we can start the build process. 56 | Instead of adding all the steps to the [main-workflow.yml](.github/workflows/main-workflow.yml), which makes it incredibly difficult to manage, we use [reusable workflows](https://docs.github.com/en/actions/using-workflows/reusing-workflows). 57 | 58 | This way we can just edit the file once and it will apply to all plugins, in addition to having no step details in the main workflow file. 59 | 60 | 61 | The [start-build.yml](.github/workflows/start-build.yml) requires the following inputs: `dockerfile`, `dockerfile_alpine`, `image_title`, `license`, `tag`, `alpine_tag`, `go_plugin_link`, `hash_file`, `plugin_name`, `repo`. 62 | then it calls [build-image.yml](.github/workflows/build-image.yml) using those inputs twice, once for the normal image and once for alpine. 63 | and if the default build succeeds, it triggers the final job, `update-plugin-build-commit', which does what it says and updates the build hash for that plugin in [git-hashes](/git-hashes/). 64 | 65 | Each start-build.yml run uses the plugins name as a concurrency group, to stop multiple builds for the same plugin from running at the same time, without stopping builds from different checks for different plugins from continuing. 66 | 67 | ## Contribute 68 | Thanks for your interest! as long as the project doesn't hit github's 256 job limit, it should be fine. 69 | 70 | ### Use this boilerplate for main-workflow.yml edits 71 | Just replace all instances of `replaceme` with the repo name in the [caddy-dns](https://github.com/caddy-dns) org, and then paste them into the places mentioned in the comments. 72 | 73 | ```yaml 74 | # new output in the `check-for-plugin-updates` job 75 | replacme: ${{ steps.replacme.outputs.replacme-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 76 | # new step in the `check-for-plugin-updates` job 77 | - name: Pull replacme plugin remote commits 78 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 79 | id: replacme 80 | run: sh commit-check.sh https://github.com/caddy-dns/replacme replacme-local.txt git-hashes/replacme.txt replacme-out-of-date 81 | # new job at the end of the file 82 | trigger-replacme-build: 83 | needs: check-for-plugin-updates 84 | if: ${{ needs.check-for-plugin-updates.outputs.replacme == 'true' }} 85 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 86 | permissions: 87 | packages: write 88 | contents: write 89 | secrets: inherit 90 | with: 91 | dockerfile: Dockerfile 92 | dockerfile_alpine: Dockerfile-alpine 93 | image_title: Caddy with replacme dns plugin 94 | license: MIT 95 | tag: replacme 96 | alpine_tag: replacme-alpine 97 | go_plugin_link: github.com/caddy-dns/replacme 98 | hash_file: git-hashes/replacme.txt 99 | plugin_name: replacme 100 | repo: https://github.com/caddy-dns/replacme 101 | ``` 102 | 103 | ### New hash file 104 | Create an empty .txt file named after the upstream repos name in the [git-hashes](/git-hashes/) folder. 105 | For example, the ovh plugins file is called `ovh.txt` because the repos name is `ovh`. -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /.github/workflows/main-workflow.yml: -------------------------------------------------------------------------------- 1 | name: Main workflow 2 | 3 | on: 4 | # Possibility to run it manually 5 | workflow_dispatch: 6 | inputs: 7 | trigger_all_builds: 8 | description: build all images 9 | default: false 10 | type: boolean 11 | required: true 12 | push: 13 | paths: 14 | - ".github/workflows/main-workflow.yml" 15 | - ".github/workflows/build-image.yml" 16 | - ".github/workflows/start-build.yml" 17 | - "Dockerfile" 18 | - "Dockerfile-alpine" 19 | - "commit-check.sh" 20 | # Automated 21 | schedule: 22 | # Run Every monday at 12 pm 23 | - cron: "0 12 * * 1" 24 | 25 | jobs: 26 | check-for-new-caddy-release: 27 | runs-on: ubuntu-latest 28 | outputs: 29 | caddy: ${{ steps.git-check.outputs.caddy-out-of-date }} 30 | steps: 31 | - name: Checkout repository 32 | uses: actions/checkout@v3 33 | 34 | - name: Fetch release version 35 | run: | 36 | curl -sL https://api.github.com/repos/caddyserver/caddy/releases/latest | \ 37 | jq -r ".tag_name" > git-hashes/caddy-release.txt 38 | 39 | - name: Check for modified files 40 | id: git-check 41 | run: echo "caddy-out-of-date=$([ -z "`git status --porcelain`" ] && echo "false" || echo "true")" >> $GITHUB_OUTPUT 42 | 43 | update-caddy-build-version: 44 | runs-on: ubuntu-latest 45 | needs: check-for-new-caddy-release 46 | if: ${{ needs.check-for-new-caddy-release.outputs.caddy == 'true' }} 47 | permissions: 48 | contents: write 49 | steps: 50 | - name: Checkout repository 51 | uses: actions/checkout@v3 52 | 53 | - name: Fetch release version 54 | run: | 55 | curl -sL https://api.github.com/repos/caddyserver/caddy/releases/latest | \ 56 | jq -r ".tag_name" > git-hashes/caddy-release.txt 57 | 58 | - name: Commit latest build version 59 | run: | 60 | git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" 61 | git config --local user.name "github-actions[bot]" 62 | git pull 63 | git add git-hashes/caddy-release.txt 64 | git commit -am "update current caddy build version" 65 | 66 | - name: Push changes 67 | uses: ad-m/github-push-action@master 68 | with: 69 | github_token: ${{ secrets.GITHUB_TOKEN }} 70 | branch: ${{ github.ref }} 71 | 72 | check-for-plugin-updates: 73 | runs-on: ubuntu-latest 74 | needs: check-for-new-caddy-release 75 | outputs: 76 | desec: ${{ steps.desec.outputs.desec-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 77 | cloudflare: ${{ steps.cloudflare.outputs.cloudflare-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 78 | duckdns: ${{ steps.duckdns.outputs.duckdns-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 79 | route53: ${{ steps.route53.outputs.route53-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 80 | namecheap: ${{ steps.namecheap.outputs.namecheap-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 81 | digitalocean: ${{ steps.digitalocean.outputs.digitalocean-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 82 | hetzner: ${{ steps.hetzner.outputs.hetzner-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 83 | # acmedns: ${{ steps.acmedns.outputs.acmedns-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 84 | alidns: ${{ steps.alidns.outputs.alidns-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 85 | dnspod: ${{ steps.dnspod.outputs.dnspod-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 86 | google-domains: ${{ steps.google-domains.outputs.google-domains-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 87 | vercel: ${{ steps.vercel.outputs.vercel-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 88 | # netcup: ${{ steps.netcup.outputs.netcup-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 89 | powerdns: ${{ steps.powerdns.outputs.powerdns-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 90 | googleclouddns: ${{ steps.googleclouddns.outputs.googleclouddns-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 91 | ovh: ${{ steps.ovh.outputs.ovh-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 92 | netlify: ${{ steps.netlify.outputs.netlify-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 93 | ionos: ${{ steps.ionos.outputs.ionos-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 94 | porkbun: ${{ steps.porkbun.outputs.porkbun-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 95 | # gandi: ${{ steps.gandi.outputs.gandi-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 96 | dynv6: ${{ steps.dynv6.outputs.dynv6-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 97 | openstack-designate: ${{ steps.openstack-designate.outputs.openstack-designate-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 98 | njalla: ${{ steps.njalla.outputs.njalla-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 99 | # rfc2136: ${{ steps.rfc2136.outputs.rfc2136-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 100 | leaseweb: ${{ steps.leaseweb.outputs.leaseweb-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 101 | linode: ${{ steps.linode.outputs.linode-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 102 | vultr: ${{ steps.vultr.outputs.vultr-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 103 | inwx: ${{ steps.inwx.outputs.inwx-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 104 | mythicbeasts: ${{ steps.mythicbeasts.outputs.mythicbeasts-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 105 | # transip: ${{ steps.transip.outputs.transip-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 106 | # godaddy: ${{ steps.godaddy.outputs.godaddy-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 107 | namesilo: ${{ steps.namesilo.outputs.namesilo-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 108 | namedotcom: ${{ steps.namedotcom.outputs.namedotcom-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 109 | directadmin: ${{ steps.directadmin.outputs.directadmin-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 110 | tencentcloud: ${{ steps.tencentcloud.outputs.tencentcloud-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 111 | civo: ${{ steps.civo.outputs.civo-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 112 | infomaniak: ${{ steps.infomaniak.outputs.infomaniak-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 113 | hosttech: ${{ steps.hosttech.outputs.hosttech-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 114 | totaluptime: ${{ steps.totaluptime.outputs.totaluptime-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 115 | scaleway: ${{ steps.scaleway.outputs.scaleway-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 116 | ddnss: ${{ steps.ddnss.outputs.ddnss-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 117 | # dinahosting: ${{ steps.dinahosting.outputs.dinahosting-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 118 | metaname: ${{ steps.metaname.outputs.metaname-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 119 | nicrudns: ${{ steps.nicrudns.outputs.nicrudns-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 120 | glesys: ${{ steps.glesys.outputs.glesys-out-of-date || steps.caddy-check.outputs.plugins-out-of-date }} 121 | 122 | steps: 123 | - name: Checkout repository 124 | uses: actions/checkout@v3 125 | 126 | - name: trigger all builds if there is a new caddy release or if requested 127 | if: ${{ github.event.inputs.trigger_all_builds == 'true' || needs.check-for-new-caddy-release.outputs.caddy == 'true' }} 128 | id: caddy-check 129 | run: | 130 | echo "plugins-out-of-date=true" >> $GITHUB_OUTPUT 131 | 132 | - name: Pull desec plugin remote commits 133 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 134 | id: desec 135 | run: sh commit-check.sh https://github.com/caddy-dns/desec desec-local.txt git-hashes/desec.txt desec-out-of-date 136 | 137 | - name: Pull cloudflare plugin remote commits 138 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 139 | id: cloudflare 140 | run: sh commit-check.sh https://github.com/caddy-dns/cloudflare cloudflare-local.txt git-hashes/cloudflare.txt cloudflare-out-of-date 141 | 142 | - name: Pull duckdns plugin remote commits 143 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 144 | id: duckdns 145 | run: sh commit-check.sh https://github.com/caddy-dns/duckdns duckdns-local.txt git-hashes/duckdns.txt duckdns-out-of-date 146 | 147 | - name: Pull route53 plugin remote commits 148 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 149 | id: route53 150 | run: sh commit-check.sh https://github.com/caddy-dns/route53 route53-local.txt git-hashes/route53.txt route53-out-of-date 151 | 152 | - name: Pull namecheap plugin remote commits 153 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 154 | id: namecheap 155 | run: sh commit-check.sh https://github.com/caddy-dns/namecheap namecheap-local.txt git-hashes/namecheap.txt namecheap-out-of-date 156 | 157 | - name: Pull digitalocean plugin remote commits 158 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 159 | id: digitalocean 160 | run: sh commit-check.sh https://github.com/caddy-dns/digitalocean digitalocean-local.txt git-hashes/digitalocean.txt digitalocean-out-of-date 161 | 162 | - name: Pull hetzner plugin remote commits 163 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 164 | id: hetzner 165 | run: sh commit-check.sh https://github.com/caddy-dns/hetzner hetzner-local.txt git-hashes/hetzner.txt hetzner-out-of-date 166 | 167 | # - name: Pull acmedns plugin remote commits 168 | # if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 169 | # id: acmedns 170 | # run: sh commit-check.sh https://github.com/caddy-dns/acmedns acmedns-local.txt git-hashes/acmedns.txt acmedns-out-of-date 171 | 172 | - name: Pull alidns plugin remote commits 173 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 174 | id: alidns 175 | run: sh commit-check.sh https://github.com/caddy-dns/alidns alidns-local.txt git-hashes/alidns.txt alidns-out-of-date 176 | 177 | - name: Pull dnspod plugin remote commits 178 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 179 | id: dnspod 180 | run: sh commit-check.sh https://github.com/caddy-dns/dnspod dnspod-local.txt git-hashes/dnspod.txt dnspod-out-of-date 181 | 182 | - name: Pull google-domains plugin remote commits 183 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 184 | id: google-domains 185 | run: sh commit-check.sh https://github.com/caddy-dns/google-domains google-domains-local.txt git-hashes/google-domains.txt google-domains-out-of-date 186 | 187 | - name: Pull vercel plugin remote commits 188 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 189 | id: vercel 190 | run: sh commit-check.sh https://github.com/caddy-dns/vercel vercel-local.txt git-hashes/vercel.txt vercel-out-of-date 191 | 192 | # - name: Pull netcup plugin remote commits 193 | # if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 194 | # id: netcup 195 | # run: sh commit-check.sh https://github.com/caddy-dns/netcup netcup-local.txt git-hashes/netcup.txt netcup-out-of-date 196 | 197 | - name: Pull powerdns plugin remote commits 198 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 199 | id: powerdns 200 | run: sh commit-check.sh https://github.com/caddy-dns/powerdns powerdns-local.txt git-hashes/powerdns.txt powerdns-out-of-date 201 | 202 | - name: Pull googleclouddns plugin remote commits 203 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 204 | id: googleclouddns 205 | run: sh commit-check.sh https://github.com/caddy-dns/googleclouddns googleclouddns-local.txt git-hashes/googleclouddns.txt googleclouddns-out-of-date 206 | 207 | - name: Pull ovh plugin remote commits 208 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 209 | id: ovh 210 | run: sh commit-check.sh https://github.com/caddy-dns/ovh ovh-local.txt git-hashes/ovh.txt ovh-out-of-date 211 | 212 | - name: Pull netlify plugin remote commits 213 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 214 | id: netlify 215 | run: sh commit-check.sh https://github.com/caddy-dns/netlify netlify-local.txt git-hashes/netlify.txt netlify-out-of-date 216 | 217 | - name: Pull ionos plugin remote commits 218 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 219 | id: ionos 220 | run: sh commit-check.sh https://github.com/caddy-dns/ionos ionos-local.txt git-hashes/ionos.txt ionos-out-of-date 221 | 222 | - name: Pull porkbun plugin remote commits 223 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 224 | id: porkbun 225 | run: sh commit-check.sh https://github.com/caddy-dns/porkbun porkbun-local.txt git-hashes/porkbun.txt porkbun-out-of-date 226 | 227 | # - name: Pull gandi plugin remote commits 228 | # if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 229 | # id: gandi 230 | # run: sh commit-check.sh https://github.com/caddy-dns/gandi gandi-local.txt git-hashes/gandi.txt gandi-out-of-date 231 | 232 | - name: Pull dynv6 plugin remote commits 233 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 234 | id: dynv6 235 | run: sh commit-check.sh https://github.com/caddy-dns/dynv6 dynv6-local.txt git-hashes/dynv6.txt dynv6-out-of-date 236 | 237 | - name: Pull openstack-designate plugin remote commits 238 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 239 | id: openstack-designate 240 | run: sh commit-check.sh https://github.com/caddy-dns/openstack-designate openstack-designate-local.txt git-hashes/openstack-designate.txt openstack-designate-out-of-date 241 | 242 | - name: Pull njalla plugin remote commits 243 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 244 | id: njalla 245 | run: sh commit-check.sh https://github.com/caddy-dns/njalla njalla-local.txt git-hashes/njalla.txt njalla-out-of-date 246 | 247 | # - name: Pull rfc2136 plugin remote commits 248 | # if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 249 | # id: rfc2136 250 | # run: sh commit-check.sh https://github.com/caddy-dns/rfc2136 rfc2136-local.txt git-hashes/rfc2136.txt rfc2136-out-of-date 251 | 252 | - name: Pull leaseweb plugin remote commits 253 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 254 | id: leaseweb 255 | run: sh commit-check.sh https://github.com/caddy-dns/leaseweb leaseweb-local.txt git-hashes/leaseweb.txt leaseweb-out-of-date 256 | 257 | - name: Pull linode plugin remote commits 258 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 259 | id: linode 260 | run: sh commit-check.sh https://github.com/caddy-dns/linode linode-local.txt git-hashes/linode.txt linode-out-of-date 261 | 262 | - name: Pull vultr plugin remote commits 263 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 264 | id: vultr 265 | run: sh commit-check.sh https://github.com/caddy-dns/vultr vultr-local.txt git-hashes/vultr.txt vultr-out-of-date 266 | 267 | - name: Pull inwx plugin remote commits 268 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 269 | id: inwx 270 | run: sh commit-check.sh https://github.com/caddy-dns/inwx inwx-local.txt git-hashes/inwx.txt inwx-out-of-date 271 | 272 | - name: Pull mythicbeasts plugin remote commits 273 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 274 | id: mythicbeasts 275 | run: sh commit-check.sh https://github.com/caddy-dns/mythicbeasts mythicbeasts-local.txt git-hashes/mythicbeasts.txt mythicbeasts-out-of-date 276 | 277 | # - name: Pull transip plugin remote commits 278 | # if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 279 | # id: transip 280 | # run: sh commit-check.sh https://github.com/caddy-dns/transip transip-local.txt git-hashes/transip.txt transip-out-of-date 281 | 282 | # - name: Pull godaddy plugin remote commits 283 | # if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 284 | # id: godaddy 285 | # run: sh commit-check.sh https://github.com/caddy-dns/godaddy godaddy-local.txt git-hashes/godaddy.txt godaddy-out-of-date 286 | 287 | - name: Pull namesilo plugin remote commits 288 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 289 | id: namesilo 290 | run: sh commit-check.sh https://github.com/caddy-dns/namesilo namesilo-local.txt git-hashes/namesilo.txt namesilo-out-of-date 291 | 292 | - name: Pull namedotcom plugin remote commits 293 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 294 | id: namedotcom 295 | run: sh commit-check.sh https://github.com/caddy-dns/namedotcom namedotcom-local.txt git-hashes/namedotcom.txt namedotcom-out-of-date 296 | 297 | - name: Pull directadmin plugin remote commits 298 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 299 | id: directadmin 300 | run: sh commit-check.sh https://github.com/caddy-dns/directadmin directadmin-local.txt git-hashes/directadmin.txt directadmin-out-of-date 301 | 302 | - name: Pull tencentcloud plugin remote commits 303 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 304 | id: tencentcloud 305 | run: sh commit-check.sh https://github.com/caddy-dns/tencentcloud tencentcloud-local.txt git-hashes/tencentcloud.txt tencentcloud-out-of-date 306 | 307 | - name: Pull civo plugin remote commits 308 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 309 | id: civo 310 | run: sh commit-check.sh https://github.com/caddy-dns/civo civo-local.txt git-hashes/civo.txt civo-out-of-date 311 | 312 | - name: Pull infomaniak plugin remote commits 313 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 314 | id: infomaniak 315 | run: sh commit-check.sh https://github.com/caddy-dns/infomaniak infomaniak-local.txt git-hashes/infomaniak.txt infomaniak-out-of-date 316 | 317 | - name: Pull hosttech plugin remote commits 318 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 319 | id: hosttech 320 | run: sh commit-check.sh https://github.com/caddy-dns/hosttech hosttech-local.txt git-hashes/hosttech.txt hosttech-out-of-date 321 | 322 | - name: Pull totaluptime plugin remote commits 323 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 324 | id: totaluptime 325 | run: sh commit-check.sh https://github.com/caddy-dns/totaluptime totaluptime-local.txt git-hashes/totaluptime.txt totaluptime-out-of-date 326 | 327 | - name: Pull scaleway plugin remote commits 328 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 329 | id: scaleway 330 | run: sh commit-check.sh https://github.com/caddy-dns/scaleway scaleway-local.txt git-hashes/scaleway.txt scaleway-out-of-date 331 | 332 | - name: Pull ddnss plugin remote commits 333 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 334 | id: ddnss 335 | run: sh commit-check.sh https://github.com/caddy-dns/ddnss ddnss-local.txt git-hashes/ddnss.txt ddnss-out-of-date 336 | 337 | # - name: Pull dinahosting plugin remote commits 338 | # if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 339 | # id: dinahosting 340 | # run: sh commit-check.sh https://github.com/caddy-dns/dinahosting dinahosting-local.txt git-hashes/dinahosting.txt dinahosting-out-of-date 341 | 342 | - name: Pull metaname plugin remote commits 343 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 344 | id: metaname 345 | run: sh commit-check.sh https://github.com/caddy-dns/metaname metaname-local.txt git-hashes/metaname.txt metaname-out-of-date 346 | 347 | - name: Pull nicrudns plugin remote commits 348 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 349 | id: nicrudns 350 | run: sh commit-check.sh https://github.com/caddy-dns/nicrudns nicrudns-local.txt git-hashes/nicrudns.txt nicrudns-out-of-date 351 | 352 | - name: Pull glesys plugin remote commits 353 | if: ${{ github.event.inputs.trigger_all_builds == 'false' || github.event.inputs.trigger_all_builds == '' && needs.check-for-new-caddy-release.outputs.caddy == 'false' }} #workaround, github inputs will be empty by default 354 | id: glesys 355 | run: sh commit-check.sh https://github.com/caddy-dns/glesys glesys-local.txt git-hashes/glesys.txt glesys-out-of-date 356 | 357 | trigger-desec-build: 358 | needs: check-for-plugin-updates 359 | if: ${{ needs.check-for-plugin-updates.outputs.desec == 'true' }} 360 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 361 | permissions: 362 | packages: write 363 | contents: write 364 | secrets: inherit 365 | with: 366 | dockerfile: Dockerfile 367 | dockerfile_alpine: Dockerfile-alpine 368 | image_title: Caddy with desec dns plugin 369 | license: MIT 370 | tag: desec 371 | alpine_tag: desec-alpine 372 | go_plugin_link: github.com/caddy-dns/desec 373 | hash_file: git-hashes/desec.txt 374 | plugin_name: desec 375 | repo: https://github.com/caddy-dns/desec 376 | 377 | trigger-cloudflare-build: 378 | needs: check-for-plugin-updates 379 | if: ${{ needs.check-for-plugin-updates.outputs.cloudflare == 'true' }} 380 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 381 | permissions: 382 | packages: write 383 | contents: write 384 | secrets: inherit 385 | with: 386 | dockerfile: Dockerfile 387 | dockerfile_alpine: Dockerfile-alpine 388 | image_title: Caddy with cloudflare dns plugin 389 | license: MIT 390 | tag: cloudflare 391 | alpine_tag: cloudflare-alpine 392 | go_plugin_link: github.com/caddy-dns/cloudflare 393 | hash_file: git-hashes/cloudflare.txt 394 | plugin_name: cloudflare 395 | repo: https://github.com/caddy-dns/cloudflare 396 | 397 | trigger-duckdns-build: 398 | needs: check-for-plugin-updates 399 | if: ${{ needs.check-for-plugin-updates.outputs.duckdns == 'true' }} 400 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 401 | permissions: 402 | packages: write 403 | contents: write 404 | secrets: inherit 405 | with: 406 | dockerfile: Dockerfile 407 | dockerfile_alpine: Dockerfile-alpine 408 | image_title: Caddy with duckdns dns plugin 409 | license: MIT 410 | tag: duckdns 411 | alpine_tag: duckdns-alpine 412 | go_plugin_link: github.com/caddy-dns/duckdns 413 | hash_file: git-hashes/duckdns.txt 414 | plugin_name: duckdns 415 | repo: https://github.com/caddy-dns/duckdns 416 | 417 | trigger-route53-build: 418 | needs: check-for-plugin-updates 419 | if: ${{ needs.check-for-plugin-updates.outputs.route53 == 'true' }} 420 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 421 | permissions: 422 | packages: write 423 | contents: write 424 | secrets: inherit 425 | with: 426 | dockerfile: Dockerfile 427 | dockerfile_alpine: Dockerfile-alpine 428 | image_title: Caddy with route53 dns plugin 429 | license: MIT 430 | tag: route53 431 | alpine_tag: route53-alpine 432 | go_plugin_link: github.com/caddy-dns/route53 433 | hash_file: git-hashes/route53.txt 434 | plugin_name: route53 435 | repo: https://github.com/caddy-dns/route53 436 | 437 | trigger-namecheap-build: 438 | needs: check-for-plugin-updates 439 | if: ${{ needs.check-for-plugin-updates.outputs.namecheap == 'true' }} 440 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 441 | permissions: 442 | packages: write 443 | contents: write 444 | secrets: inherit 445 | with: 446 | dockerfile: Dockerfile 447 | dockerfile_alpine: Dockerfile-alpine 448 | image_title: Caddy with namecheap dns plugin 449 | license: MIT 450 | tag: namecheap 451 | alpine_tag: namecheap-alpine 452 | go_plugin_link: github.com/caddy-dns/namecheap 453 | hash_file: git-hashes/namecheap.txt 454 | plugin_name: namecheap 455 | repo: https://github.com/caddy-dns/namecheap 456 | 457 | trigger-digitalocean-build: 458 | needs: check-for-plugin-updates 459 | if: ${{ needs.check-for-plugin-updates.outputs.digitalocean == 'true' }} 460 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 461 | permissions: 462 | packages: write 463 | contents: write 464 | secrets: inherit 465 | with: 466 | dockerfile: Dockerfile 467 | dockerfile_alpine: Dockerfile-alpine 468 | image_title: Caddy with digitalocean dns plugin 469 | license: MIT 470 | tag: digitalocean 471 | alpine_tag: digitalocean-alpine 472 | go_plugin_link: github.com/caddy-dns/digitalocean 473 | hash_file: git-hashes/digitalocean.txt 474 | plugin_name: digitalocean 475 | repo: https://github.com/caddy-dns/digitalocean 476 | 477 | trigger-hetzner-build: 478 | needs: check-for-plugin-updates 479 | if: ${{ needs.check-for-plugin-updates.outputs.hetzner == 'true' }} 480 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 481 | permissions: 482 | packages: write 483 | contents: write 484 | secrets: inherit 485 | with: 486 | dockerfile: Dockerfile 487 | dockerfile_alpine: Dockerfile-alpine 488 | image_title: Caddy with hetzner dns plugin 489 | license: MIT 490 | tag: hetzner 491 | alpine_tag: hetzner-alpine 492 | go_plugin_link: github.com/caddy-dns/hetzner 493 | hash_file: git-hashes/hetzner.txt 494 | plugin_name: hetzner 495 | repo: https://github.com/caddy-dns/hetzner 496 | 497 | # trigger-acmedns-build: 498 | # needs: check-for-plugin-updates 499 | # if: ${{ needs.check-for-plugin-updates.outputs.acmedns == 'true' }} 500 | # uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 501 | # permissions: 502 | # packages: write 503 | # contents: write 504 | # secrets: inherit 505 | # with: 506 | # dockerfile: Dockerfile 507 | # dockerfile_alpine: Dockerfile-alpine 508 | # image_title: Caddy with acmedns dns plugin 509 | # license: MIT 510 | # tag: acmedns 511 | # alpine_tag: acmedns-alpine 512 | # go_plugin_link: github.com/caddy-dns/acmedns 513 | # hash_file: git-hashes/acmedns.txt 514 | # plugin_name: acmedns 515 | # repo: https://github.com/caddy-dns/acmedns 516 | 517 | trigger-alidns-build: 518 | needs: check-for-plugin-updates 519 | if: ${{ needs.check-for-plugin-updates.outputs.alidns == 'true' }} 520 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 521 | permissions: 522 | packages: write 523 | contents: write 524 | secrets: inherit 525 | with: 526 | dockerfile: Dockerfile 527 | dockerfile_alpine: Dockerfile-alpine 528 | image_title: Caddy with alidns dns plugin 529 | license: MIT 530 | tag: alidns 531 | alpine_tag: alidns-alpine 532 | go_plugin_link: github.com/caddy-dns/alidns 533 | hash_file: git-hashes/alidns.txt 534 | plugin_name: alidns 535 | repo: https://github.com/caddy-dns/alidns 536 | 537 | trigger-dnspod-build: 538 | needs: check-for-plugin-updates 539 | if: ${{ needs.check-for-plugin-updates.outputs.dnspod == 'true' }} 540 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 541 | permissions: 542 | packages: write 543 | contents: write 544 | secrets: inherit 545 | with: 546 | dockerfile: Dockerfile 547 | dockerfile_alpine: Dockerfile-alpine 548 | image_title: Caddy with dnspod dns plugin 549 | license: MIT 550 | tag: dnspod 551 | alpine_tag: dnspod-alpine 552 | go_plugin_link: github.com/caddy-dns/dnspod 553 | hash_file: git-hashes/dnspod.txt 554 | plugin_name: dnspod 555 | repo: https://github.com/caddy-dns/dnspod 556 | 557 | trigger-google-domains-build: 558 | needs: check-for-plugin-updates 559 | if: ${{ needs.check-for-plugin-updates.outputs.google-domains == 'true' }} 560 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 561 | permissions: 562 | packages: write 563 | contents: write 564 | secrets: inherit 565 | with: 566 | dockerfile: Dockerfile 567 | dockerfile_alpine: Dockerfile-alpine 568 | image_title: Caddy with google-domains dns plugin 569 | license: MIT 570 | tag: google-domains 571 | alpine_tag: google-domains-alpine 572 | go_plugin_link: github.com/caddy-dns/google-domains 573 | hash_file: git-hashes/google-domains.txt 574 | plugin_name: google-domains 575 | repo: https://github.com/caddy-dns/google-domains 576 | 577 | trigger-vercel-build: 578 | needs: check-for-plugin-updates 579 | if: ${{ needs.check-for-plugin-updates.outputs.vercel == 'true' }} 580 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 581 | permissions: 582 | packages: write 583 | contents: write 584 | secrets: inherit 585 | with: 586 | dockerfile: Dockerfile 587 | dockerfile_alpine: Dockerfile-alpine 588 | image_title: Caddy with vercel dns plugin 589 | license: MIT 590 | tag: vercel 591 | alpine_tag: vercel-alpine 592 | go_plugin_link: github.com/caddy-dns/vercel 593 | hash_file: git-hashes/vercel.txt 594 | plugin_name: vercel 595 | repo: https://github.com/caddy-dns/vercel 596 | 597 | # trigger-netcup-build: 598 | # needs: check-for-plugin-updates 599 | # if: ${{ needs.check-for-plugin-updates.outputs.netcup == 'true' }} 600 | # uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 601 | # permissions: 602 | # packages: write 603 | # contents: write 604 | # secrets: inherit 605 | # with: 606 | # dockerfile: Dockerfile 607 | # dockerfile_alpine: Dockerfile-alpine 608 | # image_title: Caddy with netcup dns plugin 609 | # license: MIT 610 | # tag: netcup 611 | # alpine_tag: netcup-alpine 612 | # go_plugin_link: github.com/caddy-dns/netcup 613 | # hash_file: git-hashes/netcup.txt 614 | # plugin_name: netcup 615 | # repo: https://github.com/caddy-dns/netcup 616 | 617 | trigger-powerdns-build: 618 | needs: check-for-plugin-updates 619 | if: ${{ needs.check-for-plugin-updates.outputs.powerdns == 'true' }} 620 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 621 | permissions: 622 | packages: write 623 | contents: write 624 | secrets: inherit 625 | with: 626 | dockerfile: Dockerfile 627 | dockerfile_alpine: Dockerfile-alpine 628 | image_title: Caddy with powerdns dns plugin 629 | license: MIT 630 | tag: powerdns 631 | alpine_tag: powerdns-alpine 632 | go_plugin_link: github.com/caddy-dns/powerdns 633 | hash_file: git-hashes/powerdns.txt 634 | plugin_name: powerdns 635 | repo: https://github.com/caddy-dns/powerdns 636 | 637 | trigger-googleclouddns-build: 638 | needs: check-for-plugin-updates 639 | if: ${{ needs.check-for-plugin-updates.outputs.googleclouddns == 'true' }} 640 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 641 | permissions: 642 | packages: write 643 | contents: write 644 | secrets: inherit 645 | with: 646 | dockerfile: Dockerfile 647 | dockerfile_alpine: Dockerfile-alpine 648 | image_title: Caddy with googleclouddns dns plugin 649 | license: MIT 650 | tag: googleclouddns 651 | alpine_tag: googleclouddns-alpine 652 | go_plugin_link: github.com/caddy-dns/googleclouddns 653 | hash_file: git-hashes/googleclouddns.txt 654 | plugin_name: googleclouddns 655 | repo: https://github.com/caddy-dns/googleclouddns 656 | 657 | trigger-ovh-build: 658 | needs: check-for-plugin-updates 659 | if: ${{ needs.check-for-plugin-updates.outputs.ovh == 'true' }} 660 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 661 | permissions: 662 | packages: write 663 | contents: write 664 | secrets: inherit 665 | with: 666 | dockerfile: Dockerfile 667 | dockerfile_alpine: Dockerfile-alpine 668 | image_title: Caddy with ovh dns plugin 669 | license: MIT 670 | tag: ovh 671 | alpine_tag: ovh-alpine 672 | go_plugin_link: github.com/caddy-dns/ovh 673 | hash_file: git-hashes/ovh.txt 674 | plugin_name: ovh 675 | repo: https://github.com/caddy-dns/ovh 676 | 677 | trigger-netlify-build: 678 | needs: check-for-plugin-updates 679 | if: ${{ needs.check-for-plugin-updates.outputs.netlify == 'true' }} 680 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 681 | permissions: 682 | packages: write 683 | contents: write 684 | secrets: inherit 685 | with: 686 | dockerfile: Dockerfile 687 | dockerfile_alpine: Dockerfile-alpine 688 | image_title: Caddy with netlify dns plugin 689 | license: MIT 690 | tag: netlify 691 | alpine_tag: netlify-alpine 692 | go_plugin_link: github.com/caddy-dns/netlify 693 | hash_file: git-hashes/netlify.txt 694 | plugin_name: netlify 695 | repo: https://github.com/caddy-dns/netlify 696 | 697 | trigger-ionos-build: 698 | needs: check-for-plugin-updates 699 | if: ${{ needs.check-for-plugin-updates.outputs.ionos == 'true' }} 700 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 701 | permissions: 702 | packages: write 703 | contents: write 704 | secrets: inherit 705 | with: 706 | dockerfile: Dockerfile 707 | dockerfile_alpine: Dockerfile-alpine 708 | image_title: Caddy with ionos dns plugin 709 | license: MIT 710 | tag: ionos 711 | alpine_tag: ionos-alpine 712 | go_plugin_link: github.com/caddy-dns/ionos 713 | hash_file: git-hashes/ionos.txt 714 | plugin_name: ionos 715 | repo: https://github.com/caddy-dns/ionos 716 | 717 | trigger-porkbun-build: 718 | needs: check-for-plugin-updates 719 | if: ${{ needs.check-for-plugin-updates.outputs.porkbun == 'true' }} 720 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 721 | permissions: 722 | packages: write 723 | contents: write 724 | secrets: inherit 725 | with: 726 | dockerfile: Dockerfile 727 | dockerfile_alpine: Dockerfile-alpine 728 | image_title: Caddy with porkbun dns plugin 729 | license: MIT 730 | tag: porkbun 731 | alpine_tag: porkbun-alpine 732 | go_plugin_link: github.com/caddy-dns/porkbun 733 | hash_file: git-hashes/porkbun.txt 734 | plugin_name: porkbun 735 | repo: https://github.com/caddy-dns/porkbun 736 | 737 | # trigger-gandi-build: 738 | # needs: check-for-plugin-updates 739 | # if: ${{ needs.check-for-plugin-updates.outputs.gandi == 'true' }} 740 | # uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 741 | # permissions: 742 | # packages: write 743 | # contents: write 744 | # secrets: inherit 745 | # with: 746 | # dockerfile: Dockerfile 747 | # dockerfile_alpine: Dockerfile-alpine 748 | # image_title: Caddy with gandi dns plugin 749 | # license: MIT 750 | # tag: gandi 751 | # alpine_tag: gandi-alpine 752 | # go_plugin_link: github.com/caddy-dns/gandi 753 | # hash_file: git-hashes/gandi.txt 754 | # plugin_name: gandi 755 | # repo: https://github.com/caddy-dns/gandi 756 | 757 | trigger-dynv6-build: 758 | needs: check-for-plugin-updates 759 | if: ${{ needs.check-for-plugin-updates.outputs.dynv6 == 'true' }} 760 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 761 | permissions: 762 | packages: write 763 | contents: write 764 | secrets: inherit 765 | with: 766 | dockerfile: Dockerfile 767 | dockerfile_alpine: Dockerfile-alpine 768 | image_title: Caddy with dynv6 dns plugin 769 | license: MIT 770 | tag: dynv6 771 | alpine_tag: dynv6-alpine 772 | go_plugin_link: github.com/caddy-dns/dynv6 773 | hash_file: git-hashes/dynv6.txt 774 | plugin_name: dynv6 775 | repo: https://github.com/caddy-dns/dynv6 776 | 777 | trigger-openstack-designate-build: 778 | needs: check-for-plugin-updates 779 | if: ${{ needs.check-for-plugin-updates.outputs.openstack-designate == 'true' }} 780 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 781 | permissions: 782 | packages: write 783 | contents: write 784 | secrets: inherit 785 | with: 786 | dockerfile: Dockerfile 787 | dockerfile_alpine: Dockerfile-alpine 788 | image_title: Caddy with openstack-designate dns plugin 789 | license: MIT 790 | tag: openstack-designate 791 | alpine_tag: openstack-designate-alpine 792 | go_plugin_link: github.com/caddy-dns/openstack-designate 793 | hash_file: git-hashes/openstack-designate.txt 794 | plugin_name: openstack-designate 795 | repo: https://github.com/caddy-dns/openstack-designate 796 | 797 | trigger-njalla-build: 798 | needs: check-for-plugin-updates 799 | if: ${{ needs.check-for-plugin-updates.outputs.njalla == 'true' }} 800 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 801 | permissions: 802 | packages: write 803 | contents: write 804 | secrets: inherit 805 | with: 806 | dockerfile: Dockerfile 807 | dockerfile_alpine: Dockerfile-alpine 808 | image_title: Caddy with njalla dns plugin 809 | license: MIT 810 | tag: njalla 811 | alpine_tag: njalla-alpine 812 | go_plugin_link: github.com/caddy-dns/njalla 813 | hash_file: git-hashes/njalla.txt 814 | plugin_name: njalla 815 | repo: https://github.com/caddy-dns/njalla 816 | 817 | # trigger-rfc2136-build: 818 | # needs: check-for-plugin-updates 819 | # if: ${{ needs.check-for-plugin-updates.outputs.rfc2136 == 'true' }} 820 | # uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 821 | # permissions: 822 | # packages: write 823 | # contents: write 824 | # secrets: inherit 825 | # with: 826 | # dockerfile: Dockerfile 827 | # dockerfile_alpine: Dockerfile-alpine 828 | # image_title: Caddy with rfc2136 dns plugin 829 | # license: MIT 830 | # tag: rfc2136 831 | # alpine_tag: rfc2136-alpine 832 | # go_plugin_link: github.com/caddy-dns/rfc2136 833 | # hash_file: git-hashes/rfc2136.txt 834 | # plugin_name: rfc2136 835 | # repo: https://github.com/caddy-dns/rfc2136 836 | 837 | trigger-leaseweb-build: 838 | needs: check-for-plugin-updates 839 | if: ${{ needs.check-for-plugin-updates.outputs.leaseweb == 'true' }} 840 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 841 | permissions: 842 | packages: write 843 | contents: write 844 | secrets: inherit 845 | with: 846 | dockerfile: Dockerfile 847 | dockerfile_alpine: Dockerfile-alpine 848 | image_title: Caddy with leaseweb dns plugin 849 | license: MIT 850 | tag: leaseweb 851 | alpine_tag: leaseweb-alpine 852 | go_plugin_link: github.com/caddy-dns/leaseweb 853 | hash_file: git-hashes/leaseweb.txt 854 | plugin_name: leaseweb 855 | repo: https://github.com/caddy-dns/leaseweb 856 | 857 | trigger-linode-build: 858 | needs: check-for-plugin-updates 859 | if: ${{ needs.check-for-plugin-updates.outputs.linode == 'true' }} 860 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 861 | permissions: 862 | packages: write 863 | contents: write 864 | secrets: inherit 865 | with: 866 | dockerfile: Dockerfile 867 | dockerfile_alpine: Dockerfile-alpine 868 | image_title: Caddy with linode dns plugin 869 | license: MIT 870 | tag: linode 871 | alpine_tag: linode-alpine 872 | go_plugin_link: github.com/caddy-dns/linode 873 | hash_file: git-hashes/linode.txt 874 | plugin_name: linode 875 | repo: https://github.com/caddy-dns/linode 876 | 877 | trigger-vultr-build: 878 | needs: check-for-plugin-updates 879 | if: ${{ needs.check-for-plugin-updates.outputs.vultr == 'true' }} 880 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 881 | permissions: 882 | packages: write 883 | contents: write 884 | secrets: inherit 885 | with: 886 | dockerfile: Dockerfile 887 | dockerfile_alpine: Dockerfile-alpine 888 | image_title: Caddy with vultr dns plugin 889 | license: MIT 890 | tag: vultr 891 | alpine_tag: vultr-alpine 892 | go_plugin_link: github.com/caddy-dns/vultr 893 | hash_file: git-hashes/vultr.txt 894 | plugin_name: vultr 895 | repo: https://github.com/caddy-dns/vultr 896 | 897 | trigger-inwx-build: 898 | needs: check-for-plugin-updates 899 | if: ${{ needs.check-for-plugin-updates.outputs.inwx == 'true' }} 900 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 901 | permissions: 902 | packages: write 903 | contents: write 904 | secrets: inherit 905 | with: 906 | dockerfile: Dockerfile 907 | dockerfile_alpine: Dockerfile-alpine 908 | image_title: Caddy with inwx dns plugin 909 | license: MIT 910 | tag: inwx 911 | alpine_tag: inwx-alpine 912 | go_plugin_link: github.com/caddy-dns/inwx 913 | hash_file: git-hashes/inwx.txt 914 | plugin_name: inwx 915 | repo: https://github.com/caddy-dns/inwx 916 | 917 | trigger-mythicbeasts-build: 918 | needs: check-for-plugin-updates 919 | if: ${{ needs.check-for-plugin-updates.outputs.mythicbeasts == 'true' }} 920 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 921 | permissions: 922 | packages: write 923 | contents: write 924 | secrets: inherit 925 | with: 926 | dockerfile: Dockerfile 927 | dockerfile_alpine: Dockerfile-alpine 928 | image_title: Caddy with mythicbeasts dns plugin 929 | license: MIT 930 | tag: mythicbeasts 931 | alpine_tag: mythicbeasts-alpine 932 | go_plugin_link: github.com/caddy-dns/mythicbeasts 933 | hash_file: git-hashes/mythicbeasts.txt 934 | plugin_name: mythicbeasts 935 | repo: https://github.com/caddy-dns/mythicbeasts 936 | 937 | # trigger-transip-build: 938 | # needs: check-for-plugin-updates 939 | # if: ${{ needs.check-for-plugin-updates.outputs.transip == 'true' }} 940 | # uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 941 | # permissions: 942 | # packages: write 943 | # contents: write 944 | # secrets: inherit 945 | # with: 946 | # dockerfile: Dockerfile 947 | # dockerfile_alpine: Dockerfile-alpine 948 | # image_title: Caddy with transip dns plugin 949 | # license: MIT 950 | # tag: transip 951 | # alpine_tag: transip-alpine 952 | # go_plugin_link: github.com/caddy-dns/transip 953 | # hash_file: git-hashes/transip.txt 954 | # plugin_name: transip 955 | # repo: https://github.com/caddy-dns/transip 956 | 957 | # trigger-godaddy-build: 958 | # needs: check-for-plugin-updates 959 | # if: ${{ needs.check-for-plugin-updates.outputs.godaddy == 'true' }} 960 | # uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 961 | # permissions: 962 | # packages: write 963 | # contents: write 964 | # secrets: inherit 965 | # with: 966 | # dockerfile: Dockerfile 967 | # dockerfile_alpine: Dockerfile-alpine 968 | # image_title: Caddy with godaddy dns plugin 969 | # license: MIT 970 | # tag: godaddy 971 | # alpine_tag: godaddy-alpine 972 | # go_plugin_link: github.com/caddy-dns/godaddy 973 | # hash_file: git-hashes/godaddy.txt 974 | # plugin_name: godaddy 975 | # repo: https://github.com/caddy-dns/godaddy 976 | 977 | trigger-namesilo-build: 978 | needs: check-for-plugin-updates 979 | if: ${{ needs.check-for-plugin-updates.outputs.namesilo == 'true' }} 980 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 981 | permissions: 982 | packages: write 983 | contents: write 984 | secrets: inherit 985 | with: 986 | dockerfile: Dockerfile 987 | dockerfile_alpine: Dockerfile-alpine 988 | image_title: Caddy with namesilo dns plugin 989 | license: MIT 990 | tag: namesilo 991 | alpine_tag: namesilo-alpine 992 | go_plugin_link: github.com/caddy-dns/namesilo 993 | hash_file: git-hashes/namesilo.txt 994 | plugin_name: namesilo 995 | repo: https://github.com/caddy-dns/namesilo 996 | 997 | trigger-namedotcom-build: 998 | needs: check-for-plugin-updates 999 | if: ${{ needs.check-for-plugin-updates.outputs.namedotcom == 'true' }} 1000 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 1001 | permissions: 1002 | packages: write 1003 | contents: write 1004 | secrets: inherit 1005 | with: 1006 | dockerfile: Dockerfile 1007 | dockerfile_alpine: Dockerfile-alpine 1008 | image_title: Caddy with namedotcom dns plugin 1009 | license: MIT 1010 | tag: namedotcom 1011 | alpine_tag: namedotcom-alpine 1012 | go_plugin_link: github.com/caddy-dns/namedotcom 1013 | hash_file: git-hashes/namedotcom.txt 1014 | plugin_name: namedotcom 1015 | repo: https://github.com/caddy-dns/namedotcom 1016 | 1017 | trigger-directadmin-build: 1018 | needs: check-for-plugin-updates 1019 | if: ${{ needs.check-for-plugin-updates.outputs.directadmin == 'true' }} 1020 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 1021 | permissions: 1022 | packages: write 1023 | contents: write 1024 | secrets: inherit 1025 | with: 1026 | dockerfile: Dockerfile 1027 | dockerfile_alpine: Dockerfile-alpine 1028 | image_title: Caddy with directadmin dns plugin 1029 | license: MIT 1030 | tag: directadmin 1031 | alpine_tag: directadmin-alpine 1032 | go_plugin_link: github.com/caddy-dns/directadmin 1033 | hash_file: git-hashes/directadmin.txt 1034 | plugin_name: directadmin 1035 | repo: https://github.com/caddy-dns/directadmin 1036 | 1037 | trigger-tencentcloud-build: 1038 | needs: check-for-plugin-updates 1039 | if: ${{ needs.check-for-plugin-updates.outputs.tencentcloud == 'true' }} 1040 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 1041 | permissions: 1042 | packages: write 1043 | contents: write 1044 | secrets: inherit 1045 | with: 1046 | dockerfile: Dockerfile 1047 | dockerfile_alpine: Dockerfile-alpine 1048 | image_title: Caddy with tencentcloud dns plugin 1049 | license: MIT 1050 | tag: tencentcloud 1051 | alpine_tag: tencentcloud-alpine 1052 | go_plugin_link: github.com/caddy-dns/tencentcloud 1053 | hash_file: git-hashes/tencentcloud.txt 1054 | plugin_name: tencentcloud 1055 | repo: https://github.com/caddy-dns/tencentcloud 1056 | 1057 | trigger-civo-build: 1058 | needs: check-for-plugin-updates 1059 | if: ${{ needs.check-for-plugin-updates.outputs.civo == 'true' }} 1060 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 1061 | permissions: 1062 | packages: write 1063 | contents: write 1064 | secrets: inherit 1065 | with: 1066 | dockerfile: Dockerfile 1067 | dockerfile_alpine: Dockerfile-alpine 1068 | image_title: Caddy with civo dns plugin 1069 | license: MIT 1070 | tag: civo 1071 | alpine_tag: civo-alpine 1072 | go_plugin_link: github.com/caddy-dns/civo 1073 | hash_file: git-hashes/civo.txt 1074 | plugin_name: civo 1075 | repo: https://github.com/caddy-dns/civo 1076 | 1077 | trigger-infomaniak-build: 1078 | needs: check-for-plugin-updates 1079 | if: ${{ needs.check-for-plugin-updates.outputs.infomaniak == 'true' }} 1080 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 1081 | permissions: 1082 | packages: write 1083 | contents: write 1084 | secrets: inherit 1085 | with: 1086 | dockerfile: Dockerfile 1087 | dockerfile_alpine: Dockerfile-alpine 1088 | image_title: Caddy with infomaniak dns plugin 1089 | license: MIT 1090 | tag: infomaniak 1091 | alpine_tag: infomaniak-alpine 1092 | go_plugin_link: github.com/caddy-dns/infomaniak 1093 | hash_file: git-hashes/infomaniak.txt 1094 | plugin_name: infomaniak 1095 | repo: https://github.com/caddy-dns/infomaniak 1096 | 1097 | trigger-hosttech-build: 1098 | needs: check-for-plugin-updates 1099 | if: ${{ needs.check-for-plugin-updates.outputs.hosttech == 'true' }} 1100 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 1101 | permissions: 1102 | packages: write 1103 | contents: write 1104 | secrets: inherit 1105 | with: 1106 | dockerfile: Dockerfile 1107 | dockerfile_alpine: Dockerfile-alpine 1108 | image_title: Caddy with hosttech dns plugin 1109 | license: MIT 1110 | tag: hosttech 1111 | alpine_tag: hosttech-alpine 1112 | go_plugin_link: github.com/caddy-dns/hosttech 1113 | hash_file: git-hashes/hosttech.txt 1114 | plugin_name: hosttech 1115 | repo: https://github.com/caddy-dns/hosttech 1116 | 1117 | trigger-totaluptime-build: 1118 | needs: check-for-plugin-updates 1119 | if: ${{ needs.check-for-plugin-updates.outputs.totaluptime == 'true' }} 1120 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 1121 | permissions: 1122 | packages: write 1123 | contents: write 1124 | secrets: inherit 1125 | with: 1126 | dockerfile: Dockerfile 1127 | dockerfile_alpine: Dockerfile-alpine 1128 | image_title: Caddy with totaluptime dns plugin 1129 | license: MIT 1130 | tag: totaluptime 1131 | alpine_tag: totaluptime-alpine 1132 | go_plugin_link: github.com/caddy-dns/totaluptime 1133 | hash_file: git-hashes/totaluptime.txt 1134 | plugin_name: totaluptime 1135 | repo: https://github.com/caddy-dns/totaluptime 1136 | 1137 | trigger-scaleway-build: 1138 | needs: check-for-plugin-updates 1139 | if: ${{ needs.check-for-plugin-updates.outputs.scaleway == 'true' }} 1140 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 1141 | permissions: 1142 | packages: write 1143 | contents: write 1144 | secrets: inherit 1145 | with: 1146 | dockerfile: Dockerfile 1147 | dockerfile_alpine: Dockerfile-alpine 1148 | image_title: Caddy with scaleway dns plugin 1149 | license: MIT 1150 | tag: scaleway 1151 | alpine_tag: scaleway-alpine 1152 | go_plugin_link: github.com/caddy-dns/scaleway 1153 | hash_file: git-hashes/scaleway.txt 1154 | plugin_name: scaleway 1155 | repo: https://github.com/caddy-dns/scaleway 1156 | 1157 | trigger-ddnss-build: 1158 | needs: check-for-plugin-updates 1159 | if: ${{ needs.check-for-plugin-updates.outputs.ddnss == 'true' }} 1160 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 1161 | permissions: 1162 | packages: write 1163 | contents: write 1164 | secrets: inherit 1165 | with: 1166 | dockerfile: Dockerfile 1167 | dockerfile_alpine: Dockerfile-alpine 1168 | image_title: Caddy with ddnss dns plugin 1169 | license: MIT 1170 | tag: ddnss 1171 | alpine_tag: ddnss-alpine 1172 | go_plugin_link: github.com/caddy-dns/ddnss 1173 | hash_file: git-hashes/ddnss.txt 1174 | plugin_name: ddnss 1175 | repo: https://github.com/caddy-dns/ddnss 1176 | 1177 | # trigger-dinahosting-build: 1178 | # needs: check-for-plugin-updates 1179 | # if: ${{ needs.check-for-plugin-updates.outputs.dinahosting == 'true' }} 1180 | # uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 1181 | # permissions: 1182 | # packages: write 1183 | # contents: write 1184 | # secrets: inherit 1185 | # with: 1186 | # dockerfile: Dockerfile 1187 | # dockerfile_alpine: Dockerfile-alpine 1188 | # image_title: Caddy with dinahosting dns plugin 1189 | # license: MIT 1190 | # tag: dinahosting 1191 | # alpine_tag: dinahosting-alpine 1192 | # go_plugin_link: github.com/caddy-dns/dinahosting 1193 | # hash_file: git-hashes/dinahosting.txt 1194 | # plugin_name: dinahosting 1195 | # repo: https://github.com/caddy-dns/dinahosting 1196 | 1197 | trigger-metaname-build: 1198 | needs: check-for-plugin-updates 1199 | if: ${{ needs.check-for-plugin-updates.outputs.metaname == 'true' }} 1200 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 1201 | permissions: 1202 | packages: write 1203 | contents: write 1204 | secrets: inherit 1205 | with: 1206 | dockerfile: Dockerfile 1207 | dockerfile_alpine: Dockerfile-alpine 1208 | image_title: Caddy with metaname dns plugin 1209 | license: MIT 1210 | tag: metaname 1211 | alpine_tag: metaname-alpine 1212 | go_plugin_link: github.com/caddy-dns/metaname 1213 | hash_file: git-hashes/metaname.txt 1214 | plugin_name: metaname 1215 | repo: https://github.com/caddy-dns/metaname 1216 | 1217 | trigger-nicrudns-build: 1218 | needs: check-for-plugin-updates 1219 | if: ${{ needs.check-for-plugin-updates.outputs.nicrudns == 'true' }} 1220 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 1221 | permissions: 1222 | packages: write 1223 | contents: write 1224 | secrets: inherit 1225 | with: 1226 | dockerfile: Dockerfile 1227 | dockerfile_alpine: Dockerfile-alpine 1228 | image_title: Caddy with nicrudns dns plugin 1229 | license: MIT 1230 | tag: nicrudns 1231 | alpine_tag: nicrudns-alpine 1232 | go_plugin_link: github.com/caddy-dns/nicrudns 1233 | hash_file: git-hashes/nicrudns.txt 1234 | plugin_name: nicrudns 1235 | repo: https://github.com/caddy-dns/nicrudns 1236 | 1237 | trigger-glesys-build: 1238 | needs: check-for-plugin-updates 1239 | if: ${{ needs.check-for-plugin-updates.outputs.glesys == 'true' }} 1240 | uses: FarisZR/caddy-dns-OCI/.github/workflows/start-build.yml@main 1241 | permissions: 1242 | packages: write 1243 | contents: write 1244 | secrets: inherit 1245 | with: 1246 | dockerfile: Dockerfile 1247 | dockerfile_alpine: Dockerfile-alpine 1248 | image_title: Caddy with glesys dns plugin 1249 | license: MIT 1250 | tag: glesys 1251 | alpine_tag: glesys-alpine 1252 | go_plugin_link: github.com/caddy-dns/glesys 1253 | hash_file: git-hashes/glesys.txt 1254 | plugin_name: glesys 1255 | repo: https://github.com/caddy-dns/glesys 1256 | --------------------------------------------------------------------------------