types

package
v2.0.1 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

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

Endpoints contains the defined API endpoints

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

KnownPaginatedResources is the canonical list of paginated CLI resources.

Functions

func NormalizePaginatedResource

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
	AuthFederatedEndpoint string

	// OIDC
	OIDCDeviceCodeEndpoint  string
	OIDCDeviceTokenEndpoint string
	OIDCStatusEndpoint      string

	// API Keys
	ApiKeysEndpoint string
	ApiKeyEndpoint  string

	// Users
	UsersEndpoint               string
	UserEndpoint                string
	UserRoleAssignmentsEndpoint string

	// Roles (RBAC)
	RolesEndpoint                     string
	RoleEndpoint                      string
	RolesAvailablePermissionsEndpoint string

	// OIDC role mappings
	OidcRoleMappingsEndpoint string
	OidcRoleMappingEndpoint  string

	// Environments
	EnvironmentsEndpoint       string
	EnvironmentEndpoint        string
	EnvironmentTestEndpoint    string
	EnvironmentVersionEndpoint string

	// Containers
	ContainersEndpoint        string
	ContainerEndpoint         string
	ContainerStartEndpoint    string
	ContainerStopEndpoint     string
	ContainerRestartEndpoint  string
	ContainerUpdateEndpoint   string
	ContainerRedeployEndpoint 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
	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
	DashboardEndpoint string

	// Assets
	AppImagesFaviconEndpoint string
	AppImagesLogoEndpoint    string
	AppImagesProfileEndpoint 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

func (ArcaneApiEndpoints) AuthFederated

func (e ArcaneApiEndpoints) AuthFederated() string

func (ArcaneApiEndpoints) AuthLogout

func (e ArcaneApiEndpoints) AuthLogout() string

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) ContainerRedeploy

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

func (ArcaneApiEndpoints) ContainerRegistries

func (e ArcaneApiEndpoints) ContainerRegistries() string

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

func (ArcaneApiEndpoints) ContainersCounts

func (e ArcaneApiEndpoints) ContainersCounts(envID string) string

func (ArcaneApiEndpoints) Dashboard

func (e ArcaneApiEndpoints) Dashboard(envID string) string

func (ArcaneApiEndpoints) Environment

func (e ArcaneApiEndpoints) Environment(id string) string

func (ArcaneApiEndpoints) EnvironmentTest

func (e ArcaneApiEndpoints) EnvironmentTest(envID string) string

func (ArcaneApiEndpoints) EnvironmentVersion

func (e ArcaneApiEndpoints) EnvironmentVersion(envID string) string

func (ArcaneApiEndpoints) Environments

func (e ArcaneApiEndpoints) Environments() string

func (ArcaneApiEndpoints) Event

func (e ArcaneApiEndpoints) Event(id string) string

func (ArcaneApiEndpoints) Events

func (e ArcaneApiEndpoints) Events() string

func (ArcaneApiEndpoints) EventsEnvironment

func (e ArcaneApiEndpoints) EventsEnvironment(envID string) string

func (ArcaneApiEndpoints) GitOpsSync

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

func (ArcaneApiEndpoints) GitOpsSyncFiles

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

func (ArcaneApiEndpoints) GitOpsSyncStatus

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

func (ArcaneApiEndpoints) GitOpsSyncTrigger

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

func (ArcaneApiEndpoints) GitOpsSyncs

func (e ArcaneApiEndpoints) GitOpsSyncs(envID string) string

func (ArcaneApiEndpoints) GitOpsSyncsImport

func (e ArcaneApiEndpoints) GitOpsSyncsImport(envID string) string

func (ArcaneApiEndpoints) GitRepositories

func (e ArcaneApiEndpoints) GitRepositories() string

func (ArcaneApiEndpoints) GitRepositoriesSync

func (e ArcaneApiEndpoints) GitRepositoriesSync() string

func (ArcaneApiEndpoints) GitRepository

func (e ArcaneApiEndpoints) GitRepository(id string) string

func (ArcaneApiEndpoints) GitRepositoryBranches

func (e ArcaneApiEndpoints) GitRepositoryBranches(id string) string

func (ArcaneApiEndpoints) GitRepositoryFiles

func (e ArcaneApiEndpoints) GitRepositoryFiles(id string) string

