cli

package
v1.1.3 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2026 License: Apache-2.0 Imports: 37 Imported by: 0

Documentation

Overview

Package cli provides command-line interface utilities for ServiceRadar configuration management.

Index

Constants

This section is empty.

Variables

View Source
var (

	// ErrInvalidIPFormat indicates an invalid IP address format was provided.
	ErrInvalidIPFormat    = errors.New("invalid IP address format")
	ErrRootCAExists       = errors.New("root CA already exists")
	ErrInvalidIPAddress   = errors.New("invalid IP address")
	ErrSettingOwnership   = errors.New("failed to set ownership")
	ErrInvalidUIDGID      = errors.New("failed to get UID/GID for user")
	ErrChownFailed        = errors.New("failed to set file ownership")
	ErrCertNotFound       = errors.New("no existing certificate found")
	ErrDecodeCertPEM      = errors.New("failed to decode certificate PEM")
	ErrDecodeRootCAKeyPEM = errors.New("failed to decode root CA key PEM")
)

Functions

func ErrUnknownAdminResource

func ErrUnknownAdminResource(resource string) error

ErrUnknownAdminResource returns a wrapped error for unknown admin resources.

func GenerateTLSCerts

func GenerateTLSCerts(cfg *CmdConfig) error

GenerateTLSCerts generates mTLS certificates for ServiceRadar components.

func IsInputFromTerminal

func IsInputFromTerminal() bool

IsInputFromTerminal determines if input is coming from a terminal or being piped/redirected.

func RunAdminNatsAccounts

func RunAdminNatsAccounts(cfg *CmdConfig) error

RunAdminNatsAccounts lists all NATS accounts.

func RunAdminNatsCommand

func RunAdminNatsCommand(cfg *CmdConfig) error

RunAdminNatsCommand dispatches admin nats subcommands.

func RunAdminNatsGenerateBootstrapToken

func RunAdminNatsGenerateBootstrapToken(cfg *CmdConfig) error

RunAdminNatsGenerateBootstrapToken generates a new platform bootstrap token.

func RunAdminNatsStatus

func RunAdminNatsStatus(cfg *CmdConfig) error

RunAdminNatsStatus retrieves the current NATS operator status.

func RunBcryptNonInteractive

func RunBcryptNonInteractive(args []string) error

RunBcryptNonInteractive handles non-interactive bcrypt generation.

func RunEdgeCommand

func RunEdgeCommand(cfg *CmdConfig) error

RunEdgeCommand dispatches multi-level `edge ...` invocations.

func RunEdgePackageCreate

func RunEdgePackageCreate(cfg *CmdConfig) error

RunEdgePackageCreate provisions a new onboarding package via the Core API.

func RunEdgePackageDownload

func RunEdgePackageDownload(cfg *CmdConfig) error

RunEdgePackageDownload calls the admin API to retrieve onboarding artifacts.

func RunEdgePackageList

func RunEdgePackageList(cfg *CmdConfig) error

RunEdgePackageList retrieves package summaries from the Core API.

func RunEdgePackageRevoke

func RunEdgePackageRevoke(cfg *CmdConfig) error

RunEdgePackageRevoke calls the admin API to revoke an onboarding package.

func RunEdgePackageShow

func RunEdgePackageShow(cfg *CmdConfig) error

RunEdgePackageShow fetches a single package record.

func RunEdgePackageToken

func RunEdgePackageToken(cfg *CmdConfig) error

RunEdgePackageToken emits an edgepkg-v1 token for use as ONBOARDING_TOKEN.

func RunEnroll

func RunEnroll(cfg *CmdConfig) error

RunEnroll handles the enroll subcommand.

func RunGenerateJWTKeys

func RunGenerateJWTKeys(cfg *CmdConfig) error

RunGenerateJWTKeys generates an RSA keypair and updates core.json auth config.

func RunGenerateJWTKeysCmd

func RunGenerateJWTKeysCmd(cfg *CmdConfig) error

RunGenerateJWTKeys handles the generate-jwt-keys subcommand.

func RunGenerateTLS

func RunGenerateTLS(cfg *CmdConfig) error

RunGenerateTLS handles the generate-tls subcommand.

func RunInteractive

func RunInteractive() error

RunInteractive runs the TUI for interactive mode.

func RunNatsBootstrap

func RunNatsBootstrap(cfg *CmdConfig) error

RunNatsBootstrap executes the NATS bootstrap process.

func RunSpireJoinToken

func RunSpireJoinToken(cfg *CmdConfig) error

RunSpireJoinToken executes the spire-join-token subcommand.

func RunUpdateConfig

func RunUpdateConfig(configFile, adminHash, dbPasswordFile string) error

RunUpdateConfig handles the update-config subcommand.

func RunUpdateGateway

func RunUpdateGateway(cfg *CmdConfig) error

