Metadata-Version: 2.1
Name: hmd-cli-app
Version: 1.1.595
Summary: Support tools for the HMD NeuronSphere development platform.
Author: Jim Majure
Author-email: jim.majure@hmdlabs.io
License: Apache 2.0
Description-Content-Type: text/markdown
Requires-Dist: aws-secretsmanager-caching (==1.1.1.5)
Requires-Dist: boto3 (==1.21.7)
Requires-Dist: botocore (==1.24.9)
Requires-Dist: cachetools (==5.2.0)
Requires-Dist: cement (==3.0.6)
Requires-Dist: certifi (==2022.12.7)
Requires-Dist: charset-normalizer (==2.0.12)
Requires-Dist: colorlog (==6.6.0)
Requires-Dist: google-auth (==2.9.1)
Requires-Dist: hmd-cli-tools (~=1.1.227)
Requires-Dist: idna (==3.3)
Requires-Dist: inquirerpy (==0.3.4)
Requires-Dist: jinja2 (==3.0.3)
Requires-Dist: jmespath (==0.10.0)
Requires-Dist: kubernetes (==24.2.0)
Requires-Dist: markupsafe (==2.1.0)
Requires-Dist: oauthlib (==3.2.2)
Requires-Dist: pfzy (==0.3.4)
Requires-Dist: prompt-toolkit (==3.0.38)
Requires-Dist: pyasn1 (==0.4.8)
Requires-Dist: pyasn1-modules (==0.2.8)
Requires-Dist: python-dateutil (==2.8.2)
Requires-Dist: python-dotenv (==0.19.2)
Requires-Dist: pyyaml (==6.0)
Requires-Dist: requests (==2.28.2)
Requires-Dist: requests-oauthlib (==1.3.1)
Requires-Dist: rsa (==4.8)
Requires-Dist: s3transfer (==0.5.2)
Requires-Dist: six (==1.16.0)
Requires-Dist: urllib3 (==1.26.8)
Requires-Dist: wcwidth (==0.2.6)
Requires-Dist: websocket-client (==1.3.3)

# HMD CLI Application

The HMD CLI is a set of command-line tools to support the CI/CD pipeline and development on the
NeuronSphere platform.
Documentation of each of the individual commands is located
in the respective command repository.

The general design of the CLI is as follows:

```bash
$ hmd {--global-options} <technology> {--tech-arguments} <lifecycle-phase> {--phase-arguments}
```

Where:

- `<technology>` represents the type of technology, e.g., docker, python
- `<lifecycle-phase>` indicates the lifecycle phase within the CICD process, e.g., build, unit-test

Examples:

```bash
$ hmd mickey build
$ hmd docker tag my-tag-name
$ hmd python deploy
```

## Global Options

| Option           | Description                                                                                                               |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `--repo-name`    | The name of the repository on which the command is operating. Defaults to the base name of the current working directory. |
| `--repo-version` | The current version number. Defaults to the value in the file, `meta-data/VERSION`. Defatults to deploy resources.        |
| `--region`       | The NeuronSphere region in which to operate, e.g. reg1, reg2, etc.                                                        |
| `--profile`      | The AWS profile to use for authentication to AWS.                                                                         |

Each lifecycle phase can have its own set of options.
However, the `deploy` phase in many commands have a common set of options, including:

## Deploy Options

| Option            | Description                                                                         |
| ----------------- | ----------------------------------------------------------------------------------- |
| `--instance-name` | The name to give this specific deployment instance                                  |
| `--deployment-id` | The deployment id.                                                                  |
| `--environment`   | The NeuronSphere environment into which to deploy resources, e.g. dev, prod         |
| `--customer-code` | The unique assigned customer code                                                   |
| `--account`       | An AWS account nubmer to which to deploy resources. Can be inferred via `--profile` |
| `--profile`       | The AWS profile to use for authentication to AWS                                    |
