<!-- 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.5 linux-x64 node-v20.18.1
$ 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 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.5/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.5/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.5/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.5/src/commands/artifact/upload.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.5/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.5/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.5/src/commands/release/wait.ts)_
<!-- commandsstop -->
