@facets-cloud/facetsctlv3
Version:
464 lines (332 loc) • 14.8 kB
Markdown
<!-- toc -->
* [Configuration](#configuration)
* [System requirements](#system-requirements)
* [Usage](#usage)
* [Commands](#commands)
<!-- tocstop -->
# Configuration
`facetsctl` requires a connection to docker for all actions involving docker. Ensure that you have docker running on the system where `facetsctl` is running.
# System requirements
Supported node versions: >= 12.0.0
# Usage
<!-- usage -->
```sh-session
$ npm install -g @facets-cloud/facetsctlv3
$ facetsctl COMMAND
running command...
$ facetsctl (--version)
@facets-cloud/facetsctlv3/1.1.6 linux-x64 node-v20.19.4
$ facetsctl --help [COMMAND]
USAGE
$ facetsctl COMMAND
...
```
<!-- usagestop -->
# Commands
<!-- commands -->
* [`facetsctl artifact init`](#facetsctl-artifact-init)
* [`facetsctl artifact push`](#facetsctl-artifact-push)
* [`facetsctl artifact register`](#facetsctl-artifact-register)
* [`facetsctl artifact upload`](#facetsctl-artifact-upload)
* [`facetsctl cluster manage`](#facetsctl-cluster-manage)
* [`facetsctl help [COMMAND]`](#facetsctl-help-command)
* [`facetsctl login`](#facetsctl-login)
* [`facetsctl release sync APPS`](#facetsctl-release-sync-apps)
* [`facetsctl facetsctl release wait <apps> -p <value> -e <value> [--sync]`](#facetsctl-facetsctl-release-wait-apps--p-value--e-value---sync)
## `facetsctl artifact init`
Initialize artifact information
```
USAGE
$ facetsctl artifact init -p <value> -a <value> [-s <value> | -c <value>]
FLAGS
-a, --artifactory=<value> (required) Artifactory name
-c, --ci-integration=<value> CI Integration Name
-p, --project=<value> (required) Project name
-s, --service=<value> Service name
DESCRIPTION
Initialize artifact information
EXAMPLES
$ facetsctl artifact init --project my-project --service my-service --artifactory my-artifactory
Created artifact-info.facets.yaml
```
_See code: [src/commands/artifact/init.ts](https://github.com/facets-cloud/facetsctl/blob/v1.1.6/src/commands/artifact/init.ts)_
## `facetsctl artifact push`
Push a Docker image to the configured artifact repository
```
USAGE
$ facetsctl artifact push -d <value>
FLAGS
-d, --docker-image=<value> (required) URL of the Docker image to push
DESCRIPTION
Push a Docker image to the configured artifact repository
EXAMPLES
$ facetsctl artifact push --docker-image my-docker-image:latest
Successfully pushed my-docker-image:latest
```
_See code: [src/commands/artifact/push.ts](https://github.com/facets-cloud/facetsctl/blob/v1.1.6/src/commands/artifact/push.ts)_
## `facetsctl artifact register`
Register a Docker image with a specified type and value
```
USAGE
$ facetsctl artifact register -t GIT_REF|ENVIRONMENT|RELEASE_STREAM -i <value> -v <value> [-r <value>]
FLAGS
-i, --docker-image=<value> (required) Docker image to register
-r, --runId=<value> Optional run ID to corelate to your CI system, else it will be time
-t, --type=<option> (required) Type (GIT_REF, ENVIRONMENT, RELEASE_STREAM)
<options: GIT_REF|ENVIRONMENT|RELEASE_STREAM>
-v, --value=<value> (required) Value of the specified type
DESCRIPTION
Register a Docker image with a specified type and value
EXAMPLES
$ facetsctl artifact register --type GIT_REF --docker-image my-docker-image:latest --value my-git-ref
Successfully registered my-docker-image:latest
Check out the registered build at: https://example.com/builds/1234
```
_See code: [src/commands/artifact/register.ts](https://github.com/facets-cloud/facetsctl/blob/v1.1.6/src/commands/artifact/register.ts)_
## `facetsctl artifact upload`
Upload any type of application build file to the Facets Control Plane
```
USAGE
$ facetsctl artifact upload -t GIT_REF|ENVIRONMENT|RELEASE_STREAM -f <value> -v <value> [-r <value>]
FLAGS
-f, --file-path=<value> (required) path to the application build file (e.g., WAR, JAR, ZIP) on your local system
-r, --runId=<value> Optional run ID to corelate to your CI system, else it will be time
-t, --type=<option> (required) Type (GIT_REF, ENVIRONMENT, RELEASE_STREAM)
<options: GIT_REF|ENVIRONMENT|RELEASE_STREAM>
-v, --value=<value> (required) Value of the specified type
DESCRIPTION
Upload any type of application build file to the Facets Control Plane
EXAMPLES
$ facetsctl artifact upload --type GIT_REF --file-path file-to-upload --value my-git-ref
Successfully uploaded the file file-to-upload
Check out the registered build at: https://example.com/builds/1234
```
_See code: [src/commands/artifact/upload.ts](https://github.com/facets-cloud/facetsctl/blob/v1.1.6/src/commands/artifact/upload.ts)_
## `facetsctl cluster manage`
Interactive management of Kubernetes clusters with advanced functionality
```
USAGE
$ facetsctl cluster manage [-a] [-s <value>] [-r] [-d] [-v]
FLAGS
-a, --all Process all available clusters
-d, --download Download kubeconfig files for selected clusters
-r, --refresh Refresh kubernetes credentials for selected clusters
-s, --search=<value> Search for specific clusters by name, ID, or stack name
-v, --verbose Show detailed output and metrics
DESCRIPTION
Interactive management of Kubernetes clusters with advanced functionality
EXAMPLES
$ facetsctl cluster manage
$ facetsctl cluster manage --all
$ facetsctl cluster manage --search production
$ facetsctl cluster manage --all --refresh
$ facetsctl cluster manage --all --download
```
_See code: [src/commands/cluster/manage.ts](https://github.com/facets-cloud/facetsctl/blob/v1.1.6/src/commands/cluster/manage.ts)_
## `facetsctl help [COMMAND]`
Display help for facetsctl.
```
USAGE
$ facetsctl help [COMMAND...] [-n]
ARGUMENTS
COMMAND... Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for facetsctl.
```
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v6.0.22/src/commands/help.ts)_
## `facetsctl login`
Log in to the Facets control plane
```
USAGE
$ facetsctl login -u <value> -t <value> -f <value>
FLAGS
-f, --facets-url=<value> (required) URL of the Control plane
-t, --token=<value> (required) Personal token
-u, --username=<value> (required) Username
DESCRIPTION
Log in to the Facets control plane
EXAMPLES
$ facetsctl login --username my-user --token my-token --facets-url https://facets-control-plane.example.com
Logged in successfully
```
_See code: [src/commands/login.ts](https://github.com/facets-cloud/facetsctl/blob/v1.1.6/src/commands/login.ts)_
## `facetsctl release sync APPS`
Sync out-of-sync apps to match their desired state with the deployed state
```
USAGE
$ facetsctl release sync APPS -p <value> -e <value>
ARGUMENTS
APPS List of app names to sync (comma-separated | example: ... sync app1,app2,app3 -p ...)
FLAGS
-e, --environment=<value> (required) Environment name
-p, --project=<value> (required) Project name
DESCRIPTION
Sync out-of-sync apps to match their desired state with the deployed state
```
_See code: [src/commands/release/sync.ts](https://github.com/facets-cloud/facetsctl/blob/v1.1.6/src/commands/release/sync.ts)_
## `facetsctl facetsctl release wait <apps> -p <value> -e <value> [--sync]`
Wait for the sync status of the specified apps, and trigger sync if --sync is provided
```
USAGE
$ facetsctl release wait facetsctl <apps> -p <value> -e <value> [--sync]
ARGUMENTS
APPS List of app names to wait for (comma-separated | example: ... sync app1,app2,app3 -p ...)
FLAGS
-e, --environment=<value> (required) Environment name
-p, --project=<value> (required) Project name
--sync Trigger a sync if apps are out-of-sync
DESCRIPTION
Wait for the sync status of the specified apps, and trigger sync if --sync is provided
```
_See code: [src/commands/release/wait.ts](https://github.com/facets-cloud/facetsctl/blob/v1.1.6/src/commands/release/wait.ts)_
<!-- commandsstop -->
* [`facetsctl artifact init`](#facetsctl-artifact-init)
* [`facetsctl artifact push`](#facetsctl-artifact-push)
* [`facetsctl artifact register`](#facetsctl-artifact-register)
* [`facetsctl cluster manage`](#facetsctl-cluster-manage)
* [`facetsctl help [COMMAND]`](#facetsctl-help-command)
* [`facetsctl login`](#facetsctl-login)
* [`facetsctl release sync`](#facetsctl-release-sync)
* [`facetsctl release wait`](#facetsctl-release-wait)
## `facetsctl artifact init`
Initialize artifact information
```
USAGE
$ facetsctl artifact init -p <value> -s <value> -a <value>
FLAGS
-a, --artifactory=<value> (required) Artifactory name
-p, --project=<value> (required) Project name
-s, --service=<value> (required) Service name
DESCRIPTION
Initialize artifact information
EXAMPLES
$ facetsctl artifact init --project my-project --service my-service --artifactory my-artifactory
Created artifact-info.facets.yaml
```
_See code: [src/commands/artifact/init.ts](https://github.com/facets-cloud/facetsctl/blob/v1.0.0/src/commands/artifact/init.ts)_
## `facetsctl artifact push`
Push a Docker image to the configured artifact repository
```
USAGE
$ facetsctl artifact push -d <value>
FLAGS
-d, --docker-image=<value> (required) URL of the Docker image to push
DESCRIPTION
Push a Docker image to the configured artifact repository
EXAMPLES
$ facetsctl artifact push --docker-image my-docker-image:latest
Successfully pushed my-docker-image:latest
```
_See code: [src/commands/artifact/push.ts](https://github.com/facets-cloud/facetsctl/blob/v1.0.0/src/commands/artifact/push.ts)_
## `facetsctl artifact register`
Register a Docker image with a specified type and value
```
USAGE
$ facetsctl artifact register -t GIT_REF|ENVIRONMENT|RELEASE_STREAM -i <value> -v <value> [-r <value>]
FLAGS
-i, --docker-image=<value> (required) Docker image to register
-r, --runId=<value> Optional run ID to corelate to your CI system, else it will be time
-t, --type=<option> (required) Type (GIT_REF, ENVIRONMENT, RELEASE_STREAM)
<options: GIT_REF|ENVIRONMENT|RELEASE_STREAM>
-v, --value=<value> (required) Value of the specified type
DESCRIPTION
Register a Docker image with a specified type and value
EXAMPLES
$ facetsctl artifact register --type GIT_REF --docker-image my-docker-image:latest --value my-git-ref
Successfully registered my-docker-image:latest
Check out the registered build at: https://example.com/builds/1234
```
_See code: [src/commands/artifact/register.ts](https://github.com/facets-cloud/facetsctl/blob/v1.0.0/src/commands/artifact/register.ts)_
## `facetsctl cluster manage`
Interactive management of Kubernetes clusters with advanced functionality.
```
USAGE
$ facetsctl cluster manage [-a] [-s <value>] [-r] [-d]
FLAGS
-a, --all Process all available clusters
-s, --search=<value> Search for specific clusters by name, ID, or stack name
-r, --refresh Refresh kubernetes credentials for selected clusters
-d, --download Download kubeconfig files for selected clusters
DESCRIPTION
Interactive management of Kubernetes clusters with advanced functionality.
This command provides a unified interface to:
1. List all clusters from the control plane
2. Search for specific clusters if needed
3. Select one or more clusters from the list
4. Choose to either download kubeconfig files or refresh Kubernetes credentials for the selected clusters
5. Execute operations in parallel for better performance
The command handles error reporting and provides detailed status information for each operation.
Clusters without available kubeconfig files or credentials will be reported properly without failing.
EXAMPLES
$ facetsctl cluster manage
$ facetsctl cluster manage --all
$ facetsctl cluster manage --search production
$ facetsctl cluster manage --all --refresh
$ facetsctl cluster manage --all --download
```
_See code: [src/commands/cluster/manage.ts](https://github.com/facets-cloud/facetsctl/blob/v1.0.0/src/commands/cluster/manage.ts)_
## `facetsctl help [COMMAND]`
Display help for facetsctl.
```
USAGE
$ facetsctl help [COMMAND...] [-n]
ARGUMENTS
COMMAND... Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for facetsctl.
```
_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v6.0.22/src/commands/help.ts)_
## `facetsctl login`
Log in to the Facets control plane
```
USAGE
$ facetsctl login -u <value> -t <value> -f <value>
FLAGS
-f, --facets-url=<value> (required) URL of the Control plane
-t, --token=<value> (required) Personal token
-u, --username=<value> (required) Username
DESCRIPTION
Log in to the Facets control plane
EXAMPLES
$ facetsctl login --username my-user --token my-token --facets-url https://facets-control-plane.example.com
Logged in successfully
```
_See code: [src/commands/login.ts](https://github.com/facets-cloud/facetsctl/blob/v1.0.0/src/commands/login.ts)_
## `facetsctl release sync`
Sync out-of-sync apps to match their desired state with the deployed state
```
USAGE
$ facetsctl release sync <apps> -p <value> -e <value>
ARGUMENTS
<apps>: List of app names to sync (comma-separated | example: ... sync app1,app2,app3 -p ...)
FLAGS
-e, --environment=<value> (required) Environment name
-p, --project=<value> (required) Project name
DESCRIPTION
Sync out-of-sync apps to match their desired state with the deployed state
EXAMPLES
$ facetsctl release sync my-resource1,my-resource2 -p my-project -e my-environment
```
_See code: [src/commands/release/sync.ts](https://github.com/facets-cloud/facetsctl/blob/v1.1.5/src/commands/release/sync.ts)_
## `facetsctl release wait`
Wait for the sync status of the specified apps, and trigger sync if --sync is provided
```
USAGE
$ facetsctl release wait <apps> -p <value> -e <value> [--sync]
ARGUMENTS
<apps>: List of app names to wait for (comma-separated | example: ... sync app1,app2,app3 -p ...)
FLAGS
-e, --environment=<value> (required) Environment name
-p, --project=<value> (required) Project name
--sync Trigger a sync if apps are out-of-sync
DESCRIPTION
Wait for the sync status of the specified apps, and trigger sync if --sync is provided
EXAMPLES
$ facetsctl release wait my-resource1,my-resource2 -p my-project -e my-environment
$ facetsctl release wait my-resource1,my-resource2 -p my-project -e my-environment --sync
```
_See code: [src/commands/release/wait.ts](https://github.com/facets-cloud/facetsctl/blob/v1.1.5/src/commands/release/wait.ts)_