models

package
v1.1.3 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIResponse

type APIResponse[T any] struct {
	Success bool   `json:"success"`
	Data    T      `json:"data,omitempty"`
	Error   string `json:"error,omitempty"`
	Code    string `json:"code,omitempty"`
}

APIResponse represents a standard API response wrapper

func CursorListSuccessResponse added in v0.15.0

func CursorListSuccessResponse[T any](items []T, nextCursor string, remainingCount *int64) APIResponse[CursorListResponse[T]]

func ErrorResponse

func ErrorResponse(message, code string) APIResponse[any]

func ListSuccessResponse

func ListSuccessResponse[T any](items []T, total, page, pageSize int) APIResponse[ListResponse[T]]

func SuccessResponse

func SuccessResponse[T any](data T) APIResponse[T]

type AgentConnectionStatusResponse added in v0.13.0

type AgentConnectionStatusResponse struct {
	Connected            bool       `json:"connected"`
	ConnectedAgents      int        `json:"connectedAgents"`
	LastConnectedTime    *time.Time `json:"lastConnectedTime,omitempty"`
	LastDisconnectedTime *time.Time `json:"lastDisconnectedTime,omitempty"`
	LastHeartbeatTime    *time.Time `json:"lastHeartbeatTime,omitempty"`
	Message              string     `json:"message,omitempty"`
}

AgentConnectionStatusResponse represents the agent connection status in API responses

type AllowedTraitResponse added in v0.16.0

type AllowedTraitResponse struct {
	Kind string `json:"kind,omitempty"`
	Name string `json:"name"`
}

AllowedTraitResponse represents a trait reference in ComponentType API responses

type AllowedWorkflowResponse added in v0.17.0

type AllowedWorkflowResponse struct {
	Kind string `json:"kind,omitempty"`
	Name string `json:"name"`
}

AllowedWorkflowResponse represents a workflow reference in ComponentType API responses

type BindingReleaseState

type BindingReleaseState string
const (
	ReleaseStateActive   BindingReleaseState = "Active"
	ReleaseStateUndeploy BindingReleaseState = "Undeploy"
)

type BindingResponse

type BindingResponse struct {
	Name          string        `json:"name"`
	Type          string        `json:"type"`
	ComponentName string        `json:"componentName"`
	ProjectName   string        `json:"projectName"`
	NamespaceName string        `json:"namespaceName"`
	Environment   string        `json:"environment"`
	BindingStatus BindingStatus `json:"status"`
	// Component-specific binding data
	ServiceBinding        *ServiceBinding        `json:"serviceBinding,omitempty"`
	WebApplicationBinding *WebApplicationBinding `json:"webApplicationBinding,omitempty"`
	ScheduledTaskBinding  *ScheduledTaskBinding  `json:"scheduledTaskBinding,omitempty"`
}

type BindingStatus

type BindingStatus struct {
	Reason           string            `json:"reason"`
	Message          string            `json:"message"`
	Status           BindingStatusType `json:"status"`
	LastTransitioned time.Time         `json:"lastTransitioned"`
}

type BindingStatusType

type BindingStatusType string
const (
	BindingStatusTypeInProgress BindingStatusType = "InProgress"
	BindingStatusTypeReady      BindingStatusType = "Active"
	BindingStatusTypeFailed     BindingStatusType = "Failed"
	BindingStatusTypeSuspended  BindingStatusType = "Suspended"
	BindingStatusTypeUndeployed BindingStatusType = "NotYetDeployed"
)

type ClusterDataPlaneListResult added in v0.15.0

type ClusterDataPlaneListResult struct {
	Items          []*ClusterDataPlaneResponse
	NextCursor     string
	RemainingCount *int64
}

ClusterDataPlaneListResult holds a paginated list of cluster data planes.

type ClusterDataPlaneResponse added in v0.15.0

type ClusterDataPlaneResponse struct {
	Name                  string                         `json:"name"`
	PlaneID               string                         `json:"planeID"`
	DisplayName           string                         `json:"displayName,omitempty"`
	Description           string                         `json:"description,omitempty"`
	SecretStoreRef        string                         `json:"secretStoreRef,omitempty"`
	ObservabilityPlaneRef *ObservabilityPlaneRef         `json:"observabilityPlaneRef,omitempty"`
	AgentConnection       *AgentConnectionStatusResponse `json:"agentConnection,omitempty"`
	CreatedAt             time.Time                      `json:"createdAt"`
	Status                string                         `json:"status,omitempty"`
}

ClusterDataPlaneResponse represents a cluster-scoped dataplane in API responses

type ClusterObservabilityPlaneResponse added in v0.15.0

type ClusterObservabilityPlaneResponse struct {
	Name            string                         `json:"name"`
	PlaneID         string                         `json:"planeID"`
	DisplayName     string                         `json:"displayName,omitempty"`
	Description     string                         `json:"description,omitempty"`
	ObserverURL     string                         `json:"observerURL,omitempty"`
	RCAAgentURL     string                         `json:"rcaAgentURL,omitempty"`
	FinOpsAgentURL  string                         `json:"finOpsAgentURL,omitempty"`
	AgentConnection *AgentConnectionStatusResponse `json:"agentConnection,omitempty"`
	CreatedAt       time.Time                      `json:"createdAt"`
	Status          string                         `json:"status,omitempty"`
}

