Documentation
¶
Overview ¶
Package checkpoints contains logic relating to checkpoint management for entities
Index ¶
- Constants
- type CheckpointEnvelopeV1
- func (c *CheckpointEnvelopeV1) ToJSON() (json.RawMessage, error)
- func (c *CheckpointEnvelopeV1) ToJSONorDefault(def json.RawMessage) (json.RawMessage, error)
- func (c *CheckpointEnvelopeV1) WithBranch(branch string) *CheckpointEnvelopeV1
- func (c *CheckpointEnvelopeV1) WithCommitHash(commitHash string) *CheckpointEnvelopeV1
- func (c *CheckpointEnvelopeV1) WithDigest(digest string) *CheckpointEnvelopeV1
- func (c *CheckpointEnvelopeV1) WithHTTP(url, method string) *CheckpointEnvelopeV1
- func (c *CheckpointEnvelopeV1) WithVersion(version string) *CheckpointEnvelopeV1
- type CheckpointV1
Constants ¶
const V1 = "v1"
V1 is the version string for the v1 format.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CheckpointEnvelopeV1 ¶
type CheckpointEnvelopeV1 struct {
Version string `json:"version" yaml:"version"`
Checkpoint CheckpointV1 `json:"checkpoint" yaml:"checkpoint"`
}
CheckpointEnvelopeV1 is the top-level structure for a checkpoint in the v1 format.
func NewCheckpointV1 ¶
func NewCheckpointV1(timestamp time.Time) *CheckpointEnvelopeV1
NewCheckpointV1 creates a new CheckpointV1 with the given timestamp.
func NewCheckpointV1Now ¶
func NewCheckpointV1Now() *CheckpointEnvelopeV1
NewCheckpointV1Now creates a new CheckpointV1 with the current time.
func (*CheckpointEnvelopeV1) ToJSON ¶
func (c *CheckpointEnvelopeV1) ToJSON() (json.RawMessage, error)
ToJSON marshals the checkpoint to JSON.
func (*CheckpointEnvelopeV1) ToJSONorDefault ¶
func (c *CheckpointEnvelopeV1) ToJSONorDefault(def json.RawMessage) (json.RawMessage, error)
ToJSONorDefault marshals the checkpoint to JSON or returns a default value.
func (*CheckpointEnvelopeV1) WithBranch ¶
func (c *CheckpointEnvelopeV1) WithBranch(branch string) *CheckpointEnvelopeV1
WithBranch sets the branch on the checkpoint.
func (*CheckpointEnvelopeV1) WithCommitHash ¶
func (c *CheckpointEnvelopeV1) WithCommitHash(commitHash string) *CheckpointEnvelopeV1
WithCommitHash sets the commit hash on the checkpoint.
func (*CheckpointEnvelopeV1) WithDigest ¶
func (c *CheckpointEnvelopeV1) WithDigest(digest string) *CheckpointEnvelopeV1
WithDigest sets the digest on the checkpoint.
func (*CheckpointEnvelopeV1) WithHTTP ¶
func (c *CheckpointEnvelopeV1) WithHTTP(url, method string) *CheckpointEnvelopeV1
WithHTTP sets the HTTP URL and method on the checkpoint.
func (*CheckpointEnvelopeV1) WithVersion ¶
func (c *CheckpointEnvelopeV1) WithVersion(version string) *CheckpointEnvelopeV1
WithVersion sets the version on the checkpoint.
type CheckpointV1 ¶
type CheckpointV1 struct {
// Timestamp is the time that the checkpoint was verified.
Timestamp time.Time `json:"timestamp" yaml:"timestamp"`
// CommitHash is the hash of the commit that the checkpoint is for.
CommitHash *string `json:"commitHash,omitempty" yaml:"commitHash,omitempty"`
// Branch is the branch of the commit that the checkpoint is for.
Branch *string `json:"branch,omitempty" yaml:"branch,omitempty"`
// Version is the version of the entity that the checkpoint is for.
// This may be a container image tag, a git tag, or some other version.
Version *string `json:"version,omitempty" yaml:"version,omitempty"`
// Digest is the digest of the entity that the checkpoint is for.
// This may be a container image digest, or some other digest.
Digest *string `json:"digest,omitempty" yaml:"digest,omitempty"`
// HTTPURL is the URL that was used to verify the entity.
HTTPURL *string `json:"httpURL,omitempty" yaml:"httpURL,omitempty"`
// HTTPMethod is the HTTP method that was used to verify the entity.
HTTPMethod *string `json:"httpMethod,omitempty" yaml:"httpMethod,omitempty"`
}
CheckpointV1 is the structure for a checkpoint in the v1 format.