Skip to main content

container

Usage: pmc container [OPTIONS] COMMAND [ARGS]...

Container commands

╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────╮
add Propose a new container in an existing cluster │
│ info Get information about a container │
│ limits Propose new resource limits for given container │
│ list List all existing containers │
│ remove Propose removal of container. Command is irreversible │
╰─────────────────────────────────────────────────────────────────────────────╯

The container command (pmc container) consists of sub-commands to interact with containers. For example, list existing containers, create new containers, or remove containers.

container add

Usage: pmc container add [OPTIONS]

Propose a new container in an existing cluster

This also gives authority to deployer voter set to deploy blockchains in it.

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -n, --name=TEXT Container name │
│ -a, --auto-generate-name Set if container name should be autogenerated │
(suppressed by -n)
│* -c, --cluster=TEXT Name of cluster to put container in. Must │
│ exist in database │
│ --consensus-threshold=INT Consensus threshold: majority (-1), super │
│ majority (0, default) or custom │
(1..deployers.size) (default: 0)
│ --voter-set=VALUE Name of voter set
--pubkeys=VALUE Comma delimited list of public keys │
│ -cou, --container-units=INT Container Units (minimum 1) (default: 1)
│ -mb, --max-blockchains=INT Max number of blockchains per container │
(default: 10)
│ -es, --extra-storage=INT Extra Storage (MiB) (default: 0)
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The add command (pmc container add) adds a container to an existing cluster. When creating a new container, a voter set is bound to the container, and members of the voter set get the authority to deploy blockchains. The voter set can either be an existing voter set or given by a comma-delimited list of public keys.

The consensus flag must be added if voting is applied to the container.

Example usage:

pmc container add --name <container-name> --cluster <cluster-name> --voter-set <name-of-voter-set>
pmc container add --auto-generated-name --cluster <cluster-name> --pubkeys <pubkey1>, <pubkey2>

container info

Usage: pmc container info [OPTIONS]

Get information about a container

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -n, --name=TEXT Container Name │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The info command (pmc container info) retrieves information about a specific container identified by its name.

container limits

Usage: pmc container limits [OPTIONS]

Propose new resource limits for given container

There are multiple types of limits. Proposal can contain all types of limits
or a subset of them.

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -n, --name=TEXT Container name │
│ -cou, --container-units=INT Container Units (minimum 1)
│ -mb, --max-blockchains=INT Max number of blockchains per container │
│ -es, --extra-storage=INT Extra Storage (MiB)
--description=TEXT Proposal description │
│ -c, --cpu=INT CPU limit (percent of cpus, 10 == 0.1 cpu(s), │
150 == 1.5 cpu(s)) (deprecated)
│ -r, --ram=INT RAM limit (MiB) (deprecated)
│ -st, --storage=INT Storage limit (MiB) (deprecated)
│ -ir, --io-read=INT Disk I/O read limit (MiB/s) (deprecated)
│ -iw, --io-write=INT Disk I/O write limit (MiB/s) (deprecated)
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The limits command (pmc container limits) proposes a set of new resource limits for a container. The container has several limitations, such as the maximum number of blockchains, CPU limit, RAM limit, and storage limit.

Example usage:

pmc container limits --name <container-name> --max-blockchains 10 --cpu 50

container list

Usage: pmc container list [OPTIONS]

List all existing containers

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -i, --interactive Prompt for item to show details for
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The list command (pmc container list) lists all the containers.

container remove

Usage: pmc container remove [OPTIONS]

Propose removal of container. Command is irreversible

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -n, --name=TEXT Container name to remove │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The remove command (pmc container remove) proposes the removal of a container. It's important to note that this action is irreversible.