curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl-windows/latest -o rtfctl.exe
Use the Runtime Fabric Command Line Tool
Use the rtfctl
utility to locally install and configure Runtime Fabric, manage applications, and troubleshoot Runtime Fabric clusters. For example, using rtfctl
, you can:
-
Get the status of a Runtime Fabric
-
Perform a heap dump or a thread dump of a running application
-
Display memory usage of a running application
-
Manage proxy settings
-
Manage secure properties
-
Manage a Mule license
-
Manage the alert sender email address
Install rtfctl
The tasks in the section must be performed by an IT administrator. If you’re using self-managed Kubernetes on AKS and have the AKS-managed Azure AD integration enabled, the following command returns the credentials needed to run rtfctl commands:
|
For Runtime Fabric on Self-managed Kubernetes:
-
Download the
rtfctl
command-line utility:rtfctl
is supported on Windows, MacOS (Darwin), and Linux. Download this utility using the URLs below:Windows:
MacOS (Darwin):
curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl-darwin/latest -o rtfctl
Linux:
curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl/latest -o rtfctl
-
Change file permissions for the
rtfctl
command-line utility:sudo chmod +x rtfctl
For Runtime Fabric on appliance:
-
Download the
rtfctl
command-line utility:rtfctl
is supported on Windows, MacOS (Darwin), and Linux. Download this utility using the URLs below:Windows:
curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl-appliance-windows/latest -o rtfctl.exe
MacOS (Darwin):
curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl-appliance-darwin/latest -o rtfctl
Linux:
curl -L https://anypoint.mulesoft.com/runtimefabric/api/download/rtfctl-appliance/latest -o rtfctl
-
Change file permissions for the
rtfctl
command-line utility:sudo chmod +x rtfctl
-
To list all supported commands, run
rtfctl -h
. -
For more information about a specific command, run
rtfctl <command> -h
.
-
Commands for Managing the Runtime Fabric Appliance
Use the following commands to manage the Runtime Fabric Appliance.
These commands are for Runtime Fabric on VMs / Bare Metal only. |
appliance
Performs operations on the Runtime Fabric appliance
-
Applies alert sender email
rtfctl appliance apply alert-smtp-from "<sender>@<domain>.com"
-
Renews an expired client certificate using a pre-downloaded package
rtfctl appliance renew-expired-client-certificate --file <cert-bundle-filename>
-
Renews an expired client certificate by downloading the certificate bundle
rtfctl appliance renew-expired-client-certificate --auth '<YOUR ANYPOINT AUTHORIZATION TOKEN>' --url 'https://<host>/<path-to-installer-package>'\
-
Generates an appliance diagnostics report
rtfctl appliance report --filename <filename>.tar.gz
-
Performs rollback to the existing version after a failed appliance upgrade
rtfctl appliance rollback
-
Lists rollback steps without executing the rollback
rtfctl appliance rollback --dry-run
-
Performs rollback to the existing version after a failed appliance upgrade without prompting for confirmation
rtfctl appliance rollback --confirm
-
Upgrades the cluster using a pre-downloaded package
rtfctl appliance upgrade --file runtimefabric-<VERSION>.tar.gz
-
Upgrades the cluster by downloading a package
rtfctl appliance upgrade --url https://<host>/<path-to-installer-package>
Commands for Configuring Runtime Fabric
Use the following commands to configure Runtime Fabric.
Command | Description |
---|---|
Applies changes to a Runtime Fabric configuration |
|
Updates rtfctl |
|
Waits for Runtime Fabric components to become ready |
apply
Applies changes to a Runtime Fabric configuration.
-
Applies an HTTP proxy configuration
rtfctl apply http-proxy http://<domain>:<port>
-
Applies an HTTP proxy configuration with hostnames bypassing the proxy
rtfctl apply http-proxy http://<domain>:<port> --no-proxy "DOMAIN.com,DOMAIN2.com"
-
Applies an HTTP proxy configuration with authentication
rtfctl apply http-proxy http://username:password@<domain>.com:<port>
-
Clears an HTTP proxy configuration
rtfctl apply http-proxy "" --no-proxy ""
-
Applies an ingress configMap for a specific pod
For Runtime Fabric on Self-Managed Kubernertes versions 1.8 and 1.9 only
rtfctl apply ingress-configmap "/<pod>/<path-to-configMap.yaml>"`
-
Applies a secure property
rtfctl apply secure-property --key <key> --value <value> -n <environment>
-
Applies a system configuration on a host node
rtfctl apply system-configuration
-
Applies a system configuration on a host node without downloading the latest scripts
rtfctl apply system-configuration --skip-download
-
Applies a Mule license
rtfctl apply mule-license '<BASE64-encoded-license>'
-
Applies a monitoring proxy
rtfctl apply monitoring-proxy "socks5://<username>:<password>@<monitoring-URL>:<PORT>"`
-
Clears a monitoring proxy configuration
rtfctl apply monitoring-proxy ""
Commands for Installing and Upgrading Runtime Fabric
Use the following commands when installing or upgrading Runtime Fabric, or when performing a back up or restore.
Command | Description |
---|---|
Installs Runtime Fabric |
|
Reinstalls Runtime Fabric components |
|
Performs a back up of the local Runtime Fabric state |
|
Restores local Runtime Fabric state from a backup |
|
Validates the cluster for Runtime Fabric installation |
|
Displays the Runtime Fabric version information |
reinstall
Reinstalls Runtime Fabric components
-
Reinstalls Runtime Fabric components using the latest scripts
rtfctl reinstall
-
Reinstalls Runtime Fabric components without downloading the latest scripts
rtfctl reinstall --skip-download
backup
Performs a back up of the local Runtime Fabric state.
rtfctl backup /var/backups/<backup-filename>.tar.gz
restore
Restores the local Runtime Fabric state from a backup
rtfctl restore /var/backups/<filename>.tar.gz
validate
Validates the cluster for a Runtime Fabric installation
-
Performs a validation check
rtfctl validate <activation-data>
-
Performs a validation check and passes the
fabric.tf
configuration file that contains proxy settingsrtfctl validate -f <path-to-settings-file>
To validate installation with a proxy, you must specify proxy settings in your
settings
file:
MULE_LICENSE=<your-mule-license> ACTIVATION_DATA=<activation-data> HTTP_PROXY=http://proxy-domain.com:<port>
Commands for Managing Applications on Runtime Fabric
Use the following commands to manage applications deployed to Runtime Fabric.
Command | Description |
---|---|
Deletes a secure property |
|
Displays details for an application |
|
Displays disk usage for an application |
|
Displays the JVM memory usage in a pod |
|
Creates a debugging information package for an application |
|
Restarts an application |
|
Captures a JVM heap dump |
|
Captures a JVM thread dump |
delete
Deletes a secure property
rtfctl delete secure-property <sample-key> -n <sample-app-namespace>
describe
Displays details for an application in a specific namespace
rtfctl describe app <app-name> --namespace <namespace>
disk
Displays disk usage for an application
-
Displays the disk usage for an application, using the first replica by default
rtfctl disk <app-name>
-
Displays the disk usage for an application, using a specific replica
rtfctl disk <app-name> --details --pod <replica-name>
memory
Displays the JVM memory usage in a pod
-
Gets the JVM memory for each replica
rtfctl memory <app-name>
-
Gets the JVM memory for a particular replica
rtfctl memory <app-name> --pod <app-name>-pod-1
package
Creates a debugging information package for an application
-
Creates a package for an application using the first pod by default
rtfctl package <app-name>
-
Creates a package for an application containing the apps, policies, and
.mule
directoriesrtfctl package <app-name> --apps --policies --dotmule
-
Creates a package for an application containing a heap dump
rtfctl package <app-name> --heap-dump
heapdump
Triggers a JVM heap dump
-
Performs a JVM heap dump for an application, saving it as
`/tmp/dump.hprof
, using the first replica by defaultrtfctl heapdump <app-name> /tmp/dump.hprof
-
Performs a JVM heap dump for an application, saving it as
/tmp/dump.hprof
, using a specific replicartfctl heapdump <app-name> /tmp/dump.hprof --pod <replica-name>
Commands for Troubleshooting Runtime Fabric
Use the following commands to troubleshoot Runtime Fabric.
Command | Description |
---|---|
Displays one or more resources |
|
Tests network connectivity |
|
Generates a diagnostics report |
|
Displays the status of Runtime Fabric |
|
Verifies outbound network connectivity to the Runtime Fabric control plane |
get
Displays one or more resources
-
Prints a list of all applications in all environments
rtfctl get apps
-
Prints a list of all applications in a specific environment
rtfctl get apps --namespace <environment>
-
Displays an HTTP proxy configurations
rtfctl get http-proxy
-
Displays a monitoring proxy configuration
rtfctl get monitoring-proxy
-
Displays secure properties
rtfctl get secure-properties
-
Displays the Mule license
rtfctl get mule-license
ping
Tests network connectivity
-
Pings example.com from inside an application, using the first replica by default
rtfctl ping <app-name> example.com
-
Attempts to connect to example.com on port
12345
from inside an application, using the first replica by defaultrtfctl ping <app-name> --port 12345
report
Generates a diagnostics report at rtf-report.tar.gz
rtfctl report --filename <filename>.tar.gz
status
Displays the status of Runtime Fabric
-
Displays status output in JSON
rtfctl status --output json
-
Checks Kubernetes DNS health
rtfctl status dns-check --<node-label> "<k>:<v>"
test
Verifies outbound network connectivity to the Runtime Fabric control plane.
-
Schedules a check on any nodes
rtfctl test outbound-network
-
Schedules a check the nodes satisfying the
node-label
parameterrtfctl test outbound-network --<node-label> "<k>:<v>"
-
Schedules a check on all nodes
rtfctl test outbound-network --all
Additional Flags
Flag | Description |
---|---|
-h, --help |
Displays |
-n, --namespace <string> |
If present, displays the namespace scope. |
--pod <string> |
If present, displays the pod name. |
Usage Examples
Install a Mule license
-
Follow the instructions to Base64 Encode your Mule License Key.
-
Run the following command:
$ sudo ./rtfctl apply mule-license '<BASE64-encoded-license>' Updating rtf namespace... OK