Config Trees

rio configtree

Config Trees are version controlled config.

rio configtree [OPTIONS] COMMAND [ARGS]...

clone

Clones an existing Config tree.

rio configtree clone [OPTIONS] TREE_NAME NEW_TREE

Options

--organization

Operate on organization-scoped Config Trees only.

Arguments

TREE_NAME

Required argument

NEW_TREE

Required argument

create

Creates a new Config tree.

rio configtree create [OPTIONS] TREE_NAME

Options

--organization

Operate on organization-scoped Config Trees only.

Arguments

TREE_NAME

Required argument

delete

Deletes the Config tree.

rio configtree delete [OPTIONS] TREE_NAME

Options

--organization

Operate on organization-scoped Config Trees only.

Arguments

TREE_NAME

Required argument

diff

Diff between two revisions of the same or different trees.

The ref is a slash (‘/’) separated string.

  • The first part can be ‘org’ or ‘proj’ defining the scope of the reference.

  • The second part defines the name of the Tree.

  • The third optional part defines the revision-id or milestone of the Tree.

Examples:

  • org/tree-name

  • org/tree-name/rev-id

  • org/tree-name/milestone

  • proj/tree-name

  • proj/tree-name/rev-id

  • proj/tree-name/milestone

rio configtree diff [OPTIONS] REF_1 REF_2

Arguments

REF_1

Required argument

REF_2

Required argument

export

Export keys of the Config tree to files.

rio configtree export [OPTIONS] TREE_NAME [REV_ID]

Options

--organization

Operate on organization-scoped Config Trees only.

--export-directory <export_directory>

Path to the directory for exporting files.

-f, --format <file_format>

Format of the exported files.

Options:

json | yaml

Arguments

TREE_NAME

Required argument

REV_ID

Optional argument

history

Shows the revisions of the Config Tree.

rio configtree history [OPTIONS] TREE_NAME

Options

--graph

Display in the graph format.

--organization

Operate on organization-scoped Config Trees only.

Arguments

TREE_NAME

Required argument

import

Imports keys from JSON or YAML files.

The import command can import keys into an existing Config Tree or to an ETCD cluster. It can also output the keys to files in JSON or YAML format. The command can also apply overrides to the keys before importing them.

The keys are imported from the one or more files provided as arguments. The supported file formats are JSON and YAML.

Usage Examples:

Import keys from master.json to the sootballs Config Tree along with overrides. Also, commit and update the head of the Config Tree.

$ rio configtree import sootballs master.json –override overrides.json –commit –update-head

Import keys from master.json to etcd along with overrides.

$ rio configtree import sootballs master.json –override overrides.json –etcd-endpoint localhost

You can specify more than one override file by providing the files with –override flag multiple times.

When importing to ETCD, the name of the base JSON or YAML file will be prefixed to the keys.

Note: If –etcd-endpoint is provided, the keys are imported to the local etcd cluster instead of the rapyuta.io cloud.

rio configtree import [OPTIONS] TREE_NAME [FILES]...

Options

--commit, --no-commit

Commit the imported keys to the Config Tree.

--update-head, --no-update-head

Update the HEAD of the Config Tree after importing the keys.

--milestone <milestone>

Milestone name for the imported revision.

--etcd-endpoint <etcd_endpoint>

Import keys to local etcd instead of rapyuta.io cloud

--export-directory <export_directory>

Path to the directory for exporting files.

--export-format <export_format>

Format of the exported files.

Options:

json | yaml

--etcd-port <etcd_port>

Port for the etcd endpoint

--etcd-prefix <etcd_prefix>

Prefix to use for the key-space

--organization

Operate on organization-scoped Config Trees only.

--override <overrides>

Override values for keys in the imported files.

Arguments

TREE_NAME

Required argument

FILES

Optional argument(s)

keys

Lists all the keys in the Config tree.

rio configtree keys [OPTIONS] TREE_NAME [REV_ID]

Options

--organization

Operate on organization-scoped Config Trees only.

Arguments

TREE_NAME

Required argument

REV_ID

Optional argument

list

Lists the Config trees.

rio configtree list [OPTIONS]

Options

--organization

Operate on organization-scoped Config Trees only.

merge

Merge the revision specified by the ref on the base-tree. The Base tree must be the name of the tree. Merge always works on the HEAD of the tree.

The ref is a slash (‘/’) separated string.

  • The first part can be ‘org’ or ‘proj’ defining the scope of the reference.

  • The second part defines the name of the Tree.

  • The third optional part defines the revision-id or milestone of the Tree.

Examples:

  • org/tree-name

  • org/tree-name/rev-id

  • org/tree-name/milestone

  • proj/tree-name

  • proj/tree-name/rev-id

  • proj/tree-name/milestone

rio configtree merge [OPTIONS] BASE_TREE_NAME REF

Options

--silent

Skip interactively, if fast merge is not possible, then fail.

--ignore-conflict

Skip the conflicting keys and only perform a partial fast merge.

--milestone <milestone>

Minestone name for the imported revision.

--organization

Operate on organization-scoped Config Trees only.

Arguments

BASE_TREE_NAME

Required argument

REF

Required argument

revision

Revision Operations on Config trees.

rio configtree revision [OPTIONS] COMMAND [ARGS]...

commit

Commit the existing Revision

rio configtree revision commit [OPTIONS] TREE_NAME [REV_ID]

Options

--organization

Operate on organization-scoped Config Trees only.

-m, --message <message>

Message for the Revision.

--milestone <milestone>

Minestone name for the imported revision.

Arguments

TREE_NAME

Required argument

REV_ID

Optional argument

delete

Delete the key in the uncommitted revision

rio configtree revision delete [OPTIONS] TREE_NAME KEY

Options

--organization

Operate on organization-scoped Config Trees only.

Arguments

TREE_NAME

Required argument

KEY

Required argument

init

Initialize a new revision for the Config tree

rio configtree revision init [OPTIONS] TREE_NAME

Options

--force
--organization

Operate on organization-scoped Config Trees only.

Arguments

TREE_NAME

Required argument

keys

Lists all the keys in the revision

rio configtree revision keys [OPTIONS] TREE_NAME [REV_ID]

Options

--organization

Operate on organization-scoped Config Trees only.

Arguments

TREE_NAME

Required argument

REV_ID

Optional argument

put

Put a key in the uncommitted revision.

rio configtree revision put [OPTIONS] TREE_NAME KEY VALUE

Options

--organization

Operate on organization-scoped Config Trees only.

Arguments

TREE_NAME

Required argument

KEY

Required argument

VALUE

Required argument

put-file

Upload a file in the uncommitted revision.

rio configtree revision put-file [OPTIONS] TREE_NAME KEY FILE_PATH

Options

--organization

Operate on organization-scoped Config Trees only.

Arguments

TREE_NAME

Required argument

KEY

Required argument

FILE_PATH

Required argument

set-revision

Sets the revision as head of the Config tree.

rio configtree set-revision [OPTIONS] TREE_NAME [REV_ID]

Options

--organization

Operate on organization-scoped Config Trees only.

Arguments

TREE_NAME

Required argument

REV_ID

Optional argument