Skip to content

CivCloud: Releases & Roadmap

James Lott edited this page Aug 5, 2020 · 1 revision

Release Notes

v0.1.0

This is a pure prototype implementation lacking many production-grade features. It implements the bare-bones basics for deploying a project to an infrastructure node.

  • Implements a system-level HTTP router to route traffic to projects
  • Implements an intake workflow to convert annotated docker-compose files into project resources
    • Based on combination of git url/git ref/docker-compose file path
  • Administrator-defined deployment information (node placement, service replica count) specified via Ansible inventory variables
  • Implements deployment steps to create & run project resources
    • Can pull or build container images (will pull image if specified, otherwise builds image
    • Can populate volumes with initial data from a container image or a remote archive (zip or tar)
    • Runs specified number of service instances as docker containers
    • Volumes created as local disk image files & bind-mounted into service containers
  • Implements deployment steps to create routes for projects
  • Implements provisioning & configuration workflow for new nodes

Roadmap

v0.2.0

  • Overhaul volume import interface & implementation
  • Overhaul routes definition interface & implementation
  • Add environment variable specification to services
  • Implement Cloud Site as an entity (rather than via Ansible inventory)
  • Refactor project structure to more closely mirror design concepts

v0.2.1

  • Implement admin-specified service counts (currently hard-coded to 1)
  • Minor bug fixes
  • Major refactor of resource naming (authority names)
  • Parallelized container image builds

v0.3.0

  • Implement fully automated node provisioning
  • Implement loading secrets from BitWarden
  • Additional node administration components (sysdig, netdata)

v0.4.0

  • HTTPS routes
  • Generic TCP port services (Node ports)

Additional Future Features

Features planned for some time in the future, not yet road mapped:

  • Service dependencies
  • Managed DNS for service name resolution
  • Additional volume actions (destroy, prune)
  • Jobs (on demand, scheduled)
  • Node -> Node communication & coordination
  • Network ACLs

Clone this wiki locally