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