130 lines
3.8 KiB
Go
130 lines
3.8 KiB
Go
// Code generated by seatgen from the seat definitions; DO NOT EDIT.
|
|
|
|
// Package meshartifactsweep is the contract of the seat "mesh-artifact-sweep", defined whole (seats/mesh-artifact-sweep/seat.json): no description.
|
|
package meshartifactsweep
|
|
|
|
import "time"
|
|
|
|
// Seat is the seat's name.
|
|
const Seat = "mesh-artifact-sweep"
|
|
|
|
const (
|
|
VerbArtifacts = "artifacts"
|
|
VerbHeld = "held"
|
|
VerbCollect = "collect"
|
|
VerbMirrors = "mirrors"
|
|
VerbImages = "images"
|
|
)
|
|
|
|
const (
|
|
EventArtifactsGone = "artifacts-gone"
|
|
)
|
|
|
|
// Verbs is every verb the seat serves, in its definition's order: a new copy each call.
|
|
func Verbs() []string {
|
|
return []string{VerbArtifacts, VerbHeld, VerbCollect, VerbMirrors, VerbImages}
|
|
}
|
|
|
|
// Events is every event published on the seat's subject: a new copy each call.
|
|
func Events() []string {
|
|
return []string{EventArtifactsGone}
|
|
}
|
|
|
|
// Family is where the seat's events are kept: the shared events stream, filtered to the seat's subjects.
|
|
const (
|
|
Family = "mesh-artifact-sweep.events"
|
|
FamilyMaxAgeDays = 7
|
|
)
|
|
|
|
// SubjectArtifactsGone is where artifacts-gone is published.
|
|
const SubjectArtifactsGone = "mesh.seat.mesh-artifact-sweep.event.artifacts-gone"
|
|
|
|
// ArtifactsGone is the body of artifacts-gone.
|
|
type ArtifactsGone struct {
|
|
// when the sweep found it
|
|
At *time.Time `json:"at,omitempty"`
|
|
// artifacts-gone
|
|
Event string `json:"event"`
|
|
// the key's fingerprint
|
|
Fingerprint string `json:"fingerprint"`
|
|
// every reference of the key the store does not hold, sorted
|
|
Gone []string `json:"gone"`
|
|
// the builder's done key
|
|
Key string `json:"key,omitempty"`
|
|
// the module whose builder's key names a gone artifact
|
|
Module string `json:"module"`
|
|
}
|
|
|
|
// ArtifactsInput is what artifacts takes.
|
|
type ArtifactsInput struct {
|
|
// "true": list the collected references too (counted always)
|
|
Collected string `json:"collected,omitempty"`
|
|
// only this repository's references, as <module>/<artifact> (the counts stay whole)
|
|
Repository string `json:"repository,omitempty"`
|
|
}
|
|
|
|
// The values of ArtifactsInput's collected.
|
|
const (
|
|
ArtifactsInputCollectedTrue = "true"
|
|
ArtifactsInputCollectedFalse = "false"
|
|
)
|
|
|
|
// ArtifactsAnswer is what artifacts answers.
|
|
type ArtifactsAnswer = map[string]any
|
|
|
|
// HeldInput is what held takes.
|
|
type HeldInput struct {
|
|
// the artifacts' references, artifact-store://<module>/<artifact>/blobs/sha256:<hex>: a list, or one text separated by commas
|
|
References []string `json:"references"`
|
|
}
|
|
|
|
// HeldAnswer is what held answers.
|
|
type HeldAnswer struct {
|
|
// the references the store answered 404 for
|
|
Gone []string `json:"gone"`
|
|
// the references the store holds
|
|
Held []string `json:"held"`
|
|
// the store asked, host and port
|
|
Store string `json:"store,omitempty"`
|
|
// a reference the store could not be asked about, to why
|
|
Unknown map[string]string `json:"unknown,omitempty"`
|
|
}
|
|
|
|
// CollectInput is what collect takes.
|
|
type CollectInput struct {
|
|
// "true": let go of what is eligible (needs why); without it nothing is done
|
|
Confirm string `json:"confirm,omitempty"`
|
|
// let go of at most this many (500 by default, at most 5000)
|
|
Most string `json:"most,omitempty"`
|
|
// with confirm: why, required and recorded
|
|
Why string `json:"why,omitempty"`
|
|
}
|
|
|
|
// The values of CollectInput's confirm.
|
|
const (
|
|
CollectInputConfirmTrue = "true"
|
|
CollectInputConfirmFalse = "false"
|
|
)
|
|
|
|
// CollectAnswer is what collect answers.
|
|
type CollectAnswer = map[string]any
|
|
|
|
// MirrorsInput is what mirrors takes.
|
|
type MirrorsInput struct {
|
|
}
|
|
|
|
// MirrorsAnswer is what mirrors answers.
|
|
type MirrorsAnswer = map[string]any
|
|
|
|
// ImagesInput is what images takes.
|
|
type ImagesInput struct {
|
|
// the machine's name
|
|
Node string `json:"node"`
|
|
}
|
|
|
|
// ImagesAnswer is what images answers.
|
|
type ImagesAnswer = map[string]any
|
|
|
|
// ArtifactsGoneEvent is the body of the event artifacts-gone.
|
|
type ArtifactsGoneEvent = ArtifactsGone
|