Skip to main content

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.