types

package
v1.16.1 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2026 License: BSD-3-Clause Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var Endpoints = ArcaneApiEndpoints{}/* 110 elements not displayed */

Endpoints contains the defined API endpoints

View Source
var KnownPaginatedResources = []string{
	"containers",
	"images",
	"volumes",
	"networks",
	"projects",
	"environments",
	"registries",
	"templates",
	"users",
	"events",
	"apikeys",
}

KnownPaginatedResources is the canonical list of paginated CLI resources.

Functions

func NormalizePaginatedResource added in v1.16.0

func NormalizePaginatedResource(resource string) string

NormalizePaginatedResource normalizes resource names and common aliases.

Types

type ArcaneApiEndpoints

type ArcaneApiEndpoints struct {
	// Version
	VersionEndpoint string

	// Authentication
	AuthLogoutEndpoint   string
	AuthMeEndpoint       string
	AuthPasswordEndpoint string
	AuthRefreshEndpoint  string

	// OIDC
	OIDCDeviceCodeEndpoint  string
	OIDCDeviceTokenEndpoint string
	OIDCStatusEndpoint      string

	// API Keys
	ApiKeysEndpoint string
	ApiKeyEndpoint  string

	// Users
	UsersEndpoint string
	UserEndpoint  string

	// Environments
	EnvironmentsEndpoint       string
	EnvironmentEndpoint        string
	EnvironmentTestEndpoint    string
	EnvironmentVersionEndpoint string

	// Containers
	ContainersEndpoint       string
	ContainerEndpoint        string
	ContainerStartEndpoint   string
	ContainerStopEndpoint    string
	ContainerRestartEndpoint string
	ContainerUpdateEndpoint  string
	ContainersCountsEndpoint string

	// Images
	ImagesEndpoint       string
	ImageEndpoint        string
	ImagesPullEndpoint   string
	ImagesPruneEndpoint  string
	ImagesCountsEndpoint string
	ImagesUploadEndpoint string

	// Image Updates
	ImageUpdatesCheckEndpoint     string
	ImageUpdatesCheckAllEndpoint  string
	ImageUpdatesCheckByIdEndpoint string
	ImageUpdatesSummaryEndpoint   string

	// Networks
	NetworksEndpoint       string
	NetworkEndpoint        string
	NetworksCountsEndpoint string
	NetworksPruneEndpoint  string

	// Volumes
	VolumesEndpoint       string
	VolumeEndpoint        string
	VolumesCountsEndpoint string
	VolumesPruneEndpoint  string
	VolumesSizesEndpoint  string
	VolumeUsageEndpoint   string

	// Projects (Stacks)
	ProjectsEndpoint        string
	ProjectEndpoint         string
	ProjectsCountsEndpoint  string
	ProjectDestroyEndpoint  string
	ProjectUpEndpoint       string
	ProjectDownEndpoint     string
	ProjectRestartEndpoint  string
	ProjectRedeployEndpoint string
	ProjectPullEndpoint     string
	ProjectIncludesEndpoint string

	// System
	SystemPruneEndpoint              string
	SystemDockerInfoEndpoint         string
	SystemContainersStartAllEndpoint string
	SystemContainersStopAllEndpoint  string
	SystemStartStoppedEndpoint       string
	SystemConvertEndpoint            string
	SystemUpgradeEndpoint            string
	SystemUpgradeCheckEndpoint       string

	// Updater
	UpdaterStatusEndpoint  string
	UpdaterRunEndpoint     string
	UpdaterHistoryEndpoint string

	// Job Schedules
	JobSchedulesEndpoint string

	// Settings
	SettingsEndpoint       string
	SettingsPublicEndpoint string

	// Notifications
	NotificationsAppriseEndpoint         string
	NotificationsAppriseTestEndpoint     string
	NotificationsSettingsEndpoint        string
	NotificationSettingsProviderEndpoint string
	NotificationsTestProviderEndpoint    string

	// Container Registries
	ContainerRegistriesEndpoint   string
	ContainerRegistryEndpoint     string
	ContainerRegistrySyncEndpoint string
	ContainerRegistryTestEndpoint string

	// Events
	EventsEndpoint            string
	EventEndpoint             string
	EventsEnvironmentEndpoint string

	// Templates
	TemplatesEndpoint           string
	TemplateEndpoint            string
	TemplatesAllEndpoint        string
	TemplatesDefaultEndpoint    string
	TemplatesRegistriesEndpoint string
	TemplateRegistryEndpoint    string
	TemplatesVariablesEndpoint  string
	TemplateContentEndpoint     string
	TemplateDownloadEndpoint    string
	TemplateFetchEndpoint       string

	// Dashboard
	DashboardActionItemsEndpoint string

	// Assets
	AppImagesFaviconEndpoint string
	AppImagesLogoEndpoint    string
	AppImagesProfileEndpoint string
	FontsMonoEndpoint        string
	FontsSansEndpoint        string
	FontsSerifEndpoint       string

	// Customization
	CustomizeCategoriesEndpoint string
	CustomizeSearchEndpoint     string

	// GitOps Syncs
	GitOpsSyncsEndpoint       string
	GitOpsSyncEndpoint        string
	GitOpsSyncStatusEndpoint  string
	GitOpsSyncTriggerEndpoint string
	GitOpsSyncFilesEndpoint   string
	GitOpsSyncsImportEndpoint string

	// Git Repositories
	GitRepositoriesEndpoint       string
	GitRepositoryEndpoint         string
	GitRepositoryTestEndpoint     string
	GitRepositoryBranchesEndpoint string
	GitRepositoryFilesEndpoint    string
	GitRepositoriesSyncEndpoint   string
}

