Documentation
¶
Overview ¶
Package proposal is the vocabulary of Git-native updates: the change Ripen asks a forge to open, and the Proposal that now exists. A Proposal is never merged or deployed by Ripen — a human reviews it, merges it, and the next Monitor run confirms what the forge deployed.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrNothingWritten = errors.New("nothing was written to the forge")
ErrNothingWritten marks a Propose failure that happened before the forge was asked to write anything, so no Proposal can exist because of it.
Functions ¶
This section is empty.
Types ¶
type Change ¶
type Change struct {
// Label names the Service the pin belongs to, as an operator reads
// it: "stack" or "stack/service". It titles the change and seeds the
// branch name.
Label string
// RepositoryPath is the Compose file's path inside the repository.
RepositoryPath string
// ExpectedContent is the live reviewed document. A repository whose
// base branch holds something else has drifted, and the Proposal is
// refused rather than opened against unknown content.
ExpectedContent string
// ProposedContent is the same document with one image pinned.
ProposedContent string
// Digest is the digest being pinned.
Digest string
}
Change is one digest-pin Proposal to open.
type Port ¶
type Port interface {
Propose(change Change) (Result, error)
// BranchExists reports whether any Proposal branch for the label is on
// the forge, so an interrupted Proposal request can be proven settled.
BranchExists(label string) (bool, error)
}
Port opens digest-pin Proposals on a forge.
Click to show internal directories.
Click to hide internal directories.