Architecture - Component Overview

ADOP is made up of the following components:

  • Core
    • The Core consists of a selection of DevOps tools provided as Docker images and deployed using Docker Compose
    • The tools are pre-configured to be aware of the other tools within the network where necessary
    • Platform functionality has been built into Jenkins to support cartridges, project namespacing and platform extensions - as described below
  • Project Namespacing
    • Functionality is built into the tools to support namespacing based on workspaces and projects
    • This also feeds into the access control model
  • Cartridges
    • Standardised approach of packaging and sharing reusable software delivery assets
    • Defines the Git repositories with sample code, Jenkins jobs and pipelines that define a reference implementation for a particular technology
  • Platform Extensions
    • Provides the ability to extend the Core and add new tools or extensions to existing tools
    • If it’s not in the Core and it could be used by multiple cartridges, it is probably a platform extension
  • Command Line Interface
    • The command line interface provides a way to provision and interact with the platform
    • It is intended for us by both end users and for automation purposes