Documentation
¶
Index ¶
- func ASCIIEqualFold(s, t string) bool
- func CopySlogValuesToNewCtx(sourceCtx, destCtx context.Context) context.Context
- func DetectFileType(data []byte) string
- func FetchTools(ctx context.Context, cli common.GithubClient) ([]commonParams.RunnerApplicationDownload, error)
- func GetCloudConfigSpecFromExtraSpecs(extraSpecs json.RawMessage) (cloudconfig.CloudConfigSpec, error)
- func GetSlogValuesFromContext(ctx context.Context) []slog.Attr
- func GetTmpFileHandle(baseDir string) (*os.File, error)
- func MaybeAddWrapperToExtraSpecs(ctx context.Context, param commonParams.BootstrapInstance) commonParams.BootstrapInstance
- func ParseGARMAgentAssetName(name string) (osType, osArch string, err error)
- func ParseToolsFromRelease(releaseData []byte) (map[string]params.GARMAgentTool, error)
- func WithSlogContext(ctx context.Context, attrs ...slog.Attr) context.Context
- type GitHubRelease
- type GitHubReleaseAsset
- type GitHubReleases
- type SlogMultiHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ASCIIEqualFold ¶
func CopySlogValuesToNewCtx ¶
func DetectFileType ¶
DetectFileType detects the MIME type from file content
func FetchTools ¶
func FetchTools(ctx context.Context, cli common.GithubClient) ([]commonParams.RunnerApplicationDownload, error)
func GetCloudConfigSpecFromExtraSpecs ¶
func GetCloudConfigSpecFromExtraSpecs(extraSpecs json.RawMessage) (cloudconfig.CloudConfigSpec, error)
func MaybeAddWrapperToExtraSpecs ¶
func MaybeAddWrapperToExtraSpecs(ctx context.Context, param commonParams.BootstrapInstance) commonParams.BootstrapInstance
func ParseGARMAgentAssetName ¶
ParseGARMAgentAssetName parses a garm-agent asset name to extract OS type and architecture
func ParseToolsFromRelease ¶
func ParseToolsFromRelease(releaseData []byte) (map[string]params.GARMAgentTool, error)
ParseToolsFromRelease parses cached release data and extracts GARM agent tool information
Types ¶
type GitHubRelease ¶
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 ¶
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 ¶
type GitHubReleases []GitHubRelease
GitHubReleases represents an array of GitHub releases
Click to show internal directories.
Click to hide internal directories.