ClusterObservabilityPlaneResponse represents a cluster-scoped observability plane in API responses

type ClusterWorkflowPlaneResponse added in v1.0.0

type ClusterWorkflowPlaneResponse struct {
	Name                  string                         `json:"name"`
	PlaneID               string                         `json:"planeID"`
	DisplayName           string                         `json:"displayName,omitempty"`
	Description           string                         `json:"description,omitempty"`
	ObservabilityPlaneRef *ObservabilityPlaneRef         `json:"observabilityPlaneRef,omitempty"`
	AgentConnection       *AgentConnectionStatusResponse `json:"agentConnection,omitempty"`
	CreatedAt             time.Time                      `json:"createdAt"`
	Status                string                         `json:"status,omitempty"`
}

ClusterWorkflowPlaneResponse represents a cluster-scoped workflow plane in API responses

type ComponentReleaseResponse added in v0.5.0

type ComponentReleaseResponse struct {
	Name          string    `json:"name"`
	ComponentName string    `json:"componentName"`
	ProjectName   string    `json:"projectName"`
	NamespaceName string    `json:"namespaceName"`
	CreatedAt     time.Time `json:"createdAt"`
	Status        string    `json:"status,omitempty"`
}

ComponentReleaseResponse represents a ComponentRelease in API responses

type ComponentResponse

type ComponentResponse struct {
	UID               string                           `json:"uid"`
	Name              string                           `json:"name"`
	DisplayName       string                           `json:"displayName,omitempty"`
	Description       string                           `json:"description,omitempty"`
	Type              string                           `json:"type"`
	ComponentType     *ComponentTypeRef                `json:"componentType,omitempty"`
	AutoDeploy        bool                             `json:"autoDeploy"`
	ProjectName       string                           `json:"projectName"`
	NamespaceName     string                           `json:"namespaceName"`
	CreatedAt         time.Time                        `json:"createdAt"`
	DeletionTimestamp *time.Time                       `json:"deletionTimestamp,omitempty"`
	Status            string                           `json:"status,omitempty"`
	Workload          *openchoreov1alpha1.WorkloadSpec `json:"workload,omitempty"`
	WorkflowConfig    *WorkflowConfig                  `json:"componentWorkflow,omitempty"`
}

ComponentResponse represents a component in API responses

type ComponentTrait added in v0.8.0

type ComponentTrait struct {
	Kind         string                `json:"kind,omitempty"` // Trait or ClusterTrait
	Name         string                `json:"name"`
	InstanceName string                `json:"instanceName"`
	Parameters   *runtime.RawExtension `json:"parameters,omitempty"`
}

ComponentTrait represents a trait instance attached to a component in API requests

type ComponentTraitRequest added in v0.8.0

type ComponentTraitRequest struct {
	// Kind is the kind of trait (Trait or ClusterTrait)
	Kind string `json:"kind,omitempty"`
	// Name is the name of the Trait resource to use
	Name string `json:"name"`
	// InstanceName uniquely identifies this trait instance within the component
	InstanceName string `json:"instanceName"`
	// Parameters contains the trait parameter values
	Parameters map[string]interface{} `json:"parameters,omitempty"`
}

ComponentTraitRequest represents a single trait instance in API requests

type ComponentTraitResponse added in v0.8.0

type ComponentTraitResponse struct {
	Kind         string                 `json:"kind,omitempty"`
	Name         string                 `json:"name"`
	InstanceName string                 `json:"instanceName"`
	Parameters   map[string]interface{} `json:"parameters,omitempty"`
}

ComponentTraitResponse represents a trait instance attached to a component in API responses

type ComponentTypeRef added in v0.16.0

type ComponentTypeRef struct {
	Kind string `json:"kind,omitempty"` // ComponentType or ClusterComponentType
	Name string `json:"name"`           // Format: {workloadType}/{componentTypeName}
}

ComponentTypeRef represents a reference to a ComponentType or ClusterComponentType in API requests

type ComponentTypeResponse added in v0.4.0

type ComponentTypeResponse struct {
	Name             string                    `json:"name"`
	DisplayName      string                    `json:"displayName,omitempty"`
	Description      string                    `json:"description,omitempty"`
	WorkloadType     string                    `json:"workloadType"`
	AllowedWorkflows []AllowedWorkflowResponse `json:"allowedWorkflows,omitempty"`
	AllowedTraits    []AllowedTraitResponse    `json:"allowedTraits,omitempty"`
	CreatedAt        time.Time                 `json:"createdAt"`
}

ComponentTypeResponse represents a ComponentType in API responses

type ContainerOverride added in v0.5.0

type ContainerOverride struct {
	// Environment variable overrides
	// +optional
	Env []EnvVar `json:"env,omitempty"`

	// File configuration overrides
	// +optional
	Files []FileVar `json:"files,omitempty"`
}

ContainerOverride represents overrides for a specific container

type CreateClusterDataPlaneRequest added in v0.15.0

