From 551a146d946c650ab9dc5b2955aba7a8b208a36f Mon Sep 17 00:00:00 2001 From: Alexis Couvreur Date: Fri, 30 Sep 2022 14:37:18 +0000 Subject: [PATCH] feat: merge service repository into Sablier Add plugins folder to integrate with multiple reverse proxies The project is now released as 'Sablier' --- .github/workflows/docker.yaml | 4 +- .github/workflows/plugins.yml | 23 ++ .gitignore | 2 - plugins/traefik/.traefik.yml => .traefik.yml | 8 +- Dockerfile | 10 +- KUBERNETES.md | 44 ++-- Makefile | 2 +- README.md | 52 ++--- docker-compose.yml | 4 +- go.mod | 2 +- main.go | 4 +- pkg/scaler/docker_classic_test.go | 2 +- pkg/scaler/docker_swarm.go | 2 +- pkg/scaler/docker_swarm_test.go | 2 +- plugins/traefik/.github/workflows/build.yml | 25 --- plugins/traefik/.github/workflows/release.yml | 26 --- plugins/traefik/LICENSE | 201 ------------------ plugins/traefik/README.md | 68 ++---- plugins/traefik/docker-compose.yml | 20 +- .../traefik/examples/docker_classic/README.md | 4 +- .../docker_classic/docker-compose.yml | 14 +- .../traefik/examples/docker_swarm/README.md | 4 +- .../examples/docker_swarm/docker-stack.yml | 14 +- plugins/traefik/examples/kubernetes/README.md | 4 +- .../traefik/examples/kubernetes/manifests.yml | 34 +-- .../traefik/examples/kubernetes/values.yaml | 4 +- .../examples/multiple_containers/README.md | 6 +- .../multiple_containers/docker-stack.yml | 20 +- plugins/traefik/go.mod | 4 +- plugins/traefik/img/gophers-traefik.png | Bin 188507 -> 0 bytes plugins/traefik/ondemand.go | 4 +- plugins/traefik/ondemand_test.go | 2 +- plugins/traefik/pkg/pages/error.go | 4 +- plugins/traefik/pkg/pages/error.html | 4 +- plugins/traefik/pkg/pages/loading.go | 4 +- plugins/traefik/pkg/pages/loading.html | 4 +- .../traefik/pkg/strategy/dynamic_strategy.go | 2 +- plugins/traefik/release.config.js | 11 - plugins/traefik/traefik.yml | 4 +- plugins/traefik/traefik_dev.yml | 4 +- release.config.js | 2 +- 41 files changed, 185 insertions(+), 469 deletions(-) create mode 100644 .github/workflows/plugins.yml rename plugins/traefik/.traefik.yml => .traefik.yml (55%) delete mode 100644 plugins/traefik/.github/workflows/build.yml delete mode 100644 plugins/traefik/.github/workflows/release.yml delete mode 100644 plugins/traefik/LICENSE delete mode 100644 plugins/traefik/img/gophers-traefik.png delete mode 100644 plugins/traefik/release.config.js diff --git a/.github/workflows/docker.yaml b/.github/workflows/docker.yaml index e23270f..c37fab9 100644 --- a/.github/workflows/docker.yaml +++ b/.github/workflows/docker.yaml @@ -23,8 +23,8 @@ jobs: with: # list of Docker images to use as base name for tags images: | - ghcr.io/acouvreur/traefik-ondemand-service - acouvreur/traefik-ondemand-service + ghcr.io/acouvreur/sablier + acouvreur/sablier # generate Docker tags based on the following events/attributes tags: | type=schedule diff --git a/.github/workflows/plugins.yml b/.github/workflows/plugins.yml new file mode 100644 index 0000000..2657b69 --- /dev/null +++ b/.github/workflows/plugins.yml @@ -0,0 +1,23 @@ +name: Build Sablier plugins + +on: + - pull_request + +jobs: + traefik: + name: Build Sablier for Traefik middleware + runs-on: ubuntu-latest + steps: + - name: Set up Go 1.18 + uses: actions/setup-go@v2 + with: + go-version: 1.18 + + - name: Checkout code + uses: actions/checkout@v2 + + - name: Build + run: cd plugins/traefik && go build -v . + + - name: Test + run: cd plugins/traefik && go test -v ./... diff --git a/.gitignore b/.gitignore index f6a4b30..e69de29 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +0,0 @@ -vendor -traefik-ondemand-service \ No newline at end of file diff --git a/plugins/traefik/.traefik.yml b/.traefik.yml similarity index 55% rename from plugins/traefik/.traefik.yml rename to .traefik.yml index 9cf2978..f5eac2d 100644 --- a/plugins/traefik/.traefik.yml +++ b/.traefik.yml @@ -1,12 +1,12 @@ displayName: Containers On Demand type: middleware -import: github.com/acouvreur/traefik-ondemand-plugin +import: github.com/acouvreur/sablier/plugins/traefik -summary: 'Start your containers/services on the first request they recieve, and shut them down after a specified duration after the last request they received. Kubernetes, Docker classic and docker swarm compatible.' +summary: 'Start your containers/services on the first request they receive, and shut them down after a specified duration after the last request they received. Kubernetes, Docker classic and docker swarm compatible.' testData: - serviceUrl: http://ondemand:10000 - name: TRAEFIK_HACKATHON_whoami + serviceUrl: http://sablier:10000 + name: whoami timeout: 1m \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 9ae2f6f..5838d12 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,16 +3,16 @@ FROM golang:1.18-alpine AS build ENV CGO_ENABLED=0 ENV PORT 10000 -COPY . /go/src/ondemand-service -WORKDIR /go/src/ondemand-service +COPY . /go/src/sablier +WORKDIR /go/src/sablier ARG TARGETOS ARG TARGETARCH -RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -buildvcs=false -o /go/bin/ondemand-service +RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -buildvcs=false -o /go/bin/sablier FROM alpine EXPOSE 10000 -COPY --from=build /go/bin/ondemand-service /go/bin/ondemand-service +COPY --from=build /go/bin/sablier /go/bin/sablier -ENTRYPOINT [ "/go/bin/ondemand-service" ] +ENTRYPOINT [ "/go/bin/sablier" ] CMD [ "--swarmMode=true" ] \ No newline at end of file diff --git a/KUBERNETES.md b/KUBERNETES.md index ccd0593..7642b22 100644 --- a/KUBERNETES.md +++ b/KUBERNETES.md @@ -1,4 +1,4 @@ -# Kubernetes traefik-ondemand-service Howto +# Kubernetes sablier Howto # Traefik parameters @@ -6,8 +6,8 @@ Its important to set allowEmptyServices to true, otherwhise the scale up will not work because traefik cannot find the service if it was scaled down to zero. - "--pilot.token=xxxx" - - "--experimental.plugins.traefik-ondemand-plugin.modulename=github.com/acouvreur/traefik-ondemand-plugin" - - "--experimental.plugins.traefik-ondemand-plugin.version=v0.1.1" + - "--experimental.plugins.sablier.modulename=github.com/acouvreur/sablier/plugins/traefik" + - "--experimental.plugins.sablier.version=v0.1.1" - "--providers.kubernetesingress.allowEmptyServices=true" If you are using the traefik helm chart its also important to set: @@ -18,30 +18,30 @@ not work because traefik cannot find the service if it was scaled down to zero. # Deployment -In this example we will deploy the traefik-ondemand-service into the namespace kube-system +In this example we will deploy the sablier into the namespace kube-system apiVersion: apps/v1 kind: Deployment metadata: - name: traefik-ondemand-service + name: sablier namespace: kube-system labels: - app: traefik-ondemand-service + app: sablier spec: replicas: 1 selector: matchLabels: - app: traefik-ondemand-service + app: sablier template: metadata: labels: - app: traefik-ondemand-service + app: sablier spec: - serviceAccountName: traefik-ondemand-service - serviceAccount: traefik-ondemand-service + serviceAccountName: sablier + serviceAccount: sablier containers: - - name: traefik-ondemand-service - image: gchr.io/acouvreur/traefik-ondemand-service + - name: sablier + image: gchr.io/acouvreur/sablier args: ["--swarmMode=false", "--kubernetesMode=true"] ports: - containerPort: 10000 @@ -49,28 +49,28 @@ In this example we will deploy the traefik-ondemand-service into the namespace k apiVersion: v1 kind: Service metadata: - name: traefik-ondemand-service + name: sablier namespace: kube-system spec: selector: - app: traefik-ondemand-service + app: sablier ports: - protocol: TCP port: 10000 targetPort: 10000 -We have to create RBAC to allow the traefik-ondemand-service to access the kubernetes API and get/update/patch the deployment resource +We have to create RBAC to allow the sablier to access the kubernetes API and get/update/patch the deployment resource apiVersion: v1 kind: ServiceAccount metadata: - name: traefik-ondemand-service + name: sablier namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: traefik-ondemand-service + name: sablier namespace: kube-system rules: - apiGroups: @@ -88,15 +88,15 @@ We have to create RBAC to allow the traefik-ondemand-service to access the kuber apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: traefik-ondemand-service + name: sablier namespace: kube-system roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: traefik-ondemand-service + name: sablier subjects: - kind: ServiceAccount - name: traefik-ondemand-service + name: sablier namespace: kube-system ## Creating a Middleware @@ -111,9 +111,9 @@ First we need to create a traefik middleware for that: namespace: kube-system spec: plugin: - traefik-ondemand-plugin: + sablier: name: deployment_codeserverns_code-server_1 - serviceUrl: 'http://traefik-ondemand-service:10000' + serviceUrl: 'http://sablier:10000' timeout: 10m The format of the `name:` section is `___` where `_` is the delimiter. diff --git a/Makefile b/Makefile index f2be559..0c4a5f9 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,6 @@ version = draft release: $(PLATFORMS) $(PLATFORMS): - GOOS=$(os) GOARCH=$(arch) go build -o 'traefik-ondemand-service_$(version)_$(os)-$(arch)' . + GOOS=$(os) GOARCH=$(arch) go build -o 'sablier_$(version)_$(os)-$(arch)' . .PHONY: release $(PLATFORMS) \ No newline at end of file diff --git a/README.md b/README.md index 023868c..b507a92 100644 --- a/README.md +++ b/README.md @@ -1,41 +1,33 @@ -

