Metadata-Version: 2.1
Name: portainer-cli
Version: 0.2.2
Summary: Command line interface to easy communicate to your Portainer application.
Home-page: https://github.com/Ilhasoft/portainer-cli
Author: Ilhasoft's Web Team
Author-email: contato@ilhasoft.com.br
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=2.7
Description-Content-Type: text/markdown
Requires-Dist: plac (>=1.0.0)
Requires-Dist: requests (>=2.20.0)
Requires-Dist: validators (>=0.12.2)

# Portainer CLI

Powered by [Ilhasoft's Web Team](http://www.ilhasoft.com.br/en/).

Portainer CLI is a Python software to use in command line. Use this command line interface to easy communicate with your [Portainer](https://portainer.io/) application, like in a continuous integration and continuous deployment environments.

## Install

```
pip install [--user] portainer-cli
```

## Usage

### Global flags

| Flag | Description |
|--|--|
| `-l` or `--local` | Save and load configuration file (`.portainer-cli.json`) in current directory. |
| `-d` or `--debug` | Enable DEBUG messages in stdout |

### configure command

Configure Portainer HTTP service base url.

```bash
portainer-cli configure base_url
```

**E.g:**

```bash
portainer-cli configure http://10.0.0.1:9000/
```

### login command

Identify yourself and take action.

```bash
portainer-cli login username password
```

**E.g:**

```bash
portainer-cli login douglas d1234
```

### update_stack command

Update stack.

```bash
portainer-cli update_stack id endpoint_id [stack_file]
```

**E.g:**

```bash
portainer-cli update_stack 2 1 docker-compose.yml
```

#### Environment variables arguments

```bash
portainer-cli update_stack id endpoint_id [stack_file] --env.var=value
```

Where `var` is the environment variable name and `value` is the environment variable value.

#### Flags

| Flag | Description |
|--|--|
| `-p` or `--prune` | Prune services |
| `-c` or `--clear-env` | Clear all environment variables |

### update_registry command

Update registry.

```bash
portainer-cli update_registry id [-name] [-url]
```

**E.g:**

```bash
portainer-cli update_registry 1 -name="Some registry" -url="some.url.com/r"
```

#### Authentication

You can use authentication passing `-a` or `--authentication` flag, but you must pass the `-username` and `-password` options.

```bash
portainer-cli update_registry 1 -a -username=douglas -password=d1234
```

### request command

Make a request.

```bash
portainer-cli request path [method=GET] [data]
```

**E.g:**

```bash
portainer-cli request status
```

#### Flags

| Flag | Description |
|--|--|
| `-p` or `--printc` | Print response content in stdout. |

## Development

This project use [Pipenv](https://pipenv.readthedocs.io/en/latest/) to manager Python packages.

With Pipenv installed, run `make install` to install all development packages dependencies.

Run `make lint` to run [flake8](http://flake8.pycqa.org/en/latest/) following PEP8 rules.

Run `make` or `make sdist` to create/update `dist` directory.


