ArlonCTL Reference
Arlonctl is a command line utility that enables you to operate with the Arlon profile engine built into PMK. For context around Arlon capabilities built into PMK, please first read GitOps with Arlon
Arlonctl extends the open source Arlon CLI with key additional features context management, using the PMK environment credentials provided by the PMK administrator.
Installation
You can download the arlonctl binary using the following command:
bash <(curl -sL https://arlon-assets.s3-us-west-1.amazonaws.com/arlonCTL/5.7/arlonctl_setup)
Operating Systems Supported :
- Linux (amd64)
- MacOS (amd64,arm64)
Note: arlonctl command may run into errors when the KUBECONFIG environment variable is set to point to some Kubernetes cluster other than the Arlon management cluster (Platform9 DU). The arlonctl command internally uses the KUBECONFIG environment variable (and sets it to point to the Platform9 management plane DU's kubeconfig. The file resides in the location ~/.config/arlon/context.config
). If the user has set this variable to a different cluster's kubeconfig file, arlonctl will error out. As a workaround, unset the KUBECONFIG environment variable.
List of commands
arlonctl
Usage:
arlonctl [flags]
arlonctl [command]
Available Commands:
basecluster Manage base clusters
bundle Manage configuration bundles
cloudprovider Lists out the cloud providers of the DU
cluster Manage clusters
clusterspec Manage cluster specifications
completion Generate the autocompletion script for the specified shell
context Manage contexts
controller Run the Arlon controller
help Help about any command
listclusters List the clusters registered with ArgoCD
profile Manage configuration profiles
verify Verify if arlonctl can be run
Flags:
-h, --help help for arlonctl
Use "arlonctl [command] --help" for more information about a command.
verify
This command is used to verify if all the optional and mandatory tools/requirements to run arlonctl are present.
(Mandatory Requirements : kubectl Optional Requirements: argocd CLI, git)
Example:
arlonctl verify
✓ Successfully verified kubectl status
✓ [Optional] Successfully verified git status
! [Optional] Error while verifying Argocd CLI status: install argocd v2.4.x to run arlonctl
✓ All mandatory requirements are installed
context
This command allows user to create and switch between two or more DUs / contexts. It makes it easy for the user to manage multiple DUs. All the contexts which have been added by the user are stored in a contexts.json file which is at ~/.config/arlon .Sensitive credentials such as passwords are stored in the JSON file after being encrypted. The kubeconfig of the current DU as well is stored in the same location with the name context.config. The logs for all the arlonctl commands are stored in ~/.config/arlon/logs.txt
arlonctl context
Usage:
arlonctl context [flags]
arlonctl context [command]
Available Commands:
create Create a new context
delete Delete the existing context
list Lists the existing contexts
refresh Refresh the tokens in DU config and argo config
switch Switch between the contexts
update updates the existing context
Flags:
-h, --help help for context
Use "arlonctl context [command] --help" for more information about a command.
create
This command creates a new context, which the user can then work with. The current context will be set to the newly created context using this command. To create a new context, the user needs to add their DU-FQDN, their username and password.
Usage:
arlonctl context create --help
Create or add a new context to the already existing contexts and the current context will be set to the recently created context
Usage:
arlonctl context create context-name [flags]
Examples:
arlonctl context create context-name [flags]
Flags:
-f, --fqdn string sets the fqdn
-h, --help help for create
-p, --password string sets password
-u, --username string sets username
Example:
arlonctl context create ctx2
FQDN: pf9arlon-kubedu.platform9.horse
Username: user@platform9.com
Password: *******
Successfully authenticated with DU
Successfully authenticated with ArgoCD
Successfully added and set to ctx2 context
switch
This command allows the user to switch between multiple contexts.
Example:
arlonctl context switch arlonctl-ctx
Context found with the name: arlonctl-ctx
Successfully switched the DU Config file
Successfully switched the ArgoCD config
Successfully switched to arlonctl-ctx context
list
Lists the contexts present. It also mentions the current context of the user.
Example:
arlonctl context list
NAME DU_FQDN USERNAME CURRENTCONTEXT
new2 arlon-kubedu-3.platform9.horse user@platform9.com False
arlonctl-ctx pf9arlon-kubedu.platform9.horse user@platform9.com False
ctx2 pf9arlon-kubedu.platform9.horse user@platform9.com True
delete
Deletes the context provided by the user.
Example:
arlonctl context delete new2
Context deleted Successfully
refresh
Refreshes the x-auth token of the DU and the argocd token after it expires.
Example:
arlonctl context refresh
Successfully refreshed the DU config file
Successfully refreshed the Argo config file
cloud provider
This command allows user to list the cloud providers present in the DU. Example:
arlonctl cloudprovider list
NAME CLOUDPROVIDER
aws 44317bcb8b024041846dc2cb36a92352-aws
aws-demo 44317bcb8b024041846dc2cb36a92352-aws-demo
bundle
This command is used to manage the bundles which together form a profile which is then used to deploy a cluster. This command is inherited from the arlon OSS CLI. the available commands in arlonctl bundle are :
arlonctl bundle
Manage configuration bundles
Usage:
arlonctl bundle [flags]
arlonctl bundle [command]
Available Commands:
create Create configuration bundle
delete Delete configuration bundle
dump Dump content of static configuration bundle
list List configuration bundles
update update configuration bundle
Flags:
-h, --help help for bundle
Use "arlonctl bundle [command] --help" for more information about a command.
profile
arlonctl profile is used to create profiles which in turn will be used to deploy the clusters in following steps. This is a command which has been inherited from arlon CLI.
arlonctl profile
Usage:
arlonctl profile [flags]
arlonctl profile [command]
Available Commands:
create Create profile
delete Delete profile
list List configuration profiles
update Update profile
Flags:
-h, --help help for profile
Use "arlonctl profile [command] --help" for more information about a command.
clusterspec
arlonctl clusterspec is used to create the specs with which the user wants to deploy the cluster. User can use the cluster specifications which they created while deploying the cluster. This command has been inherited from Arlon CLI.
$ arlonctl clusterspec --help
Manage cluster specifications
Usage:
arlonctl clusterspec [flags]
arlonctl clusterspec [command]
Available Commands:
create Create clusterspec
delete Delete clusterspec
list List configuration clusterspecs
update Update clusterspec
Flags:
-h, --help help for clusterspec
Use "arlonctl clusterspec [command] --help" for more information about a command.
clustertemplate
arlonctl clustertemplate is used to prepare and validate the manifest file which have been uploaded in the git repository to create the cluster. This command has been inherited from the Arlon CLI
$ arlonctl clustertemplate --help
Manage base clusters
Usage:
arlonctl basecluster [flags]
arlonctl basecluster [command]
Available Commands:
prepare prepare base cluster
preparegit prepare base cluster directory in git
validate validate base cluster file
validategit validate base cluster directory in git
Flags:
-h, --help help for basecluster
Use "arlonctl basecluster [command] --help" for more information about a command.
cluster
arlonctl cluster command is used to manage the clusters. We can deploy the clusters using the available command in the arlonctl cluster. This command as well is inherited from arlon OSS CLI and works same as in Arlon CLI
$ arlonctl cluster --help
Manage clusters
Usage:
arlonctl cluster [flags]
arlonctl cluster [command]
Available Commands:
create create new cluster from a base
delete delete existing cluster and all related resources
deploy deploy new cluster
get get information about existing cluster
list List the clusters managed by Arlon
manage manage external cluster with specified profile
ngupdate update existing next-gen cluster
unmanage unmanage external cluster
update update existing cluster
Flags:
-h, --help help for cluster
Use "arlonctl cluster [command] --help" for more information about a command.