type CreateClusterDataPlaneRequest struct {
	Name                  string                 `json:"name"`
	DisplayName           string                 `json:"displayName,omitempty"`
	Description           string                 `json:"description,omitempty"`
	PlaneID               string                 `json:"planeID"`
	ClusterAgentClientCA  string                 `json:"clusterAgentClientCA"`
	ObservabilityPlaneRef *ObservabilityPlaneRef `json:"observabilityPlaneRef,omitempty"`
}

CreateClusterDataPlaneRequest represents the request to create a new cluster-scoped dataplane

func (*CreateClusterDataPlaneRequest) Sanitize added in v0.15.0

func (req *CreateClusterDataPlaneRequest) Sanitize()

Sanitize sanitizes the CreateClusterDataPlaneRequest by trimming whitespace

func (*CreateClusterDataPlaneRequest) Validate added in v0.15.0

func (req *CreateClusterDataPlaneRequest) Validate() error

Validate validates the CreateClusterDataPlaneRequest

type CreateComponentReleaseRequest added in v0.5.0

type CreateComponentReleaseRequest struct {
	ReleaseName string `json:"releaseName,omitempty"`
}

func (*CreateComponentReleaseRequest) Sanitize added in v0.5.0

func (req *CreateComponentReleaseRequest) Sanitize()

Sanitize sanitizes the CreateComponentReleaseRequest by trimming whitespace

type CreateComponentRequest

type CreateComponentRequest struct {
	Name           string                `json:"name"`
	DisplayName    string                `json:"displayName,omitempty"`
	Description    string                `json:"description,omitempty"`
	ComponentType  *ComponentTypeRef     `json:"componentType,omitempty"`
	AutoDeploy     *bool                 `json:"autoDeploy,omitempty"`
	Parameters     *runtime.RawExtension `json:"parameters,omitempty"`
	Traits         []ComponentTrait      `json:"traits,omitempty"`
	WorkflowConfig *WorkflowConfig       `json:"workflow,omitempty"`
}

CreateComponentRequest represents the request to create a new component

func (*CreateComponentRequest) Sanitize

func (req *CreateComponentRequest) Sanitize()

Sanitize sanitizes the CreateComponentRequest by trimming whitespace

func (*CreateComponentRequest) Validate

func (req *CreateComponentRequest) Validate() error

Validate validates the CreateComponentRequest

type CreateDataPlaneRequest

type CreateDataPlaneRequest struct {
	Name                  string                 `json:"name"`
	DisplayName           string                 `json:"displayName,omitempty"`
	Description           string                 `json:"description,omitempty"`
	ClusterAgentClientCA  string                 `json:"clusterAgentClientCA"`
	ObservabilityPlaneRef *ObservabilityPlaneRef `json:"observabilityPlaneRef,omitempty"`
}

CreateDataPlaneRequest represents the request to create a new dataplane

func (*CreateDataPlaneRequest) Sanitize

func (req *CreateDataPlaneRequest) Sanitize()

Sanitize sanitizes the CreateDataPlaneRequest by trimming whitespace

func (*CreateDataPlaneRequest) Validate

func (req *CreateDataPlaneRequest) Validate() error

Validate validates the CreateDataPlaneRequest

type CreateEnvironmentRequest

type CreateEnvironmentRequest struct {
	Name         string        `json:"name"`
	DisplayName  string        `json:"displayName,omitempty"`
	Description  string        `json:"description,omitempty"`
	DataPlaneRef *DataPlaneRef `json:"dataPlaneRef,omitempty"`
	IsProduction bool          `json:"isProduction"`
	DNSPrefix    string        `json:"dnsPrefix,omitempty"`
}

CreateEnvironmentRequest represents the request to create a new environment

func (*CreateEnvironmentRequest) Sanitize

func (req *CreateEnvironmentRequest) Sanitize()

Sanitize sanitizes the CreateEnvironmentRequest by trimming whitespace

func (*CreateEnvironmentRequest) Validate

func (req *CreateEnvironmentRequest) Validate() error

Validate validates the CreateEnvironmentRequest

type CreateGitSecretRequest added in v0.14.0

type CreateGitSecretRequest struct {
	SecretName string `json:"secretName"`
	// SecretType specifies the authentication type: "basic-auth" for token-based auth, "ssh-auth" for SSH key-based auth
	SecretType string `json:"secretType"`
	// Username is the username for basic authentication (optional for basic-auth type)
	Username string `json:"username,omitempty"`
	// Token is the authentication token (required for basic-auth type)
	Token string `json:"token,omitempty"`
	// SSHKey is the SSH private key (required for ssh-auth type)
	SSHKey string `json:"sshKey,omitempty"`
	// SSHKEYID is the SSH Key ID for AWS CodeCommit (optional for ssh-auth type)
	SSHKEYID string `json:"sshKeyId,omitempty"`
}

CreateGitSecretRequest represents the request to create a git secret

func (*CreateGitSecretRequest) Sanitize added in v0.14.0

func (req *CreateGitSecretRequest) Sanitize()

Sanitize sanitizes the CreateGitSecretRequest by trimming whitespace

func (*CreateGitSecretRequest) Validate added in v0.14.0

func (req *CreateGitSecretRequest) Validate() error

Validate validates the CreateGitSecretRequest

