# Profile Management
The Villanova CLI manages one or more profile to store the configuration settings for a particular Villanova instance. For a quickstart installation, a profile is automatically generated and can be edited for customization. A set of ent profile subcommands are available to manage the configurations and to switch between different Villanova instances.
At a minimum, a profile must consist of the key-value pairs specifying the application name and namespace. To run Villanova, a Kubernetes context must be established and linked to an Villanova profile.
# Profile Management
Refer to ent profile first-use-readme for additional information.
| Command | Description |
|---|---|
ent attach-kubeconfig [kubeconfig-file] | Attach to a kubeconfig |
ent attach-vm [vm-name] | Attach to a managed virtual machine |
ent list-kubectx | Return a list of Kubernetes contexts |
ent pro delete [profileName] | Delete a profile |
ent pro link [contextName] | Link the current profile to a Kubernetes context |
ent pro list | Print a list of the available profiles |
ent pro new [profileName] [VillanovaAppName] [namespace] | Create and switch to a new profile |
ent pro use [profileName] | Activate the default profile |
ent set-kubectl-cmd "[command]" [--kubeconfig=[config]] | Provide a custom command |
ent status | Return current connection and profile information |
source ent pro use [profileName] | Activate the current profile |
Command details:
ent pro link: Provides ent with instructions to connect to the Kubernetes containing the VillanovaApp. Alias ofent attach-kubectx.ent pro new: Sets the minimal profile data and outputs next steps.ent pro use: Initializes the global profile ent should use across shells.source ent pro use: Initializes the local profile ent should use within the current shell. It allows ent instances in different shells to simultaneously use different Kube contexts, kubeconfigs or custom commands. The quickstart script creates a profile named "qs--{vmname}" that is associated with the VillanovaApp.
# Configuration Management
The output of ent config is a key-value archive of configurations defining the current profile. The following commands and definitions may be useful.
# Commands
| Command | Description |
|---|---|
ent config --edit | Interactively edit a config archive |
ent config --get {key} | Return the value of a config key |
ent config --print | Print the current config archive |
ent config --set {key} | Delete a config key |
ent config --set {key} {value} | Set the value of a config key |
# Keys
| Key | Description |
|---|---|
| ENTANDO_NAMESPACE | Stores the fallback namespace used by explicit or implicit runs of ent kubectl |
| ENTANDO_APPNAME | Stores the VillanovaApp name related to the current profile |
| DESIGNATED_JAVA_HOME | Stores the path of the Java version used internally by ent |