Help us shape the future of Go! Take the 2026 Go Developer Survey

nativeartifacts

package
v0.4.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 30, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package nativeartifacts pins the native programs installed by engine members.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func PrepareCommands

func PrepareCommands(a Artifact, resolvedURL, destDir, owner string) []string

PrepareCommands downloads and verifies bytes before installing them. destDir is the immutable installation root (normally /opt/karakoram/name-version). Tar archives preserve their full layout; debs use apt to resolve dependencies.

func ResolveURL

func ResolveURL(a Artifact) (string, error)

ResolveURL applies the operator mirror, official upstream and release fallback in that order. An explicit artifact release overrides only the release fallback. Resolution happens in the control plane, before deployment.

Types

type Artifact

type Artifact struct {
	Name string `json:"name"`
	// Kind selects restricted installation for PostgreSQL extension archives.
	Kind        string `json:"kind,omitempty"`
	PGMajor     int    `json:"pgMajor,omitempty"`
	Version     string `json:"version"`
	File        string `json:"file"`
	SHA256      string `json:"sha256"`
	Size        int64  `json:"size"`
	UpstreamURL string `json:"upstreamURL"`
	License     string `json:"license"`
	Source      Source `json:"source"`
	Build       string `json:"build"`
	// RuntimeDeps names the Ubuntu packages installed in the clean smoke runner.
	RuntimeDeps []string `json:"runtimeDeps,omitempty"`
	// Extensions lists the smoke-qualified extensions in a filesystem-root
	// bundle. The embedded catalog's slice must be treated as read-only.
	Extensions []string `json:"extensions,omitempty"`
	// ExtensionFlags qualifies preload and feature restrictions for Extensions.
	// Like Extensions, the embedded map and its values are read-only.
	ExtensionFlags map[string]ExtensionFlags `json:"extensionFlags,omitempty"`
	// ExecutableMembers lists regular archive files to chmod 0755 after
	// extraction as the runtime owner. Paths must be canonical and relative.
	// Like Extensions, the embedded slice is read-only.
	ExecutableMembers []string `json:"executableMembers,omitempty"`
}

Artifact describes verified Linux amd64 bytes, not a floating release channel.

func ExtensionArtifact added in v0.4.0

func ExtensionArtifact(product string, major int) (Artifact, error)

ExtensionArtifact returns a locked per-major extension artifact. Recipes alone never establish availability; the lock must declare the matching ABI.

func Get

func Get(name string) (Artifact, error)

Get returns the pinned artifact, or an error when the build does not supply it.

type ExtensionFlags

type ExtensionFlags struct {
	Preload             bool     `json:"preload"`
	UnavailableFeatures []string `json:"unavailableFeatures,omitempty"`
}

ExtensionFlags records the runtime mode actually qualified for an extension.

type MissingMirrorError

type MissingMirrorError struct{ Name string }

MissingMirrorError is an admission failure for a source build that cannot locate a Karakoram-built artifact. Official upstream artifacts need no mirror.

func (*MissingMirrorError) Error

func (e *MissingMirrorError) Error() string

type Source

type Source struct {
	Repo   string `json:"repo"`
	Commit string `json:"commit"`
}

Source identifies the immutable upstream source revision.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL