2.5 KiB
Application definition contribution guide
This document gives high overview of component repository structure.
Overview
CCP provides wide spectrum of operations for microservices
manipulations on Kubernetes cluster. Each microservice is an independent
component with common architecture. Whole data releated to component can
be found in the corresponding repository. The full list of the related
components can be found by link, where each
repository has prefix fuel-ccp-*
.
Structure
Component repositories have common structure:
1. Docker image related data
docker
folder with Docker files, which will be used for building docker images. Each subfolder will be processed as a separate image for building. See detailed instructions are available in thedocker
.
2. Application definition files
All application definition files should be located in the
service/
directory, as acomponent_name.yaml
file, for example:service/keystone.yaml
Please refer to
dsl
for detailed description of CCP DSL syntax.
3. Application related scripts and configs
All templates, such as configs, scripts, etc, which will be used for this service, should be located in
service/<component_name>/files
, for example:service/files/keystone.conf.j2
All files inside this directory are Jinja2 templates, except the file with default variables. Default variables for these templates should be located in
service/files/defaults.yaml
inside the following section.configs: <service_name>:
Description of available values can be found in the following guide
config/index
.
4. Shared configurations templates
You can export and share across all fuel-ccp-x repositories the most common parts of configs which are needed to use your service. In order to do this you should locate a jinja macros with a config template in
./exports/
directory:./exports/your_jinja_template.j2
and then use it in a config file of any other repository:
file:nova.conf.j2 {{ your_jinja_template.your_macros() }}
Well known shared template is oslo_messaging