ArcaneApiEndpoints holds the API endpoint path templates for the Arcane API. Endpoint paths may contain format specifiers (e.g., %s) for environment IDs or resource IDs.

func (ArcaneApiEndpoints) ApiKey

func (e ArcaneApiEndpoints) ApiKey(id string) string

func (ArcaneApiEndpoints) ApiKeys

func (e ArcaneApiEndpoints) ApiKeys() string

API Key endpoints

func (ArcaneApiEndpoints) AuthLogout

func (e ArcaneApiEndpoints) AuthLogout() string

Auth endpoints

func (ArcaneApiEndpoints) AuthMe

func (e ArcaneApiEndpoints) AuthMe() string

func (ArcaneApiEndpoints) AuthPassword

func (e ArcaneApiEndpoints) AuthPassword() string

func (ArcaneApiEndpoints) AuthRefresh

func (e ArcaneApiEndpoints) AuthRefresh() string

func (ArcaneApiEndpoints) Container

func (e ArcaneApiEndpoints) Container(envID, containerID string) string

func (ArcaneApiEndpoints) ContainerRegistries

func (e ArcaneApiEndpoints) ContainerRegistries() string

Container Registry endpoints

func (ArcaneApiEndpoints) ContainerRegistry

func (e ArcaneApiEndpoints) ContainerRegistry(id string) string

func (ArcaneApiEndpoints) ContainerRegistrySync

func (e ArcaneApiEndpoints) ContainerRegistrySync() string

func (ArcaneApiEndpoints) ContainerRegistryTest

func (e ArcaneApiEndpoints) ContainerRegistryTest(id string) string

func (ArcaneApiEndpoints) ContainerRestart

func (e ArcaneApiEndpoints) ContainerRestart(envID, containerID string) string

func (ArcaneApiEndpoints) ContainerStart

func (e ArcaneApiEndpoints) ContainerStart(envID, containerID string) string

func (ArcaneApiEndpoints) ContainerStop

func (e ArcaneApiEndpoints) ContainerStop(envID, containerID string) string

func (ArcaneApiEndpoints) ContainerUpdate

func (e ArcaneApiEndpoints) ContainerUpdate(envID, containerID string) string

func (ArcaneApiEndpoints) Containers

func (e ArcaneApiEndpoints) Containers(envID string) string

Container endpoints

func (ArcaneApiEndpoints) ContainersCounts

