mirror of
https://github.com/hanzo-fi/stack.git
synced 2026-10-30 20:34:43 +00:00
58 lines
1.8 KiB
Go
58 lines
1.8 KiB
Go
package registries
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/formancehq/operator/api/formance.com/v1beta1"
|
|
"github.com/formancehq/operator/internal/core"
|
|
"github.com/formancehq/operator/internal/resources/settings"
|
|
)
|
|
|
|
// Format Accepted:
|
|
// ENDPOINT/ORGANIZATION/REPOSITORY:VERSION
|
|
// ghcr.io/<organization>/<repository>:<version>
|
|
// public.ecr.aws/<organization>/jeffail/benthos
|
|
// docker.io/<organization|user>/<image>:<version>
|
|
|
|
func NormalizeVersion(version string) string {
|
|
if version == "" {
|
|
version = "latest"
|
|
}
|
|
return version
|
|
}
|
|
|
|
func GetImage(ctx core.Context, stack *v1beta1.Stack, name, version string) (string, error) {
|
|
return TranslateImage(stack.Name, NewImageSettingsOverrider(ctx),
|
|
fmt.Sprintf("ghcr.io/formancehq/%s:%s", name, NormalizeVersion(version)))
|
|
}
|
|
|
|
func GetBenthosImage(ctx core.Context, stack *v1beta1.Stack, version string) (string, error) {
|
|
return TranslateImage(stack.Name, NewImageSettingsOverrider(ctx),
|
|
fmt.Sprintf("public.ecr.aws/formance-internal/jeffail/benthos:%s", NormalizeVersion(version)))
|
|
}
|
|
|
|
func GetNatsBoxImage(ctx core.Context, stack *v1beta1.Stack, version string) (string, error) {
|
|
return TranslateImage(stack.Name, NewImageSettingsOverrider(ctx),
|
|
fmt.Sprintf("docker.io/natsio/nats-box:%s", NormalizeVersion(version)))
|
|
}
|
|
|
|
func GetCaddyImage(ctx core.Context, stack *v1beta1.Stack, version string) (string, error) {
|
|
image := fmt.Sprintf("docker.io/caddy/caddy:%s", NormalizeVersion(version))
|
|
newCaddyImage, err := TranslateImage(stack.Name, NewImageSettingsOverrider(ctx),
|
|
image)
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
defaultCaddyImage := "caddy:2.7.6-alpine"
|
|
caddyImage, err := settings.GetStringOrDefault(ctx, stack.Name, defaultCaddyImage, "caddy", "image")
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
if newCaddyImage != image && caddyImage == defaultCaddyImage {
|
|
caddyImage = newCaddyImage
|
|
}
|
|
|
|
return caddyImage, nil
|
|
}
|