Documentation
¶
Index ¶
- Constants
- func DigestFile(path string) (string, error)
- func ImageTags(appVersion, gitCommit string) ([]string, error)
- func MajorMinorTag(version string) (string, error)
- func TagForVersion(version string) string
- func ValidateRelease(opts ValidateOptions) error
- func ValidateSemVer(version string) error
- type BinaryArtifact
- type BreakingSurface
- type ChartMetadata
- type ChartPackageOptions
- type ChecksumEntry
- type ContractDescriptor
- type ContractsManifest
- type ContractsPack
- type ContractsPackOptions
- type OCIImageManifest
- type OCIImageOptions
- type ReleaseChecksums
- type ReleaseManifest
- type ReleaseManifestOptions
- type ReleaseNotes
- type SchemaDescriptor
- type ValidateOptions
Constants ¶
View Source
const ( ProductName = "bering" ContractsManifestSchemaName = "io.mb3r.bering.contracts-manifest" ContractsManifestSchemaVersion = "1.0.0" ContractsManifestSchemaURI = "urn:io.mb3r.bering:contracts-manifest:1.0.0" ReleaseManifestSchemaName = "io.mb3r.bering.release-manifest" ReleaseManifestSchemaVersion = "1.0.0" ReleaseManifestSchemaURI = "urn:io.mb3r.bering:release-manifest:1.0.0" ReleaseChecksumsName = "release-checksums.txt" ReleaseManifestName = "release-manifest.json" ReleaseNotesName = "release-notes.md" ContractsManifestName = "contracts-manifest.json" )
Variables ¶
This section is empty.
Functions ¶
func DigestFile ¶
func MajorMinorTag ¶
func TagForVersion ¶
func ValidateRelease ¶
func ValidateRelease(opts ValidateOptions) error
func ValidateSemVer ¶
Types ¶
type BinaryArtifact ¶
type BinaryArtifact struct {
ID string `json:"id"`
OS string `json:"os"`
Arch string `json:"arch"`
Target string `json:"target"`
Binary string `json:"binary"`
Path string `json:"path"`
Archive string `json:"archive"`
Format string `json:"format"`
ArchiveID string `json:"archive_id,omitempty"`
SBOM string `json:"sbom,omitempty"`
Checksum string `json:"checksum,omitempty"`
}
type BreakingSurface ¶
type ChartMetadata ¶
type ChartMetadata struct {
Name string `json:"name"`
Version string `json:"version"`
AppVersion string `json:"app_version"`
Package string `json:"package"`
PackageDigest string `json:"package_digest"`
OCIReference string `json:"oci_reference,omitempty"`
Digest string `json:"digest,omitempty"`
Published bool `json:"published"`
Repository string `json:"repository,omitempty"`
SourceChartDir string `json:"source_chart_dir"`
}
func PackageChart ¶
func PackageChart(opts ChartPackageOptions) (ChartMetadata, error)
func ReadPackagedChartMetadata ¶
func ReadPackagedChartMetadata(path string) (ChartMetadata, error)
type ChartPackageOptions ¶
type ChecksumEntry ¶
type ContractDescriptor ¶
type ContractsManifest ¶
type ContractsManifest struct {
Schema SchemaDescriptor `json:"schema"`
ProductName string `json:"product_name"`
AppVersion string `json:"app_version"`
GeneratedAt string `json:"generated_at"`
Contracts []ContractDescriptor `json:"contracts"`
}
func BuildContractsManifest ¶
func BuildContractsManifest(repoRoot, appVersion, buildDate string) (ContractsManifest, error)
func GenerateContractsPack ¶
func GenerateContractsPack(opts ContractsPackOptions) (ContractsManifest, string, error)
type ContractsPack ¶
type ContractsPackOptions ¶
type OCIImageManifest ¶
type OCIImageManifest struct {
Repository string `json:"repository"`
References []string `json:"references"`
Tags []string `json:"tags"`
Digest string `json:"digest,omitempty"`
Platforms []string `json:"platforms"`
LocalLayout string `json:"local_layout,omitempty"`
Published bool `json:"published"`
MediaType string `json:"media_type,omitempty"`
BuildDate string `json:"build_date"`
GitCommit string `json:"git_commit"`
SourceArtifact string `json:"source_artifact,omitempty"`
}
func BuildOCIImage ¶
func BuildOCIImage(opts OCIImageOptions) (OCIImageManifest, error)
type OCIImageOptions ¶
type ReleaseChecksums ¶
type ReleaseChecksums struct {
Algorithm string `json:"algorithm"`
File string `json:"file"`
Digest string `json:"digest"`
Entries []ChecksumEntry `json:"entries"`
}
type ReleaseManifest ¶
type ReleaseManifest struct {
Schema SchemaDescriptor `json:"schema"`
ProductName string `json:"product_name"`
AppVersion string `json:"app_version"`
GitTag string `json:"git_tag,omitempty"`
GitCommit string `json:"git_commit"`
BuildDate string `json:"build_date"`
Binaries []BinaryArtifact `json:"binaries"`
Checksums ReleaseChecksums `json:"checksums"`
OCIImages []OCIImageManifest `json:"oci_images"`
HelmChart ChartMetadata `json:"helm_chart"`
ContractsPack ContractsPack `json:"contracts_pack"`
Contracts []ContractDescriptor `json:"contracts"`
ReleaseNotes ReleaseNotes `json:"release_notes"`
}
func GenerateReleaseManifest ¶
func GenerateReleaseManifest(opts ReleaseManifestOptions) (ReleaseManifest, error)
type ReleaseManifestOptions ¶
type ReleaseNotes ¶
type ReleaseNotes struct {
Headline string `json:"headline"`
Summary string `json:"summary"`
Highlights []string `json:"highlights"`
Breaking BreakingSurface `json:"breaking"`
}
type SchemaDescriptor ¶
type SchemaDescriptor struct {
Name string `json:"name"`
Version string `json:"version"`
URI string `json:"uri"`
}
func ContractsManifestSchema ¶
func ContractsManifestSchema() SchemaDescriptor
func ReleaseManifestSchema ¶
func ReleaseManifestSchema() SchemaDescriptor
Click to show internal directories.
Click to hide internal directories.