func (e ArcaneApiEndpoints) ContainersCounts(envID string) string

func (ArcaneApiEndpoints) DashboardActionItems added in v1.16.0

func (e ArcaneApiEndpoints) DashboardActionItems(envID string) string

Dashboard endpoints

func (ArcaneApiEndpoints) Environment

func (e ArcaneApiEndpoints) Environment(id string) string

func (ArcaneApiEndpoints) EnvironmentTest

func (e ArcaneApiEndpoints) EnvironmentTest(envID string) string

func (ArcaneApiEndpoints) EnvironmentVersion added in v1.16.0

func (e ArcaneApiEndpoints) EnvironmentVersion(envID string) string

func (ArcaneApiEndpoints) Environments

func (e ArcaneApiEndpoints) Environments() string

Environment endpoints

func (ArcaneApiEndpoints) Event

func (e ArcaneApiEndpoints) Event(id string) string

func (ArcaneApiEndpoints) Events

func (e ArcaneApiEndpoints) Events() string

Event endpoints

func (ArcaneApiEndpoints) EventsEnvironment

func (e ArcaneApiEndpoints) EventsEnvironment(envID string) string

func (ArcaneApiEndpoints) GitOpsSync added in v1.16.0

func (e ArcaneApiEndpoints) GitOpsSync(envID, syncID string) string

func (ArcaneApiEndpoints) GitOpsSyncFiles added in v1.16.0

func (e ArcaneApiEndpoints) GitOpsSyncFiles(envID, syncID string) string

func (ArcaneApiEndpoints) GitOpsSyncStatus added in v1.16.0

func (e ArcaneApiEndpoints) GitOpsSyncStatus(envID, syncID string) string

func (ArcaneApiEndpoints) GitOpsSyncTrigger added in v1.16.0

func (e ArcaneApiEndpoints) GitOpsSyncTrigger(envID, syncID string) string

func (ArcaneApiEndpoints) GitOpsSyncs added in v1.16.0

func (e ArcaneApiEndpoints) GitOpsSyncs(envID string) string

GitOps Sync endpoints

func (ArcaneApiEndpoints) GitOpsSyncsImport added in v1.16.0

func (e ArcaneApiEndpoints) GitOpsSyncsImport(envID string) string

func (ArcaneApiEndpoints) GitRepositories added in v1.16.0

func (e ArcaneApiEndpoints) GitRepositories() string

Git Repository endpoints

func (ArcaneApiEndpoints) GitRepositoriesSync added in v1.16.0

func (e ArcaneApiEndpoints) GitRepositoriesSync() string

func (ArcaneApiEndpoints) GitRepository added in v1.16.0

func (e ArcaneApiEndpoints) GitRepository(id string) string

func (ArcaneApiEndpoints) GitRepositoryBranches added in v1.16.0

func (e ArcaneApiEndpoints) GitRepositoryBranches(id string) string

func (ArcaneApiEndpoints) GitRepositoryFiles added in v1.16.0

func (e ArcaneApiEndpoints) GitRepositoryFiles(id string) string

func (ArcaneApiEndpoints) GitRepositoryTest added in v1.16.0

func (e ArcaneApiEndpoints) GitRepositoryTest(id string) string

func (ArcaneApiEndpoints) Image

func (e ArcaneApiEndpoints) Image(envID, imageID string) string

func (ArcaneApiEndpoints) ImageUpdatesCheck

func (e ArcaneApiEndpoints) ImageUpdatesCheck(envID string) string

Image Update endpoints

func (ArcaneApiEndpoints) ImageUpdatesCheckAll

func (e ArcaneApiEndpoints) ImageUpdatesCheckAll(envID string) string

func (ArcaneApiEndpoints) ImageUpdatesCheckById

func (e ArcaneApiEndpoints) ImageUpdatesCheckById(envID, imageID string) string

func (ArcaneApiEndpoints) ImageUpdatesSummary

func (e ArcaneApiEndpoints) ImageUpdatesSummary(envID string) string

