browser

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: May 25, 2026 License: Apache-2.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CreationCommand string

CreationCommand stores the command to run after browser exits

Functions

func StartBrowser

func StartBrowser(cmd *cobra.Command, args []string)

StartBrowser is the entry point for the browser TUI

Types

type ComputeSubItem added in v0.12.0

type ComputeSubItem struct {
	Label   string
	Product ProductType
	Path    string
	Enabled bool
}

type Model

type Model struct {
	// contains filtered or unexported fields
}

Model represents the TUI application state

func (Model) Init

func (m Model) Init() tea.Cmd

Init initializes the model

func (Model) Update

func (m Model) Update(msg tea.Msg) (tea.Model, tea.Cmd)

Update handles all messages

func (Model) View

func (m Model) View() string

View renders the UI

type NavItem struct {
	Label   string
	Icon    string
	Product ProductType
	Path    string
}

Navigation items for the top bar

type NetworkSubItem added in v0.12.0

type NetworkSubItem struct {
	Label   string
	Product ProductType
	Path    string
	Enabled bool
}

type ProductType

type ProductType int

ProductType represents a product category

const (
	ProductInstances ProductType = iota
	ProductKubernetes
	ProductManagedDatabases
	ProductManagedAnalytics
	ProductStorage         // "Stockage" top-level nav
	ProductStorageBlock    // Block Storage (sous-nav)
	ProductStorageFile     // File Storage (sous-nav)
	ProductStorageBackup   // Volume Backup (sous-nav)
	ProductStorageSnapshot // Volume Snapshot (sous-nav)
	ProductStorageObject   // Object Storage (sous-nav)
	ProductStorageArchive  // Cloud Archive (sous-nav)
	ProductNetworks
	ProductNetworkPrivate // Private Networks (sub-nav)
	ProductNetworkPublic  // Public IPs (sub-nav)
	ProductNetworkGateway // Gateways (sub-nav)
	ProductNetworkLB      // Load Balancers (sub-nav)
	ProductProjects
	ProductCompute        // Compute top-level nav
	ProductInstanceBackup // Instance Backup (compute sub-nav)
	ProductWorkflow       // Workflow (compute sub-nav)
)

type StorageSubItem added in v0.12.0

type StorageSubItem struct {
	Label   string
	Product ProductType
	Path    string
	Enabled bool
}

type ViewMode

type ViewMode int

ViewMode represents the current view mode

const (
	ProjectSelectView  ViewMode = iota // Initial view to select a project
	TableView                          // List view for products
	DetailView                         // Detail view for a single item
	NodePoolsView                      // Node pools management view
	NodePoolDetailView                 // Detail view for a single node pool
	LoadingView
	ErrorView
	EmptyView                 // Empty list with creation prompt
	WizardView                // Multi-step wizard for resource creation
	DeleteConfirmView         // Confirmation dialog for deletion
	DebugView                 // Debug panel showing API requests
	KubeUpgradeView           // Kubernetes cluster upgrade selection
	KubePolicyEditView        // Kubernetes cluster policy edit
	KubeDeleteConfirmView     // Kubernetes cluster delete confirmation
	NodePoolScaleView         // Node pool scale view
	NodePoolDeleteConfirmView // Node pool delete confirmation
	KubeKubeconfigPickerView  // Directory picker for saving kubeconfig
	ComingSoonView            // Coming soon placeholder for unimplemented products
	S3CredentialsView         // S3 user credentials display after creation
	LBPoolDetailView          // Detail view for a single LB pool
	LBListenerDetailView      // Detail view for a single LB listener
	LBL7PolicyDetailView      // Detail view for a single L7 policy
	LBL7RulesView             // List view for L7 rules of a policy
	LBPoolMembersView         // List view for members of a pool
	LBHealthMonitorView       // Detail/edit view for a pool's health monitor
)

type WizardData

type WizardData struct {
	// contains filtered or unexported fields
}

WizardData holds the state for the creation wizard

type WizardStep

type WizardStep int

WizardStep represents the current step in the creation wizard