RunUpdateGateway handles the update-gateway subcommand.

func ShowHelp

func ShowHelp()

ShowHelp displays the help message and exits.

Types

type AdminHandler

type AdminHandler struct{}

AdminHandler handles multi-level `admin ...` commands.

func (AdminHandler) Parse

func (AdminHandler) Parse(args []string, cfg *CmdConfig) error

Parse dispatches nested admin commands.

type AdminNatsBootstrapTokenHandler

type AdminNatsBootstrapTokenHandler struct{}

AdminNatsBootstrapTokenHandler handles generating a new bootstrap token.

func (AdminNatsBootstrapTokenHandler) Parse

Parse processes the command-line arguments for the admin nats generate-bootstrap-token subcommand.

type AdminNatsHandler

type AdminNatsHandler struct{}

AdminNatsHandler handles multi-level `admin nats ...` commands.

func (AdminNatsHandler) Parse

func (AdminNatsHandler) Parse(args []string, cfg *CmdConfig) error

Parse dispatches nested admin nats commands.

type AgentConfig

type AgentConfig struct {
	Address  string          `json:"address"`
	Checks   []CheckConfig   `json:"checks"`
	Security json.RawMessage `json:"security,omitempty"`
}

AgentConfig represents a subset of agent configuration.

type CheckConfig

type CheckConfig struct {
	ServiceType string `json:"service_type"`
	ServiceName string `json:"service_name"`
	Details     string `json:"details,omitempty"`
	Port        int32  `json:"port,omitempty"`
}

CheckConfig represents a service check configuration.

type CmdConfig

type CmdConfig struct {
	Help            bool
	SubCmd          string
	EdgeCommand     string
	ConfigFile      string
	AdminHash       string
	DBPasswordFile  string
	GatewayFile     string
	Action          string
	Agent           string
	ServiceType     string
	ServiceName     string
	ServiceDetails  string
	ServicePort     int32
	EnableAllOnInit bool
	Args            []string
	IPS             string
	CertDir         string
	AddIPs          bool
	NonInteractive  bool
	Components      []string
	// JWT key generation
	JWTKeyBits                 int
	JWTKeyID                   string
	JWTForce                   bool
	CoreAPIURL                 string
	APIKey                     string
	BearerToken                string
	TLSSkipVerify              bool
	JoinTokenTTLSeconds        int
	AgentSPIFFEID              string
	DownstreamSPIFFEID         string
	DownstreamSelectors        []string
	DownstreamX509TTLSeconds   int
	DownstreamJWTTTLSeconds    int
	DownstreamAdmin            bool
	DownstreamStoreSVID        bool
	DownstreamDNSNames         []string
	DownstreamFederates        []string
	NoDownstream               bool
	JoinTokenOutput            string
	EdgePackageID              string
	EdgePackageDownloadToken   string
	EdgePackageOutput          string
	EdgePackageReason          string
	EdgePackageAction          string
	EdgePackageFormat          string
	EdgePackageLabel           string
	EdgePackageComponentID     string
	EdgePackageComponentType   string
	EdgePackageParentType      string
	EdgePackageParentID        string
	EdgePackageGatewayID       string
	EdgePackageSite            string
	EdgePackageSelectors       []string
	EdgePackageMetadata        string
	EdgePackageMetadataMap     map[string]string
	EdgePackageNotes           string
	EdgePackageCheckerKind     string
	EdgePackageCheckerConfig   string
	EdgePackageDataSvc         string
	EdgePackageDownstreamID    string
	EdgePackageLimit           int
	EdgePackageStatuses        []string
	EdgePackageTypes           []string
	EdgePackageComponentFilter string
	EdgePackageParentFilter    string
	EdgePackageGatewayFilter   string
	EdgeOutputFormat           string
	EdgePackageReissueToken    bool
	EdgeJoinTTLSeconds         int
	EdgeDownloadTTLSeconds     int
	EnrollToken                string
	EnrollCoreURL              string
	EnrollHostIP               string
	EnrollConfigPath           string
	EnrollConfigDir            string
	EnrollConfigFile           string
	EnrollCertDir              string
	EnrollCredsDir             string
	EnrollForce                bool
	EnrollInsecure             bool
	EnrollCAFile               string
	// NATS bootstrap configuration
	NATSBootstrapToken   string
	NATSOutputDir        string
	NATSOperatorName     string
	NATSImportSeed       string
	NATSVerifyMode       bool
	NATSConfigPath       string
	NATSNoSystemAccount  bool
	NATSJetStream        bool
	NATSJetStreamDir     string
	NATSTLSCert          string
	NATSTLSKey           string
	NATSTLSCA            string
	NATSNoTLS            bool
	NATSOutputFormat     string
	NATSBootstrapExpires string
	NATSLocalBootstrap   bool
	NATSWriteSystemCreds bool
	NATSWritePlatform    bool
	NATSPlatformAccount  string
	NATSPlatformUser     string
	NATSSystemUser       string
	NATSAccountLimit     int
	AdminNatsAction      string
	AdminCommand         string
}