type CreateNamespaceRequest added in v0.13.0

type CreateNamespaceRequest struct {
	Name        string `json:"name"`
	DisplayName string `json:"displayName,omitempty"`
	Description string `json:"description,omitempty"`
}

CreateNamespaceRequest represents a request to create a new namespace

type CreateProjectRequest

type CreateProjectRequest struct {
	Name               string `json:"name"`
	DisplayName        string `json:"displayName,omitempty"`
	Description        string `json:"description,omitempty"`
	DeploymentPipeline string `json:"deploymentPipeline,omitempty"`
}

CreateProjectRequest represents the request to create a new project

func (*CreateProjectRequest) Sanitize

func (req *CreateProjectRequest) Sanitize()

Sanitize sanitizes the CreateProjectRequest by trimming whitespace

func (*CreateProjectRequest) Validate

func (req *CreateProjectRequest) Validate() error

Validate validates the CreateProjectRequest

type CreateWorkflowRunRequest added in v0.13.0

type CreateWorkflowRunRequest struct {
	WorkflowName string                 `json:"workflowName"`
	Parameters   map[string]interface{} `json:"parameters,omitempty"`
}

CreateWorkflowRunRequest represents the request to create a new workflow run

func (*CreateWorkflowRunRequest) Sanitize added in v0.13.0

func (req *CreateWorkflowRunRequest) Sanitize()

Sanitize sanitizes the CreateWorkflowRunRequest by trimming whitespace

func (*CreateWorkflowRunRequest) Validate added in v0.13.0

func (req *CreateWorkflowRunRequest) Validate() error

Validate validates the CreateWorkflowRunRequest

type CursorListResponse added in v0.15.0

type CursorListResponse[T any] struct {
	Items      []T                `json:"items"`
	Pagination PaginationMetadata `json:"pagination"`
}

CursorListResponse represents a cursor-paginated list response.

type DataPlaneRef added in v0.15.0

type DataPlaneRef struct {
	Kind string `json:"kind"`
	Name string `json:"name"`
}

DataPlaneRef represents a reference to a DataPlane or ClusterDataPlane

type DataPlaneResponse

type DataPlaneResponse struct {
	Name                  string                         `json:"name"`
	Namespace             string                         `json:"namespace"`
	DisplayName           string                         `json:"displayName,omitempty"`
	Description           string                         `json:"description,omitempty"`
	SecretStoreRef        string                         `json:"secretStoreRef,omitempty"`
	ObservabilityPlaneRef *ObservabilityPlaneRef         `json:"observabilityPlaneRef,omitempty"`
	AgentConnection       *AgentConnectionStatusResponse `json:"agentConnection,omitempty"`
	CreatedAt             time.Time                      `json:"createdAt"`
	Status                string                         `json:"status,omitempty"`
}

DataPlaneResponse represents a dataplane in API responses

type DeployReleaseRequest added in v0.5.0

type DeployReleaseRequest struct {
	ReleaseName string `json:"releaseName"`
}

DeployReleaseRequest represents the request to deploy a release to the lowest environment

func (*DeployReleaseRequest) Sanitize added in v0.5.0

func (req *DeployReleaseRequest) Sanitize()

Sanitize sanitizes the DeployReleaseRequest by trimming whitespace

func (*DeployReleaseRequest) Validate added in v0.5.0

func (req *DeployReleaseRequest) Validate() error

Validate validates the DeployReleaseRequest

type DeploymentPipelineResponse

type DeploymentPipelineResponse struct {
	Name           string          `json:"name"`
	DisplayName    string          `json:"displayName,omitempty"`
	Description    string          `json:"description,omitempty"`
	NamespaceName  string          `json:"namespaceName"`
	CreatedAt      time.Time       `json:"createdAt"`
	Status         string          `json:"status,omitempty"`
	PromotionPaths []PromotionPath `json:"promotionPaths,omitempty"`
}

DeploymentPipelineResponse represents a deployment pipeline in API responses

type EndpointStatus

type EndpointStatus struct {
	Name      string           `json:"name"`
	Type      string           `json:"type"`
	Project   *ExposedEndpoint `json:"project,omitempty"`
	Namespace *ExposedEndpoint `json:"namespace,omitempty"`
	Public    *ExposedEndpoint `json:"public,omitempty"`
}

type EnvVar added in v0.5.0

type EnvVar struct {
	Key   string `json:"key"`
	Value string `json:"value,omitempty"`
	// Extract the environment variable value from another resource.
	// Mutually exclusive with value.
	// +optional
	ValueFrom *EnvVarValueFrom `json:"valueFrom,omitempty"`
}

EnvVar represents an environment variable

type EnvVarValueFrom added in v0.5.0

type EnvVarValueFrom struct {
	// Reference to a secret resource.
	// +optional
	SecretKeyRef *SecretKeyRef `json:"secretKeyRef,omitempty"`
}

EnvVarValueFrom holds references to external sources for environment variables and files

type EnvironmentResponse

