util

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2026 License: Apache-2.0 Imports: 16 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ASCIIEqualFold added in v0.2.0

func ASCIIEqualFold(s, t string) bool

func CopySlogValuesToNewCtx added in v0.2.0

func CopySlogValuesToNewCtx(sourceCtx, destCtx context.Context) context.Context

func DetectFileType added in v0.2.0

func DetectFileType(data []byte) string

DetectFileType detects the MIME type from file content

func FetchTools added in v0.2.0

func GetCloudConfigSpecFromExtraSpecs added in v0.2.0

func GetCloudConfigSpecFromExtraSpecs(extraSpecs json.RawMessage) (cloudconfig.CloudConfigSpec, error)

func GetSlogValuesFromContext added in v0.2.0

func GetSlogValuesFromContext(ctx context.Context) []slog.Attr

func GetTmpFileHandle added in v0.2.0

func GetTmpFileHandle(baseDir string) (*os.File, error)

func MaybeAddWrapperToExtraSpecs added in v0.2.0

func MaybeAddWrapperToExtraSpecs(ctx context.Context, param commonParams.BootstrapInstance) commonParams.BootstrapInstance

func ParseGARMAgentAssetName added in v0.2.0

func ParseGARMAgentAssetName(name string) (osType, osArch string, err error)

ParseGARMAgentAssetName parses a garm-agent asset name to extract OS type and architecture

func ParseToolsFromRelease added in v0.2.0

func ParseToolsFromRelease(releaseData []byte) (map[string]params.GARMAgentTool, error)

ParseToolsFromRelease parses cached release data and extracts GARM agent tool information

func WithSlogContext added in v0.2.0

func WithSlogContext(ctx context.Context, attrs ...slog.Attr) context.Context

Types

type GitHubRelease added in v0.2.0

type GitHubRelease struct {
	TagName    string               `json:"tag_name"`
	Name       string               `json:"name"`
	TarballURL string               `json:"tarball_url"`
	Assets     []GitHubReleaseAsset `json:"assets"`
}

GitHubRelease represents a GitHub release

type GitHubReleaseAsset added in v0.2.0

type GitHubReleaseAsset struct {
	ID            uint      `json:"id"`
	Name          string    `json:"name"`
	Size          uint      `json:"size"`
	DownloadCount uint      `json:"download_count"`
	CreatedAt     time.Time `json:"created_at"`
	Digest        string    `json:"digest"`
	DownloadURL   string    `json:"browser_download_url"`
}

GitHubReleaseAsset represents an asset from a GitHub release

type GitHubReleases added in v0.2.0

type GitHubReleases []GitHubRelease

GitHubReleases represents an array of GitHub releases

type SlogMultiHandler added in v0.2.0

type SlogMultiHandler struct {
	Handlers []slog.Handler
}

func (*SlogMultiHandler) Enabled added in v0.2.0

func (m *SlogMultiHandler) Enabled(ctx context.Context, level slog.Level) bool

func (*SlogMultiHandler) Handle added in v0.2.0

func (m *SlogMultiHandler) Handle(ctx context.Context, r slog.Record) error

func (*SlogMultiHandler) WithAttrs added in v0.2.0

func (m *SlogMultiHandler) WithAttrs(attrs []slog.Attr) slog.Handler

func (*SlogMultiHandler) WithGroup added in v0.2.0

func (m *SlogMultiHandler) WithGroup(name string) slog.Handler

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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