action

package
v0.0.0-...-6b84489 Latest Latest
Warning

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

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

Documentation

Index

Constants

View Source
const (
	AttachCapabilitySets        = "Attach Capability Sets"
	BuildAndPushUi              = "Build and push UI"
	BuildSystem                 = "Build System"
	CheckPorts                  = "Check Ports"
	CreateConsortiums           = "Create Consortiums"
	CreatePortProxy             = "Create Port Proxy"
	CreateRoles                 = "Create Roles"
	CreateTenantEntitlements    = "Create Tenant Entitlements"
	CreateTenants               = "Create Tenants"
	CreateUsers                 = "Create Users"
	DeployAdditionalSystem      = "Deploy Additional System"
	DeployApplication           = "Deploy Application"
	DeployManagement            = "Deploy Management"
	DeployModule                = "Deploy Module"
	DeployModules               = "Deploy Modules"
	DeploySystem                = "Deploy System"
	DeployUi                    = "Deploy UI"
	DetachCapabilitySets        = "Detach Capability Sets"
	GetEdgeApiKey               = "Get Edge Api Key"          //nolint:gosec // G101: Not a hardcoded credential, just an action name
	GetKeycloakAccessToken      = "Get Keycloak Access Token" //nolint:gosec // G101: Not a hardcoded credential, just an action name
	GetVaultRootToken           = "Get Vault Root Token"      //nolint:gosec // G101: Not a hardcoded credential, just an action name
	InterceptModule             = "Intercept Module"
	ListModules                 = "List Modules"
	ListModuleVersions          = "List Module Versions"
	ListSystem                  = "List System"
	PurgeTenants                = "Purge Tenants"
	ReindexIndices              = "Reindex Indices"
	RemoveRoles                 = "Remove Roles"
	RemoveTenantEntitlements    = "Remove Tenant Entitlements"
	RemoveTenants               = "Remove Tenants"
	RemoveUsers                 = "Remove Users"
	Root                        = "Root"
	UndeployAdditionalSystem    = "Undeploy Additional System"
	UndeployApplication         = "Undeploy Application"
	UndeployManagement          = "Undeploy Management"
	UndeployModule              = "Undeploy Module"
	UndeployModules             = "Undeploy Modules"
	UndeploySystem              = "Undeploy System"
	UndeployUi                  = "Undeploy UI"
	UpdateKeycloakPublicClients = "Update Keycloak Public Clients"
	UpdateModuleDiscovery       = "Update Module Discovery"
	UpgradeModule               = "Upgrade Module"
)

Variables

View Source
var (
	All                   = Flag{"all", "a", "All modules for all profiles"}
	ApplicationNames      = Flag{"apps", "", "Application names"}
	BuildImages           = Flag{"buildImages", "b", "Build Docker images"}
	Cleanup               = Flag{"cleanup", "", "Perform a cleanup operation"}
	ConfigFile            = Flag{"configFile", "c", "Use a specific config file"}
	DefaultGateway        = Flag{"defaultGateway", "g", "Use default gateway in URLs, .e.g. http://host.docker.internal:{{port}} will be set automatically"}
	EnableDebug           = Flag{"enableDebug", "d", "Enable debug"}
	EnableECSRequests     = Flag{"enableEcsRequests", "", "Enable ECS requests"}
	GatewayHostname       = Flag{"gatewayHostname", "", "Gateway hostname"}
	GatewayURL            = Flag{"gatewayURL", "", "Gateway URL"}
	ID                    = Flag{"id", "i", "Module id, e.g. mod-orders:13.1.0-SNAPSHOT.1021"}
	Length                = Flag{"length", "l", "Salt length"}
	ModuleName            = Flag{"moduleName", "n", "Module name, e.g. mod-orders"}
	ModulePath            = Flag{"modulePath", "", "Module path, e.g. the path of your module in IntelliJ"}
	ModuleType            = Flag{"moduleType", "y", "Module type, e.g. management"}
	ModuleURL             = Flag{"moduleUrl", "m", "Module URL, e.g. http://host.docker.internal:36002 or 36002 (if -g is used)"}
	ModuleVersion         = Flag{"moduleVersion", "", "Module version, e.g. 13.1.0-SNAPSHOT.1093"}
	Namespace             = Flag{"namespace", "", "DockerHub namespace"}
	OnlyRequired          = Flag{"onlyRequired", "q", "Use only required system containers"}
	OverwriteFiles        = Flag{"overwriteFiles", "o", "Overwrite files in %s home directory"}
	LinkedData            = Flag{"linkedData", "", "Include Linked Data module in UI bundle"}
	PlatformLspURL        = Flag{"platformLspURL", "", "Platform LSP UI url"}
	PrivatePort           = Flag{"privatePort", "", "Private port e.g. 8081"}
	Profile               = Flag{"profile", "p", "Use a specific profile, options: %s"}
	PurgeSchemas          = Flag{"purgeSchemas", "", "Purge schemas in PostgreSQL on uninstallation"}
	RemoveApplication     = Flag{"removeApplication", "", "Remove application from the DB"}
	Restore               = Flag{"restore", "r", "Restore module & sidecar"}
	SidecarURL            = Flag{"sidecarUrl", "s", "Sidecar URL e.g. http://host.docker.internal:37002 or 37002 (if -g is used)"}
	SingleTenant          = Flag{"singleTenant", "", "Use for Single Tenant workflow"}
	SkipApplication       = Flag{"skipApplication", "", "Skip application operations"}
	SkipModuleArtifact    = Flag{"skipModuleArtifact", "", "Skip building module artifact, i.e. the jar and its module descriptor"}
	SkipModuleImage       = Flag{"skipModuleImage", "", "Skip building module image, i.e. the Docker image from a prebuilt jar artifact"}
	SkipCapabilitySets    = Flag{"skipCapabilitySets", "", "Skip refreshing capability sets"}
	SkipModuleDeployment  = Flag{"skipModuleDeployment", "", "Skip module & sidecar deployment"}
	SkipModuleDiscovery   = Flag{"skipModuleDiscovery", "", "Skip module discovery update"}
	SkipRegistry          = Flag{"skipRegistry", "", "Skip retrieving module registry versions"}
	SkipTenantEntitlement = Flag{"skipTenantEntitlement", "", "Skip tenant entitlement operations"}
	Tenant                = Flag{"tenant", "t", "Tenant"}
	TenantIDs             = Flag{"ids", "", "Tenant ids"}
	TokenType             = Flag{"tokenType", "", "Token type"}
	UpdateCloned          = Flag{"updateCloned", "u", "Update Git cloned projects"}
	User                  = Flag{"user", "x", "User"}
	Versions              = Flag{"versions", "v", "Number of versions, e.g. 5"}
)