type EnvironmentResponse struct {
	UID          string        `json:"uid"`
	Name         string        `json:"name"`
	Namespace    string        `json:"namespace"`
	DisplayName  string        `json:"displayName,omitempty"`
	Description  string        `json:"description,omitempty"`
	DataPlaneRef *DataPlaneRef `json:"dataPlaneRef,omitempty"`
	IsProduction bool          `json:"isProduction"`
	DNSPrefix    string        `json:"dnsPrefix,omitempty"`
	CreatedAt    time.Time     `json:"createdAt"`
	Status       string        `json:"status,omitempty"`
}

EnvironmentResponse represents an environment in API responses

type ExposedEndpoint

type ExposedEndpoint struct {
	Host     string `json:"host"`
	Port     int    `json:"port"`
	Scheme   string `json:"scheme,omitempty"`   // gRPC, HTTP, etc.
	BasePath string `json:"basePath,omitempty"` // For HTTP-based endpoints
	URI      string `json:"uri,omitempty"`
}

type FileVar added in v0.5.0

type FileVar struct {
	Key       string `json:"key"`
	MountPath string `json:"mountPath"`
	Value     string `json:"value,omitempty"`
	// Extract the file value from another resource.
	// Mutually exclusive with value.
	// +optional
	ValueFrom *EnvVarValueFrom `json:"valueFrom,omitempty"`
}

FileVar represents a file configuration

type GitSecretResponse added in v0.14.0

type GitSecretResponse struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}

GitSecretResponse represents a git secret in API responses

type HealthInfo added in v0.16.0

type HealthInfo struct {
	Status  string `json:"status"`
	Message string `json:"message,omitempty"`
}

HealthInfo carries health status for a resource node

type ListResponse

type ListResponse[T any] struct {
	Items      []T `json:"items"`
	TotalCount int `json:"totalCount"`
	Page       int `json:"page"`
	PageSize   int `json:"pageSize"`
}

ListResponse represents a paginated list response

type NamespaceResponse added in v0.13.0

type NamespaceResponse struct {
	Name        string    `json:"name"`
	DisplayName string    `json:"displayName,omitempty"`
	Description string    `json:"description,omitempty"`
	CreatedAt   time.Time `json:"createdAt"`
	Status      string    `json:"status,omitempty"`
}

NamespaceResponse represents a namespace in API responses

type ObservabilityPlaneRef added in v0.15.0

type ObservabilityPlaneRef struct {
	Kind string `json:"kind"`
	Name string `json:"name"`
}

ObservabilityPlaneRef represents a reference to an ObservabilityPlane or ClusterObservabilityPlane in responses

type ObservabilityPlaneResponse added in v0.8.0

type ObservabilityPlaneResponse struct {
	Name            string                         `json:"name"`
	Namespace       string                         `json:"namespace"`
	DisplayName     string                         `json:"displayName,omitempty"`
	Description     string                         `json:"description,omitempty"`
	ObserverURL     string                         `json:"observerURL,omitempty"`
	FinOpsAgentURL  string                         `json:"finOpsAgentURL,omitempty"`
	AgentConnection *AgentConnectionStatusResponse `json:"agentConnection,omitempty"`
	CreatedAt       time.Time                      `json:"createdAt"`
	Status          string                         `json:"status,omitempty"`
}

ObservabilityPlaneResponse represents an observability plane in API responses

type PaginationMetadata added in v0.15.0

type PaginationMetadata struct {
	NextCursor     string `json:"nextCursor,omitempty"`
	RemainingCount *int64 `json:"remainingCount,omitempty"`
}

PaginationMetadata holds cursor-based pagination metadata.

type PatchComponentRequest added in v0.6.0

