Documentation
¶
Index ¶
- Constants
- type Alias
- type Build
- type Cargo
- type Checksum
- type ChecksumPattern
- type Config
- type Cosign
- type DownloadedFile
- type File
- type FormatOverride
- type FormatOverrides
- type Override
- type Overrides
- type PackageInfo
- func (p *PackageInfo) CheckSupported(rt *runtime.Runtime, env string) (bool, error)
- func (p *PackageInfo) CheckSupportedEnvs(goos, goarch, env string) bool
- func (p *PackageInfo) Copy() *PackageInfo
- func (p *PackageInfo) GetAppendExt() bool
- func (p *PackageInfo) GetChecksumReplacements() Replacements
- func (p *PackageInfo) GetFiles() []*File
- func (p *PackageInfo) GetFormat() string
- func (p *PackageInfo) GetLink() string
- func (p *PackageInfo) GetName() string
- func (p *PackageInfo) GetPath() string
- func (p *PackageInfo) HasRepo() bool
- func (p *PackageInfo) Override(logE *logrus.Entry, v string, rt *runtime.Runtime) (*PackageInfo, error)
- func (p *PackageInfo) OverrideByBuild()
- func (p *PackageInfo) OverrideByRuntime(rt *runtime.Runtime)
- func (p *PackageInfo) PkgPath() string
- func (p *PackageInfo) SLSASourceURI() string
- func (p *PackageInfo) SetVersion(logE *logrus.Entry, v string) (*PackageInfo, error)
- func (p *PackageInfo) Validate() error
- type PackageInfos
- type Replacements
- type SLSAProvenance
- type SupportedEnvs
- type VersionOverride
Constants ¶
View Source
const ( PkgInfoTypeGitHubRelease = "github_release" PkgInfoTypeGitHubContent = "github_content" PkgInfoTypeGitHubArchive = "github_archive" PkgInfoTypeHTTP = "http" PkgInfoTypeGoInstall = "go_install" PkgInfoTypeGoBuild = "go_build" PkgInfoTypeCargo = "cargo" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Build ¶ added in v2.13.0
type Build struct {
Enabled *bool `json:"enabled,omitempty" yaml:",omitempty"`
Type string `json:"type,omitempty" yaml:",omitempty" jsonschema:"enum=go_install,enum=go_build"`
Path string `json:"path,omitempty" yaml:",omitempty"`
Files []*File `json:"files,omitempty" yaml:",omitempty"`
ExcludedEnvs SupportedEnvs `yaml:"excluded_envs,omitempty" json:"excluded_envs,omitempty"`
}
func (*Build) CheckEnabled ¶ added in v2.13.0
type Checksum ¶
type Checksum struct {
Type string `json:"type,omitempty" jsonschema:"enum=github_release,enum=http"`
Asset string `json:"asset,omitempty"`
URL string `json:"url,omitempty"`
FileFormat string `yaml:"file_format,omitempty" json:"file_format,omitempty"`
Algorithm string `json:"algorithm,omitempty" jsonschema:"enum=md5,enum=sha1,enum=sha256,enum=sha512"`
Pattern *ChecksumPattern `json:"pattern,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
Replacements Replacements `json:"replacements,omitempty"`
Cosign *Cosign `json:"cosign,omitempty"`
}
func (*Checksum) GetAlgorithm ¶
func (*Checksum) GetEnabled ¶
func (*Checksum) GetReplacements ¶
func (c *Checksum) GetReplacements() Replacements
type ChecksumPattern ¶
type Config ¶
type Config struct {
PackageInfos PackageInfos `yaml:"packages" validate:"dive" json:"packages"`
}
type Cosign ¶
type Cosign struct {
Enabled *bool `json:"enabled,omitempty"`
CosignExperimental bool `yaml:"cosign_experimental" json:"cosign_experimental,omitempty"`
Opts []string `json:"opts,omitempty"`
Signature *DownloadedFile `json:"signature,omitempty"`
Certificate *DownloadedFile `json:"certificate,omitempty"`
Key *DownloadedFile `json:"key,omitempty"`
}
func (*Cosign) GetEnabled ¶
type DownloadedFile ¶
type DownloadedFile struct {
Type string `validate:"required" json:"type" jsonschema:"enum=github_release,enum=http"`
RepoOwner string `yaml:"repo_owner,omitempty" json:"repo_owner,omitempty"`
RepoName string `yaml:"repo_name,omitempty" json:"repo_name,omitempty"`
Asset *string `json:"asset,omitempty" yaml:",omitempty"`
URL *string `json:"url,omitempty" yaml:",omitempty"`
}
type FormatOverride ¶
type FormatOverrides ¶
type FormatOverrides []*FormatOverride
func (FormatOverrides) IsZero ¶
func (o FormatOverrides) IsZero() bool
type Override ¶
type Override struct {
GOOS string `` /* 209-byte string literal not displayed */
GOArch string `` /* 190-byte string literal not displayed */
Type string `` /* 142-byte string literal not displayed */
Format string `yaml:",omitempty" json:"format,omitempty" jsonschema:"example=tar.gz,example=raw,example=zip"`
Asset string `yaml:",omitempty" json:"asset,omitempty"`
Crate string `json:"crate,omitempty" yaml:",omitempty"`
URL string `yaml:",omitempty" json:"url,omitempty"`
Path string `yaml:",omitempty" json:"path,omitempty"`
CompleteWindowsExt *bool `json:"complete_windows_ext,omitempty" yaml:"complete_windows_ext,omitempty"`
WindowsExt string `json:"windows_ext,omitempty" yaml:"windows_ext,omitempty"`
AppendExt *bool `json:"append_ext,omitempty" yaml:"append_ext,omitempty"`
Cargo *Cargo `json:"cargo,omitempty"`
Files []*File `yaml:",omitempty" json:"files,omitempty"`
Replacements Replacements `yaml:",omitempty" json:"replacements,omitempty"`
Checksum *Checksum `json:"checksum,omitempty"`
Cosign *Cosign `json:"cosign,omitempty"`
SLSAProvenance *SLSAProvenance `json:"slsa_provenance,omitempty" yaml:"slsa_provenance,omitempty"`
Envs SupportedEnvs `yaml:",omitempty" json:"envs,omitempty"`
}
type PackageInfo ¶
type PackageInfo struct {
Name string `json:"name,omitempty" yaml:",omitempty"`
Aliases []*Alias `yaml:",omitempty" json:"aliases,omitempty"`
SearchWords []string `json:"search_words,omitempty" yaml:"search_words,omitempty"`
Type string `` /* 163-byte string literal not displayed */
RepoOwner string `yaml:"repo_owner,omitempty" json:"repo_owner,omitempty"`
RepoName string `yaml:"repo_name,omitempty" json:"repo_name,omitempty"`
Description string `json:"description,omitempty" yaml:",omitempty"`
Link string `json:"link,omitempty" yaml:",omitempty"`
Asset string `json:"asset,omitempty" yaml:",omitempty"`
Crate string `json:"crate,omitempty" yaml:",omitempty"`
URL string `json:"url,omitempty" yaml:",omitempty"`
Path string `json:"path,omitempty" yaml:",omitempty"`
Format string `json:"format,omitempty" jsonschema:"example=tar.gz,example=raw,example=zip,example=dmg" yaml:",omitempty"`
VersionFilter string `yaml:"version_filter,omitempty" json:"version_filter,omitempty"`
VersionPrefix string `yaml:"version_prefix,omitempty" json:"version_prefix,omitempty"`
Rosetta2 bool `yaml:",omitempty" json:"rosetta2,omitempty"`
WindowsARMEmulation bool `yaml:"windows_arm_emulation,omitempty" json:"windows_arm_emulation,omitempty"`
NoAsset bool `yaml:"no_asset,omitempty" json:"no_asset,omitempty"`
VersionSource string `json:"version_source,omitempty" yaml:"version_source,omitempty" jsonschema:"enum=github_tag"`
CompleteWindowsExt *bool `json:"complete_windows_ext,omitempty" yaml:"complete_windows_ext,omitempty"`
WindowsExt string `json:"windows_ext,omitempty" yaml:"windows_ext,omitempty"`
Private bool `json:"private,omitempty"`
ErrorMessage string `json:"-" yaml:"-"`
AppendExt *bool `json:"append_ext,omitempty" yaml:"append_ext,omitempty"`
Cargo *Cargo `json:"cargo,omitempty"`
Build *Build `json:"build,omitempty" yaml:",omitempty"`
Overrides []*Override `json:"overrides,omitempty" yaml:",omitempty"`
FormatOverrides []*FormatOverride `yaml:"format_overrides,omitempty" json:"format_overrides,omitempty"`
Files []*File `json:"files,omitempty" yaml:",omitempty"`
Replacements Replacements `json:"replacements,omitempty" yaml:",omitempty"`
SupportedEnvs SupportedEnvs `yaml:"supported_envs,omitempty" json:"supported_envs,omitempty"`
Checksum *Checksum `json:"checksum,omitempty"`
Cosign *Cosign `json:"cosign,omitempty"`
SLSAProvenance *SLSAProvenance `json:"slsa_provenance,omitempty" yaml:"slsa_provenance,omitempty"`
VersionConstraints string `yaml:"version_constraint,omitempty" json:"version_constraint,omitempty"`
VersionOverrides []*VersionOverride `yaml:"version_overrides,omitempty" json:"version_overrides,omitempty"`
}
func (*PackageInfo) CheckSupported ¶
func (*PackageInfo) CheckSupportedEnvs ¶
func (p *PackageInfo) CheckSupportedEnvs(goos, goarch, env string) bool
func (*PackageInfo) Copy ¶
func (p *PackageInfo) Copy() *PackageInfo
func (*PackageInfo) GetAppendExt ¶ added in v2.13.0
func (p *PackageInfo) GetAppendExt() bool
func (*PackageInfo) GetChecksumReplacements ¶
func (p *PackageInfo) GetChecksumReplacements() Replacements
func (*PackageInfo) GetFiles ¶
func (p *PackageInfo) GetFiles() []*File
func (*PackageInfo) GetFormat ¶
func (p *PackageInfo) GetFormat() string
func (*PackageInfo) GetLink ¶
func (p *PackageInfo) GetLink() string
func (*PackageInfo) GetName ¶
func (p *PackageInfo) GetName() string
func (*PackageInfo) GetPath ¶
func (p *PackageInfo) GetPath() string
func (*PackageInfo) HasRepo ¶
func (p *PackageInfo) HasRepo() bool
func (*PackageInfo) Override ¶
func (p *PackageInfo) Override(logE *logrus.Entry, v string, rt *runtime.Runtime) (*PackageInfo, error)
func (*PackageInfo) OverrideByBuild ¶ added in v2.13.0
func (p *PackageInfo) OverrideByBuild()
func (*PackageInfo) OverrideByRuntime ¶
func (p *PackageInfo) OverrideByRuntime(rt *runtime.Runtime)
func (*PackageInfo) PkgPath ¶ added in v2.11.0
func (p *PackageInfo) PkgPath() string
func (*PackageInfo) SLSASourceURI ¶
func (p *PackageInfo) SLSASourceURI() string
func (*PackageInfo) SetVersion ¶
func (p *PackageInfo) SetVersion(logE *logrus.Entry, v string) (*PackageInfo, error)
func (*PackageInfo) Validate ¶
func (p *PackageInfo) Validate() error
type PackageInfos ¶
type PackageInfos []*PackageInfo
func (*PackageInfos) ToMap ¶
func (p *PackageInfos) ToMap(logE *logrus.Entry) map[string]*PackageInfo
type Replacements ¶
func (Replacements) IsZero ¶
func (r Replacements) IsZero() bool
func (Replacements) JSONSchema ¶
func (Replacements) JSONSchema() *jsonschema.Schema
type SLSAProvenance ¶
type SLSAProvenance struct {
Enabled *bool `json:"enabled,omitempty"`
Type string `json:"type,omitempty" jsonschema:"enum=github_release,enum=http"`
RepoOwner string `yaml:"repo_owner,omitempty" json:"repo_owner,omitempty"`
RepoName string `yaml:"repo_name,omitempty" json:"repo_name,omitempty"`
Asset *string `json:"asset,omitempty" yaml:",omitempty"`
URL *string `json:"url,omitempty" yaml:",omitempty"`
SourceURI *string `json:"source_uri,omitempty" yaml:"source_uri"`
}
func (*SLSAProvenance) GetDownloadedFile ¶
func (sp *SLSAProvenance) GetDownloadedFile() *DownloadedFile
func (*SLSAProvenance) GetEnabled ¶
func (sp *SLSAProvenance) GetEnabled() bool
func (*SLSAProvenance) GetSourceURI ¶
func (sp *SLSAProvenance) GetSourceURI() string
func (*SLSAProvenance) ToDownloadedFile ¶
func (sp *SLSAProvenance) ToDownloadedFile() *DownloadedFile
type SupportedEnvs ¶
type SupportedEnvs []string
func (SupportedEnvs) JSONSchema ¶
func (SupportedEnvs) JSONSchema() *jsonschema.Schema
type VersionOverride ¶
type VersionOverride struct {
VersionConstraints string `yaml:"version_constraint,omitempty" json:"version_constraint,omitempty"`
Type string `` /* 171-byte string literal not displayed */
RepoOwner string `yaml:"repo_owner,omitempty" json:"repo_owner,omitempty"`
RepoName string `yaml:"repo_name,omitempty" json:"repo_name,omitempty"`
Asset string `yaml:",omitempty" json:"asset,omitempty"`
Crate string `json:"crate,omitempty" yaml:",omitempty"`
Path string `yaml:",omitempty" json:"path,omitempty"`
URL string `yaml:",omitempty" json:"url,omitempty"`
Format string `yaml:",omitempty" json:"format,omitempty" jsonschema:"example=tar.gz,example=raw,example=zip"`
VersionFilter *string `yaml:"version_filter,omitempty" json:"version_filter,omitempty"`
VersionPrefix *string `yaml:"version_prefix,omitempty" json:"version_prefix,omitempty"`
VersionSource string `json:"version_source,omitempty" yaml:"version_source,omitempty"`
WindowsExt string `json:"windows_ext,omitempty" yaml:"windows_ext,omitempty"`
ErrorMessage *string `json:"error_message,omitempty" yaml:"error_message,omitempty"`
Rosetta2 *bool `yaml:",omitempty" json:"rosetta2,omitempty"`
WindowsARMEmulation *bool `yaml:"windows_arm_emulation,omitempty" json:"windows_arm_emulation,omitempty"`
CompleteWindowsExt *bool `json:"complete_windows_ext,omitempty" yaml:"complete_windows_ext,omitempty"`
NoAsset *bool `yaml:"no_asset,omitempty" json:"no_asset,omitempty"`
AppendExt *bool `json:"append_ext,omitempty" yaml:"append_ext,omitempty"`
Cargo *Cargo `json:"cargo,omitempty"`
Files []*File `yaml:",omitempty" json:"files,omitempty"`
FormatOverrides FormatOverrides `yaml:"format_overrides,omitempty" json:"format_overrides,omitempty"`
Overrides Overrides `yaml:",omitempty" json:"overrides,omitempty"`
Replacements Replacements `yaml:",omitempty" json:"replacements,omitempty"`
SupportedEnvs SupportedEnvs `yaml:"supported_envs,omitempty" json:"supported_envs,omitempty"`
Checksum *Checksum `json:"checksum,omitempty"`
Cosign *Cosign `json:"cosign,omitempty"`
SLSAProvenance *SLSAProvenance `json:"slsa_provenance,omitempty" yaml:"slsa_provenance,omitempty"`
Build *Build `json:"build,omitempty" yaml:",omitempty"`
}
Click to show internal directories.
Click to hide internal directories.