Skip to content
WALDEMAR KOZACZUK edited this page Dec 20, 2021 · 3 revisions

The objective is to simplify and clarify how the tool is supposed to be used and what exact purpose it serves. Also possibly remove deprecated features and add new desired functionality.

Presumably, capstan should be a tool that allows to:

  • build application images out of binaries or packages published on Github or from the host or from Docker images
  • run application images locally using supported hypervisors and with specified devices setup (disk, networking, etc)
  • provision application images to the "cloud" environment (AWS, GCE, Azure, OpenStack, etc)

Criticism

  • Confusion around 'capstan build' vs 'capstan package build'
    • 1st method uses a 'layered' image approach similar logically to the traditional Dockerfile-like style
  • Obsolete S3 packages location
    • Maybe just fix it
    • Do not use the Michelangelo repo as it is really old
  • Obsolete OpenStack functionality
    • Possibly replace it with the more generic terraform-based approach

New Ideas

  • Retire 'capstan build' and leave/improve 'capstan package build' method as the only one to build images
  • Support building/packaging using
    • rpm/deb files
    • Docker images
    • OSv *.manifest files
  • Support pulling artifacts from GitHub nightly releases repo
  • Support/improve running LOCALLY on:
    • QEMU with Virtio-FS
    • firecracker
    • cloud hypervisor
  • Support generating shell scripts for each option
  • Support provisioning to remote clouds
    • Consider using terraform modules as a way to deploy to all kinds of clouds
    • AWS
    • GCE
    • Azure
      • hyperv support
  • Same repo and new branch?
Clone this wiki locally