Documentation
¶
Overview ¶
Package v1alpha1 contains the steadmesh.io/v1alpha1 API.
+kubebuilder:object:generate=true +groupName=steadmesh.io
Index ¶
- Constants
- Variables
- type AgentOrganization
- type AgentOrganizationList
- type AgentOrganizationSpec
- type AgentOrganizationStatus
- type AgentSeat
- type AgentSeatList
- type AgentSeatSpec
- type AgentSeatStatus
- type ConnectionDetails
- type ExecutionState
- type RepresentativeEndpoint
- type SeatProbeStatus
- type SeatSummary
- type ToolCapability
- type WorkspaceRef
Constants ¶
const ( LabelOrganization = "steadmesh.io/organization" LabelSeat = "steadmesh.io/seat" LabelComponent = "steadmesh.io/component" // AnnotationManagedBy records the declaration owner (terraform or helm, §3.1). AnnotationManagedBy = "steadmesh.io/managed-by" // AnnotationSeatID maps a service account to its durable seat identity. AnnotationSeatID = "steadmesh.io/seat-id" AnnotationOrgID = "steadmesh.io/organization-id" FinalizerOrganization = "steadmesh.io/organization" FinalizerSeat = "steadmesh.io/seat" // GatewayAudience is the only audience of tokens projected into seat Pods. GatewayAudience = "steadmesh-gateway" // AnnotationVerifyRequest carries a nonce requesting a fresh verification // pass; the controller echoes it in AnnotationVerifyObserved once the pass // for that nonce has completed (contracts.md, Readiness flow). AnnotationVerifyRequest = "steadmesh.io/verify-request" AnnotationVerifyObserved = "steadmesh.io/verify-observed" )
Well-known labels, annotations and finalizers.
const ( CondConfigured = "Configured" CondStorageReady = "StorageReady" CondIdentitiesReady = "IdentitiesReady" CondHarnessCompatible = "HarnessCompatible" CondSandboxEnforced = "SandboxEnforced" CondConnectionsAuthenticated = "ConnectionsAuthenticated" CondIngressReady = "IngressReady" CondBindingsValid = "BindingsValid" CondRoutesExecutable = "RoutesExecutable" // CondIntegrationsDegraded is informational: True while an optional // connection (one OperationalReady does not require) is failing. CondIntegrationsDegraded = "IntegrationsDegraded" CondOperationalReady = "OperationalReady" )
Condition types (§5.4).
Variables ¶
var ( GroupVersion = schema.GroupVersion{Group: "steadmesh.io", Version: "v1alpha1"} SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type AgentOrganization ¶
type AgentOrganization struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AgentOrganizationSpec `json:"spec,omitempty"`
Status AgentOrganizationStatus `json:"status,omitempty"`
}
AgentOrganization declares an organisation of persistent agents.
func (*AgentOrganization) DeepCopy ¶
func (in *AgentOrganization) DeepCopy() *AgentOrganization
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentOrganization.
func (*AgentOrganization) DeepCopyInto ¶
func (in *AgentOrganization) DeepCopyInto(out *AgentOrganization)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AgentOrganization) DeepCopyObject ¶
func (in *AgentOrganization) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AgentOrganizationList ¶
type AgentOrganizationList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AgentOrganization `json:"items"`
}
func (*AgentOrganizationList) DeepCopy ¶
func (in *AgentOrganizationList) DeepCopy() *AgentOrganizationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentOrganizationList.
func (*AgentOrganizationList) DeepCopyInto ¶
func (in *AgentOrganizationList) DeepCopyInto(out *AgentOrganizationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AgentOrganizationList) DeepCopyObject ¶
func (in *AgentOrganizationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AgentOrganizationSpec ¶
type AgentOrganizationSpec struct {
spec.OrganizationSpec `json:",inline"`
}
AgentOrganizationSpec is the resolved organisation declaration.
func (*AgentOrganizationSpec) DeepCopy ¶
func (in *AgentOrganizationSpec) DeepCopy() *AgentOrganizationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentOrganizationSpec.
func (*AgentOrganizationSpec) DeepCopyInto ¶
func (in *AgentOrganizationSpec) DeepCopyInto(out *AgentOrganizationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentOrganizationStatus ¶
type AgentOrganizationStatus struct {
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
OrganizationID string `json:"organizationID,omitempty"`
EffectiveRevision string `json:"effectiveRevision,omitempty"`
DefaultsVersion int `json:"defaultsVersion,omitempty"`
Conditions []metav1.Condition `json:"conditions,omitempty"`
// +optional
Seats map[string]SeatSummary `json:"seats,omitempty"`
// +optional
ConnectionDetails *ConnectionDetails `json:"connectionDetails,omitempty"`
// LastVerifiedTime is the time of the last successful synthetic verification.
// +optional
LastVerifiedTime *metav1.Time `json:"lastVerifiedTime,omitempty"`
}
func (*AgentOrganizationStatus) DeepCopy ¶
func (in *AgentOrganizationStatus) DeepCopy() *AgentOrganizationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentOrganizationStatus.
func (*AgentOrganizationStatus) DeepCopyInto ¶
func (in *AgentOrganizationStatus) DeepCopyInto(out *AgentOrganizationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentSeat ¶
type AgentSeat struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AgentSeatSpec `json:"spec,omitempty"`
Status AgentSeatStatus `json:"status,omitempty"`
}
AgentSeat is a controller-owned persistent seat.
func (*AgentSeat) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSeat.
func (*AgentSeat) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AgentSeat) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AgentSeatList ¶
type AgentSeatList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AgentSeat `json:"items"`
}
func (*AgentSeatList) DeepCopy ¶
func (in *AgentSeatList) DeepCopy() *AgentSeatList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSeatList.
func (*AgentSeatList) DeepCopyInto ¶
func (in *AgentSeatList) DeepCopyInto(out *AgentSeatList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AgentSeatList) DeepCopyObject ¶
func (in *AgentSeatList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AgentSeatSpec ¶
type AgentSeatSpec struct {
OrganizationName string `json:"organizationName"`
OrganizationID string `json:"organizationID"`
SeatKey string `json:"seatKey"`
// SeatID is the immutable durable identity of the seat.
SeatID string `json:"seatID"`
ConfigRevision string `json:"configRevision"`
HarnessProfile string `json:"harnessProfile"`
ExecutionProfile string `json:"executionProfile"`
SandboxProfile string `json:"sandboxProfile"`
Workspace WorkspaceRef `json:"workspace"`
Tools []ToolCapability `json:"tools,omitempty"`
// ManifestConfigMap holds the resolved seat manifest and instruction texts.
ManifestConfigMap string `json:"manifestConfigMap"`
// Retired is set when the seat is removed from the organisation. The
// seat keeps running while the platform reports it retiring, then its
// runtime is removed.
// +optional
Retired bool `json:"retired,omitempty"`
// AdminSuspended is an infrastructure control that stops execution (§14).
// +optional
AdminSuspended bool `json:"adminSuspended,omitempty"`
}
AgentSeatSpec is generated by the controller from the organisation.
func (*AgentSeatSpec) DeepCopy ¶
func (in *AgentSeatSpec) DeepCopy() *AgentSeatSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSeatSpec.
func (*AgentSeatSpec) DeepCopyInto ¶
func (in *AgentSeatSpec) DeepCopyInto(out *AgentSeatSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AgentSeatStatus ¶
type AgentSeatStatus struct {
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
ExecutionState ExecutionState `json:"executionState,omitempty"`
// BackendRef identifies the backend instance (e.g. statefulset/<name>).
BackendRef string `json:"backendRef,omitempty"`
// LatestCheckpoint describes the latest recovery checkpoint and its guarantee.
LatestCheckpoint string `json:"latestCheckpoint,omitempty"`
LeaseGeneration int64 `json:"leaseGeneration,omitempty"`
AdoptedRevision string `json:"adoptedRevision,omitempty"`
// +optional
LastActivityTime *metav1.Time `json:"lastActivityTime,omitempty"`
Conditions []metav1.Condition `json:"conditions,omitempty"`
// LastError is redacted.
LastError string `json:"lastError,omitempty"`
// Probe is the synthetic readiness probe of the current config revision.
// +optional
Probe *SeatProbeStatus `json:"probe,omitempty"`
// RetiringUntil is the end of a retiring seat's grace period.
// +optional
RetiringUntil *metav1.Time `json:"retiringUntil,omitempty"`
}
func (*AgentSeatStatus) DeepCopy ¶
func (in *AgentSeatStatus) DeepCopy() *AgentSeatStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AgentSeatStatus.
func (*AgentSeatStatus) DeepCopyInto ¶
func (in *AgentSeatStatus) DeepCopyInto(out *AgentSeatStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConnectionDetails ¶
type ConnectionDetails struct {
OrganizationID string `json:"organizationID,omitempty"`
Namespace string `json:"namespace,omitempty"`
StatusEndpoint string `json:"statusEndpoint,omitempty"`
Representatives map[string]RepresentativeEndpoint `json:"representatives,omitempty"`
}
ConnectionDetails are stable, non-secret details returned after readiness.
func (*ConnectionDetails) DeepCopy ¶
func (in *ConnectionDetails) DeepCopy() *ConnectionDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionDetails.
func (*ConnectionDetails) DeepCopyInto ¶
func (in *ConnectionDetails) DeepCopyInto(out *ConnectionDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ExecutionState ¶
type ExecutionState string
ExecutionState is the technical execution state of a seat (§6.2).
const ( StateProvisioning ExecutionState = "Provisioning" StateWarm ExecutionState = "Warm" StateExecuting ExecutionState = "Executing" StateQuiescing ExecutionState = "Quiescing" StateSuspended ExecutionState = "Suspended" StateStopped ExecutionState = "Stopped" StateRecovering ExecutionState = "Recovering" StateBlocked ExecutionState = "Blocked" // StateRetiring is a seat removed from the organisation that is winding // down: it takes no new messages and is retired when its retirement turn // is done or its grace period ends. StateRetiring ExecutionState = "Retiring" StateRetired ExecutionState = "Retired" )
type RepresentativeEndpoint ¶
type RepresentativeEndpoint struct {
Seat string `json:"seat"`
SeatID string `json:"seatID"`
Connection string `json:"connection"`
Adapter string `json:"adapter"`
ExternalUserID string `json:"externalUserID"`
Mode string `json:"mode"`
}
func (*RepresentativeEndpoint) DeepCopy ¶
func (in *RepresentativeEndpoint) DeepCopy() *RepresentativeEndpoint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RepresentativeEndpoint.
func (*RepresentativeEndpoint) DeepCopyInto ¶
func (in *RepresentativeEndpoint) DeepCopyInto(out *RepresentativeEndpoint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeatProbeStatus ¶
type SeatProbeStatus struct {
ID string `json:"id"`
// Revision is the config revision the probe verified.
Revision string `json:"revision"`
// Nonce is the verify-request nonce the probe answered, if any.
// +optional
Nonce string `json:"nonce,omitempty"`
// Status is pending, passed or failed.
Status string `json:"status"`
// +optional
Detail string `json:"detail,omitempty"`
// +optional
StartedTime *metav1.Time `json:"startedTime,omitempty"`
// +optional
CompletedTime *metav1.Time `json:"completedTime,omitempty"`
}
SeatProbeStatus records one synthetic execution probe (§5.4).
func (*SeatProbeStatus) DeepCopy ¶
func (in *SeatProbeStatus) DeepCopy() *SeatProbeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeatProbeStatus.
func (*SeatProbeStatus) DeepCopyInto ¶
func (in *SeatProbeStatus) DeepCopyInto(out *SeatProbeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SeatSummary ¶
type SeatSummary struct {
SeatID string `json:"seatID"`
State ExecutionState `json:"state,omitempty"`
Ready bool `json:"ready"`
ConfigRevision string `json:"configRevision,omitempty"`
AdoptedRevision string `json:"adoptedRevision,omitempty"`
Reason string `json:"reason,omitempty"`
}
func (*SeatSummary) DeepCopy ¶
func (in *SeatSummary) DeepCopy() *SeatSummary
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SeatSummary.
func (*SeatSummary) DeepCopyInto ¶
func (in *SeatSummary) DeepCopyInto(out *SeatSummary)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ToolCapability ¶
type ToolCapability struct {
Resource string `json:"resource"`
Operations []string `json:"operations"`
// +optional
Targets []string `json:"targets,omitempty"`
}
ToolCapability is one entry of a seat's effective tool manifest. It contains no secret values.
func (*ToolCapability) DeepCopy ¶
func (in *ToolCapability) DeepCopy() *ToolCapability
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ToolCapability.
func (*ToolCapability) DeepCopyInto ¶
func (in *ToolCapability) DeepCopyInto(out *ToolCapability)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkspaceRef ¶
type WorkspaceRef struct {
// ClaimName is the seat's persistent workspace claim.
ClaimName string `json:"claimName"`
Shared []string `json:"shared,omitempty"`
}
func (*WorkspaceRef) DeepCopy ¶
func (in *WorkspaceRef) DeepCopy() *WorkspaceRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkspaceRef.
func (*WorkspaceRef) DeepCopyInto ¶
func (in *WorkspaceRef) DeepCopyInto(out *WorkspaceRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.