- Traefik Ondemand Plugin -
Traefik Ondemand Service
-

+# Sablier ![Github Actions](https://img.shields.io/github/workflow/status/acouvreur/sablier/Build?style=flat-square) ![Go Report](https://goreportcard.com/badge/github.com/acouvreur/sablier?style=flat-square) ![Go Version](https://img.shields.io/github/go-mod/go-version/acouvreur/sablier?style=flat-square) ![Latest Release](https://img.shields.io/github/release/acouvreur/sablier/all.svg?style=flat-square) -

Traefik Ondemand Service for traefik-ondemand-plugin to control containers and services.

+## Getting started -

- - Github Actions - - - - - - - - - - - -

+```bash +docker run -d --name nginx nginx +docker stop nginx +docker run -v /var/run/docker.sock:/var/run/docker.sock -p 10000:10000 ghcr.io/acouvreur/sablier:latest --swarmode=false +curl 'http://localhost:10000/?name=nginx&timeout=1m' +``` + +## Plugins ## Features -- Support for Docker containers -- Support for Docker swarm mode, scale services -- Support for Kubernetes Deployments and Statefulsets +- Support for **Docker** containers +- Support for **Docker Swarm mode**, scale services +- Support for **Kubernetes** Deployments and Statefulsets - Start your container/service on the first request +- Automatic **scale to zero** after configured timeout upon last request the service received - Dynamic loading page (cloudflare or grafana cloud style) -- Automatic scale to zero after configured timeout upon last request the service received -- Support container/service healthcheck and will not redirect until service is healthy +- Customize dynamic and loading pages ## Usage +`docker run -v /var/run/docker.sock:/var/run/docker.sock -p 10000:10000 ghcr.io/acouvreur/sablier:latest --swarmode=true` + ### CLI -`./traefik-ondemand-service --swarmMode=true --kubernetesMode=false` +`./sablier --swarmMode=true --kubernetesMode=false` | Argument | Value | Description | | ---------------- | ---------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | @@ -45,14 +37,14 @@ ### Docker -- Docker Hub `acouvreur/traefik-ondemand-service` -- Ghcr `ghcr.io/acouvreur/traefik-ondemand-service` +- Docker Hub `acouvreur/sablier` +- Ghcr `ghcr.io/acouvreur/sablier` -`docker run -v /var/run/docker.sock:/var/run/docker.sock -p 10000:10000 ghcr.io/acouvreur/traefik-ondemand-service:latest --swarmode=true` +`docker run -v /var/run/docker.sock:/var/run/docker.sock -p 10000:10000 ghcr.io/acouvreur/sablier:latest --swarmode=true` ### Kubernetes -see KUBERNETES.md +see KUBERNETES.md ### API diff --git a/docker-compose.yml b/docker-compose.yml index 1f29a88..78aa2d7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,8 +1,8 @@ version: "3.9" services: - ondemand: - image: gchr.io/acouvreur/traefik-ondemand-service:latest + sablier: + image: gchr.io/acouvreur/sablier:latest command: - --swarmMode=true volumes: diff --git a/go.mod b/go.mod index d50bd37..90619ef 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/acouvreur/traefik-ondemand-service +module github.com/acouvreur/sablier go 1.18 diff --git a/main.go b/main.go index 476196d..0cc6f1a 100644 --- a/main.go +++ b/main.go @@ -10,8 +10,8 @@ import ( "time" "github.com/acouvreur/tinykv" - "github.com/acouvreur/traefik-ondemand-service/pkg/scaler" - "github.com/acouvreur/traefik-ondemand-service/pkg/storage" + "github.com/acouvreur/sablier/pkg/scaler" + "github.com/acouvreur/sablier/pkg/storage" "github.com/docker/docker/client" log "github.com/sirupsen/logrus" "k8s.io/client-go/kubernetes" diff --git a/pkg/scaler/docker_classic_test.go b/pkg/scaler/docker_classic_test.go index c063a3b..6785358 100644 --- a/pkg/scaler/docker_classic_test.go +++ b/pkg/scaler/docker_classic_test.go @@ -5,7 +5,7 @@ import ( "errors" "testing" - "github.com/acouvreur/traefik-ondemand-service/pkg/scaler/mocks" + "github.com/acouvreur/sablier/pkg/scaler/mocks" "github.com/docker/docker/api/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" diff --git a/pkg/scaler/docker_swarm.go b/pkg/scaler/docker_swarm.go index 7162016..13a500e 100644 --- a/pkg/scaler/docker_swarm.go +++ b/pkg/scaler/docker_swarm.go @@ -126,7 +126,7 @@ func (scaler *DockerSwarmScaler) isServiceRunningFor(service *swarm.Service, dur return false } - // Getting 503 first time a workload is woken up https://github.com/acouvreur/traefik-ondemand-service/issues/24 + // Getting 503 first time a workload is woken up https://github.com/acouvreur/sablier/issues/24 // Let the service be up for a given duration for _, task := range tasks { if time.Since(task.Status.Timestamp) < (time.Second * 5) { diff --git a/pkg/scaler/docker_swarm_test.go b/pkg/scaler/docker_swarm_test.go index 399ef5f..b6519d1 100644 --- a/pkg/scaler/docker_swarm_test.go +++ b/pkg/scaler/docker_swarm_test.go @@ -6,7 +6,7 @@ import ( "testing" "time" - "github.com/acouvreur/traefik-ondemand-service/pkg/scaler/mocks" + "github.com/acouvreur/sablier/pkg/scaler/mocks" "github.com/docker/docker/api/types" "github.com/docker/docker/api/types/swarm" "github.com/docker/docker/client" diff --git a/plugins/traefik/.github/workflows/build.yml b/plugins/traefik/.github/workflows/build.yml deleted file mode 100644 index f3afe20..0000000 --- a/plugins/traefik/.github/workflows/build.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Build - -on: - push: - pull_request: - -jobs: - build: - name: Build - runs-on: ubuntu-latest - steps: - - - name: Set up Go 1.17 - uses: actions/setup-go@v2 - with: - go-version: ^1.17 - - - name: Check out code into the Go module directory - uses: actions/checkout@v2 - - - name: Build - run: go build -v . - - - name: Test - run: go test -v ./... diff --git a/plugins/traefik/.github/workflows/release.yml b/plugins/traefik/.github/workflows/release.yml deleted file mode 100644 index a02fc32..0000000 --- a/plugins/traefik/.github/workflows/release.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: Release -on: - push: - branches: - - main - - beta - -jobs: - release: - name: Release - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - - name: Setup Node.js - uses: actions/setup-node@v1 - with: - node-version: '14.17' - - - name: Release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: npx semantic-release \ No newline at end of file diff --git a/plugins/traefik/LICENSE b/plugins/traefik/LICENSE deleted file mode 100644 index 261eeb9..0000000 --- a/plugins/traefik/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/plugins/traefik/README.md b/plugins/traefik/README.md index 7f4a27e..7780287 100644 --- a/plugins/traefik/README.md +++ b/plugins/traefik/README.md @@ -1,33 +1,7 @@ -# Traefik Ondemand Plugin +# Traefik Sablier Plugin Traefik middleware to start containers on demand. -![Github Actions](https://img.shields.io/github/workflow/status/acouvreur/traefik-ondemand-plugin/Build?style=flat-square) -![Go Report](https://goreportcard.com/badge/github.com/acouvreur/traefik-ondemand-plugin?style=flat-square) -![Go Version](https://img.shields.io/github/go-mod/go-version/acouvreur/traefik-ondemand-plugin?style=flat-square) -![Latest Release](https://img.shields.io/github/release/acouvreur/traefik-ondemand-plugin/all.svg?style=flat-square) - -- [Traefik Ondemand Plugin](#traefik-ondemand-plugin) - - [Features](#features) - - [Usage](#usage) - - [Plugin configuration](#plugin-configuration) - - [Strategies](#strategies) - - [Custom loading/error pages](#custom-loadingerror-pages) - - [Traefik-Ondemand-Service](#traefik-ondemand-service) - - [Examples](#examples) - - [Development](#development) - - [Authors](#authors) - -## Features - -- Support for **Docker** containers -- Support for **Docker swarm** mode, scale services -- Support for **Kubernetes** Deployments and Statefulsets -- Start your container/service on the first request -- Automatic **scale to zero** after configured timeout upon last request the service received -- Dynamic loading page (cloudflare or grafana cloud style) -- Customize dynamic and loading pages - ![Demo](./img/ondemand.gif) ## Usage @@ -42,8 +16,8 @@ _Serve an HTML page that self reload._ ```yml testData: - serviceUrl: http://ondemand:10000 - name: TRAEFIK_HACKATHON_whoami + serviceUrl: http://sablier:10000 + name: whoami timeout: 1m waitui: true ``` @@ -58,8 +32,8 @@ The timeout is set by `blockdelay`. ```yml testData: - serviceUrl: http://ondemand:10000 - name: TRAEFIK_HACKATHON_whoami + serviceUrl: http://sablier:10000 + name: whoami timeout: 1m waitui: false blockdelay: 1m @@ -83,30 +57,30 @@ You must include `` inside your html pa ```yml testData: - serviceUrl: http://ondemand:10000 - name: TRAEFIK_HACKATHON_whoami + serviceUrl: http://sablier:10000 + name: whoami timeout: 1m waitui: false blockdelay: 1m - loadingpage: /etc/traefik/plugins/traefik-ondemand-plugin/custompages/loading.html - errorpage: /etc/traefik/plugins/traefik-ondemand-plugin/custompages/error.html + loadingpage: /etc/traefik/plugins/sablier/custompages/loading.html + errorpage: /etc/traefik/plugins/sablier/custompages/error.html ``` | Parameter | Type | Default | Required | Example | Description | | ------------- | --------------- | ------- | -------- | ----------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | -| `serviceUrl` | `string` | empty | yes | `http://ondemand:10000` | The docker container name, or the swarm service name | -| `name` | `string` | empty | yes (except if `names` is set) | `TRAEFIK_HACKATHON_whoami` | The container/service/kubernetes resource to be stopped (docker ps docker service ls) | -| `names` | `[]string` | [] | yes (except if `name` is set) | `[TRAEFIK_HACKATHON_whoami-1, TRAEFIK_HACKATHON_whoami-2]` | The containers/services to be stopped (docker ps docker service ls) | +| `serviceUrl` | `string` | empty | yes | `http://sablier:10000` | The docker container name, or the swarm service name | +| `name` | `string` | empty | yes (except if `names` is set) | `whoami` | The container/service/kubernetes resource to be stopped (docker ps docker service ls) | +| `names` | `[]string` | [] | yes (except if `name` is set) | `[whoami-1, whoami-2]` | The containers/services to be stopped (docker ps docker service ls) | | `timeout` | `time.Duration` | `1m` | no | `1m30s` | The duration after which the container/service will be scaled down to 0 | | `waitui` | `bool` | `true` | no | `true` | Serves a self-refreshing html page when the service is scaled down to 0 | | `displayname` | `string` | `the middleware name` | no | `My App` | Serves a self-refreshing html page when the service is scaled down to 0 | | `blockdelay` | `time.Duration` | `1m` | no | `1m30s` | When `waitui` is `false`, wait for the service to be scaled up before `blockdelay` | -| `loadingpage` | `string` | empty | no | `/etc/traefik/plugins/traefik-ondemand-plugin/custompages/loading.html` | The path in the traefik container for the **loading** page template | -| `errorpage` | `string` | empty | no | `/etc/traefik/plugins/traefik-ondemand-plugin/custompages/error.html` | The path in the traefik container for the **error** page template | +| `loadingpage` | `string` | empty | no | `/etc/traefik/plugins/sablier/custompages/loading.html` | The path in the traefik container for the **loading** page template | +| `errorpage` | `string` | empty | no | `/etc/traefik/plugins/sablier/custompages/error.html` | The path in the traefik container for the **error** page template | -### Traefik-Ondemand-Service +### sablier -The [traefik-ondemand-service](https://github.com/acouvreur/traefik-ondemand-service) must be used to bypass [Yaegi](https://github.com/traefik/yaegi) limitations. +The [sablier](https://github.com/acouvreur/sablier) must be used to bypass [Yaegi](https://github.com/traefik/yaegi) limitations. Yaegi is the interpreter used by Traefik to load plugin and run them at runtime. @@ -122,12 +96,4 @@ The docker library that interacts with the docker deamon uses `unsafe` which mus ## Development `export TRAEFIK_PILOT_TOKEN=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` -`docker stack deploy -c docker-compose.yml TRAEFIK_HACKATHON` - -## Authors - -[Alexis Couvreur](https://www.linkedin.com/in/alexis-couvreur/) (left) -[Alexandre Hiltcher](https://www.linkedin.com/in/alexandre-hiltcher/) (middle) -[Matthias Schneider](https://www.linkedin.com/in/matthias-schneider-18831baa/) (right) - -![Alexandre, Alexis and Matthias](./img/gophers-traefik.png) +`docker stack deploy -c docker-compose.yml DEV` diff --git a/plugins/traefik/docker-compose.yml b/plugins/traefik/docker-compose.yml index 962bd22..86d095f 100644 --- a/plugins/traefik/docker-compose.yml +++ b/plugins/traefik/docker-compose.yml @@ -10,7 +10,7 @@ services: volumes: - './traefik_dev.yml:/etc/traefik/traefik-template.yml' - '/var/run/docker.sock:/var/run/docker.sock' - - '.:/plugins-local/src/github.com/acouvreur/traefik-ondemand-plugin' + - '.:/plugins-local/src/github.com/acouvreur/sablier/plugins/traefik' environment: - TRAEFIK_PILOT_TOKEN deploy: @@ -18,8 +18,8 @@ services: - traefik.enable=true - traefik.http.services.traefik.loadbalancer.server.port=8080 - ondemand: - image: ghcr.io/acouvreur/traefik-ondemand-service:1.7 + sablier: + image: ghcr.io/acouvreur/sablier:feature-merge-repositories command: - --swarmMode=true volumes: @@ -34,9 +34,9 @@ services: # If you do not use the swarm load balancer, traefik will evict the service from its pool # as soon as the service is 0/0. If you do not set that, fallback to dynamic-config.yml file usage. - traefik.docker.lbswarm=true - - traefik.http.middlewares.ondemand_whoami.plugin.traefik-ondemand-plugin.name=TRAEFIK_HACKATHON_whoami - - traefik.http.middlewares.ondemand_whoami.plugin.traefik-ondemand-plugin.serviceurl=http://ondemand:10000 - - traefik.http.middlewares.ondemand_whoami.plugin.traefik-ondemand-plugin.timeout=1m + - traefik.http.middlewares.ondemand_whoami.plugin.sablier.name=whoami + - traefik.http.middlewares.ondemand_whoami.plugin.sablier://sablier:10000 + - traefik.http.middlewares.ondemand_whoami.plugin.sablier - traefik.http.routers.whoami.middlewares=ondemand_whoami@docker - traefik.http.routers.whoami.rule=PathPrefix(`/whoami`) - traefik.http.services.whoami.loadbalancer.server.port=80 @@ -56,10 +56,10 @@ services: # If you do not use the swarm load balancer, traefik will evict the service from its pool # as soon as the service is 0/0. If you do not set that, fallback to dynamic-config.yml file usage. - traefik.docker.lbswarm=true - - traefik.http.middlewares.ondemand_nginx.plugin.traefik-ondemand-plugin.name=TRAEFIK_HACKATHON_nginx - - traefik.http.middlewares.ondemand_nginx.plugin.traefik-ondemand-plugin.serviceurl=http://ondemand:10000 - - traefik.http.middlewares.ondemand_nginx.plugin.traefik-ondemand-plugin.timeout=5m - - traefik.http.middlewares.ondemand_nginx.plugin.traefik-ondemand-plugin.waitui=false + - traefik.http.middlewares.ondemand_nginx.plugin.sablier.name=nginx + - traefik.http.middlewares.ondemand_nginx.plugin.sablier.serviceurl=http://sablier:10000 + - traefik.http.middlewares.ondemand_nginx.plugin.sablier.timeout=5m + - traefik.http.middlewares.ondemand_nginx.plugin.sablier.waitui=false - traefik.http.routers.nginx.middlewares=ondemand_nginx@docker - traefik.http.routers.nginx.rule=PathPrefix(`/nginx`) - traefik.http.services.nginx.loadbalancer.server.port=80 \ No newline at end of file diff --git a/plugins/traefik/examples/docker_classic/README.md b/plugins/traefik/examples/docker_classic/README.md index c3fbf09..c1e9c19 100644 --- a/plugins/traefik/examples/docker_classic/README.md +++ b/plugins/traefik/examples/docker_classic/README.md @@ -2,8 +2,8 @@ ## Run the demo -1. `git clone git@github.com:acouvreur/traefik-ondemand-plugin.git` -2. `cd traefik-ondemand-plugin/examples/docker_classic` +1. `git clone git@github.com:acouvreur/sablier.git` +2. `cd sablier/plugins/traefik/examples/docker_classic` 3. `export TRAEFIK_PILOT_TOKEN=...` 4. `docker-compose up` diff --git a/plugins/traefik/examples/docker_classic/docker-compose.yml b/plugins/traefik/examples/docker_classic/docker-compose.yml index 9ba88ca..212267b 100644 --- a/plugins/traefik/examples/docker_classic/docker-compose.yml +++ b/plugins/traefik/examples/docker_classic/docker-compose.yml @@ -7,8 +7,8 @@ services: - --api=true - --api.insecure=true - --pilot.token=$TRAEFIK_PILOT_TOKEN - - --experimental.plugins.traefik-ondemand-plugin.moduleName=github.com/acouvreur/traefik-ondemand-plugin - - --experimental.plugins.traefik-ondemand-plugin.version=v1.2.0 + - --experimental.plugins.sablier.moduleName=github.com/acouvreur/sablier/plugins/traefik + - --experimental.plugins.sablier.version=v1.2.0 - --providers.docker=true - --providers.file.filename=/etc/traefik/dynamic-config.yml - --entrypoints.http.address=:80 @@ -23,17 +23,17 @@ services: labels: - traefik.enable=true - ondemand: - image: ghcr.io/acouvreur/traefik-ondemand-service:1 + sablier: + image: ghcr.io/acouvreur/sablier:1 command: - --swarmMode=false volumes: - '/var/run/docker.sock:/var/run/docker.sock' labels: - traefik.enable=true - - traefik.http.middlewares.ondemand.plugin.traefik-ondemand-plugin.name=docker_classic_whoami_1 - - traefik.http.middlewares.ondemand.plugin.traefik-ondemand-plugin.serviceUrl=http://ondemand:10000 - - traefik.http.middlewares.ondemand.plugin.traefik-ondemand-plugin.timeout=1m + - traefik.http.middlewares.ondemand.plugin.sablier.name=docker_classic_whoami_1 + - traefik.http.middlewares.ondemand.plugin.sablier.serviceUrl=http://sablier:10000 + - traefik.http.middlewares.ondemand.plugin.sablier.timeout=1m - traefik.http.services.ondemand.loadbalancer.server.port=10000 whoami: diff --git a/plugins/traefik/examples/docker_swarm/README.md b/plugins/traefik/examples/docker_swarm/README.md index 21af4d2..a6aaac1 100644 --- a/plugins/traefik/examples/docker_swarm/README.md +++ b/plugins/traefik/examples/docker_swarm/README.md @@ -2,8 +2,8 @@ ## Run the demo -1. `git clone git@github.com:acouvreur/traefik-ondemand-plugin.git` -2. `cd traefik-ondemand-plugin/examples/docker_swarm` +1. `git clone git@github.com:acouvreur/sablier.git` +2. `cd sablier/plugins/traefik/examples/docker_swarm` 3. `docker swarm init` 4. `export TRAEFIK_PILOT_TOKEN=...` 5. `docker stack deploy -c docker-stack.yml DOCKER_SWARM` diff --git a/plugins/traefik/examples/docker_swarm/docker-stack.yml b/plugins/traefik/examples/docker_swarm/docker-stack.yml index 6faa152..4b765af 100644 --- a/plugins/traefik/examples/docker_swarm/docker-stack.yml +++ b/plugins/traefik/examples/docker_swarm/docker-stack.yml @@ -7,8 +7,8 @@ services: - --api=true - --api.insecure=true - --pilot.token=$TRAEFIK_PILOT_TOKEN - - --experimental.plugins.traefik-ondemand-plugin.moduleName=github.com/acouvreur/traefik-ondemand-plugin - - --experimental.plugins.traefik-ondemand-plugin.version=v1.2.0 + - --experimental.plugins.sablier.moduleName=github.com/acouvreur/sablier/plugins/traefik + - --experimental.plugins.sablier.version=v1.2.0 - --providers.docker=true - --providers.docker.swarmmode=true - --providers.file.filename=/etc/traefik/dynamic-config.yml @@ -21,8 +21,8 @@ services: volumes: - '/var/run/docker.sock:/var/run/docker.sock' - ondemand: - image: ghcr.io/acouvreur/traefik-ondemand-service:1 + sablier: + image: ghcr.io/acouvreur/sablier:1 command: - --swarmMode=true volumes: @@ -30,9 +30,9 @@ services: deploy: labels: - traefik.enable=true - - traefik.http.middlewares.ondemand.plugin.traefik-ondemand-plugin.name=DOCKER_SWARM_nginx - - traefik.http.middlewares.ondemand.plugin.traefik-ondemand-plugin.serviceUrl=http://ondemand:10000 - - traefik.http.middlewares.ondemand.plugin.traefik-ondemand-plugin.timeout=1m + - traefik.http.middlewares.ondemand.plugin.sablier.name=DOCKER_SWARM_nginx + - traefik.http.middlewares.ondemand.plugin.sablier.serviceUrl=http://sablier:10000 + - traefik.http.middlewares.ondemand.plugin.sablier.timeout=1m - traefik.http.services.ondemand.loadbalancer.server.port=10000 nginx: diff --git a/plugins/traefik/examples/kubernetes/README.md b/plugins/traefik/examples/kubernetes/README.md index f5114c0..db0f155 100644 --- a/plugins/traefik/examples/kubernetes/README.md +++ b/plugins/traefik/examples/kubernetes/README.md @@ -4,8 +4,8 @@ # you need docker-compose, kubectl and helm (v3) installed -1. `git clone git@github.com:acouvreur/traefik-ondemand-plugin.git` -2. `cd traefik-ondemand-plugin/examples/kubernetes` +1. `git clone git@github.com:acouvreur/sablier.git` +2. `cd sablier/plugins/traefik/examples/kubernetes` 3. `docker-compose up` 4. Wait 1 minute 5. `export KUBECONFIG=./kubeconfig.yaml` diff --git a/plugins/traefik/examples/kubernetes/manifests.yml b/plugins/traefik/examples/kubernetes/manifests.yml index b4d5793..3875965 100644 --- a/plugins/traefik/examples/kubernetes/manifests.yml +++ b/plugins/traefik/examples/kubernetes/manifests.yml @@ -1,25 +1,25 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: traefik-ondemand-service + name: sablier namespace: kube-system labels: - app: traefik-ondemand-service + app: sablier spec: replicas: 1 selector: matchLabels: - app: traefik-ondemand-service + app: sablier template: metadata: labels: - app: traefik-ondemand-service + app: sablier spec: - serviceAccountName: traefik-ondemand-service - serviceAccount: traefik-ondemand-service + serviceAccountName: sablier + serviceAccount: sablier containers: - - name: traefik-ondemand-service - image: ghcr.io/acouvreur/traefik-ondemand-service:1 + - name: sablier + image: ghcr.io/acouvreur/sablier:1 args: ["--swarmMode=false", "--kubernetesMode=true"] ports: - containerPort: 10000 @@ -27,11 +27,11 @@ spec: apiVersion: v1 kind: Service metadata: - name: traefik-ondemand-service + name: sablier namespace: kube-system spec: selector: - app: traefik-ondemand-service + app: sablier ports: - protocol: TCP port: 10000 @@ -40,13 +40,13 @@ spec: apiVersion: v1 kind: ServiceAccount metadata: - name: traefik-ondemand-service + name: sablier namespace: kube-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - name: traefik-ondemand-service + name: sablier namespace: kube-system rules: - apiGroups: @@ -62,15 +62,15 @@ rules: apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: - name: traefik-ondemand-service + name: sablier namespace: kube-system roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: traefik-ondemand-service + name: sablier subjects: - kind: ServiceAccount - name: traefik-ondemand-service + name: sablier namespace: kube-system --- apiVersion: traefik.containo.us/v1alpha1 @@ -80,7 +80,7 @@ metadata: namespace: default spec: plugin: - traefik-ondemand-plugin: + sablier: name: deployment_default_whoami_1 - serviceUrl: 'http://traefik-ondemand-service:10000' + serviceUrl: 'http://sablier:10000' timeout: 1m \ No newline at end of file diff --git a/plugins/traefik/examples/kubernetes/values.yaml b/plugins/traefik/examples/kubernetes/values.yaml index 6760b7d..85e95c3 100644 --- a/plugins/traefik/examples/kubernetes/values.yaml +++ b/plugins/traefik/examples/kubernetes/values.yaml @@ -1,8 +1,8 @@ # traefik helm values additionalArguments: - "--pilot.token=XXXXX_YOURTOKEN_XXXXXXXXXXXXXXXX" - - "--experimental.plugins.traefik-ondemand-plugin.modulename=github.com/acouvreur/traefik-ondemand-plugin" - - "--experimental.plugins.traefik-ondemand-plugin.version=v1.2.0" + - "--experimental.plugins.sablier.modulename=github.com/acouvreur/sablier/plugins/traefik" + - "--experimental.plugins.sablier.version=v1.2.0" - "--providers.kubernetesingress.allowEmptyServices=true" experimental: diff --git a/plugins/traefik/examples/multiple_containers/README.md b/plugins/traefik/examples/multiple_containers/README.md index da31c7e..b7ae95b 100644 --- a/plugins/traefik/examples/multiple_containers/README.md +++ b/plugins/traefik/examples/multiple_containers/README.md @@ -2,8 +2,8 @@ ## Run the demo -1. `git clone git@github.com:acouvreur/traefik-ondemand-plugin.git` -2. `cd traefik-ondemand-plugin/examples/multiple_containers` +1. `git clone git@github.com:acouvreur/sablier.git` +2. `cd sablier/plugins/traefik/examples/multiple_containers` 3. `docker swarm init` 4. `export TRAEFIK_PILOT_TOKEN=...` 5. `docker stack deploy -c docker-stack.yml DOCKER_SWARM` @@ -21,4 +21,4 @@ Due to Traefik plugin, the interface is to provide a config and a `ServeHTTP` re This function has no access to the Traefik configuration, thus no way to determine the container/service associated to the request. -See https://github.com/acouvreur/traefik-ondemand-plugin/issues/8#issuecomment-931940533. \ No newline at end of file +See https://github.com/acouvreur/sablier/issues/8#issuecomment-931940533. \ No newline at end of file diff --git a/plugins/traefik/examples/multiple_containers/docker-stack.yml b/plugins/traefik/examples/multiple_containers/docker-stack.yml index 22ed1a6..27ad110 100644 --- a/plugins/traefik/examples/multiple_containers/docker-stack.yml +++ b/plugins/traefik/examples/multiple_containers/docker-stack.yml @@ -7,8 +7,8 @@ services: - --api=true - --api.insecure=true - --pilot.token=$TRAEFIK_PILOT_TOKEN - - --experimental.plugins.traefik-ondemand-plugin.moduleName=github.com/acouvreur/traefik-ondemand-plugin - - --experimental.plugins.traefik-ondemand-plugin.version=v1.2.0 + - --experimental.plugins.sablier.moduleName=github.com/acouvreur/sablier/plugins/traefik + - --experimental.plugins.sablier.version=v1.2.0 - --providers.docker=true - --providers.docker.swarmmode=true - --providers.file.filename=/etc/traefik/dynamic-config.yml @@ -21,8 +21,8 @@ services: volumes: - '/var/run/docker.sock:/var/run/docker.sock' - ondemand: - image: ghcr.io/acouvreur/traefik-ondemand-service:1 + sablier: + image: ghcr.io/acouvreur/sablier:1 command: - --swarmMode=true volumes: @@ -30,12 +30,12 @@ services: deploy: labels: - traefik.enable=true - - traefik.http.middlewares.ondemand-nginx.plugin.traefik-ondemand-plugin.name=DOCKER_SWARM_nginx - - traefik.http.middlewares.ondemand-nginx.plugin.traefik-ondemand-plugin.serviceUrl=http://ondemand:10000 - - traefik.http.middlewares.ondemand-nginx.plugin.traefik-ondemand-plugin.timeout=5m - - traefik.http.middlewares.ondemand-whoami.plugin.traefik-ondemand-plugin.name=DOCKER_SWARM_whoami - - traefik.http.middlewares.ondemand-whoami.plugin.traefik-ondemand-plugin.serviceUrl=http://ondemand:10000 - - traefik.http.middlewares.ondemand-whoami.plugin.traefik-ondemand-plugin.timeout=1m + - traefik.http.middlewares.ondemand-nginx.plugin.sablier.name=DOCKER_SWARM_nginx + - traefik.http.middlewares.ondemand-nginx.plugin.sablier.serviceUrl=http://sablier:10000 + - traefik.http.middlewares.ondemand-nginx.plugin.sablier.timeout=5m + - traefik.http.middlewares.ondemand-whoami.plugin.sablier.name=DOCKER_SWARM_whoami + - traefik.http.middlewares.ondemand-whoami.plugin.sablier.serviceUrl=http://sablier:10000 + - traefik.http.middlewares.ondemand-whoami.plugin.sablier.timeout=1m - traefik.http.services.ondemand.loadbalancer.server.port=10000 nginx: diff --git a/plugins/traefik/go.mod b/plugins/traefik/go.mod index c6a7cad..91a472d 100644 --- a/plugins/traefik/go.mod +++ b/plugins/traefik/go.mod @@ -1,6 +1,6 @@ -module github.com/acouvreur/traefik-ondemand-plugin +module github.com/acouvreur/sablier/plugins/traefik -go 1.17 +go 1.18 require github.com/stretchr/testify v1.6.1 diff --git a/plugins/traefik/img/gophers-traefik.png b/plugins/traefik/img/gophers-traefik.png deleted file mode 100644 index 56350012f7a581ee07e6a87ad3cf6ea2ba67e707..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 188507 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 ti))rqNEbl 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