func (ArcaneApiEndpoints) Images

func (e ArcaneApiEndpoints) Images(envID string) string

Image endpoints

func (ArcaneApiEndpoints) ImagesCounts

func (e ArcaneApiEndpoints) ImagesCounts(envID string) string

func (ArcaneApiEndpoints) ImagesPrune

func (e ArcaneApiEndpoints) ImagesPrune(envID string) string

func (ArcaneApiEndpoints) ImagesPull

func (e ArcaneApiEndpoints) ImagesPull(envID string) string

func (ArcaneApiEndpoints) ImagesUpload

func (e ArcaneApiEndpoints) ImagesUpload(envID string) string

func (ArcaneApiEndpoints) JobSchedules

func (e ArcaneApiEndpoints) JobSchedules(envID string) string

Job schedule endpoints

func (ArcaneApiEndpoints) Network

func (e ArcaneApiEndpoints) Network(envID, networkID string) string

func (ArcaneApiEndpoints) Networks

func (e ArcaneApiEndpoints) Networks(envID string) string

Network endpoints

func (ArcaneApiEndpoints) NetworksCounts

func (e ArcaneApiEndpoints) NetworksCounts(envID string) string

func (ArcaneApiEndpoints) NetworksPrune

func (e ArcaneApiEndpoints) NetworksPrune(envID string) string

func (ArcaneApiEndpoints) NotificationSettingsProvider added in v1.16.0

func (e ArcaneApiEndpoints) NotificationSettingsProvider(envID, provider string) string

func (ArcaneApiEndpoints) NotificationsApprise

func (e ArcaneApiEndpoints) NotificationsApprise(envID string) string

Notification endpoints

func (ArcaneApiEndpoints) NotificationsAppriseTest

func (e ArcaneApiEndpoints) NotificationsAppriseTest(envID string) string

func (ArcaneApiEndpoints) NotificationsSettings

func (e ArcaneApiEndpoints) NotificationsSettings(envID string) string

func (ArcaneApiEndpoints) NotificationsTestProvider added in v1.16.0

func (e ArcaneApiEndpoints) NotificationsTestProvider(envID, provider string) string

func (ArcaneApiEndpoints) OIDCDeviceCode

func (e ArcaneApiEndpoints) OIDCDeviceCode() string

OIDC endpoints

func (ArcaneApiEndpoints) OIDCDeviceToken

func (e ArcaneApiEndpoints) OIDCDeviceToken() string

func (ArcaneApiEndpoints) OIDCStatus

func (e ArcaneApiEndpoints) OIDCStatus() string

func (ArcaneApiEndpoints) Project

func (e ArcaneApiEndpoints) Project(envID, projectID string) string

func (ArcaneApiEndpoints) ProjectDestroy

func (e ArcaneApiEndpoints) ProjectDestroy(envID, projectID string) string

func (ArcaneApiEndpoints) ProjectDown

func (e ArcaneApiEndpoints) ProjectDown(envID, projectID string) string

func (ArcaneApiEndpoints) ProjectIncludes

func (e ArcaneApiEndpoints) ProjectIncludes(envID, projectID string) string

func (ArcaneApiEndpoints) ProjectPull

func (e ArcaneApiEndpoints) ProjectPull(envID, projectID string) string

func (ArcaneApiEndpoints) ProjectRedeploy

func (e ArcaneApiEndpoints) ProjectRedeploy(envID, projectID string) string

func (ArcaneApiEndpoints) ProjectRestart

func (e ArcaneApiEndpoints) ProjectRestart(envID, projectID string) string

func (ArcaneApiEndpoints) ProjectUp

func (e ArcaneApiEndpoints) ProjectUp(envID, projectID string) string

func (ArcaneApiEndpoints) Projects

func (e ArcaneApiEndpoints) Projects(envID string) string

Project endpoints

func (ArcaneApiEndpoints) ProjectsCounts

func (e ArcaneApiEndpoints) ProjectsCounts(envID string) string

func (ArcaneApiEndpoints) Settings

