Before doing any work, the Ekara engine must build a model of the environment that is worked on. This model is aggregated from multiple descriptors, located in components that must be discovered, fetched et parsed. A component:
ekara.yaml
by default.The first component to be fetched is either specified in the command-line (in the case of a new environment) or already known (in the case of an existing environment).
Consider the following components:
Typically, parent components are used to regroup parameters common to set of environments. For instance, multi-level parents can be used to regroup settings in organizational layers.
After all components have been discovered, the effective model aggregation occurs:
Each step can extend or override values defined in previous ones.
To declare a component (parent or referenced), use the following attributes:
repository
attribute denoting the source repository holding component code.ref
attribute denoting the branch, tag or commit of the component to fetch.auth
attribute only required when authentication is required to access the source repository.The repository
attribute allows to specify the location of a component:
ekara:
components:
aPublicComponent:
repository: https://github.com/myOrganisation/my-public-rep
Currently git
is the only source control management system supported for repositories.
The ref
attibutes identifies the branch, tag or commit to fetch:
components:
aPublicComponent:
repository: https://github.com/myOrganisation/my-public-rep
ref: aGivenBranch
When a ref
attribute is specified, Ekara will:
The default value for ref
is master
.
The auth
attribute specifies the authentication information required to connect to a private repository.
Example:
ekara:
components:
aPrivateComponent:
repository: https://github.com/myOrganisation/my-private-rep
auth:
method: basic
user: yourUserName
password: yourUserPassword
Currently basic
is the only authentication method supported.
You can externalize data like credentials from descriptors by using templating.