Documentation
¶
Index ¶
- Constants
- func ParseAndFormatLogs(logsJSON string, showHidden bool) (string, error)
- type Application
- type ApplicationInProject
- type ApplicationLifecycleResponse
- type ApplicationListItem
- type ApplicationLogsResponse
- type ApplicationUpdateRequest
- type Database
- type DatabaseBackup
- type DatabaseBackupCreateRequest
- type DatabaseBackupExecution
- type DatabaseBackupExecutionsResponse
- type DatabaseBackupResponse
- type DatabaseBackupUpdateRequest
- type DatabaseCreateRequest
- type DatabaseLifecycleResponse
- type DatabaseUpdateRequest
- type DeployResponse
- type Deployment
- type Domain
- type Environment
- type EnvironmentVariable
- type EnvironmentVariableCreateRequest
- type EnvironmentVariableUpdateRequest
- type GitHubApp
- type GitHubAppCreateRequest
- type GitHubAppUpdateRequest
- type GitHubBranch
- type GitHubRepository
- type LogEntry
- 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 ServiceLifecycleResponse
- type ServiceUpdateRequest
- type Settings
- 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 {
ID int `json:"-" table:"-"`
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"`
CreatedAt string `json:"-" table:"-"`
UpdatedAt string `json:"-" table:"-"`
}
Application represents a Coolify application
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 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"`
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 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 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_build_time"`
IsPreview bool `json:"is_preview"`
IsLiteralValue bool `json:"is_literal"`
IsShownOnce bool `json:"is_shown_once"`
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"`
}
EnvironmentVariableCreateRequest represents the request to create an environment variable
type EnvironmentVariableUpdateRequest ¶
type EnvironmentVariableUpdateRequest struct {
UUID string `json:"uuid"`
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"`
}
EnvironmentVariableUpdateRequest represents the request to update an environment variable
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 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"`
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 ServiceLifecycleResponse ¶
type ServiceLifecycleResponse struct {
Message string `json:"message"`
}
ServiceLifecycleResponse represents the response from lifecycle operations
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 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