const (
	// Instance wizard steps
	WizardStepRegion WizardStep = iota
	WizardStepFlavor
	WizardStepImage
	WizardStepSSHKey
	WizardStepNetwork
	WizardStepFloatingIP // For private network without public network
	WizardStepName
	WizardStepConfirm
	// Kubernetes wizard steps (offset by 100 to avoid conflicts)
	KubeWizardStepRegion WizardStep = iota + 100
	KubeWizardStepVersion
	KubeWizardStepNetwork
	KubeWizardStepSubnet
	KubeWizardStepName
	KubeWizardStepOptions
	KubeWizardStepConfirm
	// Node pool wizard steps (offset by 200)
	NodePoolWizardStepFlavor WizardStep = iota + 200
	NodePoolWizardStepName
	NodePoolWizardStepSize
	NodePoolWizardStepOptions
	NodePoolWizardStepConfirm
	// Volume (Block Storage) wizard steps (offset by 300)
	VolumeWizardStepName WizardStep = iota + 300
	VolumeWizardStepRegion
	VolumeWizardStepType
	VolumeWizardStepAvailabilityZone
	VolumeWizardStepSize
	VolumeWizardStepEncryption
	VolumeWizardStepConfirm
)
const (
	// File Storage wizard steps (offset by 400)
	FileWizardStepName WizardStep = iota + 400
	FileWizardStepRegion
	FileWizardStepType
	FileWizardStepSize
	FileWizardStepNetwork
	FileWizardStepConfirm

	ObjectWizardStepName WizardStep = iota + 500
	ObjectWizardStepType
	ObjectWizardStepRegion
	ObjectWizardStepReplication
	ObjectWizardStepVersioning
	ObjectWizardStepObjectLock
	ObjectWizardStepUser
	ObjectWizardStepEncryption
	ObjectWizardStepConfirm
	ObjectWizardStepSwiftType
	ObjectWizardStepSwiftRegion
)
const (
	// S3 User wizard steps
	S3UserWizardStepDescription WizardStep = iota + 600
	S3UserWizardStepConfirm
)
const (
	// Volume Backup / Snapshot wizard steps (offset by 700)
	BackupWizardStepVolume  WizardStep = iota + 700 // pick source volume
	BackupWizardStepType                            // pick Snapshot or Backup
	BackupWizardStepName                            // enter name
	BackupWizardStepConfirm                         // confirm
)
const (
	// Private Network wizard steps (offset by 800)
	PrivNetWizardStepRegion    WizardStep = iota + 800 // choose location
	PrivNetWizardStepName                              // network name
	PrivNetWizardStepVlanID                            // VLAN ID (layer 2 option)
	PrivNetWizardStepSubnet                            // configure subnet CIDR
	PrivNetWizardStepDHCP                              // DHCP distribution options
	PrivNetWizardStepAllocPool                         // IP allocation pool (start/end)
	PrivNetWizardStepGateway                           // gateway options
	PrivNetWizardStepConfirm                           // confirm
)
const (
	GwWizardStepRegion  WizardStep = iota + 900 // select region
	GwWizardStepModel                           // select model/size
	GwWizardStepName                            // enter name
	GwWizardStepNetwork                         // select private network
	GwWizardStepConfirm                         // confirm + create
)
const (
	// Load Balancer wizard steps (offset by 1000)
	LBWizardStepName    WizardStep = iota + 1000 // enter name
	LBWizardStepRegion                           // select region
	LBWizardStepFlavor                           // select size/flavor
	LBWizardStepNetwork                          // select private network (optional)
	LBWizardStepConfirm                          // confirm + create
)
const (
	// Floating IP wizard steps (offset by 1100)
	FIPWizardStepRegion   WizardStep = iota + 1100 // select region
	FIPWizardStepInstance                          // select instance (optional)
	FIPWizardStepConfirm                           // confirm + create
)
const (
	// Workflow wizard steps (offset by 1200)
	WorkflowWizardStepType     WizardStep = iota + 1200 // select workflow type
	WorkflowWizardStepInstance                          // select instance
	WorkflowWizardStepName                              // enter name
	WorkflowWizardStepSchedule                          // define schedule/rotation
	WorkflowWizardStepConfirm                           // confirm + create
)
const (
	// LB Pool wizard steps (offset by 1300)
	LBPoolWizardStepName    WizardStep = iota + 1300 // enter pool name
	LBPoolWizardStepAlgo                             // select algorithm
	LBPoolWizardStepProto                            // select protocol
	LBPoolWizardStepSession                          // session persistence
	LBPoolWizardStepConfirm                          // confirm + create
)
const (
	// LB Listener wizard steps (offset by 1400)
	LBListenerWizardStepName    WizardStep = iota + 1400 // enter listener name
	LBListenerWizardStepProto                            // select protocol
	LBListenerWizardStepPort                             // enter port
	LBListenerWizardStepPool                             // select default pool (optional)
	LBListenerWizardStepConfirm                          // confirm + create
)
const (
	// L7 Policy wizard steps (offset by 1500)
	LBL7PolicyWizardStepName         WizardStep = iota + 1500 // enter policy name
	LBL7PolicyWizardStepPosition                              // enter position
	LBL7PolicyWizardStepAction                                // select action
	LBL7PolicyWizardStepRedirectPool                          // select redirect pool (only for redirectToPool)
	LBL7PolicyWizardStepRedirectUrl                           // enter redirect URL (redirectToUrl / redirectPrefix)
	LBL7PolicyWizardStepConfirm                               // confirm + create
)
const (
	// L7 Rule wizard steps (offset by 1600)
	LBL7RuleWizardStepType    WizardStep = iota + 1600 // select rule type
	LBL7RuleWizardStepCompare                          // select comparison type
	LBL7RuleWizardStepKey                              // enter key (optional)
	LBL7RuleWizardStepValue                            // enter value
	LBL7RuleWizardStepInvert                           // toggle invert
	LBL7RuleWizardStepConfirm                          // confirm + create
)
const (
	// LB Member wizard steps (offset by 1700)
	LBMemberWizardStepName    WizardStep = iota + 1700 // enter member name
	LBMemberWizardStepIP                               // enter IP address
	LBMemberWizardStepPort                             // enter protocol port
	LBMemberWizardStepWeight                           // enter weight
	LBMemberWizardStepConfirm                          // confirm + save
)
const (
	// LB Health Monitor wizard steps (offset by 1800)
	LBHMWizardStepName           WizardStep = iota + 1800 // enter name
	LBHMWizardStepType                                    // select monitor type
	LBHMWizardStepHttpMethod                              // select HTTP method (http/https only)
	LBHMWizardStepUrlPath                                 // enter URL path (http/https only)
	LBHMWizardStepExpectedCodes                           // enter expected HTTP codes (http/https only)
	LBHMWizardStepDelay                                   // enter delay (seconds)
	LBHMWizardStepMaxRetries                              // enter max retries
	LBHMWizardStepMaxRetriesDown                          // enter max retries down
	LBHMWizardStepTimeout                                 // enter timeout
	LBHMWizardStepConfirm                                 // confirm + save
)
const (
	// Managed Database wizard steps (offset by 1900)
	DBWizardStepName    WizardStep = iota + 1900 // enter service name
	DBWizardStepEngine                           // select engine
	DBWizardStepVersion                          // select version
	DBWizardStepRegion                           // select datacenter/region
	DBWizardStepPlan                             // select plan
	DBWizardStepFlavor                           // select instance flavor
	DBWizardStepNodes                            // number of nodes
	DBWizardStepStorage                          // storage size
	DBWizardStepNetwork                          // network type
	DBWizardStepConfirm                          // confirm + create
)
const (
	// Managed Analytics wizard steps (offset by 2000)
	AnalyticsWizardStepName    WizardStep = iota + 2000 // enter service name
	AnalyticsWizardStepEngine                           // select engine
	AnalyticsWizardStepVersion                          // select version
	AnalyticsWizardStepRegion                           // select datacenter/region
	AnalyticsWizardStepPlan                             // select plan
	AnalyticsWizardStepFlavor                           // select instance flavor
	AnalyticsWizardStepNodes                            // number of nodes
	AnalyticsWizardStepStorage                          // storage size
	AnalyticsWizardStepNetwork                          // network type
	AnalyticsWizardStepConfirm                          // confirm + create
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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