Configuration Reference Manual
This section provides a reference for the leanXcale configuration file.
Any property may be used as a global property (before any host declaration), as a host property (within a host declaration and before any component), or as a component property (within a component declaration).
Here, we describe properties grouped by their usual scope, for your
convenience. But, note that instead of using mem
or any other
property within a component, it can be used globally to apply to all
components, or within a host, to apply to such host.
Global properties
-
aws: Used as a global property, means that this is to install and start an AWS instance using the (only) configured host name (or
lx1
by default). -
awsdisk N: Used as a global property, fixes the disk size for the AWS AMI. 30 GiB by default.
-
awsregion name: Used as a global property, fixes the AWS used to create the installed AMIs.
-
awstype type: Used as a global property, defines the instance type, by default,
m5.large
. -
cache: When specified, the query engine is enabled to handle in-memory table replicas. By default, it is disabled. E.g.:
host blade124 lxqe cache
-
docker: Used as a global property, makes the install adapt to docker install. In this case, starts and stops are handled by starting/stopping docker containers.
-
lxdir path: Directory used by the install. Components and hosts may override its value. Defaults to
/usr/local/leanxcale
. E.g.:lxdir $HOME/leanxcale
-
size [small|medium|large]: When used as global property selects heuristics to perform a small, medium, or large install. A large install is the default, using the whole machine. A small install tries to use few resources, and a medium install sits in the middle. Using flags
-s
and-m
forlxinst
adds this property with the corresponding size. -
stats [only]: When used as a host property (in one host only), configures hosts to supply statistics and runs prometheus and grafana on this node to gather stats and report them. If the value is
only
, the host is used just for statistics and DB components use other configured hosts. -
tls: When used as a global property, makes the installed system use TLS for network exchanges between clients and the installed system.
-
user name: User used by the install Eg:
user nemo
-
LXLDAP uri: URI used to reach the LDAP server for authentication. System users must still be created for LDAP users to be granted access. Defining this property changes the authentication method only. User
lxadmin
is never authenticated using LDAP.LXLDAP ldap://ldapsrv:389|simple|ou=People,dc=leanxcale,dc=com
Host properties
-
lxdir path: Directory used by the install in the host. E.g.:
lxdir $HOME/xamplelx
-
addr address: Network address used (without port).
Component properties
-
addr address: Network address used. E.g.:
host atlantis kvms addr atlantis!14000
-
disk N: Size for the disk used by the component, using
M
orG
as units or assuming GiB by default. E.g.:host atlantis kvds disk 50 lxqe disk 500m
-
mem N: Size for the memory used by the component, using
M
orG
as units or assuming MiB by default. E.g.:host atlantis kvds mem 500 lxqe mem 1g
Other properties
Properties with upper-case names are exported as environment variables
for the process(es) executing the component involved. This includes both
global properties and host properties as well. For example, to enable
debug flags DOM
for the kv datastore:
KVDEBUG DOM
These are other properties not described before.
-
mirror name: Defines a host as a mirror of the named host. Either all hosts must have mirrors or none of them can. (For command line arguments, the syntax is
blade124+blade145
). E.g.:host blade124 host blade125 mirror blade124
-
nodb: When specified as a host property, makes this host include just the
lx
command, but no DB component. E.g.:host atlantis nodb
-
scp template: Template for the scp command used to remotely copy files to a host. Use '{user}' and '{host}' where the user and host address should be included, and
{src} ` and ` {dst}
where the source and destination file names should be placed. E.g.:scp scp {src} {user}@{host}:{dst}
-
scpi template: Template for the (internal) scp command an installed host should use to reach other installed hosts. Use the same syntax described above. E.g.:
scpi scp {src} {user}@{host}:{dst}
-
spread no|port: Port used by the spread process. Use
no
to disable it. E.g.:spread 4444
-
ssh template: Template for the ssh command used to execute remote commands on the host. Use
{user}' and `{host}
where the user and host names should be used. Eg.:ssh ssh -o StrictHostKeyChecking=no {user}@{host}
-
sshi template: Template for the (internal) ssh command an installed host should use to reach other installed hosts. Use the same syntax describe above. Eg.:
sshi ssh -o StrictHostKeyChecking=no {user}@{host}
-
web [addr]: Run a web server as an interface for running Lx commands.