type PatchComponentRequest struct {
	// DisplayName is a human-readable display name
	// +optional
	DisplayName string `json:"displayName,omitempty"`
	// Description is a human-readable description
	// +optional
	Description string `json:"description,omitempty"`
	// AutoDeploy controls whether the component should automatically deploy to the default environment
	// +optional
	AutoDeploy *bool `json:"autoDeploy,omitempty"`
	// Parameters are component type parameters (port, replicas, exposed, etc.)
	// +optional
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`
	// WorkflowConfig is the workflow configuration for the component
	// +optional
	WorkflowConfig *WorkflowConfig `json:"workflow,omitempty"`
}

PatchComponentRequest represents the request to patch a Component

type PatchReleaseBindingRequest added in v0.5.0

type PatchReleaseBindingRequest struct {
	// ReleaseName is the name of the release to bind (required when creating a new binding)
	// +optional
	ReleaseName string `json:"releaseName,omitempty"`

	// Environment is the target environment (required when creating a new binding)
	// +optional
	Environment string `json:"environment,omitempty"`

	// ComponentTypeEnvironmentConfigs for ComponentType environmentConfigs parameters
	// These values override the defaults defined in the Component for this specific environment
	// +optional
	ComponentTypeEnvironmentConfigs map[string]interface{} `json:"componentTypeEnvironmentConfigs,omitempty"`

	// TraitEnvironmentConfigs provides environment-specific overrides for trait configurations
	// Keyed by instanceName (which must be unique across all traits in the component)
	// Structure: map[instanceName]overrideValues
	// +optional
	TraitEnvironmentConfigs map[string]map[string]interface{} `json:"traitEnvironmentConfigs,omitempty"`

	// WorkloadOverrides provides environment-specific overrides for the entire workload spec
	// These values override the workload specification for this specific environment
	// +optional
	WorkloadOverrides *WorkloadOverrides `json:"workloadOverrides,omitempty"`
}

PatchReleaseBindingRequest represents the request to patch a ReleaseBinding

type PodLogEntry added in v0.16.0

type PodLogEntry struct {
	Timestamp string `json:"timestamp"`
	Log       string `json:"log"`
}

PodLogEntry represents a single log entry from a pod

type ProjectResponse

type ProjectResponse struct {
	UID                string     `json:"uid"`
	Name               string     `json:"name"`
	NamespaceName      string     `json:"namespaceName"`
	DisplayName        string     `json:"displayName,omitempty"`
	Description        string     `json:"description,omitempty"`
	DeploymentPipeline string     `json:"deploymentPipeline,omitempty"`
	CreatedAt          time.Time  `json:"createdAt"`
	Status             string     `json:"status,omitempty"`
	DeletionTimestamp  *time.Time `json:"deletionTimestamp,omitempty"`
}

ProjectResponse represents a project in API responses

type PromoteComponentRequest

type PromoteComponentRequest struct {
	SourceEnvironment string `json:"sourceEnv"`
	TargetEnvironment string `json:"targetEnv"`
}

PromoteComponentRequest Promote from one environment to another

func (*PromoteComponentRequest) Sanitize

func (req *PromoteComponentRequest) Sanitize()

Sanitize sanitizes the PromoteComponentRequest by trimming whitespace

func (*PromoteComponentRequest) Validate

func (req *PromoteComponentRequest) Validate() error

Validate validates the PromoteComponentRequest

type PromotionPath

type PromotionPath struct {
	SourceEnvironmentRef  string                 `json:"sourceEnvironmentRef"`
	TargetEnvironmentRefs []TargetEnvironmentRef `json:"targetEnvironmentRefs"`
}

PromotionPath represents a promotion path in the deployment pipeline

type ReleaseBindingResponse added in v0.5.0

type ReleaseBindingResponse struct {
	Name                            string                 `json:"name"`
	ComponentName                   string                 `json:"componentName"`
	ProjectName                     string                 `json:"projectName"`
	NamespaceName                   string                 `json:"namespaceName"`
	Environment                     string                 `json:"environment"`
	ReleaseName                     string                 `json:"releaseName,omitempty"`
	ComponentTypeEnvironmentConfigs map[string]interface{} `json:"componentTypeEnvironmentConfigs,omitempty"`
	TraitEnvironmentConfigs         map[string]interface{} `json:"traitEnvironmentConfigs,omitempty"`
	WorkloadOverrides               *WorkloadOverrides     `json:"workloadOverrides,omitempty"`
	CreatedAt                       time.Time              `json:"createdAt"`
	Status                          string                 `json:"status,omitempty"`
}

ReleaseBindingResponse represents a ReleaseBinding in API responses

type ReleaseResponse added in v0.5.0

type ReleaseResponse struct {
	Spec   openchoreov1alpha1.RenderedReleaseSpec   `json:"spec"`
	Status openchoreov1alpha1.RenderedReleaseStatus `json:"status"`
}

ReleaseResponse represents a RenderedRelease in API responses

type RemoteReferenceInfo added in v0.6.0

type RemoteReferenceInfo struct {
	Key      string `json:"key"`
	Property string `json:"property,omitempty"`
	Version  string `json:"version,omitempty"`
}

RemoteReferenceInfo represents remote reference information for API responses

type ResourceEvent added in v0.16.0

type ResourceEvent struct {
	Type           string     `json:"type"`
	Reason         string     `json:"reason"`
	Message        string     `json:"message"`
	Count          *int32     `json:"count,omitempty"`
	FirstTimestamp *time.Time `json:"firstTimestamp,omitempty"`
	LastTimestamp  *time.Time `json:"lastTimestamp,omitempty"`
	Source         string     `json:"source,omitempty"`
}

ResourceEvent represents a Kubernetes event associated with a resource

type ResourceEventsResponse added in v0.16.0

type ResourceEventsResponse struct {
	Events []ResourceEvent `json:"events"`
}

ResourceEventsResponse is the response for the resource events endpoint

type ResourceNode added in v0.16.0

type ResourceNode struct {
	Group           string         `json:"group,omitempty"`
	Version         string         `json:"version"`
	Kind            string         `json:"kind"`
	Namespace       string         `json:"namespace,omitempty"`
	Name            string         `json:"name"`
	UID             string         `json:"uid"`
	ResourceVersion string         `json:"resourceVersion,omitempty"`
	CreatedAt       *time.Time     `json:"createdAt,omitempty"`
	ParentRefs      []ResourceRef  `json:"parentRefs,omitempty"`
	Object          map[string]any `json:"object"`
	Health          *HealthInfo    `json:"health,omitempty"`
}

ResourceNode represents a single resource in the resource tree

type ResourcePodLogsResponse added in v0.16.0

type ResourcePodLogsResponse struct {
	LogEntries []PodLogEntry `json:"logEntries"`
}

ResourcePodLogsResponse is the response for the resource pod logs endpoint

type ResourceRef added in v0.16.0

type ResourceRef struct {
	Group     string `json:"group,omitempty"`
	Version   string `json:"version"`
	Kind      string `json:"kind"`
	Namespace string `json:"namespace,omitempty"`
	Name      string `json:"name"`
	UID       string `json:"uid"`
}

ResourceRef identifies a parent resource in the resource tree

type ResourceTreeResponse added in v0.16.0

type ResourceTreeResponse struct {
	Nodes []ResourceNode `json:"nodes"`
}

ResourceTreeResponse is the response for the resource tree endpoint

type ScheduledTaskBinding

type ScheduledTaskBinding struct {
	Image        string `json:"image,omitempty"`
	ReleaseState string `json:"releaseState,omitempty"`
}

type SecretDataSourceInfo added in v0.6.0

type SecretDataSourceInfo struct {
	SecretKey string              `json:"secretKey"`
	RemoteRef RemoteReferenceInfo `json:"remoteRef"`
}

SecretDataSourceInfo represents secret data source information for API responses

type SecretKeyRef added in v0.5.0

type SecretKeyRef struct {
	Name string `json:"name"`
	Key  string `json:"key"`
}

SecretKeyRef references a specific key in a secret

type SecretReferenceResponse added in v0.6.0

type SecretReferenceResponse struct {
	Name            string                 `json:"name"`
	Namespace       string                 `json:"namespace"`
	DisplayName     string                 `json:"displayName,omitempty"`
	Description     string                 `json:"description,omitempty"`
	SecretStores    []SecretStoreReference `json:"secretStores,omitempty"`
	RefreshInterval string                 `json:"refreshInterval,omitempty"`
	Data            []SecretDataSourceInfo `json:"data,omitempty"`
	CreatedAt       time.Time              `json:"createdAt"`
	LastRefreshTime *time.Time             `json:"lastRefreshTime,omitempty"`
	Status          string                 `json:"status,omitempty"`
}

SecretReferenceResponse represents a SecretReference in API responses

type SecretStoreReference added in v0.6.0

type SecretStoreReference struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
	Kind      string `json:"kind"`
}

SecretStoreReference represents where a SecretReference is being used

type ServiceBinding

type ServiceBinding struct {
	Endpoints    []EndpointStatus `json:"endpoints"`
	Image        string           `json:"image,omitempty"`
	ReleaseState string           `json:"releaseState,omitempty"`
}

type TargetEnvironmentRef

type TargetEnvironmentRef struct {
	Kind string `json:"kind,omitempty"`
	Name string `json:"name"`
}

TargetEnvironmentRef represents a target environment reference

type TemplateParameter

type TemplateParameter struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type TraitResponse added in v0.4.0

type TraitResponse struct {
	Name        string    `json:"name"`
	DisplayName string    `json:"displayName,omitempty"`
	Description string    `json:"description,omitempty"`
	CreatedAt   time.Time `json:"createdAt"`
}

TraitResponse represents an Trait in API responses

type UpdateBindingRequest

type UpdateBindingRequest struct {
	// ReleaseState controls the state of the Release created by this binding.
	// Valid values: Active, Undeploy
	ReleaseState BindingReleaseState `json:"releaseState"`
}

UpdateBindingRequest represents the request to update a component binding Only includes fields that can be updated via PATCH

func (*UpdateBindingRequest) Validate

func (req *UpdateBindingRequest) Validate() error

Validate validates the UpdateBindingRequest

type UpdateComponentTraitsRequest added in v0.8.0

type UpdateComponentTraitsRequest struct {
	Traits []ComponentTraitRequest `json:"traits"`
}

UpdateComponentTraitsRequest represents the request to update all traits on a component

func (*UpdateComponentTraitsRequest) Sanitize added in v0.8.0

func (req *UpdateComponentTraitsRequest) Sanitize()

Sanitize sanitizes the UpdateComponentTraitsRequest by trimming whitespace

func (*UpdateComponentTraitsRequest) Validate added in v0.8.0

func (req *UpdateComponentTraitsRequest) Validate() error

Validate validates the UpdateComponentTraitsRequest

type UpdateWorkflowParametersRequest added in v0.17.0

type UpdateWorkflowParametersRequest struct {
	WorkflowName string                `json:"workflowName,omitempty"`
	Parameters   *runtime.RawExtension `json:"parameters,omitempty"`
}

UpdateWorkflowParametersRequest represents the request to update or initialize a component's workflow configuration

type VersionResponse added in v0.10.0

type VersionResponse struct {
	Name        string `json:"name"`
	Version     string `json:"version"`
	GitRevision string `json:"gitRevision"`
	BuildTime   string `json:"buildTime"`
	GoOS        string `json:"goOS"`
	GoArch      string `json:"goArch"`
	GoVersion   string `json:"goVersion"`
}

VersionResponse represents the server version information in API responses.

type WebApplicationBinding

type WebApplicationBinding struct {
	Endpoints    []EndpointStatus `json:"endpoints"`
	Image        string           `json:"image,omitempty"`
	ReleaseState string           `json:"releaseState,omitempty"`
}

type WebhookEventResponse added in v0.10.0

type WebhookEventResponse struct {
	Success            bool     `json:"success"`
	Message            string   `json:"message"`
	AffectedComponents []string `json:"affectedComponents,omitempty"`
	TriggeredBuilds    int      `json:"triggeredBuilds"`
}

WebhookEventResponse represents the response after processing a webhook event

type Workflow added in v0.5.0

type Workflow struct {
	Name   string                `json:"name"`
	Schema *runtime.RawExtension `json:"schema,omitempty"`
}

type WorkflowConfig added in v0.17.0

type WorkflowConfig struct {
	Kind       string                `json:"kind,omitempty"` // Workflow or ClusterWorkflow
	Name       string                `json:"name"`
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`
}

