Documentation
¶
Index ¶
- Constants
- func ErrorDetails(err error) (code string, message string, status int, retryable bool)
- type ActionCapability
- type Backend
- type BuiltinCatalog
- type ComposeTemplateSpec
- type ContainerDeviceSpec
- type ContainerMountSpec
- type ContainerPortSpec
- type ContainerResourceKind
- type ContainerResourceLink
- type ContainerResourceOwner
- type ContainerRuntimeSettings
- type ContainerTemplateSpec
- type CreateRequest
- type CreateResult
- type Deployment
- type DeploymentAvailability
- type EnvironmentSetting
- type Error
- type HostArtifactSpec
- type HostLifecycleActionPlan
- type HostLifecyclePackage
- type HostLifecyclePlan
- type HostLifecycleStep
- type HostManagementReview
- type HostRuntimeSettings
- type HostTemplateSpec
- type InstallPlan
- type InstallPlanningBackend
- type LocalizedTemplateNotice
- type LockedSetting
- type LogResult
- type ManagementBackend
- type ManagementPlan
- type ManagementPlanRequest
- type Manager
- func (m *Manager) Cancel(ctx context.Context, operationID string) (*pfregistry.ManagedOperation, error)
- func (m *Manager) Catalog(ctx context.Context) ([]Template, error)
- func (m *Manager) Close() error
- func (m *Manager) ConfirmTemplateSource(ctx context.Context, owner string, req TemplateSourceConfirmRequest) (*Template, error)
- func (m *Manager) ContainerResourceOwner(ctx context.Context, engine containerengine.Engine, ...) (*ContainerResourceOwner, error)
- func (m *Manager) Create(ctx context.Context, req CreateRequest) (*CreateResult, error)
- func (m *Manager) CreateTemplate(ctx context.Context, req TemplateWriteRequest) (*Template, error)
- func (m *Manager) CreateUpdatePlan(ctx context.Context, serviceID string, request UpdatePlanRequest) (*UpdatePlan, error)
- func (m *Manager) DeleteTemplate(ctx context.Context, templateID string) error
- func (m *Manager) DiscardTemplateSource(_ context.Context, owner, id string) error
- func (m *Manager) DiscoverTemplateSources(ctx context.Context, req TemplateSourceDiscoverRequest) (templatecontract.SourceCatalog, error)
- func (m *Manager) DuplicateTemplate(ctx context.Context, templateID string, req TemplateDuplicateRequest) (*Template, error)
- func (m *Manager) InspectTemplateSource(ctx context.Context, owner string, req TemplateSourceInspectRequest) (*TemplateSourcePreview, error)
- func (m *Manager) List(ctx context.Context) ([]ServiceView, error)
- func (m *Manager) Logs(ctx context.Context, serviceID string, tail int) (*LogResult, error)
- func (m *Manager) OpenSession(ctx context.Context, serviceID string, request OpenSessionRequest) (*OpenSession, error)
- func (m *Manager) Operate(ctx context.Context, serviceID string, req OperationRequest) (*pfregistry.ManagedOperation, error)
- func (m *Manager) Operation(ctx context.Context, operationID string) (*pfregistry.ManagedOperation, error)
- func (m *Manager) PreflightInstall(ctx context.Context, req CreateRequest) (*InstallPlan, error)
- func (m *Manager) PreflightManagement(ctx context.Context, serviceID string, req ManagementPlanRequest) (*ManagementPlan, error)
- func (m *Manager) PreflightReconfigure(ctx context.Context, serviceID string, draft ReconfigureDraft) (*ReconfigurePlan, error)
- func (m *Manager) PreviewTemplateSourceFile(_ context.Context, owner, id, path string) (*TemplateSourceFilePreview, error)
- func (m *Manager) RestoreHostManagement(ctx context.Context, serviceID string, request RestoreManagementRequest) error
- func (m *Manager) ReviewHostManagement(ctx context.Context, serviceID string) (*HostManagementReview, error)
- func (m *Manager) ServiceReleaseCandidates(ctx context.Context, serviceID string, request ReleaseCandidateRequest) (*ReleaseCandidateResult, error)
- func (m *Manager) Settings(ctx context.Context, serviceID string) (*ServiceSettingsView, error)
- func (m *Manager) Start(ctx context.Context)
- func (m *Manager) Subscribe(operationID string) (<-chan pfregistry.ManagedOperation, func(), error)
- func (m *Manager) Template(ctx context.Context, templateID string) (*Template, error)
- func (m *Manager) TemplateReleaseCandidates(ctx context.Context, templateID string, request ReleaseCandidateRequest) (*ReleaseCandidateResult, error)
- func (m *Manager) UpdateSettings(ctx context.Context, serviceID string, patch ServiceMetadataPatch) (*ServiceSettingsView, error)
- func (m *Manager) UpdateTemplate(ctx context.Context, templateID string, req TemplateWriteRequest) (*Template, error)
- func (m *Manager) ValidateTemplate(_ context.Context, req TemplateWriteRequest) error
- type ManagerOptions
- type NPMHostPackageSpec
- type OpenSession
- type OpenSessionRequest
- type OperationAction
- type OperationRequest
- type ReconfigureDraft
- type ReconfigurePlan
- type ReconfigureRequest
- type ReleaseCandidate
- type ReleaseCandidateRequest
- type ReleaseCandidateResult
- type ReleaseIdentity
- type ReleaseStatus
- type RestoreManagementRequest
- type RiskNotice
- type ServiceActions
- type ServiceFacts
- type ServiceFailure
- type ServiceMetadataPatch
- type ServiceOpening
- type ServiceResourceFact
- type ServiceRuntimeSettings
- type ServiceSettingsView
- type ServiceView
- type Template
- type TemplateDuplicateRequest
- type TemplateIcon
- type TemplateLocalization
- type TemplateNotice
- type TemplateParameter
- type TemplateSourceBackend
- type TemplateSourceConfirmRequest
- type TemplateSourceDiscoverRequest
- type TemplateSourceFileChange
- type TemplateSourceFileContent
- type TemplateSourceFilePreview
- type TemplateSourceInspectRequest
- type TemplateSourcePreview
- type TemplateSpec
- type TemplateWriteRequest
- type UpdatePlan
- type UpdatePlanRequest
- type WebEndpointSpec
- type WorkspaceRoot
Constants ¶
View Source
const ( ContainerRuntimeProfileRestricted = "restricted" ContainerRuntimeProfileInteractiveDesktop = "interactive_desktop" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ActionCapability ¶
type Backend ¶
type Backend interface {
Catalog(context.Context) ([]Template, error)
Template(context.Context, string) (*Template, error)
CreateTemplate(context.Context, TemplateWriteRequest) (*Template, error)
UpdateTemplate(context.Context, string, TemplateWriteRequest) (*Template, error)
DeleteTemplate(context.Context, string) error
DuplicateTemplate(context.Context, string, TemplateDuplicateRequest) (*Template, error)
ValidateTemplate(context.Context, TemplateWriteRequest) error
TemplateReleaseCandidates(context.Context, string, ReleaseCandidateRequest) (*ReleaseCandidateResult, error)
List(context.Context) ([]ServiceView, error)
ServiceReleaseCandidates(context.Context, string, ReleaseCandidateRequest) (*ReleaseCandidateResult, error)
CreateUpdatePlan(context.Context, string, UpdatePlanRequest) (*UpdatePlan, error)
Settings(context.Context, string) (*ServiceSettingsView, error)
UpdateSettings(context.Context, string, ServiceMetadataPatch) (*ServiceSettingsView, error)
PreflightReconfigure(context.Context, string, ReconfigureDraft) (*ReconfigurePlan, error)
Create(context.Context, CreateRequest) (*CreateResult, error)
Operate(context.Context, string, OperationRequest) (*pfregistry.ManagedOperation, error)
Cancel(context.Context, string) (*pfregistry.ManagedOperation, error)
Operation(context.Context, string) (*pfregistry.ManagedOperation, error)
Subscribe(string) (<-chan pfregistry.ManagedOperation, func(), error)
Logs(context.Context, string, int) (*LogResult, error)
OpenSession(context.Context, string, OpenSessionRequest) (*OpenSession, error)
ReviewHostManagement(context.Context, string) (*HostManagementReview, error)
RestoreHostManagement(context.Context, string, RestoreManagementRequest) error
}
type BuiltinCatalog ¶
type BuiltinCatalog struct {
// contains filtered or unexported fields
}
func LoadBuiltinCatalog ¶
func LoadBuiltinCatalog() (*BuiltinCatalog, error)
type ComposeTemplateSpec ¶
type ComposeTemplateSpec = templatecontract.ComposeTemplateSpec
type ContainerDeviceSpec ¶
type ContainerDeviceSpec = templatecontract.ContainerDeviceSpec
type ContainerMountSpec ¶
type ContainerMountSpec = templatecontract.ContainerMountSpec
type ContainerPortSpec ¶
type ContainerPortSpec = templatecontract.ContainerPortSpec
type ContainerResourceKind ¶
type ContainerResourceKind string
const ( ContainerResourceContainer ContainerResourceKind = "container" ContainerResourceImage ContainerResourceKind = "image" ContainerResourceVolume ContainerResourceKind = "volume" ContainerResourceComposeProject ContainerResourceKind = "compose_project" )
type ContainerResourceLink ¶
type ContainerResourceOwner ¶
type ContainerRuntimeSettings ¶
type ContainerRuntimeSettings struct {
Entrypoint string `json:"entrypoint,omitempty"`
Command []string `json:"command,omitempty"`
Environment []EnvironmentSetting `json:"environment,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
RestartPolicy string `json:"restart_policy,omitempty"`
NetworkMode string `json:"network_mode,omitempty"`
PIDMode string `json:"pid_mode,omitempty"`
IPCMode string `json:"ipc_mode,omitempty"`
Ports []ContainerPortSpec `json:"ports,omitempty"`
Mounts []ContainerMountSpec `json:"mounts,omitempty"`
CPUs float64 `json:"cpus,omitempty"`
MemoryBytes int64 `json:"memory_bytes,omitempty"`
PIDsLimit int64 `json:"pids_limit,omitempty"`
ShmSizeBytes int64 `json:"shm_size_bytes,omitempty"`
CapAdd []string `json:"cap_add,omitempty"`
CapDrop []string `json:"cap_drop,omitempty"`
Devices []ContainerDeviceSpec `json:"devices,omitempty"`
Privileged bool `json:"privileged,omitempty"`
ReadOnlyRoot bool `json:"read_only_root"`
SecurityOpts []string `json:"security_opts,omitempty"`
User string `json:"user,omitempty"`
}
type ContainerTemplateSpec ¶
type ContainerTemplateSpec = templatecontract.ContainerTemplateSpec
type CreateRequest ¶
type CreateRequest struct {
PlanDigest string `json:"plan_digest,omitempty"`
RequestID string `json:"request_id"`
TemplateID string `json:"template_id"`
Deployment Deployment `json:"deployment"`
WorkspacePath string `json:"workspace_path"`
Parameters map[string]string `json:"parameters,omitempty"`
AcceptedNoticeRevisions map[string]int64 `json:"accepted_notice_revisions,omitempty"`
AccessMode string `json:"access_mode,omitempty"`
TargetReleaseID string `json:"target_release_id,omitempty"`
}
type CreateResult ¶
type CreateResult struct {
Service pfregistry.ManagedService `json:"service"`
Operation pfregistry.ManagedOperation `json:"operation"`
}
type Deployment ¶
type Deployment = templatecontract.Deployment
const ( DeploymentHost Deployment = "host" DeploymentContainer Deployment = "container" DeploymentCompose Deployment = "compose" )
type DeploymentAvailability ¶
type DeploymentAvailability struct {
Deployment Deployment `json:"deployment"`
Available bool `json:"available"`
ReasonCode string `json:"reason_code,omitempty"`
Reason string `json:"reason,omitempty"`
}
type EnvironmentSetting ¶
type HostArtifactSpec ¶
type HostArtifactSpec = templatecontract.HostArtifactSpec
type HostLifecycleActionPlan ¶
type HostLifecycleActionPlan struct {
Ownership string `json:"ownership"`
Steps []HostLifecycleStep `json:"steps"`
}
type HostLifecyclePackage ¶
type HostLifecyclePlan ¶
type HostLifecyclePlan struct {
SchemaVersion int `json:"schema_version"`
Driver string `json:"driver"`
RuntimeBundle string `json:"runtime_bundle,omitempty"`
Package *HostLifecyclePackage `json:"package,omitempty"`
NPM *NPMHostPackageSpec `json:"npm,omitempty"`
Install HostLifecycleActionPlan `json:"install"`
Start HostLifecycleActionPlan `json:"start"`
Open *HostLifecycleActionPlan `json:"open,omitempty"`
OutputMode string `json:"output_mode,omitempty"`
Stop HostLifecycleActionPlan `json:"stop"`
Uninstall HostLifecycleActionPlan `json:"uninstall"`
}
type HostLifecycleStep ¶
type HostManagementReview ¶
type HostManagementReview struct {
ServiceID string `json:"service_id"`
SavedIdentity string `json:"saved_identity"`
Fingerprint string `json:"fingerprint"`
PID int `json:"pid"`
ProcessGroup int `json:"process_group"`
Executable string `json:"executable"`
UserID string `json:"user_id"`
Birth string `json:"birth"`
}
Only native process facts are disclosed. Command arguments, environment, opening URLs and private credentials never enter the review response.
type HostRuntimeSettings ¶
type HostTemplateSpec ¶
type HostTemplateSpec = templatecontract.HostTemplateSpec
type InstallPlan ¶
type InstallPlanningBackend ¶
type InstallPlanningBackend interface {
PreflightInstall(context.Context, CreateRequest) (*InstallPlan, error)
}
type LocalizedTemplateNotice ¶
type LocalizedTemplateNotice = templatecontract.LocalizedNotice
type LockedSetting ¶
type ManagementBackend ¶
type ManagementBackend interface {
PreflightManagement(context.Context, string, ManagementPlanRequest) (*ManagementPlan, error)
}
ManagementBackend extends the lifecycle boundary without granting scripts any additional permissions. Authorization still belongs to the product adapter.
type ManagementPlan ¶
type ManagementPlan struct {
ServiceID string `json:"service_id"`
Request ManagementPlanRequest `json:"request"`
PlanDigest string `json:"plan_digest"`
Facts ServiceFacts `json:"facts"`
Blockers []string `json:"blockers"`
Path string `json:"path"`
ConflictServiceID string `json:"conflict_service_id,omitempty"`
ConfigurationRevision int64 `json:"configuration_revision"`
RuntimeIdentity string `json:"-"`
Manifest string `json:"-"`
ManagementState string `json:"management_state"`
}
type ManagementPlanRequest ¶
type ManagementPlanRequest struct {
RetainResourceIDs []string `json:"retain_resource_ids,omitempty"`
Action OperationAction `json:"action"`
DeleteData bool `json:"delete_data,omitempty"`
DeleteWorkspace bool `json:"delete_workspace,omitempty"`
SkipHooks bool `json:"skip_hooks,omitempty"`
}
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func New ¶
func New(opts ManagerOptions) (*Manager, error)
func (*Manager) Cancel ¶
func (m *Manager) Cancel(ctx context.Context, operationID string) (*pfregistry.ManagedOperation, error)
func (*Manager) ConfirmTemplateSource ¶
func (*Manager) ContainerResourceOwner ¶
func (m *Manager) ContainerResourceOwner(ctx context.Context, engine containerengine.Engine, endpointID containerengine.EndpointID, kind ContainerResourceKind, identity string) (*ContainerResourceOwner, error)
ContainerResourceOwner resolves the single Redeven product owner of a Docker resource. Container drivers uses this on both read and write paths so a caller cannot bypass the managed Web Service lifecycle through another UI.
func (*Manager) Create ¶
func (m *Manager) Create(ctx context.Context, req CreateRequest) (*CreateResult, error)
func (*Manager) CreateTemplate ¶
func (*Manager) CreateUpdatePlan ¶
func (m *Manager) CreateUpdatePlan(ctx context.Context, serviceID string, request UpdatePlanRequest) (*UpdatePlan, error)
func (*Manager) DeleteTemplate ¶
func (*Manager) DiscardTemplateSource ¶
func (*Manager) DiscoverTemplateSources ¶
func (m *Manager) DiscoverTemplateSources(ctx context.Context, req TemplateSourceDiscoverRequest) (templatecontract.SourceCatalog, error)
func (*Manager) DuplicateTemplate ¶
func (*Manager) InspectTemplateSource ¶
func (m *Manager) InspectTemplateSource(ctx context.Context, owner string, req TemplateSourceInspectRequest) (*TemplateSourcePreview, error)
func (*Manager) OpenSession ¶
func (m *Manager) OpenSession(ctx context.Context, serviceID string, request OpenSessionRequest) (*OpenSession, error)
func (*Manager) Operate ¶
func (m *Manager) Operate(ctx context.Context, serviceID string, req OperationRequest) (*pfregistry.ManagedOperation, error)
func (*Manager) Operation ¶
func (m *Manager) Operation(ctx context.Context, operationID string) (*pfregistry.ManagedOperation, error)
func (*Manager) PreflightInstall ¶
func (m *Manager) PreflightInstall(ctx context.Context, req CreateRequest) (*InstallPlan, error)
func (*Manager) PreflightManagement ¶
func (m *Manager) PreflightManagement(ctx context.Context, serviceID string, req ManagementPlanRequest) (*ManagementPlan, error)
func (*Manager) PreflightReconfigure ¶
func (m *Manager) PreflightReconfigure(ctx context.Context, serviceID string, draft ReconfigureDraft) (*ReconfigurePlan, error)
func (*Manager) PreviewTemplateSourceFile ¶
func (*Manager) RestoreHostManagement ¶
func (*Manager) ReviewHostManagement ¶
func (*Manager) ServiceReleaseCandidates ¶
func (m *Manager) ServiceReleaseCandidates(ctx context.Context, serviceID string, request ReleaseCandidateRequest) (*ReleaseCandidateResult, error)
func (*Manager) Subscribe ¶
func (m *Manager) Subscribe(operationID string) (<-chan pfregistry.ManagedOperation, func(), error)
func (*Manager) TemplateReleaseCandidates ¶
func (m *Manager) TemplateReleaseCandidates(ctx context.Context, templateID string, request ReleaseCandidateRequest) (*ReleaseCandidateResult, error)
func (*Manager) UpdateSettings ¶
func (m *Manager) UpdateSettings(ctx context.Context, serviceID string, patch ServiceMetadataPatch) (*ServiceSettingsView, error)
func (*Manager) UpdateTemplate ¶
func (*Manager) ValidateTemplate ¶
func (m *Manager) ValidateTemplate(_ context.Context, req TemplateWriteRequest) error
type ManagerOptions ¶
type ManagerOptions struct {
Logger *slog.Logger
StateDir string
Registry *pfregistry.Registry
Scope *filesystemscope.Registry
Containers *containerengine.Adapter
Catalog *BuiltinCatalog
}
type NPMHostPackageSpec ¶
type NPMHostPackageSpec = templatecontract.NPMHostPackageSpec
type OpenSession ¶
type OpenSession struct {
State string `json:"state"`
Forward *pfregistry.Forward `json:"forward,omitempty"`
AppPath string `json:"app_path,omitempty"`
Operation *pfregistry.ManagedOperation `json:"operation,omitempty"`
}
type OpenSessionRequest ¶
type OpenSessionRequest struct {
RequestID string `json:"request_id"`
}
type OperationAction ¶
type OperationAction string
const ( ActionInstall OperationAction = "install" ActionStart OperationAction = "start" ActionStop OperationAction = "stop" ActionRestart OperationAction = "restart" ActionRetry OperationAction = "retry" ActionRetryInstall OperationAction = "retry_install" ActionUpdate OperationAction = "update" ActionReconfigure OperationAction = "reconfigure" ActionUninstall OperationAction = "uninstall" ActionDetach OperationAction = "detach" ActionRestore OperationAction = "restore" ActionRecover OperationAction = "recover" )
type OperationRequest ¶
type OperationRequest struct {
RetainResourceIDs []string `json:"retain_resource_ids,omitempty"`
PlanDigest string `json:"plan_digest,omitempty"`
SkipHooks bool `json:"skip_hooks,omitempty"`
RequestID string `json:"request_id"`
Action OperationAction `json:"action"`
DeleteData bool `json:"delete_data,omitempty"`
DeleteWorkspace bool `json:"delete_workspace,omitempty"`
AcceptedNoticeRevisions map[string]int64 `json:"accepted_notice_revisions,omitempty"`
Reconfigure *ReconfigureRequest `json:"reconfigure,omitempty"`
UpdatePlanID string `json:"update_plan_id,omitempty"`
Administrator bool `json:"-"`
}
type ReconfigureDraft ¶
type ReconfigurePlan ¶
type ReconfigurePlan struct {
ConfigurationRevision int64 `json:"configuration_revision"`
PlanDigest string `json:"plan_digest"`
ChangedSections []string `json:"changed_sections"`
Risks []RiskNotice `json:"risks,omitempty"`
RequiresRebuild bool `json:"requires_rebuild"`
}
type ReconfigureRequest ¶
type ReconfigureRequest struct {
Draft ReconfigureDraft `json:"draft"`
PlanDigest string `json:"plan_digest"`
AcceptedRiskIDs []string `json:"accepted_risk_ids,omitempty"`
Administrator bool `json:"-"`
}
type ReleaseCandidate ¶
type ReleaseCandidate struct {
SchemaVersion int `json:"schema_version"`
CandidateID string `json:"candidate_id"`
SourceKind string `json:"source_kind"`
Source string `json:"source"`
Registry string `json:"registry,omitempty"`
Version string `json:"version,omitempty"`
Tag string `json:"tag,omitempty"`
PublishedAtUnixMs int64 `json:"published_at_unix_ms,omitempty"`
Channel string `json:"channel"`
Deprecated bool `json:"deprecated,omitempty"`
DeprecationMessage string `json:"deprecation_message,omitempty"`
Trust string `json:"trust"`
Selectable bool `json:"selectable"`
ReasonCode string `json:"reason_code,omitempty"`
Reason string `json:"reason,omitempty"`
Platform string `json:"platform,omitempty"`
IndexDigest string `json:"index_digest,omitempty"`
Digest string `json:"digest,omitempty"`
Integrity string `json:"integrity,omitempty"`
TagMoved bool `json:"tag_moved,omitempty"`
IsCurrent bool `json:"is_current,omitempty"`
IsRecommended bool `json:"is_recommended,omitempty"`
RecommendationStatus string `json:"recommendation_status,omitempty"`
DigestVerified bool `json:"digest_verified,omitempty"`
IsLatestStable bool `json:"is_latest_stable,omitempty"`
IsLatestPreview bool `json:"is_latest_preview,omitempty"`
Relation string `json:"relation"`
VerificationStatus string `json:"verification_status"`
}
type ReleaseCandidateRequest ¶
type ReleaseCandidateResult ¶
type ReleaseCandidateResult struct {
SchemaVersion int `json:"schema_version"`
CurrentRelease *ReleaseIdentity `json:"current_release,omitempty"`
RecommendedRelease *ReleaseIdentity `json:"recommended_release,omitempty"`
LatestStableRelease *ReleaseCandidate `json:"latest_stable_release,omitempty"`
LatestPreviewRelease *ReleaseCandidate `json:"latest_preview_release,omitempty"`
Candidates []ReleaseCandidate `json:"candidates"`
CatalogStatus string `json:"catalog_status"`
HasMore bool `json:"has_more"`
CursorID string `json:"cursor_id,omitempty"`
LoadedCount int `json:"loaded_count"`
CheckStatus string `json:"check_status"`
CheckedAtUnixMs int64 `json:"checked_at_unix_ms"`
NextCheckAtUnixMs int64 `json:"next_check_at_unix_ms,omitempty"`
LastErrorCode string `json:"last_error_code,omitempty"`
LastErrorMessage string `json:"-"`
}
type ReleaseIdentity ¶
type ReleaseIdentity struct {
SchemaVersion int `json:"schema_version"`
Kind string `json:"kind"`
Source string `json:"source,omitempty"`
Registry string `json:"registry,omitempty"`
Version string `json:"version,omitempty"`
Tag string `json:"tag,omitempty"`
Digest string `json:"digest,omitempty"`
Integrity string `json:"integrity,omitempty"`
Platform string `json:"platform,omitempty"`
ArtifactReference string `json:"artifact_reference,omitempty"`
Trust string `json:"trust,omitempty"`
}
type ReleaseStatus ¶
type ReleaseStatus struct {
SchemaVersion int `json:"schema_version"`
CurrentRelease *ReleaseIdentity `json:"current_release,omitempty"`
RecommendedRelease *ReleaseIdentity `json:"recommended_release,omitempty"`
LatestStableRelease *ReleaseIdentity `json:"latest_stable_release,omitempty"`
LatestPreviewRelease *ReleaseIdentity `json:"latest_preview_release,omitempty"`
LatestStableRelation string `json:"latest_stable_relation,omitempty"`
LatestPreviewRelation string `json:"latest_preview_relation,omitempty"`
CheckStatus string `json:"check_status"`
CheckedAtUnixMs int64 `json:"checked_at_unix_ms,omitempty"`
NextCheckAtUnixMs int64 `json:"next_check_at_unix_ms,omitempty"`
LastErrorCode string `json:"last_error_code,omitempty"`
}
type RiskNotice ¶
type ServiceActions ¶
type ServiceActions struct {
Inspect ActionCapability `json:"inspect"`
Uninstall ActionCapability `json:"uninstall"`
Recover ActionCapability `json:"recover"`
Detach ActionCapability `json:"detach"`
Open ActionCapability `json:"open"`
RestoreManagement ActionCapability `json:"restore_management"`
Start ActionCapability `json:"start"`
Stop ActionCapability `json:"stop"`
Restart ActionCapability `json:"restart"`
Retry ActionCapability `json:"retry"`
}
type ServiceFacts ¶
type ServiceFacts struct {
InstanceIDs []string `json:"instance_ids,omitempty"`
Presence string `json:"presence"`
Ownership string `json:"ownership"`
Runtime string `json:"runtime"`
CheckedAtUnixMs int64 `json:"checked_at_unix_ms"`
ProblemCode string `json:"problem_code,omitempty"`
Resources []ServiceResourceFact `json:"resources,omitempty"`
ResourcesComplete bool `json:"resources_complete"`
}
ServiceFacts is the authoritative observation used by management and opening. Unknown existence never authorizes creation, stopping, or deletion.
type ServiceFailure ¶
type ServiceFailure struct {
Action string `json:"action,omitempty"`
Stage string `json:"stage,omitempty"`
ErrorCode string `json:"error_code"`
Message string `json:"message"`
ArtifactReference string `json:"artifact_reference,omitempty"`
OperationID string `json:"operation_id,omitempty"`
OccurredAtUnixMs int64 `json:"occurred_at_unix_ms,omitempty"`
}
type ServiceMetadataPatch ¶
type ServiceOpening ¶
type ServiceResourceFact ¶
type ServiceResourceFact struct {
StableIdentity string `json:"stable_identity,omitempty"`
ResourceID string `json:"resource_id"`
Kind string `json:"kind"`
Identity string `json:"identity"`
Generation int64 `json:"generation,omitempty"`
Presence string `json:"presence"`
Ownership string `json:"ownership"`
ProblemCode string `json:"problem_code,omitempty"`
References []containerengine.ResourceReference `json:"references,omitempty"`
}
type ServiceRuntimeSettings ¶
type ServiceRuntimeSettings struct {
Container *ContainerRuntimeSettings `json:"container,omitempty"`
Compose map[string]ContainerRuntimeSettings `json:"compose,omitempty"`
Host *HostRuntimeSettings `json:"host,omitempty"`
}
type ServiceSettingsView ¶
type ServiceSettingsView struct {
ManagementState string `json:"management_state"`
ParameterDefinitions []TemplateParameter `json:"parameter_definitions,omitempty"`
ConfiguredSecretParameters []string `json:"configured_secret_parameters,omitempty"`
ServiceID string `json:"service_id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
AccessMode string `json:"access_mode"`
Deployment Deployment `json:"deployment"`
TemplateSource string `json:"template_source"`
ObservedState string `json:"observed_state"`
ConfigurationRevision int64 `json:"configuration_revision"`
ConfigurationSHA256 string `json:"configuration_sha256"`
Parameters map[string]string `json:"parameters,omitempty"`
Runtime ServiceRuntimeSettings `json:"runtime"`
Locked []LockedSetting `json:"locked,omitempty"`
}
type ServiceView ¶
type ServiceView struct {
DefaultLocale string `json:"default_locale,omitempty"`
Facts ServiceFacts `json:"facts"`
PrimaryAction string `json:"primary_action"`
Status string `json:"status"`
ProblemCode string `json:"problem_code,omitempty"`
pfregistry.ManagedService
Name string `json:"name"`
Description string `json:"description,omitempty"`
TemplateSource string `json:"template_source"`
Deployment Deployment `json:"deployment"`
Localizations map[string]TemplateLocalization `json:"localizations,omitempty"`
Icon *TemplateIcon `json:"icon,omitempty"`
ReleaseStatus ReleaseStatus `json:"release_status"`
ActiveOperation *pfregistry.ManagedOperation `json:"active_operation,omitempty"`
LastFailure *ServiceFailure `json:"last_failure,omitempty"`
AccessMode string `json:"access_mode"`
ContainerResources []ContainerResourceLink `json:"container_resources,omitempty"`
Opening ServiceOpening `json:"opening"`
PendingChanges bool `json:"pending_changes"`
Actions ServiceActions `json:"actions"`
}
type Template ¶
type Template struct {
DefaultLocale string `json:"default_locale,omitempty"`
GitSource *pfregistry.ManagedTemplateSource `json:"git_source,omitempty"`
SourceSHA256 string `json:"source_sha256,omitempty"`
SourceDirectory string `json:"-"`
TemplateID string `json:"template_id"`
Name string `json:"name"`
Description string `json:"description"`
RecommendedRelease *ReleaseIdentity `json:"recommended_release,omitempty"`
ReleaseSource string `json:"release_source,omitempty"`
DeveloperPreview bool `json:"developer_preview"`
DiskBytes int64 `json:"disk_bytes"`
DataLocation string `json:"data_location"`
SourceURL string `json:"source_url"`
DockerSourceURL string `json:"docker_source_url"`
Localizations map[string]TemplateLocalization `json:"localizations,omitempty"`
Icon *TemplateIcon `json:"icon,omitempty"`
Notices []TemplateNotice `json:"notices,omitempty"`
Deployments []DeploymentAvailability `json:"deployments"`
DefaultWorkspacePath string `json:"default_workspace_path"`
DefaultAccessMode string `json:"default_access_mode"`
WorkspaceRoots []WorkspaceRoot `json:"workspace_roots"`
Source string `json:"source"`
Deployment Deployment `json:"deployment"`
ContainerMode string `json:"container_mode,omitempty"`
Revision int64 `json:"revision"`
Editable bool `json:"editable"`
Duplicateable bool `json:"duplicateable"`
DerivedFromTemplateID string `json:"derived_from_template_id,omitempty"`
DerivedFromRevision int64 `json:"derived_from_revision,omitempty"`
ServiceFamilyID string `json:"service_family_id"`
Available bool `json:"available"`
ReasonCode string `json:"reason_code,omitempty"`
Reason string `json:"reason,omitempty"`
Spec *TemplateSpec `json:"spec,omitempty"`
EffectiveSpec *TemplateSpec `json:"effective_spec,omitempty"`
HostLifecyclePlan *HostLifecyclePlan `json:"host_lifecycle_plan,omitempty"`
SortOrder int `json:"-"`
}
type TemplateIcon ¶
type TemplateIcon = templatecontract.IconAsset
type TemplateLocalization ¶
type TemplateLocalization = templatecontract.Localization
type TemplateNotice ¶
type TemplateNotice = templatecontract.Notice
type TemplateParameter ¶
type TemplateParameter = templatecontract.TemplateParameter
type TemplateSourceBackend ¶
type TemplateSourceBackend interface {
DiscoverTemplateSources(context.Context, TemplateSourceDiscoverRequest) (templatecontract.SourceCatalog, error)
InspectTemplateSource(context.Context, string, TemplateSourceInspectRequest) (*TemplateSourcePreview, error)
ConfirmTemplateSource(context.Context, string, TemplateSourceConfirmRequest) (*Template, error)
DiscardTemplateSource(context.Context, string, string) error
PreviewTemplateSourceFile(context.Context, string, string, string) (*TemplateSourceFilePreview, error)
}
type TemplateSourceDiscoverRequest ¶
type TemplateSourceDiscoverRequest struct {
Source templatecontract.GitSource `json:"source"`
Token string `json:"token,omitempty"`
}
type TemplateSourceFilePreview ¶
type TemplateSourceFilePreview struct {
Path string `json:"path"`
Before *TemplateSourceFileContent `json:"before,omitempty"`
After *TemplateSourceFileContent `json:"after,omitempty"`
}
type TemplateSourceInspectRequest ¶
type TemplateSourceInspectRequest struct {
TemplateID string `json:"template_id,omitempty"`
Source templatecontract.GitSource `json:"source"`
Token string `json:"token,omitempty"`
Snapshot *templatecontract.Snapshot `json:"snapshot,omitempty"`
}
type TemplateSourcePreview ¶
type TemplateSourcePreview struct {
CandidateID string `json:"candidate_id"`
SHA256 string `json:"sha256"`
ExpectedSHA256 string `json:"expected_sha256"`
ExpiresAtUnixMs int64 `json:"expires_at_unix_ms"`
Changed bool `json:"changed"`
Template Template `json:"template"`
PreviousTemplate *Template `json:"previous_template,omitempty"`
Files []TemplateSourceFileChange `json:"files"`
AffectedServiceIDs []string `json:"affected_service_ids"`
SourceDocumentVersion int `json:"source_document_version"`
SourceSpecVersion int `json:"source_spec_version"`
}
type TemplateSpec ¶
type TemplateSpec = templatecontract.Spec
type TemplateWriteRequest ¶
type TemplateWriteRequest struct {
RequestID string `json:"request_id"`
Name string `json:"name"`
Description string `json:"description,omitempty"`
Spec TemplateSpec `json:"spec"`
}
type UpdatePlan ¶
type UpdatePlan struct {
SchemaVersion int `json:"schema_version"`
UpdatePlanID string `json:"update_plan_id"`
CurrentRelease ReleaseIdentity `json:"current_release"`
TargetRelease ReleaseIdentity `json:"target_release"`
Notices []TemplateNotice `json:"notices,omitempty"`
AcceptedNoticeRevisions map[string]int64 `json:"accepted_notice_revisions,omitempty"`
RiskIDs []string `json:"risk_ids,omitempty"`
RequiresStopped bool `json:"requires_stopped,omitempty"`
ExpiresAtUnixMs int64 `json:"expires_at_unix_ms"`
}
type UpdatePlanRequest ¶
type UpdatePlanRequest struct {
TargetCandidateID string `json:"target_candidate_id,omitempty"`
}
type WebEndpointSpec ¶
type WebEndpointSpec = templatecontract.WebEndpointSpec
type WorkspaceRoot ¶
Source Files
¶
- builtin_templates.go
- catalog.go
- compose_network_inventory.go
- compose_resource_inventory.go
- configuration.go
- container_resources.go
- container_validation.go
- custom_compose.go
- custom_container.go
- custom_host.go
- host_identity_upgrade.go
- host_identity_upgrade_unix.go
- host_lifecycle_plan.go
- host_run.go
- host_runtime_output.go
- image_pull.go
- install_plan.go
- management_directory_linux.go
- management_directory_unix.go
- management_facts.go
- management_plan.go
- management_uninstall.go
- manager.go
- npm_host.go
- observation.go
- open_session.go
- open_session_state.go
- operation_progress.go
- process_identity.go
- process_identity_linux.go
- process_unix.go
- reconfigure.go
- release_catalog.go
- release_discovery.go
- release_http_cache.go
- restore_management.go
- runtime_binding.go
- runtime_resolution.go
- runtime_resource.go
- service_view.go
- settings.go
- template_sources.go
- templates.go
- transfer_progress.go
- types.go
- update.go
- update_plan.go
- verified_package.go
- volume_allocation.go
- workspace.go
Click to show internal directories.
Click to hide internal directories.