From 273a0c3553ba5725c885c6bb61f47bc01daaffcc Mon Sep 17 00:00:00 2001 From: Matthias Kesler Date: Fri, 6 Sep 2024 14:00:33 +0200 Subject: [PATCH] implement cache.advertise_url --- go.mod | 3 ++- go.sum | 4 ++-- internal/app/cmd/cache-server.go | 12 +++++++++--- internal/app/cmd/exec.go | 2 +- internal/app/run/runner.go | 1 + internal/pkg/config/config.go | 1 + 6 files changed, 16 insertions(+), 7 deletions(-) diff --git a/go.mod b/go.mod index a8a5ca2..5ec2139 100644 --- a/go.mod +++ b/go.mod @@ -98,6 +98,7 @@ require ( gopkg.in/yaml.v2 v2.4.0 // indirect ) -replace github.com/nektos/act => gitea.com/gitea/act v0.261.4 +// replace github.com/nektos/act => gitea.com/gitea/act v0.261.4 +replace github.com/nektos/act => gitea.krombel.de/krombel/act v0.261.6-1 replace github.com/go-git/go-git/v5 => github.com/go-git/go-git/v5 v5.16.2 diff --git a/go.sum b/go.sum index 670e8c1..3a3b92b 100644 --- a/go.sum +++ b/go.sum @@ -6,8 +6,8 @@ connectrpc.com/connect v1.16.2 h1:ybd6y+ls7GOlb7Bh5C8+ghA6SvCBajHwxssO2CGFjqE= connectrpc.com/connect v1.16.2/go.mod h1:n2kgwskMHXC+lVqb18wngEpF95ldBHXjZYJussz5FRc= dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= -gitea.com/gitea/act v0.261.4 h1:Tf9eLlvsYFtKcpuxlMvf9yT3g4Hshb2Beqw6C1STuH8= -gitea.com/gitea/act v0.261.4/go.mod h1:Pg5C9kQY1CEA3QjthjhlrqOC/QOT5NyWNjOjRHw23Ok= +gitea.krombel.de/krombel/act v0.261.6-1 h1:aIouPZ9MlGOOfvXpXBzUmBZ76679uJfUWda/i/paVwQ= +gitea.krombel.de/krombel/act v0.261.6-1/go.mod h1:Pg5C9kQY1CEA3QjthjhlrqOC/QOT5NyWNjOjRHw23Ok= github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU= github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= diff --git a/internal/app/cmd/cache-server.go b/internal/app/cmd/cache-server.go index 21b3352..d34da54 100644 --- a/internal/app/cmd/cache-server.go +++ b/internal/app/cmd/cache-server.go @@ -17,9 +17,10 @@ import ( ) type cacheServerArgs struct { - Dir string - Host string - Port uint16 + Dir string + AdvertiseUrl string + Host string + Port uint16 } func runCacheServer(ctx context.Context, configFile *string, cacheArgs *cacheServerArgs) func(cmd *cobra.Command, args []string) error { @@ -33,6 +34,7 @@ func runCacheServer(ctx context.Context, configFile *string, cacheArgs *cacheSer var ( dir = cfg.Cache.Dir + url = cfg.Cache.AdvertiseUrl host = cfg.Cache.Host port = cfg.Cache.Port ) @@ -41,6 +43,9 @@ func runCacheServer(ctx context.Context, configFile *string, cacheArgs *cacheSer if cacheArgs.Dir != "" { dir = cacheArgs.Dir } + if cacheArgs.AdvertiseUrl != "" { + url = cacheArgs.AdvertiseUrl + } if cacheArgs.Host != "" { host = cacheArgs.Host } @@ -50,6 +55,7 @@ func runCacheServer(ctx context.Context, configFile *string, cacheArgs *cacheSer cacheHandler, err := artifactcache.StartHandler( dir, + url, host, port, log.StandardLogger().WithField("module", "cache_request"), diff --git a/internal/app/cmd/exec.go b/internal/app/cmd/exec.go index 6337951..9cd791f 100644 --- a/internal/app/cmd/exec.go +++ b/internal/app/cmd/exec.go @@ -368,7 +368,7 @@ func runExec(ctx context.Context, execArgs *executeArgs) func(cmd *cobra.Command } // init a cache server - handler, err := artifactcache.StartHandler("", "", 0, log.StandardLogger().WithField("module", "cache_request")) + handler, err := artifactcache.StartHandler("", "", "", 0, log.StandardLogger().WithField("module", "cache_request")) if err != nil { return err } diff --git a/internal/app/run/runner.go b/internal/app/run/runner.go index a372d98..810fc64 100644 --- a/internal/app/run/runner.go +++ b/internal/app/run/runner.go @@ -58,6 +58,7 @@ func NewRunner(cfg *config.Config, reg *config.Registration, cli client.Client) } else { cacheHandler, err := artifactcache.StartHandler( cfg.Cache.Dir, + cfg.Cache.AdvertiseUrl, cfg.Cache.Host, cfg.Cache.Port, log.StandardLogger().WithField("module", "cache_request"), diff --git a/internal/pkg/config/config.go b/internal/pkg/config/config.go index afc34b9..7f49ec4 100644 --- a/internal/pkg/config/config.go +++ b/internal/pkg/config/config.go @@ -38,6 +38,7 @@ type Cache struct { Enabled *bool `yaml:"enabled"` // Enabled indicates whether caching is enabled. It is a pointer to distinguish between false and not set. If not set, it will be true. Dir string `yaml:"dir"` // Dir specifies the directory path for caching. Host string `yaml:"host"` // Host specifies the caching host. + AdvertiseUrl string `yaml:"advertise_url"` // Host specifies the caching host. Port uint16 `yaml:"port"` // Port specifies the caching port. ExternalServer string `yaml:"external_server"` // ExternalServer specifies the URL of external cache server }