Top.Mail.Ru
Module cartridge.roles | Tarantool
 
Tarantool Cartridge / Table of contents / Module cartridge.roles
Tarantool Cartridge / Table of contents / Module cartridge.roles

Module cartridge.roles

Module cartridge.roles

Role management (internal module).

The module consolidates all the role management functions: cfg , some getters, validate_config and apply_config .

The module is almost stateless, it’s only state is a collection of registered roles.

(Added in v1.2.0-20)

Local Functions

cfg (module_names)

Load modules and register them as Cartridge Roles.

This function is internal, it’s called as a part of cartridge.cfg.

Parameters:

Returns:

(boolean) true

Or

(nil)

(table) Error description

get_all_roles ()

List all registered roles.

Hidden and permanent roles are listed too.

Returns:

({string,..})

get_known_roles ()

List registered roles names.

Hidden roles are not listed as well as permanent ones.

Returns:

({string,..})

get_enabled_roles (roles)

Roles to be enabled on the server. This function returns all roles that will be enabled including their dependencies (bot hidden and not) and permanent roles.

Parameters:

Returns:

({[string]=boolean,…})

get_role_dependencies (role_name)

List role dependencies. Including sub-dependencies.

Parameters:

Returns:

({string,..})

validate_config (conf_new, conf_old)

Validate configuration by all roles.

Parameters:

Returns:

(boolean) true

Or

(nil)

(table) Error description

apply_config (conf, opts, is_master)

Apply the role configuration.

Parameters:

  • conf: (table)
  • opts: (table)
  • is_master: (boolean)

Returns:

(boolean) true

Or

(nil)

(table) Error description