feat: move distribution builds to platform Docker builder
This commit is contained in:
@@ -4,12 +4,20 @@ import (
|
||||
"bufio"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
const defaultAddr = ":8080"
|
||||
const defaultDataDir = ".platform-data"
|
||||
const defaultStorageBackend = "file"
|
||||
const defaultBuilderDockerBinary = "docker"
|
||||
|
||||
// defaultBuilderImage names an explicit toolchain version rather than a
|
||||
// floating tag such as latest. Operators who want digest pinning override
|
||||
// PLATFORM_BUILDER_IMAGE with an image@sha256:... reference.
|
||||
const defaultBuilderImage = "browser-platform-distribution-builder:1.0.0"
|
||||
const defaultBuilderTimeoutSeconds = 1800
|
||||
|
||||
type Config struct {
|
||||
Addr string
|
||||
@@ -24,6 +32,11 @@ type Config struct {
|
||||
BootstrapAdminPassword string
|
||||
SecretEnvelopeKey string
|
||||
AIProviderMode string
|
||||
BuilderDockerBinary string
|
||||
BuilderImage string
|
||||
BuilderSourceDir string
|
||||
BuilderWorkspaceDir string
|
||||
BuilderTimeoutSeconds int
|
||||
}
|
||||
|
||||
func Load() Config {
|
||||
@@ -54,6 +67,10 @@ func Load() Config {
|
||||
storageBackend = defaultStorageBackend
|
||||
}
|
||||
logBodyBackend := strings.TrimSpace(os.Getenv("PLATFORM_LOG_BODY_BACKEND"))
|
||||
builderWorkspaceDir := strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_WORKSPACE_DIR"))
|
||||
if builderWorkspaceDir == "" {
|
||||
builderWorkspaceDir = filepath.Join(dataDir, "distribution-builds")
|
||||
}
|
||||
|
||||
return Config{
|
||||
Addr: addr,
|
||||
@@ -68,9 +85,22 @@ func Load() Config {
|
||||
BootstrapAdminPassword: os.Getenv("PLATFORM_BOOTSTRAP_ADMIN_PASSWORD"),
|
||||
SecretEnvelopeKey: os.Getenv("PLATFORM_SECRET_ENVELOPE_KEY"),
|
||||
AIProviderMode: defaultString(strings.TrimSpace(os.Getenv("PLATFORM_AI_PROVIDER_MODE")), "live"),
|
||||
BuilderDockerBinary: defaultString(strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_DOCKER_BINARY")), defaultBuilderDockerBinary),
|
||||
BuilderImage: defaultString(strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_IMAGE")), defaultBuilderImage),
|
||||
BuilderSourceDir: strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_SOURCE_DIR")),
|
||||
BuilderWorkspaceDir: builderWorkspaceDir,
|
||||
BuilderTimeoutSeconds: defaultPositiveInt(strings.TrimSpace(os.Getenv("PLATFORM_BUILDER_TIMEOUT_SECONDS")), defaultBuilderTimeoutSeconds),
|
||||
}
|
||||
}
|
||||
|
||||
func defaultPositiveInt(value string, fallback int) int {
|
||||
parsed, err := strconv.Atoi(value)
|
||||
if err != nil || parsed <= 0 {
|
||||
return fallback
|
||||
}
|
||||
return parsed
|
||||
}
|
||||
|
||||
func defaultString(value, fallback string) string {
|
||||
if value == "" {
|
||||
return fallback
|
||||
|
||||
Reference in New Issue
Block a user