fix: changing module to github.com/sablierapp/sablier

This commit is contained in:
Alexis Couvreur
2024-10-20 23:54:53 -04:00
parent 70ab2c4eeb
commit 8b113a3c76
95 changed files with 253 additions and 306 deletions

View File

@@ -10,7 +10,7 @@ on:
- "v**"
env:
REGISTRY_IMAGE: acouvreur/sablier
REGISTRY_IMAGE: sablierapp/sablier
jobs:
build:

View File

@@ -23,7 +23,7 @@ jobs:
with:
context: .
file: ./Dockerfile
tags: acouvreur/sablier:local
tags: sablierapp/sablier:local
outputs: type=docker,dest=/tmp/sablier.tar
- name: Upload artifact

View File

@@ -1,8 +1,9 @@
displayName: Sablier
type: middleware
iconPath: ./docs/img/hourglass.png
iconPath: ./docs/img/icon.png
bannerPath: ./docs/img/banner.png
import: github.com/acouvreur/sablier/plugins/traefik
import: github.com/sablierapp/sablier/plugins/traefik
summary: "Start your containers on demand, shut them down automatically when there's no activity. Docker, Docker Swarm Mode and Kubernetes compatible."

View File

@@ -11,7 +11,7 @@ GIT_BRANCH := $(shell git rev-parse --abbrev-ref HEAD)
BUILDTIME := $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
BUILDUSER := $(shell whoami)@$(shell hostname)
VPREFIX := github.com/acouvreur/sablier/version
VPREFIX := github.com/sablierapp/sablier/version
GO_LDFLAGS := -s -w -X $(VPREFIX).Branch=$(GIT_BRANCH) -X $(VPREFIX).Version=$(VERSION) -X $(VPREFIX).Revision=$(GIT_REVISION) -X $(VPREFIX).BuildUser=$(BUILDUSER) -X $(VPREFIX).BuildDate=$(BUILDTIME)
$(PLATFORMS):
@@ -39,7 +39,7 @@ test-plugin-caddy:
.PHONY: docker
docker:
docker build --build-arg BUILDTIME=$(BUILDTIME) --build-arg VERSION=$(VERSION) --build-arg REVISION=$(GIT_REVISION) -t acouvreur/sablier:local .
docker build --build-arg BUILDTIME=$(BUILDTIME) --build-arg VERSION=$(VERSION) --build-arg REVISION=$(GIT_REVISION) -t sablierapp/sablier:local .
caddy:
docker build -t caddy:local plugins/caddy
@@ -56,7 +56,7 @@ proxywasm:
LAST = 0.0.0
NEXT = 1.0.0
update-doc-version:
find . -type f \( -name "*.md" -o -name "*.yml" \) -exec sed -i 's/acouvreur\/sablier:$(LAST)/acouvreur\/sablier:$(NEXT)/g' {} +
find . -type f \( -name "*.md" -o -name "*.yml" \) -exec sed -i 's/sablierapp\/sablier:$(LAST)/sablierapp\/sablier:$(NEXT)/g' {} +
update-doc-version-middleware:
find . -type f \( -name "*.md" -o -name "*.yml" \) -exec sed -i 's/version: "v$(LAST)"/version: "v$(NEXT)"/g' {} +

View File

