ownapplication

package
v0.57.8 Latest Latest
Warning

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

Go to latest
Published: Nov 11, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package ownapplication records node custody for Techstack-owned application intent. Catalog and own workloads share the native Compose executor.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AccessTable

func AccessTable(workspace string, base accessgatetable.Table) (accessgatetable.Table, error)

AccessTable extends only the server's already admitted table. Invalid or unsigned custody fails closed; names cannot replace an existing route.

func ExtendBackupPolicy

func ExtendBackupPolicy(workspace string, p localbackuppolicy.Policy) (localbackuppolicy.Policy, error)

func Mutating

func Mutating(action string) bool

func RequireBackupCoverage

func RequireBackupCoverage(p localbackuppolicy.Policy) error

RequireBackupCoverage preserves the installation's existing coverage grant; own application data never silently widens a paid or owner-selected policy.

Types

type Operation

type Operation struct {
	ID            string    `json:"id"`
	Action        string    `json:"action"`
	RequestDigest string    `json:"requestDigest"`
	ReviewDigest  string    `json:"reviewDigest"`
	Status        string    `json:"status"`
	At            time.Time `json:"at"`
}

type Record

type Record struct {
	SecretsKept           bool            `json:"secretsKept,omitempty"`
	Generation            string          `json:"generation"`
	Bundle                contract.Bundle `json:"bundle"`
	PreviousImage         string          `json:"previousImage,omitempty"`
	PreviousResolvedImage string          `json:"previousResolvedImage,omitempty"`
	State                 string          `json:"state"`
	Revision              string          `json:"revision"`
	Operation             Operation       `json:"operation"`
}

type Request

type Request struct {
	Action           string                `json:"action"`
	Name             string                `json:"name"`
	Application      *contract.Application `json:"application,omitempty"`
	KeepSecrets      bool                  `json:"keepSecrets,omitempty"`
	ResolvedImage    string                `json:"resolvedImage,omitempty"`
	SecretMaterial   map[string]string     `json:"-"`
	SecretCommitment string                `json:"secretCommitment,omitempty"`
	DeleteData       bool                  `json:"deleteData,omitempty"`
	OperationID      string                `json:"operationId,omitempty"`
	ReviewDigest     string                `json:"reviewDigest,omitempty"`
	DryRun           bool                  `json:"dryRun,omitempty"`
	OwnerApproved    bool                  `json:"-"`
}

type Result

type Result struct {
	APIVersion       string                 `json:"apiVersion"`
	NetworkNotice    string                 `json:"networkNotice"`
	Action           string                 `json:"action"`
	DryRun           bool                   `json:"dryRun"`
	ReviewDigest     string                 `json:"reviewDigest,omitempty"`
	Record           Record                 `json:"record"`
	Compose          string                 `json:"compose,omitempty"`
	Route            *accessgatetable.Route `json:"route,omitempty"`
	BackupVolumes    []string               `json:"backupVolumes"`
	Observation      json.RawMessage        `json:"observation,omitempty"`
	ObservationError string                 `json:"observationError,omitempty"`
}

func Execute

func Execute(ctx context.Context, workspace string, installation contract.Installation, req Request) (Result, error)

type State

type State struct {
	APIVersion   string                                        `json:"apiVersion"`
	Applications map[string]Record                             `json:"applications"`
	Signature    localevidence.OwnerLifecycleMutationSignature `json:"signature"`
}

func Load

func Load(workspace string) (State, error)

Jump to

Keyboard shortcuts

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