Skip to content

Latest commit

 

History

History
128 lines (91 loc) · 4.34 KB

architecture.rst

File metadata and controls

128 lines (91 loc) · 4.34 KB

Architecture and Roadmap for the ADB

The Atomic Developer Bundle is a constantly evolving platform. As such, this document should be considered carefully relative to both what is shipping, what issues and pull requests are open, and the date of last revision. This document begins with the architecture for what will become version 2.0 of the ADB. The roadmap that follows is quite speculative.

The ADB is a stable CentOS Core installation with docker container and orchestration capability. Many of the tools and features are provided by containers drawn from other sources.

The ADB is not built on CentOS Atomic Host because there is a need for a fully writeable system to support the use case where the developer uses ssh to access the box and does all work on the inside.

Version 2.0 Goals

  • Enabling host-based development tools such as Eclipse to access the build environments inside the ADB
  • Platform as a Service (PAAS) local testing and remote integration for OpenShift.
  • Enabling a workflow for define once, run anywhere that allows configuration for Openshift to be reused for Kubernetes
  • The Nulecule DevAssistant to make defining applications easier by providing a scaffold
  • Application definition enablement using the Atomic App Nulecule reference implementation
  • atomicapp-builder to drive atomicapp builds within the ADB

Deliverables: Vagrant boxes for libvirt and VirtualBox

These boxes contains the following components from the latest CentOS Core:

  • CentOS7 minimal install * @development * deltarpm * rsync * git * kubernetes * etcd * flannel * bash-completion * man-pages * nfs-utils * PyYAML * libyaml-devel

  • atomic - The Atomic CLI

  • docker-registry

  • docker

    The docker daemon is configured to expose a TLS protected TCP port so that Vagrant host based tools can access it. This is accomplished in three steps:

    1. The systemd startup for docker inside of the ADB will generate TLS certificates if they don't already exist.
    2. The user of the ADB exposes the docker daemon port in their Vagrantfile
    3. The certificates are copied out by the vagrant-service-manager plugin
  • kubernetes

  • File Synchronization

    • Possibly via NFS for libvirt
    • Possibly via containerized extensions for VirtualBox
    • Designed to make sure code can move from the Vagrant host to the ADB easily

Containers providing the following functionality:

Additional Containers pre-loaded for quicker access:

Post Version 2.0 Ideas

Beyond here be dragons and ideas which are not committed too.

  • Access to the CentOS Container Community Pipeline for easy testing
  • The ability to do multi-node testing using multiple ADB VMs
  • A build system inside the ADB to build/rebuild as needed based on code changes (Jenkins, etc.)
  • Support for additional hypervisors
  • Delivery to AWS and GCE to ease developer access in some use cases