func (ArcaneApiEndpoints) GitRepositoryTest

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

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

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

func (ArcaneApiEndpoints) Network

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

func (ArcaneApiEndpoints) Networks

func (e ArcaneApiEndpoints) Networks(envID string) string

func (ArcaneApiEndpoints) NetworksCounts

func (e ArcaneApiEndpoints) NetworksCounts(envID string) string

func (ArcaneApiEndpoints) NetworksPrune

func (e ArcaneApiEndpoints) NetworksPrune(envID string) string

func (ArcaneApiEndpoints) NotificationSettingsProvider

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

func (ArcaneApiEndpoints) NotificationsSettings

func (e ArcaneApiEndpoints) NotificationsSettings(envID string) string

func (ArcaneApiEndpoints) NotificationsTestProvider

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

func (ArcaneApiEndpoints) OIDCDeviceCode

func (e ArcaneApiEndpoints) OIDCDeviceCode() string

func (ArcaneApiEndpoints) OIDCDeviceToken

func (e ArcaneApiEndpoints) OIDCDeviceToken() string

func (ArcaneApiEndpoints) OIDCStatus

func (e ArcaneApiEndpoints) OIDCStatus() string

func (ArcaneApiEndpoints) OidcRoleMapping

func (e ArcaneApiEndpoints) OidcRoleMapping(id string) string

func (ArcaneApiEndpoints) OidcRoleMappings

func (e ArcaneApiEndpoints) OidcRoleMappings() 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

func (ArcaneApiEndpoints) ProjectsCounts

func (e ArcaneApiEndpoints) ProjectsCounts(envID string) string

func (ArcaneApiEndpoints) Role

func (e ArcaneApiEndpoints) Role(id string) string

func (ArcaneApiEndpoints) Roles

func (e ArcaneApiEndpoints) Roles() string

func (ArcaneApiEndpoints) RolesAvailablePermissions

func (e ArcaneApiEndpoints) RolesAvailablePermissions() string

func (ArcaneApiEndpoints) Settings

func (e ArcaneApiEndpoints) Settings(envID string) string

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

func (ArcaneApiEndpoints) SystemStartStopped

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

func (e ArcaneApiEndpoints) TemplateFetch() string

func (ArcaneApiEndpoints) TemplateRegistry

func (e ArcaneApiEndpoints) TemplateRegistry(id string) string

func (ArcaneApiEndpoints) Templates

func (e ArcaneApiEndpoints) Templates() string

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

func (ArcaneApiEndpoints) User

func (e ArcaneApiEndpoints) User(id string) string

func (ArcaneApiEndpoints) UserRoleAssignments

func (e ArcaneApiEndpoints) UserRoleAssignments(userID string) string

func (ArcaneApiEndpoints) Users

func (e ArcaneApiEndpoints) Users() string

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

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"`
	// JWTToken is the JWT access token for authentication (sent as Authorization: Bearer)
	JWTToken string `yaml:"jwt_token,omitempty" mapstructure:"jwt_token"`
	// RefreshToken is the refresh token for obtaining new access tokens
	RefreshToken string `yaml:"refresh_token,omitempty" mapstructure:"refresh_token"`
	// DefaultEnvironment is the default environment ID to use
	DefaultEnvironment string `yaml:"default_environment,omitempty" mapstructure:"default_environment"`
	// FederatedAudience is the default token audience for `arcane-cli auth federated`
	FederatedAudience string `yaml:"federated_audience,omitempty" mapstructure:"federated_audience"`
	// LogLevel is the logging level (debug, info, warn, error, fatal, panic)
	LogLevel string `yaml:"log_level,omitempty" mapstructure:"log_level"`
	// CLIUpdateChannel controls which channel self-update uses (stable or next).
	CLIUpdateChannel string `yaml:"cli_update_channel,omitempty" mapstructure:"cli_update_channel"`
	// Pagination contains global and per-resource pagination configuration.
	Pagination PaginationConfig `yaml:"pagination,omitempty" mapstructure:"pagination"`
}

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

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

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

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

func (*Config) SetDefaultLimit

func (c *Config) SetDefaultLimit(limit int)

SetDefaultLimit configures the global pagination default.

func (*Config) SetResourceLimit

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

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

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