@@ -4,18 +4,18 @@
> The sablier repository has moved to [sablierapp/sablier](https://github.com/sablierapp/sablier)!
> This repository is archived for legacy compatibility!
[![GitHub license](https://img.shields.io/github/license/acouvreur/sablier.svg)](https://github.com/acouvreur/sablier/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/acouvreur/sablier.svg)](https://GitHub.com/acouvreur/sablier/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/acouvreur/sablier.svg)](https://GitHub.com/acouvreur/sablier/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/acouvreur/sablier.svg)](https://GitHub.com/acouvreur/sablier/pulls/)
[![GitHub license](https://img.shields.io/github/license/sablierapp/sablier.svg)](https://github.com/sablierapp/sablier/blob/master/LICENSE)
[![GitHub contributors](https://img.shields.io/github/contributors/sablierapp/sablier.svg)](https://GitHub.com/sablierapp/sablier/graphs/contributors/)
[![GitHub issues](https://img.shields.io/github/issues/sablierapp/sablier.svg)](https://GitHub.com/sablierapp/sablier/issues/)
[![GitHub pull-requests](https://img.shields.io/github/issues-pr/sablierapp/sablier.svg)](https://GitHub.com/sablierapp/sablier/pulls/)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
[![GoDoc](https://godoc.org/github.com/acouvreur/sablier?status.svg)](http://godoc.org/github.com/acouvreur/sablier)
![Latest Build](https://img.shields.io/github/actions/workflow/status/acouvreur/sablier/build.yml?style=flat-square&branch=main)
![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/v/release/acouvreur/sablier?style=flat-square&sort=semver)
![Latest PreRelease](https://img.shields.io/github/v/release/acouvreur/sablier?style=flat-square&include_prereleases&sort=semver)
[![GoDoc](https://godoc.org/github.com/sablierapp/sablier?status.svg)](http://godoc.org/github.com/sablierapp/sablier)
![Latest Build](https://img.shields.io/github/actions/workflow/status/sablierapp/sablier/build.yml?style=flat-square&branch=main)
![Go Report](https://goreportcard.com/badge/github.com/sablierapp/sablier?style=flat-square)
![Go Version](https://img.shields.io/github/go-mod/go-version/sablierapp/sablier?style=flat-square)
![Latest Release](https://img.shields.io/github/v/release/sablierapp/sablier?style=flat-square&sort=semver)
![Latest PreRelease](https://img.shields.io/github/v/release/sablierapp/sablier?style=flat-square&include_prereleases&sort=semver)
An free and open-source software to start workloads on demand and stop them after a period of inactivity.
@@ -25,19 +25,19 @@ Either because you don't want to overload your raspberry pi or because your QA e
## 🎯 Features
- [Supports the following providers](https://acouvreur.github.io/sablier/#/providers/overview)
- [Supports the following providers](https://sablierapp.dev/sablier/#/providers/overview)
- Docker
- Docker Swarm
- Kubernetes
- [Supports multiple reverse proxies](https://acouvreur.github.io/sablier/#/plugins/overview)
- [Supports multiple reverse proxies](https://sablierapp.dev/sablier/#/plugins/overview)
- Nginx
- Traefik
- Caddy
- Scale up your workload automatically upon the first request
- [with a themable waiting page](https://acouvreur.github.io/sablier/#/themes)
- [with a hanging request (hang until service is up)](https://acouvreur.github.io/sablier/#/strategies?id=blocking-strategy)
- [with a themable waiting page](https://sablierapp.dev/sablier/#/themes)
- [with a hanging request (hang until service is up)](https://sablierapp.dev/sablier/#/strategies?id=blocking-strategy)
- Scale your workload to zero automatically after a period of inactivity
## 📝 Documentation
[See the documentation here](https://acouvreur.github.io/sablier/#/)
[See the documentation here](https://sablierapp.dev/sablier/#/)

View File

@@ -2,8 +2,8 @@ package discovery
import (
"context"
"github.com/acouvreur/sablier/app/providers"
"github.com/acouvreur/sablier/pkg/arrays"
"github.com/sablierapp/sablier/app/providers"
"github.com/sablierapp/sablier/pkg/arrays"
log "github.com/sirupsen/logrus"
"golang.org/x/sync/errgroup"
)

View File

@@ -3,10 +3,10 @@ package discovery_test
import (
"context"
"errors"
"github.com/acouvreur/sablier/app/discovery"
"github.com/acouvreur/sablier/app/providers"
"github.com/acouvreur/sablier/app/providers/mock"
"github.com/acouvreur/sablier/app/types"
"github.com/sablierapp/sablier/app/discovery"
"github.com/sablierapp/sablier/app/providers"
"github.com/sablierapp/sablier/app/providers/mock"
"github.com/sablierapp/sablier/app/types"
"testing"
)

View File

@@ -12,12 +12,12 @@ import (
log "github.com/sirupsen/logrus"
"github.com/acouvreur/sablier/app/http/routes/models"
"github.com/acouvreur/sablier/app/instance"
"github.com/acouvreur/sablier/app/sessions"
"github.com/acouvreur/sablier/app/theme"
"github.com/acouvreur/sablier/config"
"github.com/gin-gonic/gin"
"github.com/sablierapp/sablier/app/http/routes/models"
"github.com/sablierapp/sablier/app/instance"
"github.com/sablierapp/sablier/app/sessions"
"github.com/sablierapp/sablier/app/theme"
"github.com/sablierapp/sablier/config"
)
var osDirFS = os.DirFS

View File

@@ -13,12 +13,12 @@ import (
"testing/fstest"
"time"
"github.com/acouvreur/sablier/app/http/routes/models"
"github.com/acouvreur/sablier/app/instance"
"github.com/acouvreur/sablier/app/sessions"
"github.com/acouvreur/sablier/app/theme"
"github.com/acouvreur/sablier/config"
"github.com/gin-gonic/gin"
"github.com/sablierapp/sablier/app/http/routes/models"
"github.com/sablierapp/sablier/app/instance"
"github.com/sablierapp/sablier/app/sessions"
"github.com/sablierapp/sablier/app/theme"
"github.com/sablierapp/sablier/config"
"gotest.tools/v3/assert"
)

View File

@@ -5,7 +5,7 @@ import (
"github.com/gin-gonic/gin"
"github.com/acouvreur/sablier/version"
"github.com/sablierapp/sablier/version"
)
func GetVersion(c *gin.Context) {

View File

@@ -7,8 +7,8 @@ import (
"net/http/httptest"
"testing"
"github.com/acouvreur/sablier/version"
"github.com/gin-gonic/gin"
"github.com/sablierapp/sablier/version"
"gotest.tools/v3/assert"
)

View File

@@ -10,12 +10,12 @@ import (
log "github.com/sirupsen/logrus"
"github.com/acouvreur/sablier/app/http/middleware"
"github.com/acouvreur/sablier/app/http/routes"
"github.com/acouvreur/sablier/app/sessions"
"github.com/acouvreur/sablier/app/theme"
"github.com/acouvreur/sablier/config"
"github.com/gin-gonic/gin"
"github.com/sablierapp/sablier/app/http/middleware"
"github.com/sablierapp/sablier/app/http/routes"
"github.com/sablierapp/sablier/app/sessions"
"github.com/sablierapp/sablier/app/theme"
"github.com/sablierapp/sablier/config"
)
func Start(serverConf config.Server, strategyConf config.Strategy, sessionsConf config.Sessions, sessionManager sessions.Manager, t *theme.Themes) {

View File

@@ -4,18 +4,18 @@ import (
"context"
"errors"
"fmt"
"github.com/acouvreur/sablier/app/discovery"
"github.com/acouvreur/sablier/app/providers"
"github.com/sablierapp/sablier/app/discovery"
"github.com/sablierapp/sablier/app/providers"
"io"
"strings"
"github.com/docker/docker/api/types/container"
"github.com/acouvreur/sablier/app/instance"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/events"
"github.com/docker/docker/api/types/filters"
"github.com/docker/docker/client"
"github.com/sablierapp/sablier/app/instance"
log "github.com/sirupsen/logrus"
)

View File

@@ -6,10 +6,10 @@ import (
"reflect"
"testing"
"github.com/acouvreur/sablier/app/instance"
"github.com/acouvreur/sablier/app/providers/mocks"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/events"
"github.com/sablierapp/sablier/app/instance"
"github.com/sablierapp/sablier/app/providers/mocks"
"github.com/stretchr/testify/mock"
)

View File

@@ -3,12 +3,12 @@ package docker
import (
"context"
"fmt"
"github.com/acouvreur/sablier/app/discovery"
"github.com/acouvreur/sablier/app/providers"
"github.com/acouvreur/sablier/app/types"
dockertypes "github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/container"
"github.com/docker/docker/api/types/filters"
"github.com/sablierapp/sablier/app/discovery"
"github.com/sablierapp/sablier/app/providers"
"github.com/sablierapp/sablier/app/types"
"strings"
)

View File

@@ -4,16 +4,16 @@ import (
"context"
"errors"
"fmt"
"github.com/acouvreur/sablier/app/discovery"
"github.com/acouvreur/sablier/app/providers"
"github.com/sablierapp/sablier/app/discovery"
"github.com/sablierapp/sablier/app/providers"
"io"
"strings"
"github.com/acouvreur/sablier/app/instance"
"github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/filters"
"github.com/docker/docker/api/types/swarm"
"github.com/docker/docker/client"
"github.com/sablierapp/sablier/app/instance"
log "github.com/sirupsen/logrus"
)

View File

@@ -5,10 +5,10 @@ import (
"reflect"
"testing"
"github.com/acouvreur/sablier/app/instance"
"github.com/acouvreur/sablier/app/providers/mocks"
"github.com/docker/docker/api/types/events"
"github.com/docker/docker/api/types/swarm"
"github.com/sablierapp/sablier/app/instance"
"github.com/sablierapp/sablier/app/providers/mocks"
"github.com/stretchr/testify/mock"
)

View File

@@ -3,12 +3,12 @@ package dockerswarm
import (
"context"
"fmt"
"github.com/acouvreur/sablier/app/discovery"
"github.com/acouvreur/sablier/app/providers"
"github.com/acouvreur/sablier/app/types"
dockertypes "github.com/docker/docker/api/types"
"github.com/docker/docker/api/types/filters"
"github.com/docker/docker/api/types/swarm"
"github.com/sablierapp/sablier/app/discovery"
"github.com/sablierapp/sablier/app/providers"
"github.com/sablierapp/sablier/app/types"
log "github.com/sirupsen/logrus"
"strconv"
)

View File

@@ -3,15 +3,15 @@ package kubernetes
import (
"context"
"fmt"
"github.com/acouvreur/sablier/app/discovery"
"github.com/acouvreur/sablier/app/providers"
"github.com/sablierapp/sablier/app/discovery"
"github.com/sablierapp/sablier/app/providers"
"time"
appsv1 "k8s.io/api/apps/v1"
core_v1 "k8s.io/api/core/v1"
"github.com/acouvreur/sablier/app/instance"
providerConfig "github.com/acouvreur/sablier/config"
"github.com/sablierapp/sablier/app/instance"
providerConfig "github.com/sablierapp/sablier/config"
log "github.com/sirupsen/logrus"
autoscalingv1 "k8s.io/api/autoscaling/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

View File

@@ -5,8 +5,8 @@ import (
"reflect"
"testing"
"github.com/acouvreur/sablier/app/instance"
"github.com/acouvreur/sablier/app/providers/mocks"
"github.com/sablierapp/sablier/app/instance"
"github.com/sablierapp/sablier/app/providers/mocks"
"github.com/stretchr/testify/mock"
v1 "k8s.io/api/apps/v1"
autoscalingv1 "k8s.io/api/autoscaling/v1"

View File

@@ -2,9 +2,9 @@ package kubernetes
import (
"context"
"github.com/acouvreur/sablier/app/discovery"
"github.com/acouvreur/sablier/app/providers"
"github.com/acouvreur/sablier/app/types"
"github.com/sablierapp/sablier/app/discovery"
"github.com/sablierapp/sablier/app/providers"
"github.com/sablierapp/sablier/app/types"
log "github.com/sirupsen/logrus"
v1 "k8s.io/api/apps/v1"
core_v1 "k8s.io/api/core/v1"

View File

@@ -2,9 +2,9 @@ package mock
import (
"context"
"github.com/acouvreur/sablier/app/instance"
"github.com/acouvreur/sablier/app/providers"
"github.com/acouvreur/sablier/app/types"
"github.com/sablierapp/sablier/app/instance"
"github.com/sablierapp/sablier/app/providers"
"github.com/sablierapp/sablier/app/types"
"github.com/stretchr/testify/mock"
)

View File

@@ -2,9 +2,9 @@ package providers
import (
"context"
"github.com/acouvreur/sablier/app/types"
"github.com/sablierapp/sablier/app/types"
"github.com/acouvreur/sablier/app/instance"
"github.com/sablierapp/sablier/app/instance"
)
type Provider interface {

View File

@@ -3,21 +3,21 @@ package app
import (
"context"
"fmt"
"github.com/acouvreur/sablier/app/discovery"
"github.com/acouvreur/sablier/app/providers/docker"
"github.com/acouvreur/sablier/app/providers/dockerswarm"
"github.com/acouvreur/sablier/app/providers/kubernetes"
"github.com/sablierapp/sablier/app/discovery"
"github.com/sablierapp/sablier/app/providers/docker"
"github.com/sablierapp/sablier/app/providers/dockerswarm"
"github.com/sablierapp/sablier/app/providers/kubernetes"
"os"
"github.com/acouvreur/sablier/app/http"
"github.com/acouvreur/sablier/app/instance"
"github.com/acouvreur/sablier/app/providers"
"github.com/acouvreur/sablier/app/sessions"
"github.com/acouvreur/sablier/app/storage"
"github.com/acouvreur/sablier/app/theme"
"github.com/acouvreur/sablier/config"
"github.com/acouvreur/sablier/pkg/tinykv"
"github.com/acouvreur/sablier/version"
"github.com/sablierapp/sablier/app/http"
"github.com/sablierapp/sablier/app/instance"
"github.com/sablierapp/sablier/app/providers"
"github.com/sablierapp/sablier/app/sessions"
"github.com/sablierapp/sablier/app/storage"
"github.com/sablierapp/sablier/app/theme"
"github.com/sablierapp/sablier/config"
"github.com/sablierapp/sablier/pkg/tinykv"
"github.com/sablierapp/sablier/version"
log "github.com/sirupsen/logrus"
)

View File

@@ -4,7 +4,7 @@ import (
"context"
"time"
"github.com/acouvreur/sablier/app/providers"
"github.com/sablierapp/sablier/app/providers"
log "github.com/sirupsen/logrus"
)

View File

@@ -5,9 +5,9 @@ import (
"sync"
"time"
"github.com/acouvreur/sablier/app/instance"
"github.com/acouvreur/sablier/app/providers"
"github.com/acouvreur/sablier/pkg/tinykv"
"github.com/sablierapp/sablier/app/instance"
"github.com/sablierapp/sablier/app/providers"
"github.com/sablierapp/sablier/pkg/tinykv"
"github.com/stretchr/testify/mock"
)

View File

@@ -9,9 +9,9 @@ import (
"sync"
"time"
"github.com/acouvreur/sablier/app/instance"
"github.com/acouvreur/sablier/app/providers"
"github.com/acouvreur/sablier/pkg/tinykv"
"github.com/sablierapp/sablier/app/instance"
"github.com/sablierapp/sablier/app/providers"
"github.com/sablierapp/sablier/pkg/tinykv"
log "github.com/sirupsen/logrus"
)

View File

@@ -6,8 +6,8 @@ import (
"testing"
"time"
"github.com/acouvreur/sablier/app/instance"
"github.com/acouvreur/sablier/app/sessions/mocks"
"github.com/sablierapp/sablier/app/instance"
"github.com/sablierapp/sablier/app/sessions/mocks"
"github.com/stretchr/testify/mock"
"gotest.tools/v3/assert"
)

View File

@@ -5,7 +5,7 @@ import (
"io"
"os"
"github.com/acouvreur/sablier/config"
"github.com/sablierapp/sablier/config"
log "github.com/sirupsen/logrus"
)

View File

@@ -6,9 +6,6 @@
<meta name="robots" content="noindex, nofollow" />
<meta http-equiv="refresh" content="{{ .RefreshFrequency }}" />
<title>Sablier</title>
<link rel="preconnect" href="https://fonts.bunny.net" crossorigin>
<link rel="dns-prefetch" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css2?family=Inconsolata:wght@400;700&display=swap" rel="stylesheet">
<style>
/** Idea author: https://codepen.io/robinselmer */
html, body {

View File

@@ -4,7 +4,7 @@ import (
"testing"
"testing/fstest"
"github.com/acouvreur/sablier/app/theme"
"github.com/sablierapp/sablier/app/theme"
"github.com/stretchr/testify/assert"
)

View File

@@ -4,8 +4,8 @@ import (
"fmt"
"io"
"github.com/acouvreur/sablier/pkg/durations"
"github.com/acouvreur/sablier/version"
"github.com/sablierapp/sablier/pkg/durations"
"github.com/sablierapp/sablier/version"
)
func (t *Themes) Render(name string, opts Options, writer io.Writer) error {

View File

@@ -8,8 +8,8 @@ import (
"testing/fstest"
"time"
"github.com/acouvreur/sablier/app/theme"
"github.com/acouvreur/sablier/version"
"github.com/sablierapp/sablier/app/theme"
"github.com/sablierapp/sablier/version"
)
var (

View File

@@ -4,7 +4,7 @@ import (
"fmt"
"os"
"github.com/acouvreur/sablier/app/http/healthcheck"
"github.com/sablierapp/sablier/app/http/healthcheck"
"github.com/spf13/cobra"
)

View File

@@ -6,7 +6,7 @@ import (
"strings"
"time"
"github.com/acouvreur/sablier/config"
"github.com/sablierapp/sablier/config"
log "github.com/sirupsen/logrus"
"github.com/spf13/cobra"
"github.com/spf13/pflag"

View File

@@ -9,7 +9,7 @@ import (
"strings"
"testing"
"github.com/acouvreur/sablier/config"
"github.com/sablierapp/sablier/config"
"github.com/spf13/cobra"
"github.com/spf13/viper"
"github.com/stretchr/testify/require"

View File

@@ -1,7 +1,7 @@
package cmd
import (
"github.com/acouvreur/sablier/app"
"github.com/sablierapp/sablier/app"
"github.com/spf13/cobra"
"github.com/spf13/viper"
)

View File

@@ -3,7 +3,7 @@ package cmd
import (
"fmt"
"github.com/acouvreur/sablier/version"
"github.com/sablierapp/sablier/version"
"github.com/spf13/cobra"
)

View File

@@ -0,0 +1 @@
sablierapp.dev

View File

@@ -24,5 +24,5 @@
- [Overview](/guides/overview)
- [VSCode Server with Traefik and Kubernetes](/guides/code-server-traefik-kubernetes.md)
- **Links**
- [<img src="assets/img/github.svg" />Github](https://github.com/acouvreur/sablier)
- [<img src="assets/img/docker.svg" height=24px />Docker Hub](https://hub.docker.com/r/acouvreur/sablier)
- [<img src="assets/img/github.svg" />Github](https://github.com/sablierapp/sablier)
- [<img src="assets/img/docker.svg" height=24px />Docker Hub](https://hub.docker.com/r/sablierapp/sablier)

BIN
docs/assets/img/banner.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
docs/assets/img/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

@@ -86,8 +86,8 @@ sablier --help
# or
docker run acouvreur/sablier[:version] --help
# ex: docker run acouvreur/sablier:1.8.0-beta.22 --help
docker run sablierapp/sablier[:version] --help
# ex: docker run sablierapp/sablier:1.8.0-beta.22 --help
```
All arguments can be used in the form of the config file such as

View File

@@ -43,7 +43,7 @@ services:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
whoami:
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
```
#### **Caddyfile**
@@ -75,10 +75,10 @@ services:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
whoami:
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
sablier:
image: acouvreur/sablier:1.8.0-beta.22
image: sablierapp/sablier:1.8.0-beta.22
command:
- start
- --provider.name=docker
@@ -93,7 +93,7 @@ Because Caddy does not provide any runtime evaluation for the plugins, we need t
I'll use the provided Dockerfile to build the custom Caddy image.
```bash
docker build https://github.com/acouvreur/sablier.git#v1.4.0-beta.3:plugins/caddy
docker build https://github.com/sablierapp/sablier.git#v1.4.0-beta.3:plugins/caddy
--build-arg=CADDY_VERSION=2.6.4
-t caddy:2.6.4-with-sablier
```
@@ -110,10 +110,10 @@ services:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
whoami:
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
sablier:
image: acouvreur/sablier:1.8.0-beta.22
image: sablierapp/sablier:1.8.0-beta.22
command:
- start
- --provider.name=docker
@@ -139,13 +139,13 @@ services:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
whoami:
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
labels:
- sablier.enable=true
- sablier.group=demo
sablier:
image: acouvreur/sablier:local
image: sablierapp/sablier:local
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
```

View File

@@ -58,7 +58,7 @@
enabled: true
additionalArguments:
- "--experimental.plugins.sablier.moduleName=github.com/acouvreur/sablier"
- "--experimental.plugins.sablier.moduleName=github.com/sablierapp/sablier"
- "--experimental.plugins.sablier.version=v1.8.0-beta.22"
providers:
@@ -143,7 +143,7 @@
serviceAccount: sablier
containers:
- name: sablier
image: acouvreur/sablier:1.8.0-beta.22
image: sablierapp/sablier:1.8.0-beta.22
args:
- "start"
- "--provider.name=kubernetes"

View File

@@ -16,7 +16,7 @@ You can use the command `sablier health` to check for healthiness.
```yml
services:
sablier:
image: acouvreur/sablier:1.8.0-beta.22
image: sablierapp/sablier:1.8.0-beta.22
healthcheck:
test: ["sablier", "health"]
interval: 1m30s

View File

@@ -28,7 +28,7 @@
'</select></div>',
// disable automatic linking to avoid navigating when clicking on select
nameLink: false,
repo: 'https://github.com/acouvreur/sablier',
repo: 'https://github.com/sablierapp/sablier',
notFoundPage: true,
loadSidebar: true,
relativePath: true,

View File

@@ -9,21 +9,21 @@ You can install Sablier with the following flavors:
## Use the Docker image
- **Docker Hub**: [acouvreur/sablier](https://hub.docker.com/r/acouvreur/sablier)
- **Github Container Registry**: [ghcr.io/acouvreur/sablier](https://github.com/acouvreur/sablier/pkgs/container/sablier)
- **Docker Hub**: [sablierapp/sablier](https://hub.docker.com/r/sablierapp/sablier)
- **Github Container Registry**: [ghcr.io/sablierapp/sablier](https://github.com/sablierapp/sablier/pkgs/container/sablier)
Choose one of the Docker images and run it with one sample configuration file:
- [sablier.yaml](https://raw.githubusercontent.com/acouvreur/sablier/main/sablier.sample.yaml)
- [sablier.yaml](https://raw.githubusercontent.com/sablierapp/sablier/main/sablier.sample.yaml)
```bash
docker run -d -p 10000:10000 \
-v $PWD/sablier.yml:/etc/sablier/sablier.yml acouvreur/sablier:1.8.0-beta.22
-v $PWD/sablier.yml:/etc/sablier/sablier.yml sablierapp/sablier:1.8.0-beta.22
```
## Use the binary distribution
Grab the latest binary from the [releases](https://github.com/acouvreur/sablier/releases) page.
Grab the latest binary from the [releases](https://github.com/sablierapp/sablier/releases) page.
And run it:
@@ -34,7 +34,7 @@ And run it:
## Compile your binary from the sources
```bash
git clone git@github.com:acouvreur/sablier.git
git clone git@github.com:sablierapp/sablier.git
cd sablier
make
# Output will change depending on your distro

View File

@@ -22,7 +22,7 @@ Here I'll show you two options with Docker.
#### **Using the provided Dockerfile**
```bash
docker build https://github.com/acouvreur/sablier.git#v1.4.0-beta.3:plugins/caddy
docker build https://github.com/sablierapp/sablier.git#v1.4.0-beta.3:plugins/caddy
--build-arg=CADDY_VERSION=2.6.4
-t caddy:2.6.4-with-sablier
```
@@ -33,10 +33,10 @@ docker build https://github.com/acouvreur/sablier.git#v1.4.0-beta.3:plugins/cadd
ARG CADDY_VERSION=2.6.4
FROM caddy:${CADDY_VERSION}-builder AS builder
ADD https://github.com/acouvreur/sablier.git#v1.4.0-beta.3 /sablier
ADD https://github.com/sablierapp/sablier.git#v1.4.0-beta.3 /sablier
RUN xcaddy build \
--with github.com/acouvreur/sablier/plugins/caddy=/sablier/plugins/caddy
--with github.com/sablierapp/sablier/plugins/caddy=/sablier/plugins/caddy
FROM caddy:${CADDY_VERSION}

View File

@@ -31,7 +31,7 @@ It leverages the API calls to plugin integration to catch in-flight requests to
>
> ❌ **Not compatible**
*Your Reverse Proxy is not on the list? [Open an issue to request the missing reverse proxy integration here!](https://github.com/acouvreur/sablier/issues/new?assignees=&labels=enhancement%2C+reverse-proxy&projects=&template=reverse-proxy-integration-request.md&title=Add+%60%5BREVERSE+PROXY%5D%60+reverse+proxy+integration)*
*Your Reverse Proxy is not on the list? [Open an issue to request the missing reverse proxy integration here!](https://github.com/sablierapp/sablier/issues/new?assignees=&labels=enhancement%2C+reverse-proxy&projects=&template=reverse-proxy-integration-request.md&title=Add+%60%5BREVERSE+PROXY%5D%60+reverse+proxy+integration)*
## Runtime and Compiled plugins

View File

@@ -26,7 +26,7 @@ You have to use the dynamic config file provider instead.
```yaml
whoami:
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
labels:
- traefik.enable
- traefik.http.routers.whoami.rule=PathPrefix(`/whoami`)
@@ -66,7 +66,7 @@ See also [`traefik.docker.lbswarm`](https://doc.traefik.io/traefik/routing/provi
```yaml
services:
whoami:
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
deploy:
replicas: 0
labels:
@@ -81,7 +81,7 @@ Traefik also have [allowEmptyServices](https://doc.traefik.io/traefik/providers/
You must use [`allowEmptyServices`](https://doc.traefik.io/traefik/providers/kubernetes-ingress/#allowemptyservices)
The blocking strategy is supported by issuing redirect which force client to retry request. It might fail if client do not support redirections (e.g. `curl` without `-L`). The limitation is caused by Traefik architecture. Everytime the underlying configuration changes, the whole router is regenrated, thus changing the router during a request will still map to the old router. For more details, see [#62](https://github.com/acouvreur/sablier/issues/62).
The blocking strategy is supported by issuing redirect which force client to retry request. It might fail if client do not support redirections (e.g. `curl` without `-L`). The limitation is caused by Traefik architecture. Everytime the underlying configuration changes, the whole router is regenrated, thus changing the router during a request will still map to the old router. For more details, see [#62](https://github.com/sablierapp/sablier/issues/62).
<!-- tabs:end -->
@@ -95,14 +95,14 @@ The blocking strategy is supported by issuing redirect which force client to ret
experimental:
plugins:
sablier:
moduleName: "github.com/acouvreur/sablier"
moduleName: "github.com/sablierapp/sablier"
version: "v1.8.0-beta.22"
```
#### **CLI**
```bash
--experimental.plugins.sablier.modulename=github.com/acouvreur/sablier
--experimental.plugins.sablier.modulename=github.com/sablierapp/sablier
--experimental.plugins.sablier.version=v1.8.0-beta.22
```

View File

@@ -34,7 +34,7 @@ PROVIDER_NAME=docker
```yaml
services:
sablier:
image: acouvreur/sablier:1.8.0-beta.22
image: sablierapp/sablier:1.8.0-beta.22
command:
- start
- --provider.name=docker
@@ -51,7 +51,7 @@ You have to register your containers by opting-in with labels.
```yaml
services:
whoami:
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
labels:
- sablier.enable=true
- sablier.group=mygroup

View File

@@ -35,7 +35,7 @@ PROVIDER_NAME=docker_swarm # or swarm
```yaml
services:
sablier:
image: acouvreur/sablier:1.8.0-beta.22
image: sablierapp/sablier:1.8.0-beta.22
command:
- start
- --provider.name=docker_swarm # or swarm
@@ -52,7 +52,7 @@ You have to register your services by opting-in with labels.
```yaml
services:
whoami:
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
deploy:
labels:
- sablier.enable=true

View File

@@ -88,7 +88,7 @@ spec:
spec:
containers:
- name: whoami
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
```
## How does Sablier knows when a deployment is ready?

View File

@@ -17,10 +17,10 @@ A Provider typically have the following capabilities:
| [Docker](docker) | `docker` | Stop and start **containers** on demand |
| [Docker Swarm](docker_swarm) | `docker_swarm` or `swarm` | Scale down to zero and up **services** on demand |
| [Kubernetes](kubernetes) | `kubernetes` | Scale down and up **deployments** and **statefulsets** on demand |
| [Podman](https://github.com/acouvreur/sablier/issues/70) | `podman` | [See #70](https://github.com/acouvreur/sablier/issues/70) |
| [ECS](https://github.com/acouvreur/sablier/issues/116) | `ecs` | [See #116](https://github.com/acouvreur/sablier/issues/116) |
| [Systemd](https://github.com/acouvreur/sablier/issues/148) | `systemd` | [See #148](https://github.com/acouvreur/sablier/issues/148) |
| [Podman](https://github.com/sablierapp/sablier/issues/70) | `podman` | [See #70](https://github.com/sablierapp/sablier/issues/70) |
| [ECS](https://github.com/sablierapp/sablier/issues/116) | `ecs` | [See #116](https://github.com/sablierapp/sablier/issues/116) |
| [Systemd](https://github.com/sablierapp/sablier/issues/148) | `systemd` | [See #148](https://github.com/sablierapp/sablier/issues/148) |
*Your Provider is not on the list? [Open an issue to request the missing provider here!](https://github.com/acouvreur/sablier/issues/new?assignees=&labels=enhancement%2C+provider&projects=&template=instance-provider-request.md&title=Add+%60%5BPROVIDER%5D%60+provider)*
*Your Provider is not on the list? [Open an issue to request the missing provider here!](https://github.com/sablierapp/sablier/issues/new?assignees=&labels=enhancement%2C+provider&projects=&template=instance-provider-request.md&title=Add+%60%5BPROVIDER%5D%60+provider)*
[See the active issues about the providers](https://github.com/acouvreur/sablier/issues?q=is%3Aopen+is%3Aissue+label%3Aprovider)
[See the active issues about the providers](https://github.com/sablierapp/sablier/issues?q=is%3Aopen+is%3Aissue+label%3Aprovider)

View File

@@ -25,7 +25,7 @@ By default, the docker image looks for themes located inside the `/etc/sablier/t
```yaml
services:
sablier:
image: acouvreur/sablier:1.8.0-beta.22
image: sablierapp/sablier:1.8.0-beta.22
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
- '/path/to/my/themes:/etc/sablier/themes'

View File

@@ -12,4 +12,4 @@ Additional labels for pre-release and build metadata are available as extensions
This process is fully automated using [Semantic Release](https://github.com/semantic-release/semantic-release).
The configuration is [release.config.js](https://github.com/acouvreur/sablier/blob/main/release.config.js).
The configuration is [release.config.js](https://github.com/sablierapp/sablier/blob/main/release.config.js).

3
go.mod
View File

@@ -1,4 +1,4 @@
module github.com/acouvreur/sablier
module github.com/sablierapp/sablier
go 1.22.0
@@ -126,7 +126,6 @@ require (
golang.org/x/text v0.16.0 // indirect
golang.org/x/time v0.5.0 // indirect
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d // indirect
google.golang.org/appengine v1.6.8 // indirect
google.golang.org/protobuf v1.34.2 // indirect
gopkg.in/fsnotify.v1 v1.4.7 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect

92
go.sum
View File

@@ -29,16 +29,6 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0=
github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
github.com/docker/docker v27.0.3+incompatible h1:aBGI9TeQ4MPlhquTQKq9XbK79rKFVwXNUAYz9aXyEBE=
github.com/docker/docker v27.0.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker v27.1.1+incompatible h1:hO/M4MtV36kzKldqnA37IWhebRA+LnqqcqDja6kVaKY=
github.com/docker/docker v27.1.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker v27.1.2+incompatible h1:AhGzR1xaQIy53qCkxARaFluI00WPGtXn0AJuoQsVYTY=
github.com/docker/docker v27.1.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker v27.2.0+incompatible h1:Rk9nIVdfH3+Vz4cyI/uhbINhEZ/oLmc+CBXmH6fbNk4=
github.com/docker/docker v27.2.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker v27.2.1+incompatible h1:fQdiLfW7VLscyoeYEBz7/J8soYFDZV1u6VW6gJEjNMI=
github.com/docker/docker v27.2.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker v27.3.1+incompatible h1:KttF0XoteNTicmUtBO0L2tP+J7FGRFTjaEF4k6WdhfI=
github.com/docker/docker v27.3.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
@@ -66,8 +56,6 @@ github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm
github.com/gin-gonic/gin v1.10.0 h1:nTuyha1TYqgedzytsKYqna+DfLos46nTv2ygFy86HFU=
github.com/gin-gonic/gin v1.10.0/go.mod h1:4PMNQiOhvDRa013RKVbsiNwoyezlm2rm0uX/T7kzp5Y=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ=
github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
@@ -76,7 +64,6 @@ github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn
github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs=
github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE=
github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k=
github.com/go-openapi/swag v0.22.3 h1:yMBqmnQ0gyZvEb/+KzuWZOXgllrXT4SADYbvDaXHv/g=
github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
github.com/go-openapi/swag v0.22.4 h1:QLMzNJnMGPRNDCbySlcj1x01tzU8/9LTTL9hZZZogBU=
github.com/go-openapi/swag v0.22.4/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14=
@@ -88,22 +75,19 @@ github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJn
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
github.com/go-playground/validator/v10 v10.20.0 h1:K9ISHbSaI0lyB2eWMPJo+kOS/FBExVwjEviJTixqxL8=
github.com/go-playground/validator/v10 v10.20.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
@@ -112,10 +96,8 @@ github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec=
github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af h1:kmjWCqn2qkEml422C2Rrd27c3VGxi6a/6HNq8QmHRKM=
github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
@@ -180,10 +162,10 @@ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/onsi/ginkgo v1.10.1 h1:q/mM8GF/n0shIN8SaAZ0V+jnLPzen6WIVZdiwrRlMlo=
github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo/v2 v2.15.0 h1:79HwNRBAZHOEwrczrgSOPy+eFTTlIGELKy5as+ClttY=
github.com/onsi/ginkgo/v2 v2.15.0/go.mod h1:HlxMHtYF57y6Dpf+mc5529KKmSq9h2FpCF+/ZkwUxKM=
github.com/onsi/gomega v1.31.0 h1:54UJxxj6cPInHS3a35wm6BK/F9nHYueZ1NVujHDrnXE=
github.com/onsi/gomega v1.31.0/go.mod h1:DW9aCi7U6Yi40wNVAvT6kzFnEVEI5n3DloYBiKiT6zk=
github.com/onsi/ginkgo/v2 v2.19.0 h1:9Cnnf7UHo57Hy3k6/m5k3dRfGTMXGvxhHFvkDTCTpvA=
github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To=
github.com/onsi/gomega v1.19.0 h1:4ieX6qQjPP/BfC3mpsAtIGGlxTWPeA3Inl/7DtXw1tw=
github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM=
@@ -197,8 +179,8 @@ github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ=
github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4=
@@ -268,7 +250,6 @@ github.com/yudai/pp v2.0.1+incompatible h1:Q4//iY4pNF6yPLZIigmvcl7k/bPgrcTPIFIcm
github.com/yudai/pp v2.0.1+incompatible/go.mod h1:PuxR/8QJ7cyCkFp/aUDS+JY727OFEZkTdatxwunjIkc=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw=
go.opentelemetry.io/otel v1.27.0 h1:9BZoF3yMK/O1AafMiQTVu0YDj5Ea4hPhxCs7sGva+cg=
@@ -295,10 +276,7 @@ golang.org/x/arch v0.8.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g=
@@ -306,35 +284,21 @@ golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqR
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
golang.org/x/oauth2 v0.21.0 h1:tsimM75w1tF/uws5rbeHzIWxEqElMehnc+iW793zsZs=
golang.org/x/oauth2 v0.21.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -345,29 +309,20 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
@@ -377,17 +332,12 @@ golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtn
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20201211185031-d93e913c1a58/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.18.0 h1:k8NLag8AGHnn+PHbl7g43CtqZAwG60vZkLqgyZgIHgQ=
golang.org/x/tools v0.18.0/go.mod h1:GL7B4CwcLLeo59yx/9UWWuNOW1n3VZ4f5axWfML7Lcg=
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/genproto v0.0.0-20240213162025-012b6fc9bca9 h1:9+tzLLstTlPTRyJTh+ah5wIMsBW5c4tQwGTN3thOW9Y=
google.golang.org/genproto/googleapis/api v0.0.0-20240520151616-dc85e6b867a5 h1:P8OJ/WCl/Xo4E4zoe4/bifHpSmmKwARqyqE4nW6J2GQ=
google.golang.org/genproto/googleapis/api v0.0.0-20240520151616-dc85e6b867a5/go.mod h1:RGnPtTG7r4i8sPlNyDeikXF99hMM+hN6QMm4ooG9g2g=
@@ -395,10 +345,6 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291 h1:
google.golang.org/genproto/googleapis/rpc v0.0.0-20240515191416-fc5f0ca64291/go.mod h1:EfXuqaE1J41VCDicxHzUDm+8rk+7ZdXzHV0IhO/I6s0=
google.golang.org/grpc v1.64.0 h1:KH3VH9y/MgNQg1dE7b3XfVK0GsPSIzJwdF617gUSbvY=
google.golang.org/grpc v1.64.0/go.mod h1:oxjF8E3FBnjp+/gVFYdWacaLDx9na1aqy9oovLpxQYg=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg=
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@@ -421,32 +367,16 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU=
gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU=
k8s.io/api v0.30.2 h1:+ZhRj+28QT4UOH+BKznu4CBgPWgkXO7XAvMcMl0qKvI=
k8s.io/api v0.30.2/go.mod h1:ULg5g9JvOev2dG0u2hig4Z7tQ2hHIuS+m8MNZ+X6EmI=
k8s.io/api v0.30.3 h1:ImHwK9DCsPA9uoU3rVh4QHAHHK5dTSv1nxJUapx8hoQ=
k8s.io/api v0.30.3/go.mod h1:GPc8jlzoe5JG3pb0KJCSLX5oAFIW3/qNJITlDj8BH04=
k8s.io/api v0.31.0 h1:b9LiSjR2ym/SzTOlfMHm1tr7/21aD7fSkqgD/CVJBCo=
k8s.io/api v0.31.0/go.mod h1:0YiFF+JfFxMM6+1hQei8FY8M7s1Mth+z/q7eF1aJkTE=
k8s.io/apimachinery v0.30.2 h1:fEMcnBj6qkzzPGSVsAZtQThU62SmQ4ZymlXRC5yFSCg=
k8s.io/apimachinery v0.30.2/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
k8s.io/apimachinery v0.30.3 h1:q1laaWCmrszyQuSQCfNB8cFgCuDAoPszKY4ucAjDwHc=
k8s.io/apimachinery v0.30.3/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
k8s.io/apimachinery v0.31.0 h1:m9jOiSr3FoSSL5WO9bjm1n6B9KROYYgNZOb4tyZ1lBc=
k8s.io/apimachinery v0.31.0/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo=
k8s.io/client-go v0.30.2 h1:sBIVJdojUNPDU/jObC+18tXWcTJVcwyqS9diGdWHk50=
k8s.io/client-go v0.30.2/go.mod h1:JglKSWULm9xlJLx4KCkfLLQ7XwtlbflV6uFFSHTMgVs=
k8s.io/client-go v0.30.3 h1:bHrJu3xQZNXIi8/MoxYtZBBWQQXwy16zqJwloXXfD3k=
k8s.io/client-go v0.30.3/go.mod h1:8d4pf8vYu665/kUbsxWAQ/JDBNWqfFeZnvFiVdmx89U=
k8s.io/client-go v0.31.0 h1:QqEJzNjbN2Yv1H79SsS+SWnXkBgVu4Pj3CJQgbx0gI8=
k8s.io/client-go v0.31.0/go.mod h1:Y9wvC76g4fLjmU0BA+rV+h2cncoadjvjjkkIGoTLcGU=
k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag=
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98=
k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI=
k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A=
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
moul.io/http2curl/v2 v2.3.0 h1:9r3JfDzWPcbIklMOs2TnIFzDYvfAZvjeavG6EzP7jYs=
@@ -457,7 +387,5 @@ sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMm
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=

View File

@@ -127,12 +127,16 @@ github.com/golang-jwt/jwt/v5 v5.2.1 h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17w
github.com/golang-jwt/jwt/v5 v5.2.1/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-configfs-tsm v0.2.2 h1:YnJ9rXIOj5BYD7/0DNnzs8AOp7UcvjfTvt215EWcs98=
github.com/google/go-configfs-tsm v0.2.2/go.mod h1:EL1GTDFMb5PZQWDviGfZV9n87WeGTR/JUg13RfwkgRo=
github.com/google/gopacket v1.1.19 h1:ves8RnFZPGiFnTS0uPQStjwru6uO6h+nlr9j6fL7kF8=
github.com/google/gopacket v1.1.19/go.mod h1:iJ8V8n6KS+z2U1A8pUwu8bW5SyEMkXJB8Yo/Vo+TKTo=
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20240424215950-a892ee059fd6/go.mod h1:kf6iHlnVGwgKolg33glAes7Yg/8iWP8ukqeldJSO7jw=
github.com/google/renameio v0.1.0 h1:GOZbcHa3HfsPKPlmyPyN2KEohoMXOhdMbHrvbpl2QaA=
github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720 h1:zC34cGQu69FG7qzJ3WiKW244WfhDC3xxYMeNOX2gtUQ=
github.com/googleapis/google-cloud-go-testing v0.0.0-20210719221736-1c9a4c676720/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
@@ -179,6 +183,8 @@ github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab h1:BA4a7pe6ZTd9F8kXETBoijjFJ/ntaa//1wiH9BZu4zU=
github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw=
github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465 h1:KwWnWVWCNtNq/ewIX7HIKnELmEx2nDP42yskD/pi7QE=
github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw=
github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab h1:HqW4xhhynfjrtEiiSGcQUd6vrK23iMam1FO8rI7mwig=
github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo=
github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0=
@@ -216,6 +222,8 @@ github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLT
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/moby/spdystream v0.2.0 h1:cjW1zVyyoiM0T7b6UoySUFqzXMoqRckQtXwGPiBhOM8=
github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c=
github.com/moby/spdystream v0.4.0 h1:Vy79D6mHeJJjiPdFEL2yku1kl0chZpJfZcPpb16BRl8=
github.com/moby/spdystream v0.4.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU=
github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=
@@ -239,6 +247,8 @@ github.com/nbrownus/go-metrics-prometheus v0.0.0-20210712211119-974a6260965f/go.
github.com/newrelic/go-agent/v3 v3.32.0 h1:99Et9lXXzeQV1CfYldfeTXv+d9W9KatpMbb50kIscWo=
github.com/newrelic/go-agent/v3 v3.32.0/go.mod h1:SMdqPzE/ghkWdY0rYGSD7Clw2daK/XH6pUnVd4albg4=
github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ=
github.com/onsi/gomega v1.33.1 h1:dsYjIxxSR755MDmKVsaFQTE22ChNBcuuTWgkUDSubOk=
github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0=
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 h1:lDH9UUVJtmYCjyT0CI4q8xvlXPxeZ0gYCVvWbmPlp88=
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
@@ -296,8 +306,6 @@ github.com/vishvananda/netlink v1.1.0 h1:1iyaYNBLmP6L0220aDnYQpo1QEV4t4hJ+xEEhhJ
github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE=
github.com/vishvananda/netns v0.0.0-20211101163701-50045581ed74 h1:gga7acRE695APm9hlsSMoOoE65U4/TcqNj90mc69Rlg=
github.com/vishvananda/netns v0.0.0-20211101163701-50045581ed74/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0=
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc=
github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77 h1:ESFSdwYZvkeru3RtdrYueztKhOBCSAAzS4Gf+k0tEow=
@@ -339,59 +347,72 @@ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0/go.mod h
go.uber.org/atomic v1.10.0 h1:9qC72Qh0+3MqyJbAn8YU5xVq1frD8bn3JtD2oXtafVQ=
go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee h1:0mgffUl7nfd+FpvXMVz4IDEaUSmT1ysygQC7qYo7sG4=
golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI=
golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM=
golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30=
golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M=
golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A=
golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de h1:5hukYrvBGR8/eNkX5mdUezrA6JiaEZDtJb9Ei+1LlBs=
golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0=
golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8=
golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ=
golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE=
golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys=
golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE=
golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo=
golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws=
golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI=
golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34=
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2 h1:IRJeR9r1pYWsHKTRe/IInb7lYvbBVIqOgsX/u0mbOWY=
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457 h1:zf5N6UOrA487eEFacMePxjXAJctxKmyjKUsjA11Uzuk=
golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0=
golang.org/x/term v0.21.0 h1:WVXCp+/EBEHOj53Rvu+7KiT/iElMrO8ACK16SMZ3jaA=
golang.org/x/term v0.21.0/go.mod h1:ooXLefLobQVslOqselCNF4SxFAaoS6KujMbsGzSDmX0=
golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk=
golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4=
golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4=
golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI=
golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM=
golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224=
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA=
golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c=
golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg=
golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI=
golang.org/x/tools v0.25.0 h1:oFU9pkj/iJgs+0DT+VMHrx+oBKs/LJMV+Uvg78sl+fE=
golang.org/x/tools v0.25.0/go.mod h1:/vtpO8WL1N9cQC3FN5zPqb//fRXskFHbLKk4OW1Q7rg=
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
golang.zx2c4.com/wintun v0.0.0-20211104114900-415007cec224 h1:Ug9qvr1myri/zFN6xL17LSCBGFDnphBBhzmILHsM5TY=
golang.zx2c4.com/wintun v0.0.0-20211104114900-415007cec224/go.mod h1:deeaetjYA+DHMHg+sMSMI58GrEteJUUzzw7en6TJQcI=
golang.zx2c4.com/wireguard/windows v0.5.3 h1:On6j2Rpn3OEMXqBq00QEDC7bWSZrPIHKIus8eIuExIE=
golang.zx2c4.com/wireguard/windows v0.5.3/go.mod h1:9TEe8TJmtwyQebdFwAkEWOPr3prrtqm+REGFifP60hI=
google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM=
google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds=
google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240509183442-62759503f434/go.mod h1:I7Y+G38R2bu5j1aLzfFmQfTcU/WnFuqDwLZAbvKTKpM=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/errgo.v2 v2.1.0 h1:0vLT13EuvQ0hNvakwLuFZ/jYrLp5F3kcWHXdRggjCE8=
gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4=
gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
gopkg.in/gcfg.v1 v1.2.3 h1:m8OOJ4ccYHnx2f4gQwpno8nAX5OGOh7RLaaz0pj3Ogs=
gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec h1:RlWgLqCMMIYYEVcAR5MDsuHlVkaIPDAF+5Dehzg8L5A=

View File

@@ -1,8 +1,8 @@
package main
import (
"github.com/acouvreur/sablier/cmd"
"github.com/gin-gonic/gin"
"github.com/sablierapp/sablier/cmd"
)
func main() {

View File

@@ -4,7 +4,7 @@ FROM caddy:${CADDY_VERSION}-builder AS builder
COPY . .
RUN xcaddy build \
--with github.com/acouvreur/sablier/plugins/caddy=.
--with github.com/sablierapp/sablier/plugins/caddy=.
FROM caddy:${CADDY_VERSION}

View File

@@ -2,10 +2,10 @@ ARG CADDY_VERSION=2.8.4
ARG SABLIER_VERSION=v1.6.0
FROM caddy:${CADDY_VERSION}-builder AS builder
ADD https://github.com/acouvreur/sablier.git#${SABLIER_VERSION} /sablier
ADD https://github.com/sablierapp/sablier.git#${SABLIER_VERSION} /sablier
RUN xcaddy build \
--with github.com/acouvreur/sablier/plugins/caddy=/sablier/plugins/caddy
--with github.com/sablierapp/sablier/plugins/caddy=/sablier/plugins/caddy
FROM caddy:${CADDY_VERSION}

View File

@@ -16,7 +16,7 @@ Here I'll show you two options with Docker.
### By using the provided Dockerfile
```
docker build https://github.com/acouvreur/sablier.git#v1.8.0-beta.22:plugins/caddy
docker build https://github.com/sablierapp/sablier.git#v1.8.0-beta.22:plugins/caddy
--build-arg=CADDY_VERSION=2.6.4
-t caddy:2.6.4-with-sablier
```
@@ -29,10 +29,10 @@ docker build https://github.com/acouvreur/sablier.git#v1.8.0-beta.22:plugins/cad
ARG CADDY_VERSION=2.6.4
FROM caddy:${CADDY_VERSION}-builder AS builder
ADD https://github.com/acouvreur/sablier.git#v1.8.0-beta.22 /sablier
ADD https://github.com/sablierapp/sablier.git#v1.8.0-beta.22 /sablier
RUN xcaddy build \
--with github.com/acouvreur/sablier/plugins/caddy=/sablier/plugins/caddy
--with github.com/sablierapp/sablier/plugins/caddy=/sablier/plugins/caddy
FROM caddy:${CADDY_VERSION}
@@ -86,6 +86,6 @@ Almost all options are optional and you can setup very simple rules to use the s
1. Build local sablier
`docker build -t caddy:local .`
2. Build local caddy
`docker build -t acouvreur/sablier:local ../..`
`docker build -t sablierapp/sablier:local ../..`
3. Run test
`cd e2e/docker && bash ./run.sh`

View File

@@ -7,9 +7,9 @@ import (
"testing"
"time"
"github.com/acouvreur/sablier/plugins/caddy"
"github.com/caddyserver/caddy/v2/caddyconfig/caddyfile"
"github.com/caddyserver/caddy/v2/caddyconfig/httpcaddyfile"
"github.com/sablierapp/sablier/plugins/caddy"
)
var fals bool = false

View File

@@ -10,7 +10,7 @@ services:
restart: "no"
sablier:
image: acouvreur/sablier:local
image: sablierapp/sablier:local
command:
- start
- --provider.name=docker
@@ -19,7 +19,7 @@ services:
- '/var/run/docker.sock:/var/run/docker.sock'
whoami:
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost" ]
interval: 5s

View File

@@ -22,7 +22,7 @@ run_docker_classic_test() {
prepare_docker_classic
sleep 2
go clean -testcache
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/acouvreur/sablier/e2e; then
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/sablierapp/sablier/e2e; then
errors=1
docker compose -f ${DOCKER_COMPOSE_FILE} -p ${DOCKER_COMPOSE_PROJECT_NAME} logs sablier proxy
fi

View File

@@ -15,7 +15,7 @@ services:
condition: none # Do not restart on setup failure
sablier:
image: acouvreur/sablier:local
image: sablierapp/sablier:local
command:
- start
- --provider.name=swarm
@@ -24,7 +24,7 @@ services:
- '/var/run/docker.sock:/var/run/docker.sock'
whoami:
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost" ]
interval: 5s

View File

@@ -32,7 +32,7 @@ run_docker_swarm_test() {
prepare_docker_stack
sleep 10
go clean -testcache
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/acouvreur/sablier/e2e; then
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/sablierapp/sablier/e2e; then
errors=1
docker service logs ${DOCKER_STACK_NAME}_sablier
docker service logs ${DOCKER_STACK_NAME}_proxy

View File

@@ -19,7 +19,7 @@ services:
volumes:
# This is just so that we get the kubeconfig file out
- .:/output
- '../../..:/plugins-local/src/github.com/acouvreur/sablier'
- '../../..:/plugins-local/src/github.com/sablierapp/sablier'
ports:
- 6443:6443 # Kubernetes API Server
- 8080:80 # Ingress controller port 80

View File

@@ -13,8 +13,8 @@ docker version
prepare_kubernetes() {
docker compose -f $DOCKER_COMPOSE_FILE -p $DOCKER_COMPOSE_PROJECT_NAME up -d
until kubectl get nodes | grep " Ready "; do sleep 1; done
echo "Loading acouvreur/sablier:local into k3s..."
docker save acouvreur/sablier:local | docker exec -i ${DOCKER_COMPOSE_PROJECT_NAME}-server-1 ctr images import -
echo "Loading sablierapp/sablier:local into k3s..."
docker save sablierapp/sablier:local | docker exec -i ${DOCKER_COMPOSE_PROJECT_NAME}-server-1 ctr images import -
echo "Loading succeeded."
}
@@ -45,7 +45,7 @@ run_kubernetes_deployment_test() {
prepare_deployment
sleep 10
go clean -testcache
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/acouvreur/sablier/e2e; then
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/sablierapp/sablier/e2e; then
errors=1
kubectl -n kube-system logs deployments/sablier-deployment
# kubectl -n kube-system logs deployments/caddy

View File

@@ -3,7 +3,7 @@ image:
tag: "2.9.1"
additionalArguments:
- "--experimental.localPlugins.sablier.moduleName=github.com/acouvreur/sablier"
- "--experimental.localPlugins.sablier.moduleName=github.com/sablierapp/sablier"
providers:
kubernetesIngress:
@@ -13,13 +13,13 @@ providers:
additionalVolumeMounts:
- name: local-sablier-plugin
mountPath: /plugins-local/src/github.com/acouvreur/sablier
mountPath: /plugins-local/src/github.com/sablierapp/sablier
deployment:
additionalVolumes:
- name: local-sablier-plugin
hostPath:
# directory location on host
path: /plugins-local/src/github.com/acouvreur/sablier
path: /plugins-local/src/github.com/sablierapp/sablier
# this field is optional
type: Directory

View File

@@ -1,4 +1,4 @@
module github.com/acouvreur/sablier/plugins/caddy
module github.com/sablierapp/sablier/plugins/caddy
go 1.22.3

View File

@@ -7,9 +7,9 @@ import (
"net/http/httptest"
"testing"
plugin "github.com/acouvreur/sablier/plugins/caddy"
"github.com/caddyserver/caddy/v2"
"github.com/caddyserver/caddy/v2/modules/caddyhttp"
plugin "github.com/sablierapp/sablier/plugins/caddy"
)
func TestSablierMiddleware_ServeHTTP(t *testing.T) {

View File

@@ -12,7 +12,7 @@ services:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
sablier:
image: acouvreur/sablier:local
image: sablierapp/sablier:local
ports:
- 10000:10000
command:
@@ -23,7 +23,7 @@ services:
- '/var/run/docker.sock:/var/run/docker.sock'
whoami:
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost" ]
interval: 5s

View File

@@ -21,7 +21,7 @@ run_docker_classic_test() {
prepare_docker_classic
sleep 2
go clean -testcache
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/acouvreur/sablier/e2e; then
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/sablierapp/sablier/e2e; then
errors=1
docker compose -f ${DOCKER_COMPOSE_FILE} -p ${DOCKER_COMPOSE_PROJECT_NAME} logs sablier proxy
fi

View File

@@ -15,7 +15,7 @@ services:
- ./nginx.conf:/etc/nginx/conf.d/default.conf
sablier:
image: acouvreur/sablier:local
image: sablierapp/sablier:local
ports:
- 10000:10000
command:
@@ -26,7 +26,7 @@ services:
- '/var/run/docker.sock:/var/run/docker.sock'
whoami:
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost" ]
interval: 5s

View File

@@ -32,7 +32,7 @@ run_docker_swarm_test() {
prepare_docker_stack
sleep 10
go clean -testcache
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/acouvreur/sablier/e2e; then
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/sablierapp/sablier/e2e; then
errors=1
docker service logs ${DOCKER_STACK_NAME}_sablier
docker service logs ${DOCKER_STACK_NAME}_proxy

View File

@@ -19,7 +19,7 @@ services:
volumes:
# This is just so that we get the kubeconfig file out
- .:/output
- '../../..:/plugins-local/src/github.com/acouvreur/sablier'
- '../../..:/plugins-local/src/github.com/sablierapp/sablier'
ports:
- 6443:6443 # Kubernetes API Server
- 8080:80 # Ingress controller port 80

View File

@@ -18,7 +18,7 @@ spec:
spec:
containers:
- name: whoami
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
---
apiVersion: v1
kind: Service

View File

@@ -18,7 +18,7 @@ spec:
serviceAccountName: sablier
containers:
- name: sablier
image: acouvreur/sablier:local
image: sablierapp/sablier:local
args: ["start", "--provider.name=kubernetes", "--logging.level=trace"]
ports:
- containerPort: 10000

View File

@@ -13,8 +13,8 @@ docker version
prepare_kubernetes() {
docker compose -f $DOCKER_COMPOSE_FILE -p $DOCKER_COMPOSE_PROJECT_NAME up -d
until kubectl get nodes | grep " Ready "; do sleep 1; done
echo "Loading acouvreur/sablier:local into k3s..."
docker save acouvreur/sablier:local | docker exec -i ${DOCKER_COMPOSE_PROJECT_NAME}-server-1 ctr images import -
echo "Loading sablierapp/sablier:local into k3s..."
docker save sablierapp/sablier:local | docker exec -i ${DOCKER_COMPOSE_PROJECT_NAME}-server-1 ctr images import -
echo "Loading succeeded."
}

View File

@@ -1,4 +1,4 @@
module github.com/acouvreur/sablier/plugins/proxy-wasm
module github.com/sablierapp/sablier/plugins/proxy-wasm
go 1.22.0

View File

@@ -16,7 +16,7 @@
experimental:
plugins:
sablier:
moduleName: "github.com/acouvreur/sablier"
moduleName: "github.com/sablierapp/sablier"
version: "v1.8.0-beta.22"
```

View File

@@ -6,7 +6,7 @@ import (
"reflect"
"testing"
"github.com/acouvreur/sablier/plugins/traefik"
"github.com/sablierapp/sablier/plugins/traefik"
)
var fals bool = false

View File

@@ -4,7 +4,7 @@ services:
traefik:
image: traefik:v3.1.4
command:
- --experimental.localPlugins.sablier.moduleName=github.com/acouvreur/sablier
- --experimental.localPlugins.sablier.moduleName=github.com/sablierapp/sablier
- --entryPoints.http.address=:80
- --providers.docker=true
- --providers.file.filename=/etc/traefik/dynamic-config.yml
@@ -12,12 +12,12 @@ services:
- "8080:80"
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
- '../../../..:/plugins-local/src/github.com/acouvreur/sablier'
- '../../../..:/plugins-local/src/github.com/sablierapp/sablier'
- './dynamic-config.yml:/etc/traefik/dynamic-config.yml'
restart: "no"
sablier:
image: acouvreur/sablier:local
image: sablierapp/sablier:local
command:
- start
- --provider.name=docker

View File

@@ -22,7 +22,7 @@ run_docker_classic_test() {
prepare_docker_classic
sleep 2
go clean -testcache
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/acouvreur/sablier/e2e; then
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/sablierapp/sablier/e2e; then
errors=1
docker compose -f ${DOCKER_COMPOSE_FILE} -p ${DOCKER_COMPOSE_PROJECT_NAME} logs sablier traefik
fi

View File

@@ -4,7 +4,7 @@ services:
traefik:
image: traefik:v3.0.4
command:
- --experimental.localPlugins.sablier.moduleName=github.com/acouvreur/sablier
- --experimental.localPlugins.sablier.moduleName=github.com/sablierapp/sablier
- --entryPoints.http.address=:80
- --providers.swarm=true
- --providers.swarm.refreshSeconds=1 # Default is 15s
@@ -16,7 +16,7 @@ services:
mode: host # Won't work in github actions otherwise
volumes:
- '/var/run/docker.sock:/var/run/docker.sock'
- '../../../..:/plugins-local/src/github.com/acouvreur/sablier'
- '../../../..:/plugins-local/src/github.com/sablierapp/sablier'
deploy:
labels:
- traefik.http.services.traefik.loadbalancer.server.port=8080
@@ -24,7 +24,7 @@ services:
condition: none # Do not restart on setup failure
sablier:
image: acouvreur/sablier:local
image: sablierapp/sablier:local
command:
- start
- --provider.name=swarm
@@ -62,7 +62,7 @@ services:
- traefik.http.services.sablier.loadbalancer.server.port=10000
whoami:
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost" ]
interval: 5s

View File

@@ -32,7 +32,7 @@ run_docker_swarm_test() {
prepare_docker_stack
sleep 10
go clean -testcache
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/acouvreur/sablier/e2e; then
if ! go test -count=1 -tags e2e -timeout 30s -run ^${1}$ github.com/sablierapp/sablier/e2e; then
errors=1
docker service logs ${DOCKER_STACK_NAME}_sablier
docker service logs ${DOCKER_STACK_NAME}_traefik

View File

@@ -19,7 +19,7 @@ services:
volumes:
# This is just so that we get the kubeconfig file out
- .:/output
- '../../../..:/plugins-local/src/github.com/acouvreur/sablier'
- '../../../..:/plugins-local/src/github.com/sablierapp/sablier'
ports:
- 6443:6443 # Kubernetes API Server
- 8080:80 # Ingress controller port 80

View File

@@ -18,7 +18,7 @@ spec:
spec:
containers:
- name: whoami
image: acouvreur/whoami:v1.10.2
image: sablierapp/whoami:v1.10.2
livenessProbe:
httpGet:
path: /health

View File

@@ -18,7 +18,7 @@ spec:
serviceAccountName: sablier
containers:
- name: sablier
image: acouvreur/sablier:local
image: sablierapp/sablier:local
args: ["start", "--provider.name=kubernetes", "--logging.level=trace"]
ports:
- containerPort: 10000

View File

@@ -13,7 +13,7 @@ docker version
prepare_kubernetes() {
docker compose -f $DOCKER_COMPOSE_FILE -p $DOCKER_COMPOSE_PROJECT_NAME up -d
until kubectl get nodes | grep " Ready "; do sleep 1; done
echo "Loading acouvreur/sablier:local into k3s..."
echo "Loading sablierapp/sablier:local into k3s..."
docker save acouvreur/sablier:local | docker exec -i ${DOCKER_COMPOSE_PROJECT_NAME}-server-1 ctr images import -
echo "Loading succeeded."
}

View File

@@ -1,5 +1,5 @@
additionalArguments:
- "--experimental.localPlugins.sablier.moduleName=github.com/acouvreur/sablier"
- "--experimental.localPlugins.sablier.moduleName=github.com/sablierapp/sablier"
providers:
kubernetesIngress:
@@ -9,13 +9,13 @@ providers:
additionalVolumeMounts:
- name: local-sablier-plugin
mountPath: /plugins-local/src/github.com/acouvreur/sablier
mountPath: /plugins-local/src/github.com/sablierapp/sablier
deployment:
additionalVolumes:
- name: local-sablier-plugin
hostPath:
# directory location on host
path: /plugins-local/src/github.com/acouvreur/sablier
path: /plugins-local/src/github.com/sablierapp/sablier
# this field is optional
type: Directory

View File

@@ -1,3 +1,3 @@
module github.com/acouvreur/sablier/plugins/traefik
module github.com/sablierapp/sablier/plugins/traefik
go 1.22.3