CmdConfig holds parsed command-line configuration.

func ParseFlags

func ParseFlags() (*CmdConfig, error)

ParseFlags parses command-line flags and subcommands

type EdgeHandler

type EdgeHandler struct{}

EdgeHandler handles multi-level `edge ...` commands.

func (EdgeHandler) Parse

func (EdgeHandler) Parse(args []string, cfg *CmdConfig) error

Parse dispatches nested edge commands (currently only packages).

type EdgePackageDownloadHandler

type EdgePackageDownloadHandler struct{}

EdgePackageDownloadHandler handles flags for downloading onboarding artifacts.

func (EdgePackageDownloadHandler) Parse

func (EdgePackageDownloadHandler) Parse(args []string, cfg *CmdConfig) error

Parse reads flags for the edge-package-download subcommand.

type EdgePackageRevokeHandler

type EdgePackageRevokeHandler struct{}

EdgePackageRevokeHandler handles flags for revoking onboarding packages.

func (EdgePackageRevokeHandler) Parse

func (EdgePackageRevokeHandler) Parse(args []string, cfg *CmdConfig) error

Parse reads flags for the edge-package-revoke subcommand.

type EdgePackageTokenHandler

type EdgePackageTokenHandler struct{}

EdgePackageTokenHandler handles flags for emitting structured onboarding tokens.

func (EdgePackageTokenHandler) Parse

func (EdgePackageTokenHandler) Parse(args []string, cfg *CmdConfig) error

Parse reads flags for the edge-package-token subcommand.

type EnrollHandler

type EnrollHandler struct{}

EnrollHandler handles flags for the enroll command.

func (EnrollHandler) Parse

func (EnrollHandler) Parse(args []string, cfg *CmdConfig) error

Parse reads flags for the enroll subcommand.

type GatewayConfig

type GatewayConfig struct {
	Agents       map[string]AgentConfig `json:"agents"`
	CoreAddress  string                 `json:"core_address"`
	ListenAddr   string                 `json:"listen_addr"`
	PollInterval string                 `json:"poll_interval"`
	GatewayID    string                 `json:"gateway_id"`
	Partition    string                 `json:"partition"`
	ServiceName  string                 `json:"service_name"`
	ServiceType  string                 `json:"service_type"`
	Security     json.RawMessage        `json:"security,omitempty"`
}

GatewayConfig represents a subset of the gateway configuration.

type GenerateJWTKeysHandler

type GenerateJWTKeysHandler struct{}

GenerateJWTKeysHandler handles flags for the generate-jwt-keys subcommand.

func (GenerateJWTKeysHandler) Parse

func (GenerateJWTKeysHandler) Parse(args []string, cfg *CmdConfig) error

Parse processes arguments for generate-jwt-keys.

type GenerateTLSHandler

type GenerateTLSHandler struct{}

GenerateTLSHandler handles flags for the generate-tls subcommand

func (GenerateTLSHandler) Parse

func (GenerateTLSHandler) Parse(args []string, cfg *CmdConfig) error

Parse processes the command-line arguments for the generate-tls subcommand.

type NatsBootstrapHandler

type NatsBootstrapHandler struct{}

NatsBootstrapHandler handles flags for the nats-bootstrap subcommand.

func (NatsBootstrapHandler) Parse

func (NatsBootstrapHandler) Parse(args []string, cfg *CmdConfig) error

Parse processes the command-line arguments for the nats-bootstrap subcommand.

type SpireJoinTokenHandler

type SpireJoinTokenHandler struct{}

SpireJoinTokenHandler handles flags for the spire-join-token subcommand.

func (SpireJoinTokenHandler) Parse

func (SpireJoinTokenHandler) Parse(args []string, cfg *CmdConfig) error

Parse processes the command-line arguments for the spire-join-token subcommand.

type SubcommandHandler

type SubcommandHandler interface {
	Parse(args []string, cfg *CmdConfig) error
}

SubcommandHandler defines the interface for parsing subcommand flags.

type UpdateConfigHandler

type UpdateConfigHandler struct{}

UpdateConfigHandler handles flags for the update-config subcommand.

func (UpdateConfigHandler) Parse

func (UpdateConfigHandler) Parse(args []string, cfg *CmdConfig) error

Parse processes the command-line arguments for the update-config subcommand.

type UpdateGatewayHandler

type UpdateGatewayHandler struct{}

UpdateGatewayHandler handles flags for the update-gateway subcommand

func (UpdateGatewayHandler) Parse

func (UpdateGatewayHandler) Parse(args []string, cfg *CmdConfig) error

Parse processes the command-line arguments for the update-gateway subcommand.

Jump to

Keyboard shortcuts

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