func (e ArcaneApiEndpoints) Settings(envID string) string

Settings endpoints

func (ArcaneApiEndpoints) SettingsPublic

func (e ArcaneApiEndpoints) SettingsPublic(envID string) string

func (ArcaneApiEndpoints) SystemContainersStartAll

func (e ArcaneApiEndpoints) SystemContainersStartAll(envID string) string

func (ArcaneApiEndpoints) SystemContainersStopAll

func (e ArcaneApiEndpoints) SystemContainersStopAll(envID string) string

func (ArcaneApiEndpoints) SystemConvert

func (e ArcaneApiEndpoints) SystemConvert(envID string) string

func (ArcaneApiEndpoints) SystemDockerInfo

func (e ArcaneApiEndpoints) SystemDockerInfo(envID string) string

func (ArcaneApiEndpoints) SystemPrune

func (e ArcaneApiEndpoints) SystemPrune(envID string) string

System endpoints

func (ArcaneApiEndpoints) SystemStartStopped added in v1.16.0

func (e ArcaneApiEndpoints) SystemStartStopped(envID string) string

func (ArcaneApiEndpoints) SystemUpgrade

func (e ArcaneApiEndpoints) SystemUpgrade(envID string) string

func (ArcaneApiEndpoints) SystemUpgradeCheck

func (e ArcaneApiEndpoints) SystemUpgradeCheck(envID string) string

func (ArcaneApiEndpoints) Template

func (e ArcaneApiEndpoints) Template(id string) string

func (ArcaneApiEndpoints) TemplateContent

func (e ArcaneApiEndpoints) TemplateContent(id string) string

func (ArcaneApiEndpoints) TemplateDownload

func (e ArcaneApiEndpoints) TemplateDownload(id string) string

func (ArcaneApiEndpoints) TemplateFetch added in v1.16.0

func (e ArcaneApiEndpoints) TemplateFetch() string

func (ArcaneApiEndpoints) TemplateRegistry

func (e ArcaneApiEndpoints) TemplateRegistry(id string) string

func (ArcaneApiEndpoints) Templates

func (e ArcaneApiEndpoints) Templates() string

Template endpoints

func (ArcaneApiEndpoints) TemplatesAll

func (e ArcaneApiEndpoints) TemplatesAll() string

func (ArcaneApiEndpoints) TemplatesDefault

func (e ArcaneApiEndpoints) TemplatesDefault() string

func (ArcaneApiEndpoints) TemplatesRegistries

func (e ArcaneApiEndpoints) TemplatesRegistries() string

func (ArcaneApiEndpoints) TemplatesVariables

func (e ArcaneApiEndpoints) TemplatesVariables() string

func (ArcaneApiEndpoints) UpdaterHistory

func (e ArcaneApiEndpoints) UpdaterHistory(envID string) string

func (ArcaneApiEndpoints) UpdaterRun

func (e ArcaneApiEndpoints) UpdaterRun(envID string) string

func (ArcaneApiEndpoints) UpdaterStatus

func (e ArcaneApiEndpoints) UpdaterStatus(envID string) string

Updater endpoints

func (ArcaneApiEndpoints) User

func (e ArcaneApiEndpoints) User(id string) string

func (ArcaneApiEndpoints) Users

func (e ArcaneApiEndpoints) Users() string

User endpoints

func (ArcaneApiEndpoints) Volume

func (e ArcaneApiEndpoints) Volume(envID, volumeName string) string

func (ArcaneApiEndpoints) VolumeUsage

func (e ArcaneApiEndpoints) VolumeUsage(envID, volumeName string) string

func (ArcaneApiEndpoints) Volumes

func (e ArcaneApiEndpoints) Volumes(envID string) string

Volume endpoints

func (ArcaneApiEndpoints) VolumesCounts

func (e ArcaneApiEndpoints) VolumesCounts(envID string) string

func (ArcaneApiEndpoints) VolumesPrune

func (e ArcaneApiEndpoints) VolumesPrune(envID string) string

func (ArcaneApiEndpoints) VolumesSizes