Flag definitions

Functions

func GetConfigEnv

func GetConfigEnv(key string, env map[string]string) string

func GetGatewayURL

func GetGatewayURL(actionName string) (string, error)

func GetGatewayURLTemplate

func GetGatewayURLTemplate(actionName string) (string, error)

func GetSidecarModuleCmd

func GetSidecarModuleCmd() []string

func IsSet

func IsSet(key string) bool

Types

type Action

type Action struct {
	Name                               string
	GatewayURLTemplate                 string
	ReservedPorts                      []int
	Param                              *Param
	Caser                              cases.Caser
	VaultRootToken                     string
	KeycloakAccessToken                string
	KeycloakMasterAccessToken          string
	ConfigProfileName                  string
	ConfigLspURL                       string
	ConfigFarURL                       string
	ConfigRegistryURL                  string
	ConfigPortStart                    int
	ConfigPortEnd                      int
	ConfigManagementTopicSharing       bool
	ConfigTopicSharingTenant           string
	ConfigApplication                  map[string]any
	ConfigApplicationName              string
	ConfigApplicationVersion           string
	ConfigApplicationID                string
	ConfigApplicationFetchDescriptors  bool
	ConfigApplicationPortStart         int
	ConfigApplicationPortEnd           int
	ConfigApplicationDependencies      map[string]any
	ConfigApplicationStripesBranch     string
	ConfigApplicationGatewayHostname   string
	ConfigNamespacePlatformLspUI       string
	ConfigGlobalEnv                    map[string]string
	ConfigEnvFolio                     string
	ConfigSidecarModule                map[string]any
	ConfigSidecarModuleResources       map[string]any
	ConfigSidecarModuleNativeBinaryCmd []string
	ConfigBackendModules               map[string]any
	ConfigFrontendModules              map[string]any
	ConfigCustomFrontendModules        map[string]any
	ConfigTenants                      map[string]any
	ConfigRoles                        map[string]any
	ConfigUsers                        map[string]any
	ConfigRolesCapabilitySets          map[string]any
	ConfigConsortiums                  map[string]any
	ConfigExtraVolumes                 []string
}

Action is a container that holds the state (context) of the current deployment (command being executed)

func New

func New(name string, gatewayURL string, actionParam *Param) *Action

func (*Action) GetConfigEnvVars

func (a *Action) GetConfigEnvVars(key string) []string

func (*Action) GetKafkaTopicConfigTenant

func (a *Action) GetKafkaTopicConfigTenant(configTenant string) string

func (*Action) GetModuleURL

func (a *Action) GetModuleURL(moduleID string) string

func (*Action) GetParentAppIDs

func (a *Action) GetParentAppIDs() []string

func (*Action) GetPreReservedPort

func (a *Action) GetPreReservedPort() (int, error)

func (*Action) GetPreReservedPortSet

func (a *Action) GetPreReservedPortSet(n int) (ports []int, err error)

func (*Action) GetRequestURL

func (a *Action) GetRequestURL(port string, route string) string

func (*Action) GetTemplateEnvVars

func (a *Action) GetTemplateEnvVars(key string, moduleName string) []string

func (*Action) IsChildApp

func (a *Action) IsChildApp() bool

type Flag

type Flag struct {
	Long        string
	Short       string
	Description string
}

Flag holds the metadata for a CLI flag

func (Flag) GetName

func (f Flag) GetName() string

GetName returns the flag name

type Param

type Param struct {
	All                   bool
	ApplicationNames      []string
	BuildImages           bool
	Cleanup               bool
	ConfigFile            string
	DefaultGateway        bool
	EnableDebug           bool
	EnableECSRequests     bool
	GatewayHostname       string
	GatewayURL            string
	ID                    string
	Length                int
	ModuleName            string
	ModulePath            string
	ModuleType            string
	ModuleURL             string
	ModuleVersion         string
	Namespace             string
	OnlyRequired          bool
	OverwriteFiles        bool
	LinkedData            bool
	PlatformLspURL        string
	PrivatePort           int
	Profile               string
	PurgeSchemas          bool
	RemoveApplication     bool
	Restore               bool
	SidecarURL            string
	SingleTenant          bool
	SkipApplication       bool
	SkipModuleArtifact    bool
	SkipModuleImage       bool
	SkipCapabilitySets    bool
	SkipModuleDeployment  bool
	SkipModuleDiscovery   bool
	SkipRegistry          bool
	SkipTenantEntitlement bool
	Tenant                string
	TenantIDs             []string
	TokenType             string
	UpdateCloned          bool
	User                  string
	Versions              int
}

Param is a central container of all parameters passed to the program by the user from the shell instance

Jump to

Keyboard shortcuts

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