WorkflowConfig represents the workflow configuration in API requests/responses

type WorkflowConfigResponse added in v0.17.0

type WorkflowConfigResponse struct {
	Name       string         `json:"name"`
	Parameters map[string]any `json:"parameters,omitempty"`
}

WorkflowConfigResponse represents the workflow configuration in API responses

type WorkflowPlaneResponse added in v1.0.0

type WorkflowPlaneResponse struct {
	Name                  string                         `json:"name"`
	Namespace             string                         `json:"namespace"`
	DisplayName           string                         `json:"displayName,omitempty"`
	Description           string                         `json:"description,omitempty"`
	ObservabilityPlaneRef *ObservabilityPlaneRef         `json:"observabilityPlaneRef,omitempty"`
	AgentConnection       *AgentConnectionStatusResponse `json:"agentConnection,omitempty"`
	CreatedAt             time.Time                      `json:"createdAt"`
	Status                string                         `json:"status,omitempty"`
}

WorkflowPlaneResponse represents a workflow plane in API responses

type WorkflowResponse added in v0.4.0

type WorkflowResponse struct {
	Name        string    `json:"name"`
	DisplayName string    `json:"displayName,omitempty"`
	Description string    `json:"description,omitempty"`
	CreatedAt   time.Time `json:"createdAt"`
}

