Operations: Maintenance - 22Acacia/sossity GitHub Wiki
Beyond standard version flipping and pipeline additions, both of which will happen in the pipeline-controller project, this is designed as a CI/CD system. This is effected by calling CircleCi’s REST API at the end of a deploy step to trigger the next step. This call requires CIRCLE_TOKEN, GITHUB_ORG and NEXT_PROJECT. This is tied to the master branch but it is straightforward to add other environments (dev, stage, etc) on named branches that target different infras.
##Domain Specific Projects
-
pipeline-projects: these will need to maintain which downstream project to trigger after each successful build, the correct version of angled dream and any key rotation through their environment variables. The current design of the CI/CD system does not allow for a single project to trigger several downstream projects, it must be linear.
-
pipeline-controller: maintain the correct version and location of all artifacts that need to be deployed and any key rotation through their environment variables. The exact details for upkeep of the configuration file to feed sossity are contained in the sossity section of this wiki.
##Example Pipeline Projects none. These projects are for learning.
##22Acacia Owned Projects
 Chart
If the user plans to maintain their own copy of the source of these projects and use that version for production, the user takes on a the burden of keeping their copy up to date with 22acacia’s copy. 22acacia does not have the means to maintain any copy of their source. github.com does make this a straightforward process but it is up to the user to execute it.
If the user plans to use 22acacia owned artifacts then the user need only keep up on changes to each component and chose when to upgrade. Some artifacts are unversioned, this is mentioned in their description. This is either due to our expectation that they will be absorbed by another open source project or because the underlying API changes quickly and globally so that a forced update is the best and only functional answer. For these projects no user work is required as the pipeline controller project will always grab the only available version.