Master repository for all things kea
kea is a telecommunications platform that merchants use to take orders and requests automatically when customers call in.
production
and staging
.master
branch -> production
staging
branch -> staging
k1.kea.cloud
and k2.kea.cloud
.Dockerfile
that runs the component.docker
image locally.gitkube
git remote.gitkube
builds images and updates components!Dockerfile
that runs the component.docker
image locally.master
branch, Google Container registry automatically picks up changes and builds the image.Weave Cloud
checks the registry and updates components automatically.staging
: [default] Base branch for fix/feature branch. Only merges allowed after CI passes.
master
: The untouchable branch. Only automatic merges allowed after CI passes.
develop
: Special Orphan branch. All experimental stuff base on this. Be aware that merging into staging is non-trivial.
Notes
Naming convention:
fix/<short_descriptive_name>
feature/<short_descriptive_name>
patch/<short_descriptive_name>
experiment/<short_descriptive_name>
Branch bases and merge points:
staging
or master
.staging
only.staging
, master
or develop
.develop
only.Flow
Bug fixes:
staging
or master
.New featues:
staging
.Experiments:
develop
and staging
.develop
. See above.Logically separate projects are referenced as git-submodules.
Use git-hooks amply to maintain sanity checks.
Entire directory is a \<Component> composed of mainly:
components
, which are basically nested \<Component> s.README.md
and (optional) docs/
folder.tests
directory containing any tests.deply
directory that contains kubernetes stack yaml
files.scripts
directory structured as \<Scripts>.metadata
directories which are free-form.\<Scripts> have:
config
directory, containing configuration files.init
scriptbuild
scriptlint
scriptdeploy
scriptmain-repo/
| README.md
| (you are here)
|
└── docs/
| (contains general purpose documentation referencing docs recursively in all submodules)
| |
| └── README.md
| └── **/*.md
|
└── **/* ...
| (Application code)
|
└── components/
| (contains individual components that make up the entire kea stack)
| |
| └── sample-subcomponent/
| | |
| | └── README.md
| | └── { ... }
| | |
| | └── **/* ...
| | (Application code)
| |
| └── other-component/ ...
|
└── deploy/
| (contains yaml kubernetes scripts for getting up and running)
| |
| └── *.yaml
| |
| └── helm-charts/
| | |
| | └── **/*.yaml
|
└── scripts/
| (contains lint / build / deploy scripts for getting up and running)
| |
| └── README.md
| |
| └── config/
| | |
| | └── **/*.(yml|json|xml) # Config files
| |
| └── build
| └── init
| └── lint
| └── deploy
|
└── metadata/
└── tests/
Why is a raven like a writing desk? ~ Alice in Wonderland
Because it can produce a few notes, tho they are very flat; and it is never put with the wrong end in front!