Documentation
¶
Index ¶
- Constants
- func ParseAndFormatLogs(logsJSON string, showHidden bool) (string, error)
- type Application
- type ApplicationCreateDeployKeyRequest
- type ApplicationCreateDockerImageRequest
- type ApplicationCreateDockerfileRequest
- type ApplicationCreateGitHubAppRequest
- type ApplicationCreatePublicRequest
- type ApplicationInProject
- type ApplicationLifecycleResponse
- type ApplicationListItem
- type ApplicationLogsResponse
- type ApplicationSettings
- type ApplicationUpdateRequest
- type Database
- type DatabaseBackup
- type DatabaseBackupCreateRequest
- type DatabaseBackupExecution
- type DatabaseBackupExecutionsResponse
- type DatabaseBackupResponse
- type DatabaseBackupUpdateRequest
- type DatabaseCreateRequest
- type DatabaseEnvBulkUpdateRequest
- type DatabaseEnvBulkUpdateResponse
- type DatabaseEnvironmentVariable
- type DatabaseEnvironmentVariableCreateRequest
- type DatabaseEnvironmentVariableUpdateRequest
- type DatabaseLifecycleResponse
- type DatabaseUpdateRequest
- type DeployRequest
- type DeployResponse
- type Deployment
- type Domain
- type Environment
- type EnvironmentVariable
- type EnvironmentVariableCreateRequest
- type EnvironmentVariableUpdateRequest
- type FileStorage
- type GitHubApp
- type GitHubAppCreateRequest
- type GitHubAppUpdateRequest
- type GitHubBranch
- type GitHubRepository
- type LogEntry
- type PersistentStorage
- type PrivateKey
- type PrivateKeyCreateRequest
- type Project
- type ProjectCreateRequest
- type Resource
- type Resources
- type Response
- type Server
- type ServerCreateRequest
- type Service
- type ServiceApplication
- type ServiceCreateRequest
- type ServiceDatabase
- type ServiceEnvBulkUpdateRequest
- type ServiceEnvBulkUpdateResponse
- type ServiceEnvironmentVariable
- type ServiceEnvironmentVariableCreateRequest
- type ServiceEnvironmentVariableUpdateRequest
- type ServiceLifecycleResponse
- type ServiceStorageCreateRequest
- type ServiceUpdateRequest
- type Settings
- type StorageCreateRequest
- type StorageListItem
- type StorageUpdateRequest
- type StoragesResponse
- type Team
- type TeamMember
- type Timestamps
- type UUID
Constants ¶
const ( ResourceStatusRunning = "running" ResourceStatusStopped = "stopped" ResourceStatusError = "error" )
ResourceStatus constants
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Application ¶
type Application struct {
// Table-visible fields
UUID string `json:"uuid"`
Name string `json:"name"`
Description *string `json:"description,omitempty"`
Status string `json:"status"`
FQDN *string `json:"fqdn,omitempty"`
GitRepository *string `json:"git_repository,omitempty"`
GitBranch *string `json:"git_branch,omitempty"`
BuildPack *string `json:"build_pack,omitempty"`
PortsExposes *string `json:"ports_exposes,omitempty"`
// Git extended (JSON-only)
GitCommitSHA *string `json:"git_commit_sha,omitempty" table:"-"`
GitFullURL *string `json:"git_full_url,omitempty" table:"-"`
// Build configuration (JSON-only)
InstallCommand *string `json:"install_command,omitempty" table:"-"`
BuildCommand *string `json:"build_command,omitempty" table:"-"`
StartCommand *string `json:"start_command,omitempty" table:"-"`
BaseDirectory *string `json:"base_directory,omitempty" table:"-"`
PublishDirectory *string `json:"publish_directory,omitempty" table:"-"`
StaticImage *string `json:"static_image,omitempty" table:"-"`
// Docker configuration (JSON-only)
Dockerfile *string `json:"dockerfile,omitempty" table:"-"`
DockerfileLocation *string `json:"dockerfile_location,omitempty" table:"-"`
DockerRegistryImageName *string `json:"docker_registry_image_name,omitempty" table:"-"`
DockerRegistryImageTag *string `json:"docker_registry_image_tag,omitempty" table:"-"`
DockerCompose *string `json:"docker_compose,omitempty" table:"-"`
DockerComposeRaw *string `json:"docker_compose_raw,omitempty" table:"-"`
DockerComposeLocation *string `json:"docker_compose_location,omitempty" table:"-"`
CustomDockerRunOptions *string `json:"custom_docker_run_options,omitempty" table:"-"`
CustomLabels *string `json:"custom_labels,omitempty" table:"-"`
CustomNginxConfiguration *string `json:"custom_nginx_configuration,omitempty" table:"-"`
// Networking (JSON-only)
PortsMappings *string `json:"ports_mappings,omitempty" table:"-"`
Domains *string `json:"domains,omitempty" table:"-"`
Redirect *string `json:"redirect,omitempty" table:"-"`
PreviewURLTemplate *string `json:"preview_url_template,omitempty" table:"-"`
// Health checks (JSON-only)
HealthCheckEnabled *bool `json:"health_check_enabled,omitempty" table:"-"`
HealthCheckPath *string `json:"health_check_path,omitempty" table:"-"`
HealthCheckPort *string `json:"health_check_port,omitempty" table:"-"`
HealthCheckHost *string `json:"health_check_host,omitempty" table:"-"`
HealthCheckMethod *string `json:"health_check_method,omitempty" table:"-"`
HealthCheckScheme *string `json:"health_check_scheme,omitempty" table:"-"`
HealthCheckReturnCode *int `json:"health_check_return_code,omitempty" table:"-"`
HealthCheckResponseText *string `json:"health_check_response_text,omitempty" table:"-"`
HealthCheckInterval *int `json:"health_check_interval,omitempty" table:"-"`
HealthCheckTimeout *int `json:"health_check_timeout,omitempty" table:"-"`
HealthCheckRetries *int `json:"health_check_retries,omitempty" table:"-"`
HealthCheckStartPeriod *int `json:"health_check_start_period,omitempty" table:"-"`
// Resource limits (JSON-only)
LimitsCPUs *string `json:"limits_cpus,omitempty" table:"-"`
LimitsCPUSet *string `json:"limits_cpuset,omitempty" table:"-"`
LimitsMemory *string `json:"limits_memory,omitempty" table:"-"`
LimitsMemoryReservation *string `json:"limits_memory_reservation,omitempty" table:"-"`
LimitsMemorySwap *string `json:"limits_memory_swap,omitempty" table:"-"`
LimitsMemorySwappiness *int `json:"limits_memory_swappiness,omitempty" table:"-"`
// Deployment hooks (JSON-only)
PreDeploymentCommand *string `json:"pre_deployment_command,omitempty" table:"-"`
PreDeploymentCommandContainer *string `json:"pre_deployment_command_container,omitempty" table:"-"`
PostDeploymentCommand *string `json:"post_deployment_command,omitempty" table:"-"`
PostDeploymentCommandContainer *string `json:"post_deployment_command_container,omitempty" table:"-"`
// Webhook secrets (JSON-only)
ManualWebhookSecretGitHub *string `json:"manual_webhook_secret_github,omitempty" table:"-" sensitive:"true"`
ManualWebhookSecretGitLab *string `json:"manual_webhook_secret_gitlab,omitempty" table:"-" sensitive:"true"`
ManualWebhookSecretBitbucket *string `json:"manual_webhook_secret_bitbucket,omitempty" table:"-" sensitive:"true"`
ManualWebhookSecretGitea *string `json:"manual_webhook_secret_gitea,omitempty" table:"-" sensitive:"true"`
// Misc (JSON-only)
WatchPaths *string `json:"watch_paths,omitempty" table:"-"`
SwarmReplicas *int `json:"swarm_replicas,omitempty" table:"-"`
ConfigHash *string `json:"config_hash,omitempty" table:"-"`
// Nested settings (JSON-only)
Settings *ApplicationSettings `json:"settings,omitempty" table:"-"`
// Hidden fields (not in JSON or table output)
ID int `json:"-" table:"-"`
EnvironmentID *int `json:"-" table:"-"`
DestinationID *int `json:"-" table:"-"`
SourceID *int `json:"-" table:"-"`
PrivateKeyID *int `json:"-" table:"-"`
CreatedAt string `json:"-" table:"-"`
UpdatedAt string `json:"-" table:"-"`
}
Application represents a Coolify application
type ApplicationCreateDeployKeyRequest ¶ added in v1.4.0
type ApplicationCreateDeployKeyRequest struct {
// Required fields
ProjectUUID string `json:"project_uuid"`
ServerUUID string `json:"server_uuid"`
PrivateKeyUUID string `json:"private_key_uuid"`
GitRepository string `json:"git_repository"`
GitBranch string `json:"git_branch"`
BuildPack string `json:"build_pack"`
PortsExposes string `json:"ports_exposes"`
// Environment (one of these is required)
EnvironmentName *string `json:"environment_name,omitempty"`
EnvironmentUUID *string `json:"environment,omitempty"`
// Optional fields (same as public)
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
Domains *string `json:"domains,omitempty"`
InstantDeploy *bool `json:"instant_deploy,omitempty"`
GitCommitSHA *string `json:"git_commit_sha,omitempty"`
DestinationUUID *string `json:"destination_uuid,omitempty"`
BuildCommand *string `json:"build_command,omitempty"`
StartCommand *string `json:"start_command,omitempty"`
InstallCommand *string `json:"install_command,omitempty"`
BaseDirectory *string `json:"base_directory,omitempty"`
PublishDirectory *string `json:"publish_directory,omitempty"`
PortsMappings *string `json:"ports_mappings,omitempty"`
CustomDockerRunOptions *string `json:"custom_docker_run_options,omitempty"`
CustomLabels *string `json:"custom_labels,omitempty"`
DockerfileTargetBuild *string `json:"dockerfile_target_build,omitempty"`
HealthCheckEnabled *bool `json:"health_check_enabled,omitempty"`
HealthCheckPath *string `json:"health_check_path,omitempty"`
HealthCheckPort *string `json:"health_check_port,omitempty"`
HealthCheckMethod *string `json:"health_check_method,omitempty"`
LimitsCPUs *string `json:"limits_cpus,omitempty"`
LimitsMemory *string `json:"limits_memory,omitempty"`
}
ApplicationCreateDeployKeyRequest for POST /applications/private-deploy-key Creates an application from a private repository using SSH deploy key
type ApplicationCreateDockerImageRequest ¶ added in v1.4.0
type ApplicationCreateDockerImageRequest struct {
// Required fields
ProjectUUID string `json:"project_uuid"`
ServerUUID string `json:"server_uuid"`
DockerRegistryImageName string `json:"docker_registry_image_name"`
PortsExposes string `json:"ports_exposes"`
// Environment (one of these is required)
EnvironmentName *string `json:"environment_name,omitempty"`
EnvironmentUUID *string `json:"environment,omitempty"`
// Optional fields
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
Domains *string `json:"domains,omitempty"`
InstantDeploy *bool `json:"instant_deploy,omitempty"`
DestinationUUID *string `json:"destination_uuid,omitempty"`
DockerRegistryImageTag *string `json:"docker_registry_image_tag,omitempty"`
PortsMappings *string `json:"ports_mappings,omitempty"`
CustomDockerRunOptions *string `json:"custom_docker_run_options,omitempty"`
CustomLabels *string `json:"custom_labels,omitempty"`
DockerfileTargetBuild *string `json:"dockerfile_target_build,omitempty"`
HealthCheckEnabled *bool `json:"health_check_enabled,omitempty"`
HealthCheckPath *string `json:"health_check_path,omitempty"`
HealthCheckPort *string `json:"health_check_port,omitempty"`
HealthCheckMethod *string `json:"health_check_method,omitempty"`
LimitsCPUs *string `json:"limits_cpus,omitempty"`
LimitsMemory *string `json:"limits_memory,omitempty"`
}
ApplicationCreateDockerImageRequest for POST /applications/dockerimage Creates an application from a pre-built Docker image
type ApplicationCreateDockerfileRequest ¶ added in v1.4.0
type ApplicationCreateDockerfileRequest struct {
// Required fields
ProjectUUID string `json:"project_uuid"`
ServerUUID string `json:"server_uuid"`
Dockerfile string `json:"dockerfile"`
// Environment (one of these is required)
EnvironmentName *string `json:"environment_name,omitempty"`
EnvironmentUUID *string `json:"environment,omitempty"`
// Optional fields
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
Domains *string `json:"domains,omitempty"`
InstantDeploy *bool `json:"instant_deploy,omitempty"`
DestinationUUID *string `json:"destination_uuid,omitempty"`
PortsExposes *string `json:"ports_exposes,omitempty"`
PortsMappings *string `json:"ports_mappings,omitempty"`
CustomDockerRunOptions *string `json:"custom_docker_run_options,omitempty"`
CustomLabels *string `json:"custom_labels,omitempty"`
DockerfileTargetBuild *string `json:"dockerfile_target_build,omitempty"`
HealthCheckEnabled *bool `json:"health_check_enabled,omitempty"`
HealthCheckPath *string `json:"health_check_path,omitempty"`
HealthCheckPort *string `json:"health_check_port,omitempty"`
HealthCheckMethod *string `json:"health_check_method,omitempty"`
LimitsCPUs *string `json:"limits_cpus,omitempty"`
LimitsMemory *string `json:"limits_memory,omitempty"`
}
ApplicationCreateDockerfileRequest for POST /applications/dockerfile Creates an application from a custom Dockerfile
type ApplicationCreateGitHubAppRequest ¶ added in v1.4.0
type ApplicationCreateGitHubAppRequest struct {
// Required fields
ProjectUUID string `json:"project_uuid"`
ServerUUID string `json:"server_uuid"`
GitHubAppUUID string `json:"github_app_uuid"`
GitRepository string `json:"git_repository"`
GitBranch string `json:"git_branch"`
BuildPack string `json:"build_pack"`
PortsExposes string `json:"ports_exposes"`
// Environment (one of these is required)
EnvironmentName *string `json:"environment_name,omitempty"`
EnvironmentUUID *string `json:"environment,omitempty"`
// Optional fields (same as public)
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
Domains *string `json:"domains,omitempty"`
InstantDeploy *bool `json:"instant_deploy,omitempty"`
GitCommitSHA *string `json:"git_commit_sha,omitempty"`
DestinationUUID *string `json:"destination_uuid,omitempty"`
BuildCommand *string `json:"build_command,omitempty"`
StartCommand *string `json:"start_command,omitempty"`
InstallCommand *string `json:"install_command,omitempty"`
BaseDirectory *string `json:"base_directory,omitempty"`
PublishDirectory *string `json:"publish_directory,omitempty"`
PortsMappings *string `json:"ports_mappings,omitempty"`
CustomDockerRunOptions *string `json:"custom_docker_run_options,omitempty"`
CustomLabels *string `json:"custom_labels,omitempty"`
DockerfileTargetBuild *string `json:"dockerfile_target_build,omitempty"`
HealthCheckEnabled *bool `json:"health_check_enabled,omitempty"`
HealthCheckPath *string `json:"health_check_path,omitempty"`
HealthCheckPort *string `json:"health_check_port,omitempty"`
HealthCheckMethod *string `json:"health_check_method,omitempty"`
LimitsCPUs *string `json:"limits_cpus,omitempty"`
LimitsMemory *string `json:"limits_memory,omitempty"`
}
ApplicationCreateGitHubAppRequest for POST /applications/private-github-app Creates an application from a private repository using GitHub App authentication
type ApplicationCreatePublicRequest ¶ added in v1.4.0
type ApplicationCreatePublicRequest struct {
// Required fields
ProjectUUID string `json:"project_uuid"`
ServerUUID string `json:"server_uuid"`
GitRepository string `json:"git_repository"`
GitBranch string `json:"git_branch"`
BuildPack string `json:"build_pack"` // nixpacks, static, dockerfile, dockercompose
PortsExposes string `json:"ports_exposes"`
// Environment (one of these is required)
EnvironmentName *string `json:"environment_name,omitempty"`
EnvironmentUUID *string `json:"environment,omitempty"`
// Optional fields
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
Domains *string `json:"domains,omitempty"`
InstantDeploy *bool `json:"instant_deploy,omitempty"`
GitCommitSHA *string `json:"git_commit_sha,omitempty"`
DestinationUUID *string `json:"destination_uuid,omitempty"`
BuildCommand *string `json:"build_command,omitempty"`
StartCommand *string `json:"start_command,omitempty"`
InstallCommand *string `json:"install_command,omitempty"`
BaseDirectory *string `json:"base_directory,omitempty"`
PublishDirectory *string `json:"publish_directory,omitempty"`
PortsMappings *string `json:"ports_mappings,omitempty"`
CustomDockerRunOptions *string `json:"custom_docker_run_options,omitempty"`
CustomLabels *string `json:"custom_labels,omitempty"`
DockerfileTargetBuild *string `json:"dockerfile_target_build,omitempty"`
// Health checks
HealthCheckEnabled *bool `json:"health_check_enabled,omitempty"`
HealthCheckPath *string `json:"health_check_path,omitempty"`
HealthCheckPort *string `json:"health_check_port,omitempty"`
HealthCheckMethod *string `json:"health_check_method,omitempty"`
// Resource limits
LimitsCPUs *string `json:"limits_cpus,omitempty"`
LimitsMemory *string `json:"limits_memory,omitempty"`
}
ApplicationCreatePublicRequest for POST /applications/public Creates an application from a public git repository
type ApplicationInProject ¶
type ApplicationInProject struct {
ID int `json:"-" table:"-"`
UUID string `json:"uuid"`
Name string `json:"name"`
Description *string `json:"description,omitempty"`
Status string `json:"status"`
}
ApplicationInProject represents a simplified application within an environment
type ApplicationLifecycleResponse ¶
type ApplicationLifecycleResponse struct {
Message string `json:"message"`
DeploymentUUID *string `json:"deployment_uuid,omitempty"`
}
ApplicationLifecycleResponse represents the response from lifecycle operations
type ApplicationListItem ¶
type ApplicationListItem struct {
UUID string `json:"uuid"`
Name string `json:"name"`
Description *string `json:"description,omitempty"`
Status string `json:"status"`
GitBranch *string `json:"git_branch,omitempty"`
FQDN *string `json:"fqdn,omitempty"`
}
ApplicationListItem represents a simplified application for list view
type ApplicationLogsResponse ¶
type ApplicationLogsResponse struct {
Logs string `json:"logs"`
}
ApplicationLogsResponse represents the response from logs endpoint
type ApplicationSettings ¶ added in v1.5.0
type ApplicationSettings struct {
ID int `json:"-" table:"-"`
ApplicationID int `json:"-" table:"-"`
IsStatic *bool `json:"is_static,omitempty"`
IsBuildServerEnabled *bool `json:"is_build_server_enabled,omitempty"`
IsPreserveRepositoryEnabled *bool `json:"is_preserve_repository_enabled,omitempty"`
IsAutoDeployEnabled *bool `json:"is_auto_deploy_enabled,omitempty"`
IsForceHTTPSEnabled *bool `json:"is_force_https_enabled,omitempty"`
IsDebugEnabled *bool `json:"is_debug_enabled,omitempty"`
IsPreviewDeploymentsEnabled *bool `json:"is_preview_deployments_enabled,omitempty"`
IsGitSubmodulesEnabled *bool `json:"is_git_submodules_enabled,omitempty"`
IsGitLFSEnabled *bool `json:"is_git_lfs_enabled,omitempty"`
CreatedAt string `json:"-" table:"-"`
UpdatedAt string `json:"-" table:"-"`
}
ApplicationSettings represents the settings for a Coolify application
type ApplicationUpdateRequest ¶
type ApplicationUpdateRequest struct {
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
GitBranch *string `json:"git_branch,omitempty"`
GitRepository *string `json:"git_repository,omitempty"`
GitCommitSHA *string `json:"git_commit_sha,omitempty"`
Domains *string `json:"domains,omitempty"`
BuildCommand *string `json:"build_command,omitempty"`
StartCommand *string `json:"start_command,omitempty"`
InstallCommand *string `json:"install_command,omitempty"`
BaseDirectory *string `json:"base_directory,omitempty"`
PublishDirectory *string `json:"publish_directory,omitempty"`
BuildPack *string `json:"build_pack,omitempty"`
PortsExposes *string `json:"ports_exposes,omitempty"`
PortsMappings *string `json:"ports_mappings,omitempty"`
// Docker configuration
Dockerfile *string `json:"dockerfile,omitempty"`
DockerfileTargetBuild *string `json:"dockerfile_target_build,omitempty"`
DockerRegistryImageName *string `json:"docker_registry_image_name,omitempty"`
DockerRegistryImageTag *string `json:"docker_registry_image_tag,omitempty"`
CustomDockerRunOptions *string `json:"custom_docker_run_options,omitempty"`
CustomLabels *string `json:"custom_labels,omitempty"`
// Health checks
HealthCheckEnabled *bool `json:"health_check_enabled,omitempty"`
HealthCheckPath *string `json:"health_check_path,omitempty"`
HealthCheckPort *string `json:"health_check_port,omitempty"`
HealthCheckHost *string `json:"health_check_host,omitempty"`
HealthCheckMethod *string `json:"health_check_method,omitempty"`
HealthCheckScheme *string `json:"health_check_scheme,omitempty"`
HealthCheckReturnCode *int `json:"health_check_return_code,omitempty"`
HealthCheckResponseText *string `json:"health_check_response_text,omitempty"`
HealthCheckInterval *int `json:"health_check_interval,omitempty"`
HealthCheckTimeout *int `json:"health_check_timeout,omitempty"`
HealthCheckRetries *int `json:"health_check_retries,omitempty"`
HealthCheckStartPeriod *int `json:"health_check_start_period,omitempty"`
// Resource limits
LimitsCPUs *string `json:"limits_cpus,omitempty"`
LimitsCPUSet *string `json:"limits_cpuset,omitempty"`
LimitsMemory *string `json:"limits_memory,omitempty"`
LimitsMemoryReservation *string `json:"limits_memory_reservation,omitempty"`
LimitsMemorySwap *string `json:"limits_memory_swap,omitempty"`
LimitsMemorySwappiness *int `json:"limits_memory_swappiness,omitempty"`
// Deployment hooks
PreDeploymentCommand *string `json:"pre_deployment_command,omitempty"`
PreDeploymentCommandContainer *string `json:"pre_deployment_command_container,omitempty"`
PostDeploymentCommand *string `json:"post_deployment_command,omitempty"`
PostDeploymentCommandContainer *string `json:"post_deployment_command_container,omitempty"`
// Misc
Redirect *string `json:"redirect,omitempty"`
WatchPaths *string `json:"watch_paths,omitempty"`
IsStatic *bool `json:"is_static,omitempty"`
}
ApplicationUpdateRequest represents the request to update an application All fields are optional - only provided fields will be updated
type Database ¶
type Database struct {
ID int `json:"-" table:"-"`
UUID string `json:"uuid"`
Name string `json:"name"`
Description *string `json:"description,omitempty"`
Image *string `json:"image,omitempty"`
Status string `json:"status"`
Type string `json:"type"` // postgresql, mysql, mongodb, redis, etc.
// Network configuration
IsPublic *bool `json:"is_public,omitempty"`
PublicPort *int `json:"public_port,omitempty"`
// Resource limits (hidden from CLI output)
LimitsMemory *string `json:"limits_memory,omitempty" table:"-"`
LimitsMemorySwap *string `json:"limits_memory_swap,omitempty" table:"-"`
LimitsMemorySwappiness *int `json:"limits_memory_swappiness,omitempty" table:"-"`
LimitsMemoryReservation *string `json:"limits_memory_reservation,omitempty" table:"-"`
LimitsCpus *string `json:"limits_cpus,omitempty" table:"-"`
LimitsCpuset *string `json:"limits_cpuset,omitempty" table:"-"`
// PostgreSQL specific
PostgresUser *string `json:"postgres_user,omitempty" table:"-"`
PostgresPassword *string `json:"postgres_password,omitempty" table:"-"`
PostgresDB *string `json:"postgres_db,omitempty" table:"-"`
PostgresInitdbArgs *string `json:"postgres_initdb_args,omitempty" table:"-"`
PostgresHostAuthMethod *string `json:"postgres_host_auth_method,omitempty" table:"-"`
PostgresConf *string `json:"postgres_conf,omitempty" table:"-"`
// MySQL specific
MysqlRootPassword *string `json:"mysql_root_password,omitempty" table:"-"`
MysqlPassword *string `json:"mysql_password,omitempty" table:"-"`
MysqlUser *string `json:"mysql_user,omitempty" table:"-"`
MysqlDatabase *string `json:"mysql_database,omitempty" table:"-"`
MysqlConf *string `json:"mysql_conf,omitempty" table:"-"`
// MariaDB specific
MariadbRootPassword *string `json:"mariadb_root_password,omitempty" table:"-"`
MariadbPassword *string `json:"mariadb_password,omitempty" table:"-"`
MariadbUser *string `json:"mariadb_user,omitempty" table:"-"`
MariadbDatabase *string `json:"mariadb_database,omitempty" table:"-"`
MariadbConf *string `json:"mariadb_conf,omitempty" table:"-"`
// MongoDB specific
MongoInitdbRootUsername *string `json:"mongo_initdb_root_username,omitempty" table:"-"`
MongoInitdbRootPassword *string `json:"mongo_initdb_root_password,omitempty" table:"-"`
MongoInitdbDatabase *string `json:"mongo_initdb_database,omitempty" table:"-"`
MongoConf *string `json:"mongo_conf,omitempty" table:"-"`
// Redis specific
RedisPassword *string `json:"redis_password,omitempty" table:"-"`
RedisConf *string `json:"redis_conf,omitempty" table:"-"`
// KeyDB specific
KeydbPassword *string `json:"keydb_password,omitempty" table:"-"`
KeydbConf *string `json:"keydb_conf,omitempty" table:"-"`
// Clickhouse specific
ClickhouseAdminUser *string `json:"clickhouse_admin_user,omitempty" table:"-"`
ClickhouseAdminPassword *string `json:"clickhouse_admin_password,omitempty" table:"-"`
// Dragonfly specific
DragonflyPassword *string `json:"dragonfly_password,omitempty" table:"-"`
// Relationship IDs - internal database IDs (hidden from output)
ServerID *int `json:"-" table:"-"`
EnvironmentID *int `json:"-" table:"-"`
ProjectID *int `json:"-" table:"-"`
// Metadata
CreatedAt string `json:"-" table:"-"`
UpdatedAt string `json:"-" table:"-"`
}
Database represents a standalone Coolify database
type DatabaseBackup ¶
type DatabaseBackup struct {
ID int `json:"-" table:"-"`
UUID string `json:"uuid"`
Description *string `json:"description,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
Frequency *string `json:"frequency,omitempty"`
SaveS3 *bool `json:"save_s3,omitempty"`
S3StorageID *int `json:"-" table:"-"`
DatabasesToBackup *string `json:"databases_to_backup,omitempty"`
DumpAll *bool `json:"dump_all,omitempty"`
DatabaseBackupRetentionAmountLocally *int `json:"database_backup_retention_amount_locally,omitempty"`
DatabaseBackupRetentionDaysLocally *int `json:"database_backup_retention_days_locally,omitempty"`
DatabaseBackupRetentionMaxStorageLocally *string `json:"database_backup_retention_max_storage_locally,omitempty"`
DatabaseBackupRetentionAmountS3 *int `json:"database_backup_retention_amount_s3,omitempty"`
DatabaseBackupRetentionDaysS3 *int `json:"database_backup_retention_days_s3,omitempty"`
DatabaseBackupRetentionMaxStorageS3 *string `json:"database_backup_retention_max_storage_s3,omitempty"`
DatabaseType *string `json:"database_type,omitempty" table:"-"`
DatabaseID *int `json:"-" table:"-"`
TeamID *int `json:"-" table:"-"`
Timeout *int `json:"timeout,omitempty"`
DisableLocalBackup *bool `json:"disable_local_backup,omitempty"`
CreatedAt string `json:"-" table:"-"`
UpdatedAt string `json:"-" table:"-"`
}
DatabaseBackup represents a scheduled database backup configuration
type DatabaseBackupCreateRequest ¶
type DatabaseBackupCreateRequest struct {
Frequency *string `json:"frequency,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
SaveS3 *bool `json:"save_s3,omitempty"`
S3StorageUUID *string `json:"s3_storage_uuid,omitempty"`
DatabasesToBackup *string `json:"databases_to_backup,omitempty"`
DumpAll *bool `json:"dump_all,omitempty"`
DatabaseBackupRetentionAmountLocally *int `json:"database_backup_retention_amount_locally,omitempty"`
DatabaseBackupRetentionDaysLocally *int `json:"database_backup_retention_days_locally,omitempty"`
DatabaseBackupRetentionMaxStorageLocally *string `json:"database_backup_retention_max_storage_locally,omitempty"`
DatabaseBackupRetentionAmountS3 *int `json:"database_backup_retention_amount_s3,omitempty"`
DatabaseBackupRetentionDaysS3 *int `json:"database_backup_retention_days_s3,omitempty"`
DatabaseBackupRetentionMaxStorageS3 *string `json:"database_backup_retention_max_storage_s3,omitempty"`
Timeout *int `json:"timeout,omitempty"`
DisableLocalBackup *bool `json:"disable_local_backup,omitempty"`
}
DatabaseBackupCreateRequest represents the request to create a backup configuration
type DatabaseBackupExecution ¶
type DatabaseBackupExecution struct {
UUID string `json:"uuid"`
Filename *string `json:"filename,omitempty"`
Size *int `json:"size,omitempty"`
Status *string `json:"status,omitempty"`
Message *string `json:"message,omitempty"`
CreatedAt string `json:"-" table:"-"`
}
DatabaseBackupExecution represents a single backup execution
type DatabaseBackupExecutionsResponse ¶
type DatabaseBackupExecutionsResponse struct {
Executions []DatabaseBackupExecution `json:"executions"`
}
DatabaseBackupExecutionsResponse represents the response containing backup executions
type DatabaseBackupResponse ¶
type DatabaseBackupResponse struct {
Message string `json:"message"`
}
DatabaseBackupResponse represents a generic backup operation response
type DatabaseBackupUpdateRequest ¶
type DatabaseBackupUpdateRequest struct {
SaveS3 *bool `json:"save_s3,omitempty"`
S3StorageUUID *string `json:"s3_storage_uuid,omitempty"`
BackupNow *bool `json:"backup_now,omitempty"`
Enabled *bool `json:"enabled,omitempty"`
DatabasesToBackup *string `json:"databases_to_backup,omitempty"`
DumpAll *bool `json:"dump_all,omitempty"`
Frequency *string `json:"frequency,omitempty"`
DatabaseBackupRetentionAmountLocally *int `json:"database_backup_retention_amount_locally,omitempty"`
DatabaseBackupRetentionDaysLocally *int `json:"database_backup_retention_days_locally,omitempty"`
DatabaseBackupRetentionMaxStorageLocally *int `json:"database_backup_retention_max_storage_locally,omitempty"`
DatabaseBackupRetentionAmountS3 *int `json:"database_backup_retention_amount_s3,omitempty"`
DatabaseBackupRetentionDaysS3 *int `json:"database_backup_retention_days_s3,omitempty"`
DatabaseBackupRetentionMaxStorageS3 *int `json:"database_backup_retention_max_storage_s3,omitempty"`
}
DatabaseBackupUpdateRequest represents the request to update a backup configuration
type DatabaseCreateRequest ¶
type DatabaseCreateRequest struct {
ServerUUID string `json:"server_uuid"`
ProjectUUID string `json:"project_uuid"`
EnvironmentName *string `json:"environment_name,omitempty"`
EnvironmentUUID *string `json:"environment_uuid,omitempty"`
DestinationUUID *string `json:"destination_uuid,omitempty"`
InstantDeploy *bool `json:"instant_deploy,omitempty"`
// Common fields
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
Image *string `json:"image,omitempty"`
IsPublic *bool `json:"is_public,omitempty"`
PublicPort *int `json:"public_port,omitempty"`
// Resource limits (hidden from CLI output)
LimitsMemory *string `json:"limits_memory,omitempty" table:"-"`
LimitsMemorySwap *string `json:"limits_memory_swap,omitempty" table:"-"`
LimitsMemorySwappiness *int `json:"limits_memory_swappiness,omitempty" table:"-"`
LimitsMemoryReservation *string `json:"limits_memory_reservation,omitempty" table:"-"`
LimitsCpus *string `json:"limits_cpus,omitempty" table:"-"`
LimitsCpuset *string `json:"limits_cpuset,omitempty" table:"-"`
// PostgreSQL specific
PostgresUser *string `json:"postgres_user,omitempty"`
PostgresPassword *string `json:"postgres_password,omitempty"`
PostgresDB *string `json:"postgres_db,omitempty" table:"-"`
PostgresInitdbArgs *string `json:"postgres_initdb_args,omitempty"`
PostgresHostAuthMethod *string `json:"postgres_host_auth_method,omitempty"`
PostgresConf *string `json:"postgres_conf,omitempty"`
// MySQL specific
MysqlRootPassword *string `json:"mysql_root_password,omitempty"`
MysqlPassword *string `json:"mysql_password,omitempty"`
MysqlUser *string `json:"mysql_user,omitempty"`
MysqlDatabase *string `json:"mysql_database,omitempty" table:"-"`
MysqlConf *string `json:"mysql_conf,omitempty"`
// MariaDB specific
MariadbRootPassword *string `json:"mariadb_root_password,omitempty"`
MariadbPassword *string `json:"mariadb_password,omitempty"`
MariadbUser *string `json:"mariadb_user,omitempty"`
MariadbDatabase *string `json:"mariadb_database,omitempty" table:"-"`
MariadbConf *string `json:"mariadb_conf,omitempty"`
// MongoDB specific
MongoInitdbRootUsername *string `json:"mongo_initdb_root_username,omitempty"`
MongoInitdbRootPassword *string `json:"mongo_initdb_root_password,omitempty"`
MongoInitdbDatabase *string `json:"mongo_initdb_database,omitempty" table:"-"`
MongoConf *string `json:"mongo_conf,omitempty"`
// Redis specific
RedisPassword *string `json:"redis_password,omitempty"`
RedisConf *string `json:"redis_conf,omitempty"`
// KeyDB specific
KeydbPassword *string `json:"keydb_password,omitempty"`
KeydbConf *string `json:"keydb_conf,omitempty"`
// Clickhouse specific
ClickhouseAdminUser *string `json:"clickhouse_admin_user,omitempty"`
ClickhouseAdminPassword *string `json:"clickhouse_admin_password,omitempty"`
// Dragonfly specific
DragonflyPassword *string `json:"dragonfly_password,omitempty"`
}
DatabaseCreateRequest represents the base request to create a database
type DatabaseEnvBulkUpdateRequest ¶ added in v1.5.0
type DatabaseEnvBulkUpdateRequest struct {
Data []DatabaseEnvironmentVariableCreateRequest `json:"data"`
}
DatabaseEnvBulkUpdateRequest represents the request to bulk update database environment variables
type DatabaseEnvBulkUpdateResponse ¶ added in v1.5.0
type DatabaseEnvBulkUpdateResponse []DatabaseEnvironmentVariable
DatabaseEnvBulkUpdateResponse represents the response from database bulk update
type DatabaseEnvironmentVariable ¶ added in v1.5.0
type DatabaseEnvironmentVariable struct {
ID int `json:"-" table:"-"`
UUID string `json:"uuid"`
Key string `json:"key"`
Value string `json:"value" sensitive:"true"`
IsBuildTime bool `json:"is_buildtime"`
IsLiteralValue bool `json:"is_literal"`
IsShownOnce bool `json:"is_shown_once"`
IsRuntime bool `json:"is_runtime"`
Comment *string `json:"comment,omitempty"`
RealValue *string `json:"real_value,omitempty" sensitive:"true"`
DatabaseID *int `json:"-" table:"-"`
CreatedAt string `json:"-" table:"-"`
UpdatedAt string `json:"-" table:"-"`
}
DatabaseEnvironmentVariable represents an environment variable for a database
type DatabaseEnvironmentVariableCreateRequest ¶ added in v1.5.0
type DatabaseEnvironmentVariableCreateRequest struct {
Key string `json:"key"`
Value string `json:"value"`
IsLiteral *bool `json:"is_literal,omitempty"`
IsMultiline *bool `json:"is_multiline,omitempty"`
IsShownOnce *bool `json:"is_shown_once,omitempty"`
Comment *string `json:"comment,omitempty"`
}
DatabaseEnvironmentVariableCreateRequest represents the request to create a database environment variable
type DatabaseEnvironmentVariableUpdateRequest ¶ added in v1.5.0
type DatabaseEnvironmentVariableUpdateRequest struct {
Key *string `json:"key,omitempty"`
Value *string `json:"value,omitempty"`
IsLiteral *bool `json:"is_literal,omitempty"`
IsMultiline *bool `json:"is_multiline,omitempty"`
IsShownOnce *bool `json:"is_shown_once,omitempty"`
Comment *string `json:"comment,omitempty"`
}
DatabaseEnvironmentVariableUpdateRequest represents the request to update a database environment variable
type DatabaseLifecycleResponse ¶
type DatabaseLifecycleResponse struct {
Message string `json:"message"`
}
DatabaseLifecycleResponse represents the response from lifecycle operations
type DatabaseUpdateRequest ¶
type DatabaseUpdateRequest struct {
Name *string `json:"name,omitempty"`
Image *string `json:"image,omitempty"`
Description *string `json:"description,omitempty"`
IsPublic *bool `json:"is_public,omitempty"`
PublicPort *int `json:"public_port,omitempty"`
// Resource limits
LimitsMemory *string `json:"limits_memory,omitempty"`
LimitsCpus *string `json:"limits_cpus,omitempty"`
}
DatabaseUpdateRequest represents the request to update a database Only common configuration fields that make sense to update after creation
type DeployRequest ¶ added in v1.6.0
type DeployRequest struct {
UUID string `json:"uuid"`
Force *bool `json:"force,omitempty"`
PullRequestID *int `json:"pull_request_id,omitempty"`
DockerTag *string `json:"docker_tag,omitempty"`
}
DeployRequest represents the request to trigger a deployment.
type DeployResponse ¶
type DeployResponse struct {
Message string `json:"message"`
DeploymentUUID string `json:"deployment_uuid,omitempty"`
}
DeployResponse wraps deployment trigger responses
type Deployment ¶
type Deployment struct {
ID int `json:"id" table:"-"`
UUID string `json:"deployment_uuid"`
ApplicationID *string `json:"application_id,omitempty" table:"-"`
ApplicationName *string `json:"application_name,omitempty"`
ServerName *string `json:"server_name,omitempty"`
Status string `json:"status"`
Commit *string `json:"commit,omitempty"`
CommitMessage *string `json:"commit_message,omitempty" table:"-"`
// Additional fields from API that we want to ignore
DeploymentURL *string `json:"deployment_url,omitempty" table:"-"`
FinishedAt *string `json:"finished_at,omitempty" table:"-"`
Logs *string `json:"logs,omitempty" table:"-"`
CreatedAt *string `json:"created_at,omitempty" table:"-"`
UpdatedAt *string `json:"updated_at,omitempty" table:"-"`
}
Deployment represents a deployment operation
type Environment ¶
type Environment struct {
ID int `json:"-" table:"-"`
UUID string `json:"uuid"`
Name string `json:"name"`
Description *string `json:"description,omitempty"`
Applications []ApplicationInProject `json:"applications,omitempty"`
CreatedAt string `json:"-" table:"-"`
UpdatedAt string `json:"-" table:"-"`
}
Environment within a project
type EnvironmentVariable ¶
type EnvironmentVariable struct {
ID int `json:"-" table:"-"`
UUID string `json:"uuid"`
Key string `json:"key"`
Value string `json:"value" sensitive:"true"`
IsBuildTime bool `json:"is_buildtime"`
IsPreview bool `json:"is_preview"`
IsLiteralValue bool `json:"is_literal"`
IsShownOnce bool `json:"is_shown_once"`
IsRuntime bool `json:"is_runtime"`
Comment *string `json:"comment,omitempty"`
RealValue *string `json:"real_value,omitempty" sensitive:"true"`
ApplicationID *int `json:"-" table:"-"`
CreatedAt string `json:"-" table:"-"`
UpdatedAt string `json:"-" table:"-"`
}
EnvironmentVariable represents an environment variable for an application
type EnvironmentVariableCreateRequest ¶
type EnvironmentVariableCreateRequest struct {
Key string `json:"key"`
Value string `json:"value"`
IsBuildTime *bool `json:"is_build_time,omitempty"`
IsPreview *bool `json:"is_preview,omitempty"`
IsLiteral *bool `json:"is_literal,omitempty"`
IsMultiline *bool `json:"is_multiline,omitempty"`
IsRuntime *bool `json:"is_runtime,omitempty"`
Comment *string `json:"comment,omitempty"`
}
EnvironmentVariableCreateRequest represents the request to create an environment variable
type EnvironmentVariableUpdateRequest ¶
type EnvironmentVariableUpdateRequest struct {
Key *string `json:"key,omitempty"`
Value *string `json:"value,omitempty"`
IsBuildTime *bool `json:"is_build_time,omitempty"`
IsPreview *bool `json:"is_preview,omitempty"`
IsLiteral *bool `json:"is_literal,omitempty"`
IsMultiline *bool `json:"is_multiline,omitempty"`
IsRuntime *bool `json:"is_runtime,omitempty"`
Comment *string `json:"comment,omitempty"`
}
EnvironmentVariableUpdateRequest represents the request to update an environment variable
type FileStorage ¶ added in v1.5.0
type FileStorage struct {
ID int `json:"id"`
UUID string `json:"uuid"`
FsPath string `json:"fs_path"`
MountPath string `json:"mount_path"`
Content *string `json:"content,omitempty"`
IsDirectory bool `json:"is_directory"`
IsBasedOnGit bool `json:"is_based_on_git"`
IsPreviewSuffixEnabled bool `json:"is_preview_suffix_enabled"`
Chown *string `json:"chown,omitempty"`
Chmod *string `json:"chmod,omitempty"`
ResourceType string `json:"resource_type" table:"-"`
ResourceID int `json:"resource_id" table:"-"`
}
FileStorage represents a file storage for an application
type GitHubApp ¶
type GitHubApp struct {
ID int `json:"id" table:"-"`
UUID string `json:"uuid"`
Name string `json:"name"`
Organization *string `json:"organization,omitempty"`
APIURL string `json:"api_url"`
HTMLURL string `json:"html_url"`
CustomUser string `json:"custom_user"`
CustomPort int `json:"custom_port"`
AppID int `json:"app_id" table:"-"`
InstallationID int `json:"installation_id" table:"-"`
ClientID string `json:"client_id" table:"-"`
PrivateKeyID int `json:"private_key_id" table:"-"`
IsSystemWide bool `json:"is_system_wide" table:"-"`
TeamID int `json:"team_id" table:"-"`
}
GitHubApp represents a GitHub App integration
type GitHubAppCreateRequest ¶
type GitHubAppCreateRequest struct {
Name string `json:"name"`
Organization *string `json:"organization,omitempty"`
APIURL string `json:"api_url"`
HTMLURL string `json:"html_url"`
CustomUser *string `json:"custom_user,omitempty"`
CustomPort *int `json:"custom_port,omitempty"`
AppID int `json:"app_id"`
InstallationID int `json:"installation_id"`
ClientID string `json:"client_id"`
ClientSecret string `json:"client_secret" sensitive:"true"`
WebhookSecret *string `json:"webhook_secret,omitempty" sensitive:"true"`
PrivateKeyUUID string `json:"private_key_uuid"`
IsSystemWide *bool `json:"is_system_wide,omitempty"`
}
GitHubAppCreateRequest represents a request to create a GitHub App
type GitHubAppUpdateRequest ¶
type GitHubAppUpdateRequest struct {
Name *string `json:"name,omitempty"`
Organization *string `json:"organization,omitempty"`
APIURL *string `json:"api_url,omitempty"`
HTMLURL *string `json:"html_url,omitempty"`
CustomUser *string `json:"custom_user,omitempty"`
CustomPort *int `json:"custom_port,omitempty"`
AppID *int `json:"app_id,omitempty"`
InstallationID *int `json:"installation_id,omitempty"`
ClientID *string `json:"client_id,omitempty"`
ClientSecret *string `json:"client_secret,omitempty" sensitive:"true"`
WebhookSecret *string `json:"webhook_secret,omitempty" sensitive:"true"`
PrivateKeyUUID *string `json:"private_key_uuid,omitempty"`
IsSystemWide *bool `json:"is_system_wide,omitempty"`
}
GitHubAppUpdateRequest represents a request to update a GitHub App
type GitHubBranch ¶
GitHubBranch represents a branch from GitHub
type GitHubRepository ¶
type GitHubRepository struct {
ID int `json:"id"`
Name string `json:"name"`
FullName string `json:"full_name"`
Private bool `json:"private"`
HTMLURL string `json:"html_url"`
CloneURL string `json:"clone_url"`
}
GitHubRepository represents a repository from GitHub
type LogEntry ¶
type LogEntry struct {
Command *string `json:"command"`
Output string `json:"output"`
Type string `json:"type"`
Timestamp string `json:"timestamp"`
Hidden bool `json:"hidden"`
Batch int `json:"batch"`
Order int `json:"order,omitempty"`
}
LogEntry represents a single log entry from a deployment
type PersistentStorage ¶ added in v1.5.0
type PersistentStorage struct {
ID int `json:"id" table:"-"`
UUID string `json:"uuid"`
Name string `json:"name"`
MountPath string `json:"mount_path"`
HostPath *string `json:"host_path,omitempty"`
IsPreviewSuffixEnabled bool `json:"is_preview_suffix_enabled"`
IsReadOnly bool `json:"is_readonly"`
ResourceType string `json:"resource_type" table:"-"`
ResourceID int `json:"resource_id" table:"-"`
}
PersistentStorage represents a persistent volume for an application
type PrivateKey ¶
type PrivateKey struct {
ID int `json:"-" table:"-"`
UUID string `json:"uuid"`
Name string `json:"name"`
PublicKey string `json:"public_key" sensitive:"true"`
PrivateKey string `json:"private_key" sensitive:"true"`
}
PrivateKey represents an SSH private key
type PrivateKeyCreateRequest ¶
type PrivateKeyCreateRequest struct {
Name string `json:"name"`
PrivateKey string `json:"private_key"`
}
PrivateKeyCreateRequest for creating keys
type Project ¶
type Project struct {
UUID string `json:"uuid"`
Name string `json:"name"`
Description *string `json:"description,omitempty"`
Environments []Environment `json:"environments,omitempty"`
}
Project represents a Coolify project
type ProjectCreateRequest ¶
type ProjectCreateRequest struct {
Name string `json:"name"`
Description *string `json:"description,omitempty"`
}
ProjectCreateRequest for creating projects
type Resource ¶
type Resource struct {
ID int `json:"-" table:"-"`
UUID string `json:"uuid"`
Name string `json:"name"`
Type string `json:"type"`
Status string `json:"status"`
}
Resource represents any deployable resource
type Resources ¶
type Resources struct {
Resources []Resource `json:"resources"`
}
Resources wraps a list of resources
type Response ¶
type Response struct {
Message string `json:"message,omitempty"`
Error string `json:"error,omitempty"`
UUID string `json:"uuid,omitempty"`
}
Response wraps common API response fields
type Server ¶
type Server struct {
ID int `json:"-" table:"-"`
UUID string `json:"uuid"`
Name string `json:"name"`
IP string `json:"ip" sensitive:"true"`
User string `json:"user" sensitive:"true"`
Port int `json:"port" sensitive:"true"`
Settings Settings `json:"settings" table:"-"`
}
Server represents a Coolify server
type ServerCreateRequest ¶
type ServerCreateRequest struct {
Name string `json:"name"`
IP string `json:"ip"`
Port int `json:"port"`
User string `json:"user"`
PrivateKeyUUID string `json:"private_key_uuid"`
InstantValidate bool `json:"instant_validate"`
}
ServerCreateRequest for creating servers
type Service ¶
type Service struct {
ID int `json:"-" table:"-"`
UUID string `json:"uuid"`
Name string `json:"name"`
Description *string `json:"description,omitempty"`
Status string `json:"status"`
// Relationship IDs - internal database IDs (hidden from output)
ServerID *int `json:"-" table:"-"`
EnvironmentID *int `json:"-" table:"-"`
ProjectID *int `json:"-" table:"-"`
// Docker configuration (hidden from table output)
DockerCompose *string `json:"docker_compose,omitempty" table:"-"`
DockerComposeRaw *string `json:"docker_compose_raw,omitempty" table:"-"`
// Additional metadata
CreatedAt string `json:"-" table:"-"`
UpdatedAt string `json:"-" table:"-"`
// Nested resources
Applications []ServiceApplication `json:"applications,omitempty"`
Databases []ServiceDatabase `json:"databases,omitempty"`
}
Service represents a Coolify one-click service
type ServiceApplication ¶
type ServiceApplication struct {
ID int `json:"-" table:"-"`
UUID string `json:"uuid"`
Name string `json:"name"`
Status *string `json:"status,omitempty"`
Fqdn *string `json:"fqdn,omitempty"`
}
ServiceApplication represents an application within a service
type ServiceCreateRequest ¶
type ServiceCreateRequest struct {
Type string `json:"type"`
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
ServerUUID string `json:"server_uuid"`
ProjectUUID string `json:"project_uuid"`
EnvironmentName string `json:"environment_name,omitempty"`
EnvironmentUUID *string `json:"environment,omitempty"`
InstantDeploy *bool `json:"instant_deploy,omitempty"`
DockerCompose *string `json:"docker_compose,omitempty"`
Destination *string `json:"destination,omitempty"`
}
ServiceCreateRequest represents the request to create a service
type ServiceDatabase ¶
type ServiceDatabase struct {
ID int `json:"-" table:"-"`
UUID string `json:"uuid"`
Name string `json:"name"`
Type *string `json:"type,omitempty"`
Status *string `json:"status,omitempty"`
}
ServiceDatabase represents a database within a service
type ServiceEnvBulkUpdateRequest ¶ added in v1.3.0
type ServiceEnvBulkUpdateRequest struct {
Data []ServiceEnvironmentVariableCreateRequest `json:"data"`
}
ServiceEnvBulkUpdateRequest represents the request to bulk update service environment variables
type ServiceEnvBulkUpdateResponse ¶ added in v1.3.0
type ServiceEnvBulkUpdateResponse []ServiceEnvironmentVariable
ServiceEnvBulkUpdateResponse represents the response from service bulk update
type ServiceEnvironmentVariable ¶ added in v1.3.0
type ServiceEnvironmentVariable struct {
ID int `json:"-" table:"-"`
UUID string `json:"uuid"`
Key string `json:"key"`
Value string `json:"value" sensitive:"true"`
IsBuildTime bool `json:"is_buildtime"`
IsLiteralValue bool `json:"is_literal"`
IsShownOnce bool `json:"is_shown_once"`
IsRuntime bool `json:"is_runtime"`
Comment *string `json:"comment,omitempty"`
RealValue *string `json:"real_value,omitempty" sensitive:"true"`
ServiceID *int `json:"-" table:"-"`
CreatedAt string `json:"-" table:"-"`
UpdatedAt string `json:"-" table:"-"`
}
ServiceEnvironmentVariable represents an environment variable for a service Services don't have preview deployments, so IsPreview is excluded from output
type ServiceEnvironmentVariableCreateRequest ¶ added in v1.3.0
type ServiceEnvironmentVariableCreateRequest struct {
Key string `json:"key"`
Value string `json:"value"`
IsBuildTime *bool `json:"is_build_time,omitempty"`
IsLiteral *bool `json:"is_literal,omitempty"`
IsMultiline *bool `json:"is_multiline,omitempty"`
IsRuntime *bool `json:"is_runtime,omitempty"`
Comment *string `json:"comment,omitempty"`
}
ServiceEnvironmentVariableCreateRequest represents the request to create a service environment variable
type ServiceEnvironmentVariableUpdateRequest ¶ added in v1.3.0
type ServiceEnvironmentVariableUpdateRequest struct {
Key *string `json:"key,omitempty"`
Value *string `json:"value,omitempty"`
IsBuildTime *bool `json:"is_build_time,omitempty"`
IsLiteral *bool `json:"is_literal,omitempty"`
IsMultiline *bool `json:"is_multiline,omitempty"`
IsRuntime *bool `json:"is_runtime,omitempty"`
Comment *string `json:"comment,omitempty"`
}
ServiceEnvironmentVariableUpdateRequest represents the request to update a service environment variable
type ServiceLifecycleResponse ¶
type ServiceLifecycleResponse struct {
Message string `json:"message"`
}
ServiceLifecycleResponse represents the response from lifecycle operations
type ServiceStorageCreateRequest ¶ added in v1.5.0
type ServiceStorageCreateRequest struct {
Type string `json:"type"` // "persistent" or "file"
MountPath string `json:"mount_path"` // required
ResourceUUID string `json:"resource_uuid"` // required for services
Name *string `json:"name,omitempty"`
HostPath *string `json:"host_path,omitempty"`
Content *string `json:"content,omitempty"`
IsDirectory *bool `json:"is_directory,omitempty"`
FsPath *string `json:"fs_path,omitempty"`
}
ServiceStorageCreateRequest represents the request to create a storage for services Services require resource_uuid to identify which sub-resource the storage belongs to
type ServiceUpdateRequest ¶
type ServiceUpdateRequest struct {
Name *string `json:"name,omitempty"`
Description *string `json:"description,omitempty"`
DockerCompose *string `json:"docker_compose,omitempty"`
}
ServiceUpdateRequest represents the request to update a service
type StorageCreateRequest ¶ added in v1.5.0
type StorageCreateRequest struct {
Type string `json:"type"` // "persistent" or "file"
MountPath string `json:"mount_path"` // required
Name *string `json:"name,omitempty"`
HostPath *string `json:"host_path,omitempty"`
Content *string `json:"content,omitempty"`
IsDirectory *bool `json:"is_directory,omitempty"`
FsPath *string `json:"fs_path,omitempty"`
}
StorageCreateRequest represents the request to create a storage for applications and databases
type StorageListItem ¶ added in v1.5.0
type StorageListItem struct {
ID int `json:"id" table:"-"`
UUID string `json:"uuid"`
Type string `json:"type"`
Name string `json:"name"`
MountPath string `json:"mount_path"`
HostPath string `json:"host_path,omitempty"`
IsPreviewSuffixEnabled bool `json:"is_preview_suffix_enabled"`
Content string `json:"content,omitempty" table:"-"`
}
StorageListItem is a unified view of both storage types for table output
func MergeStorages ¶ added in v1.5.0
func MergeStorages(resp StoragesResponse) []StorageListItem
MergeStorages converts a StoragesResponse into a unified list of StorageListItem
type StorageUpdateRequest ¶ added in v1.5.0
type StorageUpdateRequest struct {
// Required fields
Type string `json:"type"` // "persistent" or "file"
// Identifier (uuid preferred, id deprecated)
UUID *string `json:"uuid,omitempty"`
ID *int `json:"id,omitempty"`
// Optional fields
IsPreviewSuffixEnabled *bool `json:"is_preview_suffix_enabled,omitempty"`
Name *string `json:"name,omitempty"`
MountPath *string `json:"mount_path,omitempty"`
HostPath *string `json:"host_path,omitempty"`
Content *string `json:"content,omitempty"`
}
StorageUpdateRequest represents the request to update a storage
type StoragesResponse ¶ added in v1.5.0
type StoragesResponse struct {
PersistentStorages []PersistentStorage `json:"persistent_storages"`
FileStorages []FileStorage `json:"file_storages"`
}
StoragesResponse represents the API response for listing storages
type Team ¶
type Team struct {
ID int `json:"id"`
Name string `json:"name"`
Description *string `json:"description,omitempty"`
PersonalTeam bool `json:"personal_team"`
CreatedAt string `json:"created_at" table:"-"`
UpdatedAt string `json:"updated_at" table:"-"`
ShowBoarding bool `json:"show_boarding" `
CustomServerLimit *string `json:"custom_server_limit,omitempty" table:"-"`
}
Team represents a Coolify team
type TeamMember ¶
type TeamMember struct {
ID int `json:"id"`
Name string `json:"name"`
Email string `json:"email" sensitive:"true"`
EmailVerifiedAt *string `json:"email_verified_at,omitempty" table:"-"`
Role *string `json:"role,omitempty"`
CreatedAt string `json:"created_at" table:"-"`
UpdatedAt string `json:"updated_at" table:"-"`
TwoFactorConfirmedAt *string `json:"two_factor_confirmed_at,omitempty" table:"-"`
ForcePasswordReset bool `json:"force_password_reset"`
MarketingEmails bool `json:"marketing_emails"`
}
TeamMember represents a member of a team
type Timestamps ¶
type Timestamps struct {
CreatedAt string `json:"-" table:"-"`
UpdatedAt string `json:"-" table:"-"`
}
Timestamps for created/updated times