diff --git a/plugins/traefik/pkg/pages/error.html b/plugins/traefik/pkg/pages/error.html index 95b886f..83eab04 100644 --- a/plugins/traefik/pkg/pages/error.html +++ b/plugins/traefik/pkg/pages/error.html @@ -156,8 +156,8 @@ diff --git a/plugins/traefik/pkg/pages/loading.go b/plugins/traefik/pkg/pages/loading.go index b758ad1..8d4f8eb 100644 --- a/plugins/traefik/pkg/pages/loading.go +++ b/plugins/traefik/pkg/pages/loading.go @@ -240,8 +240,8 @@ var loadingPage = ` diff --git a/plugins/traefik/pkg/pages/loading.html b/plugins/traefik/pkg/pages/loading.html index 34285b4..1683c51 100644 --- a/plugins/traefik/pkg/pages/loading.html +++ b/plugins/traefik/pkg/pages/loading.html @@ -228,8 +228,8 @@ diff --git a/plugins/traefik/pkg/strategy/dynamic_strategy.go b/plugins/traefik/pkg/strategy/dynamic_strategy.go index ca90468..6671a2f 100644 --- a/plugins/traefik/pkg/strategy/dynamic_strategy.go +++ b/plugins/traefik/pkg/strategy/dynamic_strategy.go @@ -5,7 +5,7 @@ import ( "net/http" "time" - "github.com/acouvreur/traefik-ondemand-plugin/pkg/pages" + "github.com/acouvreur/sablier/plugins/traefik/pkg/pages" ) type DynamicStrategy struct { diff --git a/plugins/traefik/release.config.js b/plugins/traefik/release.config.js deleted file mode 100644 index 1f899af..0000000 --- a/plugins/traefik/release.config.js +++ /dev/null @@ -1,11 +0,0 @@ -module.exports = { - "branches": [ - { "name": "main" }, - { "name": "beta", "channel": "beta", "prerelease": "beta" }, - ], - "plugins": [ - "@semantic-release/commit-analyzer", - "@semantic-release/release-notes-generator", - "@semantic-release/github" - ] -} \ No newline at end of file diff --git a/plugins/traefik/traefik.yml b/plugins/traefik/traefik.yml index 49af50c..ef08e84 100755 --- a/plugins/traefik/traefik.yml +++ b/plugins/traefik/traefik.yml @@ -7,8 +7,8 @@ api: experimental: plugins: - traefik-ondemand-plugin: - moduleName: "github.com/acouvreur/traefik-ondemand-plugin" + sablier: + moduleName: "github.com/acouvreur/sablier/plugins/traefik" version: "v0.1.1" entryPoints: diff --git a/plugins/traefik/traefik_dev.yml b/plugins/traefik/traefik_dev.yml index 9e36cdb..2ff6b04 100755 --- a/plugins/traefik/traefik_dev.yml +++ b/plugins/traefik/traefik_dev.yml @@ -7,8 +7,8 @@ api: experimental: localPlugins: - traefik-ondemand-plugin: - moduleName: github.com/acouvreur/traefik-ondemand-plugin + sablier: + moduleName: github.com/acouvreur/sablier/plugins/traefik entryPoints: http: diff --git a/release.config.js b/release.config.js index 99bbd8e..7c9a147 100644 --- a/release.config.js +++ b/release.config.js @@ -11,7 +11,7 @@ module.exports = { }], ["@semantic-release/github", { "assets": [ - "traefik-ondemand-service*" + "sablier*" ] }] ]