Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateProject ¶
type CreateProject struct {
// Name of the project.
//
// Required: true
Name string `json:"name" binding:"required"`
// ComposeContent is the Docker Compose file content.
//
// Required: true
ComposeContent string `json:"composeContent" binding:"required"`
// EnvContent is the environment file content.
//
// Required: false
EnvContent *string `json:"envContent,omitempty"`
}
CreateProject is used to create a new project.
type CreateReponse ¶
type CreateReponse struct {
// ID is the unique identifier of the project.
//
// Required: true
ID string `json:"id"`
// Name of the project.
//
// Required: true
Name string `json:"name"`
// DirName is the directory name where the project is stored.
//
// Required: false
DirName string `json:"dirName,omitempty"`
// Path is the file path to the project.
//
// Required: true
Path string `json:"path"`
// Status is the current status of the project.
//
// Required: true
Status string `json:"status"`
// StatusReason provides additional information about the status.
//
// Required: false
StatusReason *string `json:"statusReason,omitempty"`
// ServiceCount is the total number of services in the project.
//
// Required: true
ServiceCount int `json:"serviceCount"`
// RunningCount is the number of running services in the project.
//
// Required: true
RunningCount int `json:"runningCount"`
// GitOpsManagedBy is the ID of the GitOps sync managing this project (if any).
//
// Required: false
GitOpsManagedBy *string `json:"gitOpsManagedBy,omitempty"`
// CreatedAt is the date and time when the project was created.
//
// Required: true
CreatedAt string `json:"createdAt"`
// UpdatedAt is the date and time when the project was last updated.
//
// Required: true
UpdatedAt string `json:"updatedAt"`
}
CreateReponse is the response when a project is created.
type DeployOptions ¶ added in v1.16.0
type DeployOptions struct {
// PullPolicy overrides the image pull policy used during deploy.
//
// Required: false
PullPolicy string `json:"pullPolicy,omitempty" binding:"omitempty,oneof=missing always never"`
// ForceRecreate forces compose to recreate containers even when unchanged.
//
// Required: false
ForceRecreate bool `json:"forceRecreate,omitempty"`
}
DeployOptions configures project deploy behavior.
type Destroy ¶
type Destroy struct {
// RemoveFiles indicates if project files should be removed.
//
// Required: false
RemoveFiles bool `json:"removeFiles,omitempty"`
// RemoveVolumes indicates if project volumes should be removed.
//
// Required: false
RemoveVolumes bool `json:"removeVolumes,omitempty"`
}
Destroy is used to destroy a project.
type Details ¶
type Details struct {
// ID is the unique identifier of the project.
//
// Required: true
ID string `json:"id"`
// Name of the project.
//
// Required: true
Name string `json:"name"`
// DirName is the directory name where the project is stored.
//
// Required: false
DirName string `json:"dirName,omitempty"`
// Path is the file path to the project.
//
// Required: true
Path string `json:"path"`
// IconURL is the optional stack icon URL from compose metadata.
//
// Required: false
IconURL string `json:"iconUrl,omitempty"`
// URLs are optional custom stack URLs from compose metadata.
//
// Required: false
URLs []string `json:"urls,omitempty"`
// ComposeContent is the Docker Compose file content.
//
// Required: false
ComposeContent string `json:"composeContent,omitempty"`
// EnvContent is the environment file content.
//
// Required: false
EnvContent string `json:"envContent,omitempty"`
// IncludeFiles is a list of included files in the project.
//
// Required: false
IncludeFiles []IncludeFile `json:"includeFiles,omitempty"`
// Status is the current status of the project.
//
// Required: true
Status string `json:"status"`
// StatusReason provides additional information about the status.
//
// Required: false
StatusReason *string `json:"statusReason,omitempty"`
// ServiceCount is the total number of services in the project.
//
// Required: true
ServiceCount int `json:"serviceCount"`
// RunningCount is the number of running services in the project.
//
// Required: true
RunningCount int `json:"runningCount"`
// CreatedAt is the date and time when the project was created.
//
// Required: true
CreatedAt string `json:"createdAt"`
// UpdatedAt is the date and time when the project was last updated.
//
// Required: true
UpdatedAt string `json:"updatedAt"`
// Services is a list of services defined in the Docker Compose file.
//
// Required: false
Services []composetypes.ServiceConfig `json:"services,omitempty"`
// RuntimeServices contains live container status information for each service.
//
// Required: false
RuntimeServices []RuntimeService `json:"runtimeServices,omitempty"`
// HasBuildDirective indicates whether any Compose service defines a build directive.
//
// Required: false
HasBuildDirective bool `json:"hasBuildDirective,omitempty"`
// GitOpsManagedBy is the ID of the GitOps sync managing this project (if any).
//
// Required: false
GitOpsManagedBy *string `json:"gitOpsManagedBy,omitempty"`
// LastSyncCommit is the last commit synced from Git (if GitOps managed).
//
// Required: false
LastSyncCommit *string `json:"lastSyncCommit,omitempty"`
// GitRepositoryURL is the URL of the Git repository (if GitOps managed).
//
// Required: false
GitRepositoryURL string `json:"gitRepositoryURL,omitempty"`
}
Details contains detailed information about a project.
func (*Details) UnmarshalJSON ¶ added in v1.16.2
UnmarshalJSON makes Details tolerant of compose-go UnitBytes fields encoded as either JSON strings or JSON numbers inside services and runtime service configs.
The rest of the Details payload is decoded normally. Only compose service payloads are normalized before they are unmarshaled into composetypes.ServiceConfig values.
type ImagePullRequest ¶
type ImagePullRequest struct {
// Credentials is a list of container registry credentials for pulling images.
//
// Required: false
Credentials []containerregistry.Credential `json:"credentials,omitempty"`
}
ImagePullRequest is used to pull images for a project.
type IncludeFile ¶
type IncludeFile struct {
// Path is the absolute path to the include file.
//
// Required: true
Path string `json:"path"`
// RelativePath is the path to the include file relative to the project.
//
// Required: true
RelativePath string `json:"relativePath"`
// Content is the file content.
//
// Required: true
Content string `json:"content"`
}
IncludeFile represents an included file within a project.
type RuntimeService ¶
type RuntimeService struct {
// Name is the service name from the compose file.
//
// Required: true
Name string `json:"name"`
// Image is the Docker image used by the service.
//
// Required: true
Image string `json:"image"`
// Status is the current status of the container (running, stopped, etc.).
//
// Required: true
Status string `json:"status"`
// ContainerID is the Docker container ID.
//
// Required: false
ContainerID string `json:"containerId,omitempty"`
// ContainerName is the Docker container name.
//
// Required: false
ContainerName string `json:"containerName,omitempty"`
// Ports is a list of port mappings for the container.
//
// Required: false
Ports []string `json:"ports,omitempty"`
// Health is the health status of the container.
//
// Required: false
Health *string `json:"health,omitempty"`
// IconURL is an optional icon URL derived from Arcane labels.
//
// Required: false
IconURL string `json:"iconUrl,omitempty"`
// ServiceConfig is the configuration of the service from the compose file.
//
// Required: false
ServiceConfig *composetypes.ServiceConfig `json:"serviceConfig,omitempty"`
}
RuntimeService contains live container status information for a service.
func (*RuntimeService) UnmarshalJSON ¶ added in v1.16.2
func (r *RuntimeService) UnmarshalJSON(data []byte) error
UnmarshalJSON makes RuntimeService tolerant of compose-go UnitBytes fields encoded as either JSON strings or JSON numbers inside serviceConfig.
This only affects JSON decoding of RuntimeService values. It does not change API response shapes, backend serialization, YAML loading, or any non-JSON code paths.
type StatusCounts ¶
type StatusCounts struct {
// RunningProjects is the number of running projects.
//
// Required: true
RunningProjects int `json:"runningProjects"`
// StoppedProjects is the number of stopped projects.
//
// Required: true
StoppedProjects int `json:"stoppedProjects"`
// TotalProjects is the total number of projects.
//
// Required: true
TotalProjects int `json:"totalProjects"`
}
StatusCounts contains counts of projects by status.
type UpdateIncludeFile ¶
type UpdateIncludeFile struct {
// RelativePath is the path to the include file relative to the project.
//
// Required: true
RelativePath string `json:"relativePath" binding:"required"`
// Content is the file content.
//
// Required: true
Content string `json:"content" binding:"required"`
}
UpdateIncludeFile is used to update an include file within a project.
type UpdateProject ¶
type UpdateProject struct {
// Name of the project.
//
// Required: false
Name *string `json:"name,omitempty"`
// ComposeContent is the Docker Compose file content.
//
// Required: false
ComposeContent *string `json:"composeContent,omitempty"`
// EnvContent is the environment file content.
//
// Required: false
EnvContent *string `json:"envContent,omitempty"`
}
UpdateProject is used to update a project.