Documentation
¶
Index ¶
- Constants
- Variables
- func BuildBase(ctx context.Context, rt container.Runtime, force bool) error
- func BuildCore(ctx context.Context, rt container.Runtime, agentName string, force bool) error
- func BuildProject(ctx context.Context, rt container.Runtime, ...) error
- func BuildSquid(ctx context.Context, rt container.Runtime, force bool) error
- func BuildTools(ctx context.Context, rt container.Runtime, agentName string, force bool) error
- func ToolsHash(cfg *config.Config) string
- func WorkspaceHash(cfg *config.Config, projectDir string, overrideName string) string
Constants ¶
const ( // BaseImageRegistry is the GHCR URL for the published base image. BaseImageRegistry = "ghcr.io/cloud-exit/exitbox-base" // SquidImageRegistry is the GHCR URL for the published squid image. SquidImageRegistry = "ghcr.io/cloud-exit/exitbox-squid" )
Variables ¶
var AutoUpdate bool
AutoUpdate enables checking for new agent versions on launch.
var ForceRebuild bool
ForceRebuild forces image rebuilds (from --update flag only).
var SessionTools []string
SessionTools are extra packages requested via --tools for this build only.
var Version = "3.2.0"
Version is set from cmd package.
Functions ¶
func BuildProject ¶
func BuildProject(ctx context.Context, rt container.Runtime, agentName, projectDir, workspaceOverride string, force bool) error
BuildProject builds the agent project image (with workspaces). When force is true, the image is rebuilt even if it already exists. workspaceOverride selects a specific workspace (empty = use resolution chain).
func BuildSquid ¶
BuildSquid builds the exitbox-squid proxy image.
func BuildTools ¶ added in v0.1.3
BuildTools builds the shared tools image (exitbox-<agent>-tools). This layer sits between core and project, containing global tool installations (cfg.Tools.User and cfg.Tools.Binaries) that are shared across all workspaces. Workspace switches that only differ in packages or dev profiles skip this build entirely.
func ToolsHash ¶ added in v0.1.3
ToolsHash computes a short hash of the global tool configuration (user packages and binary downloads). This hash is stored as a label on the tools image and used to detect when it needs rebuilding.
func WorkspaceHash ¶ added in v0.1.1
WorkspaceHash computes a short hash encoding the active workspace configuration. Each distinct workspace produces a different hash, which becomes part of the image name. Global tool config (cfg.Tools.User, cfg.Tools.Binaries) is NOT included — those live in the shared tools layer and are tracked via its own hash/label.
Types ¶
This section is empty.