func (e ArcaneApiEndpoints) VolumesSizes(envID string) string

type Config

type Config struct {
	// ServerURL is the base URL of the Arcane server (e.g., http://localhost:3552)
	ServerURL string `yaml:"server_url" mapstructure:"server_url"`
	// APIKey is the API key for authentication (sent as X-API-KEY)
	APIKey string `yaml:"api_key,omitempty" mapstructure:"api_key"` //nolint:gosec // persisted config schema requires this field name
	// JWTToken is the JWT access token for authentication (sent as Authorization: Bearer)
	JWTToken string `yaml:"jwt_token,omitempty" mapstructure:"jwt_token"` //nolint:gosec // persisted config schema requires this field name
	// RefreshToken is the refresh token for obtaining new access tokens
	RefreshToken string `yaml:"refresh_token,omitempty" mapstructure:"refresh_token"` //nolint:gosec // persisted config schema requires this field name
	// DefaultEnvironment is the default environment ID to use
	DefaultEnvironment string `yaml:"default_environment,omitempty" mapstructure:"default_environment"`
	// LogLevel is the logging level (debug, info, warn, error, fatal, panic)
	LogLevel string `yaml:"log_level,omitempty" mapstructure:"log_level"`
	// Pagination contains global and per-resource pagination configuration.
	Pagination PaginationConfig `yaml:"pagination,omitempty" mapstructure:"pagination"`
	// DefaultLimit is a legacy global default list limit for paginated resources.
	DefaultLimit int `yaml:"default_limit,omitempty" mapstructure:"default_limit"`
	// ResourceLimits is a legacy map of per-resource list limits.
	ResourceLimits map[string]int `yaml:"resource_limits,omitempty" mapstructure:"resource_limits"`
}

Config holds the CLI configuration for connecting to an Arcane server. It is persisted to disk as YAML and loaded on each CLI invocation.

func (*Config) Clone added in v1.16.0

func (c *Config) Clone() *Config

Clone returns a deep-copy of Config.

func (*Config) HasAuth

func (c *Config) HasAuth() bool

HasAuth returns true if either an API key or JWT token is configured.

func (*Config) IsConfigured

func (c *Config) IsConfigured() bool

IsConfigured returns true if both ServerURL and APIKey are set. This is a quick check to determine if the CLI has been configured without triggering validation errors.

func (*Config) LimitFor added in v1.16.0

func (c *Config) LimitFor(resource string) int

LimitFor returns the configured limit for a resource, falling back to DefaultLimit.

func (*Config) SetDefaultLimit added in v1.16.0

func (c *Config) SetDefaultLimit(limit int)

SetDefaultLimit configures the global pagination default.

func (*Config) SetResourceLimit added in v1.16.0

func (c *Config) SetResourceLimit(resource string, limit int)

SetResourceLimit configures per-resource pagination defaults.

func (*Config) Validate

func (c *Config) Validate() error

Validate checks if the configuration has all required fields set. It returns an error with instructions if ServerURL or APIKey is missing. This should be called before using the config to make API requests.

func (*Config) ValidateServerURL

func (c *Config) ValidateServerURL() error

ValidateServerURL checks if the configuration has the server URL set. This is useful for commands like `auth login` that do not require prior authentication.

type PaginationConfig added in v1.16.0

type PaginationConfig struct {
	// Default applies to paginated resources that do not have explicit per-resource config.
	Default PaginationResourceConfig `yaml:"default,omitempty" mapstructure:"default"`
	// Resources contains per-resource pagination settings keyed by resource name.
	Resources map[string]PaginationResourceConfig `yaml:"resources,omitempty" mapstructure:"resources"`
}

PaginationConfig contains global and per-resource pagination settings.

type PaginationResourceConfig added in v1.16.0

type PaginationResourceConfig struct {
	// Limit is the default page size for list commands for this resource.
	Limit int `yaml:"limit,omitempty" mapstructure:"limit"`
}

PaginationResourceConfig defines pagination options for a specific resource.

Jump to

Keyboard shortcuts

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