registry

package
v2.8.0-2 Latest Latest
Warning

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

Go to latest
Published: May 20, 2023 License: MIT Imports: 11 Imported by: 2

Documentation

Index

Constants

View Source
const (
	PkgInfoTypeGitHubRelease = "github_release"
	PkgInfoTypeGitHubContent = "github_content"
	PkgInfoTypeGitHubArchive = "github_archive"
	PkgInfoTypeHTTP          = "http"
	PkgInfoTypeGoInstall     = "go_install"
	PkgInfoTypeCargo         = "cargo"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Alias

type Alias struct {
	Name string `json:"name"`
}

type Cargo added in v2.8.0

type Cargo struct {
	Features    []string `json:"features,omitempty"`
	AllFeatures bool     `yaml:"all_features" json:"all_features,omitempty"`
}

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 (chk *Checksum) GetAlgorithm() string

func (*Checksum) GetCosign

func (chk *Checksum) GetCosign() *Cosign

func (*Checksum) GetEnabled

func (chk *Checksum) GetEnabled() bool

func (*Checksum) GetReplacements

func (chk *Checksum) GetReplacements() Replacements

type ChecksumPattern

type ChecksumPattern struct {
	Checksum string `json:"checksum"`
	File     string `json:"file,omitempty"`
}

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

func (cos *Cosign) GetEnabled() bool

func (*Cosign) RenderOpts

func (cos *Cosign) RenderOpts(rt *runtime.Runtime, art *template.Artifact) ([]string, error)

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 File

type File struct {
	Name string `validate:"required" json:"name,omitempty" yaml:",omitempty"`
	Src  string `json:"src,omitempty" yaml:",omitempty"`
	Dir  string `json:"dir,omitempty" yaml:",omitempty"`
}

type FormatOverride

type FormatOverride struct {
	GOOS   string `` /* 199-byte string literal not displayed */
	Format string `yaml:",omitempty" json:"format" jsonschema:"example=tar.gz,example=raw,example=zip"`
}

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          `` /* 128-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"`
	Cargo              *Cargo          `json:"cargo,omitempty"`
	Files              []*File         `yaml:",omitempty" json:"files,omitempty"`
	URL                *string         `yaml:",omitempty" json:"url,omitempty"`
	CompleteWindowsExt *bool           `json:"complete_windows_ext,omitempty" yaml:"complete_windows_ext,omitempty"`
	WindowsExt         string          `json:"windows_ext,omitempty" yaml:"windows_ext,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"`
}

func (*Override) Match

func (ov *Override) Match(rt *runtime.Runtime) bool

type Overrides

type Overrides []*Override

func (Overrides) IsZero

func (o Overrides) IsZero() bool

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             `` /* 138-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"`
	Cargo              *Cargo             `json:"cargo,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"`
	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"`
	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"`
	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"`
	Checksum           *Checksum          `json:"checksum,omitempty"`
	Cosign             *Cosign            `json:"cosign,omitempty"`
	SLSAProvenance     *SLSAProvenance    `json:"slsa_provenance,omitempty" yaml:"slsa_provenance,omitempty"`
	Private            bool               `json:"private,omitempty"`
	VersionConstraints string             `yaml:"version_constraint,omitempty" json:"version_constraint,omitempty"`
	VersionOverrides   []*VersionOverride `yaml:"version_overrides,omitempty" json:"version_overrides,omitempty"`
	ErrorMessage       string             `json:"-" yaml:"-"`
}

func (*PackageInfo) CheckSupported

func (pkgInfo *PackageInfo) CheckSupported(rt *runtime.Runtime, env string) (bool, error)

func (*PackageInfo) CheckSupportedEnvs

func (pkgInfo *PackageInfo) CheckSupportedEnvs(goos, goarch, env string) bool

func (*PackageInfo) Copy

func (pkgInfo *PackageInfo) Copy() *PackageInfo

func (*PackageInfo) GetAsset

func (pkgInfo *PackageInfo) GetAsset() *string

func (*PackageInfo) GetChecksumReplacements

func (pkgInfo *PackageInfo) GetChecksumReplacements() Replacements

func (*PackageInfo) GetDescription

func (pkgInfo *PackageInfo) GetDescription() string

func (*PackageInfo) GetFiles

func (pkgInfo *PackageInfo) GetFiles() []*File

func (*PackageInfo) GetFormat

func (pkgInfo *PackageInfo) GetFormat() string
func (pkgInfo *PackageInfo) GetLink() string

func (*PackageInfo) GetName

func (pkgInfo *PackageInfo) GetName() string

func (*PackageInfo) GetPath

func (pkgInfo *PackageInfo) GetPath() string

func (*PackageInfo) GetReplacements

func (pkgInfo *PackageInfo) GetReplacements() Replacements

func (*PackageInfo) GetRosetta2

func (pkgInfo *PackageInfo) GetRosetta2() bool

func (*PackageInfo) GetType

func (pkgInfo *PackageInfo) GetType() string

func (*PackageInfo) GetVersionPrefix

func (pkgInfo *PackageInfo) GetVersionPrefix() string

func (*PackageInfo) HasRepo

func (pkgInfo *PackageInfo) HasRepo() bool

func (*PackageInfo) Override

func (pkgInfo *PackageInfo) Override(logE *logrus.Entry, v string, rt *runtime.Runtime) (*PackageInfo, error)

func (*PackageInfo) OverrideByRuntime

func (pkgInfo *PackageInfo) OverrideByRuntime(rt *runtime.Runtime)

func (*PackageInfo) SLSASourceURI

func (pkgInfo *PackageInfo) SLSASourceURI() string

func (*PackageInfo) SetVersion

func (pkgInfo *PackageInfo) SetVersion(logE *logrus.Entry, v string) (*PackageInfo, error)

func (*PackageInfo) Validate

func (pkgInfo *PackageInfo) Validate() error

type PackageInfos

type PackageInfos []*PackageInfo

func (*PackageInfos) ToMap

func (pkgInfos *PackageInfos) ToMap(logE *logrus.Entry) map[string]*PackageInfo

func (*PackageInfos) ToMapWarn

func (pkgInfos *PackageInfos) ToMapWarn(logE *logrus.Entry) map[string]*PackageInfo

type Replacements

type Replacements map[string]string

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          `` /* 146-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"`
	Cargo              *Cargo          `json:"cargo,omitempty"`
	Path               *string         `yaml:",omitempty" json:"path,omitempty"`
	URL                *string         `yaml:",omitempty" json:"url,omitempty"`
	Files              []*File         `yaml:",omitempty" json:"files,omitempty"`
	Format             string          `yaml:",omitempty" json:"format,omitempty" jsonschema:"example=tar.gz,example=raw,example=zip"`
	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"`
	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"`
	Rosetta2           *bool           `yaml:",omitempty" json:"rosetta2,omitempty"`
	CompleteWindowsExt *bool           `json:"complete_windows_ext,omitempty" yaml:"complete_windows_ext,omitempty"`
	WindowsExt         string          `json:"windows_ext,omitempty" yaml:"windows_ext,omitempty"`
	Checksum           *Checksum       `json:"checksum,omitempty"`
	Cosign             *Cosign         `json:"cosign,omitempty"`
	SLSAProvenance     *SLSAProvenance `json:"slsa_provenance,omitempty" yaml:"slsa_provenance,omitempty"`
	ErrorMessage       string          `json:"error_message,omitempty" yaml:"error_message,omitempty"`
	NoAsset            *bool           `yaml:"no_asset,omitempty" json:"no_asset,omitempty"`
}

Jump to

Keyboard shortcuts

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