WorkflowResponse represents a Workflow in API responses

type WorkflowRunEventEntry added in v0.17.0

type WorkflowRunEventEntry struct {
	Timestamp string `json:"timestamp"`
	Type      string `json:"type"`
	Reason    string `json:"reason"`
	Message   string `json:"message"`
}

WorkflowRunEventEntry represents an event entry for workflow run events

type WorkflowRunLogEntry added in v0.17.0

type WorkflowRunLogEntry struct {
	Timestamp string `json:"timestamp,omitempty"`
	Log       string `json:"log"`
}

WorkflowRunLogEntry represents a log entry from a workflow run

type WorkflowRunResponse added in v0.13.0

type WorkflowRunResponse struct {
	Name          string                 `json:"name"`
	UUID          string                 `json:"uuid,omitempty"`
	WorkflowName  string                 `json:"workflowName"`
	NamespaceName string                 `json:"namespaceName"`
	Status        string                 `json:"status"`
	Phase         string                 `json:"phase,omitempty"`
	Parameters    map[string]interface{} `json:"parameters,omitempty"`
	CreatedAt     time.Time              `json:"createdAt"`
	FinishedAt    *time.Time             `json:"finishedAt,omitempty"`
}

WorkflowRunResponse represents a WorkflowRun in API responses

type WorkflowRunStatusResponse added in v0.17.0

type WorkflowRunStatusResponse struct {
	Status               string               `json:"status"`               // Overall workflow status (Pending/Running/Completed/Failed)
	Steps                []WorkflowStepStatus `json:"steps"`                // Array of step-level statuses
	HasLiveObservability bool                 `json:"hasLiveObservability"` // Whether the workflow run has live observability (logs/events from workflow plane)
}

WorkflowRunStatusResponse represents the status of a workflow run

type WorkflowRunTriggerResponse added in v0.17.0

type WorkflowRunTriggerResponse struct {
	Name          string                  `json:"name"`
	UUID          string                  `json:"uuid"`
	NamespaceName string                  `json:"namespaceName"`
	ProjectName   string                  `json:"projectName"`
	ComponentName string                  `json:"componentName"`
	Commit        string                  `json:"commit,omitempty"`
	Status        string                  `json:"status,omitempty"`
	Image         string                  `json:"image,omitempty"`
	Workflow      *WorkflowConfigResponse `json:"workflow,omitempty"`
	CreatedAt     time.Time               `json:"createdAt"`
}

WorkflowRunTriggerResponse represents a triggered workflow run in API responses

type WorkflowStepStatus added in v0.15.0

type WorkflowStepStatus struct {
	Name       string     `json:"name"`       // Step name/template name
	Phase      string     `json:"phase"`      // Step phase (Pending|Running|Succeeded|Failed|Skipped|Error)
	StartedAt  *time.Time `json:"startedAt"`  // When step started
	FinishedAt *time.Time `json:"finishedAt"` // When step finished
}

WorkflowStepStatus represents the status of an individual workflow step

type WorkloadOverrides added in v0.5.0

type WorkloadOverrides struct {
	// Container defines the container-specific overrides for env and file configurations
	// +optional
	Container *ContainerOverride `json:"container,omitempty"`
}

WorkloadOverrides represents environment-specific workload overrides

Jump to

Keyboard shortcuts

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