Base Container Specifications
Overview
This document will describe basic functions all containers will have
Software Topics
Versioning
To distinguish when containers were built, each container will have a buildinfo.json text file generated.
{
"timestamp":"2021-10-16T14:45:51.208015",
"base-version":"<insert base version here>",
"application-version":"<insert application version here>",
"base-hash":"<base build hash>",
"software-hash":"<software build hash>"
}
In the keys "base-version" and "application-version", developers will be required to follow the semantic versioning method, a sequence versioning method that follows a vX.Y.Z format (eg: v1.2.3), where X is a major change, Y is a minor change and Z is a patch change. DevelopersAdditional information can differentiatebe containersadded on the end of the version number to distinguish between test builds, nightly builds, ect. Example: v1.1.2-20211209Nightly
Registry Container Communication
Each container must communicate with the sameRegistry versionContainer. numberIf usinga container does not communicate its' status every 30 seconds, the "base-hash" and "software-hash" keys thatcontainer will be automaticallymarked as down. More information about the registry container can be generatedfound inon the buildregistry scriptcontainer wiki page.
Syslog Logging
In effort to centralize logging, all containers must log to a local syslog server. In the condition of Cloud 4.0, a syslog container will be active for programs to log to. A general syslog message will follow RFC 5424.