> For the complete documentation index, see [llms.txt](https://oiadocs.cloudfabrix.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://oiadocs.cloudfabrix.io/implementer-guide/platform-installation/macaw-cli/macaw-cli-platform.md).

# macaw platform

## cfxDimensions Platform services management:

'**macaw platform**' command is used to deploy and manage cfxDimensions platform services. Run the below command to view available CLI options.

```
macaw platform --help
usage: platform [--insecure] [-h] [--debug] {} ...

Manage the Macaw Platform

positional arguments:
  {}                    commands
    dbinit              Initialize the platform database
    add-service-host    Add extra service vm
    resource-profile    Manages the resource profile operations
    access-key-gen      Generate an access-keyfor a user
    status              Status of the macaw Platform
    start               Start the macaw Platform Containers
    stop                Stop the macaw Platform Containers
    install             Install the macaw platform containers
    generate-certs      Generate certificates for hosts belonging to this
                        installation
    remove-stopped-containers
                        Remove platform containers that have exited
    rolling-update      Upgrade the platform services to a new version

optional arguments:
  --insecure            Ignore SSL certificate issues when communicating with
                        various hosts
  -h, --help            show this help message and exit
  --debug               Enable debug logs for the CLI operations
```

'**macaw platform install**' command is used to deploy/install cfxDimensions platform services. Run the below command to view the available options.

```
macaw platform install --help
usage: platform install [-h] --tag TAG [--refresh-auth] [--service SERVICES]

optional arguments:
  -h, --help          show this help message and exit
  --tag TAG           Tag to be pulled from the Docker registry
  --refresh-auth      Refresh Authentication to Docker Registry.
  --service SERVICES  Restrict the scope of the command to specific service
```

Run the below command to initialize **MariaDB database** (MariaDB service was deployed part of [cfxDimensions infrastructure service](/implementer-guide/platform-installation/macaw-cli/macaw-infra-cli.md) installation). This step is a **pre-requisite** before installing cfxDimensions platform services.

(**Note:** Below shown tag name is a sample for a reference only, for actual tag name, please contact CloudFabrix support/sales team.)

```
macaw platform dbinit --tag macaw-2.2.17
```

Run the below command to deploy all cfxDimensions platform services. (**Note:** Below shown tag name is a sample for a reference only, for actual tag name, please contact CloudFabrix support/sales team.)

```
macaw platform install --tag macaw-2.2.17
```

Run the below command to install a specific cfxDimensions platform service. Below are the supported/available platform services. (**Note:** Below shown tag name is a sample for a reference only, for actual tag, please contact CloudFabrix support/sales team.)

* service-registry
* notification-manager
* identity
* provisioner
* user-preferences
* locker
* console-ui

```
macaw platform install --service service-registry --tag macaw-2.2.17
```

**Upgrading the cfxDimensions platform services:** Run the below command to upgrade all platform services. (**Note:** Below shown tag name is a sample for a reference only, for actual tag, please contact CloudFabrix support/sales team.)

{% hint style="danger" %}
Warning: It is a disruptive operation, please take a full backup of your data before you perform this operation on a Production environment. Also, stop the platform services using '**macaw platform stop**' command first before executing the upgrade command.
{% endhint %}

```
macaw platform rolling-update --tag macaw-2.2.18
```

**Deleting the cfxDimensions platform services:** Run the below command to delete all cfxDimensions platform services.

{% hint style="danger" %}
Warning: It is a disruptive operation, please take a full backup of your data before you perform this operation on a Production environment.
{% endhint %}

```
macaw platform stop --remove-container
```

Run the below command to delete a specific cfxDimensions platform service. Below are the list of platform services.

* service-registry
* notification-manager
* identity
* provisioner
* user-preferences
* locker
* console-ui

{% hint style="danger" %}
Warning: It is a disruptive operation, please take a full backup of your data before you perform this operation on a Production environment.
{% endhint %}

```
macaw platform stop --service <service-name> --remove-container
```

Run the below commands to start/stop cfxDimensions platform services.

```
macaw platform start
macaw platform stop
```

Run the below commands to start/stop a specific cfxDimensions platform service.

```
macaw platform start --service <service-name>
macaw platform stop --service <service-name>
```

**Delete older or previous version of Platform Service:** Run the below command to clean up the platform service images.

```
macaw platform remove-stopped-containers
```

####

**Generate self-signed certificates:** Self-signed certificates are used for cfxDimensions infrastructure, platform services and for macaw CLI as well. This manual step is not usually needed as it will be run automatically during '**macaw setup**' execution.

```
macaw platform generate-certs
```

For additional options, run the below command.

```
macaw platform generate-certs --help
usage: platform generate-certs [-h] [--dir CERT_ROOT_DIR] [--overwrite]

optional arguments:
  -h, --help           show this help message and exit
  --dir CERT_ROOT_DIR  The directory where the certificates will be generated
  --overwrite          Overwrite the certificates if they already exist
```

### Accessing cfxDimensions Platform APIs from CLI:

Macaw CLI provides an ability to call cfxDimensions Platform service APIs which allows user to query/configure/update/provision/de-provision application services. It is also used to execute any automated scripts if/when needed.

Below step is a pre-requisite to execute API calls from CLI.

Run the below command to generate an API key for Platform admin user and the generated key is stored inside **platform.cfg** file which will be used while making API calls from CLI.

{% hint style="info" %}
Use --insecure option as shown below when the cfxDimensions platform is NOT deployed with CA signed certificates. --insecure option works with self-signed certificates which are installed by default during cfxDimensions platform setup and configuration.
{% endhint %}

```
macaw platform --insecure access-key-gen --user admin@cloudfabrix.com --password macaw1234 --store-config
```

```
macaw platform access-key-gen --help

usage: macaw platform access-key-gen [-h] [--debug] --user USER --password
                                     PASSWORD [--store-config]

optional arguments:
  -h, --help           show this help message and exit
  --debug              Enable debug logs
  --user USER          User for whom the access-key is to be generated
  --password PASSWORD  Password to use for login during access-key generation
  --store-config       Store the generated access key into the platform
                       configuration

```

###

###
