# Quay Roadmap


| Abbrebiation | Feature |
|---|---|
| **(H)** | Hosted Quay.io |
| **(ER)**| Enterprise Registry Only |
| **(B)** | Builders |

### Sprint 3/2 - 3/16
- **(H)** Launch Clair 1.0
  - Tasks
    - Backfill DB
    - Provide timely logo feedback
    - Quay blog post
    - Clair blog post
    - Screencast
- **(H)** Test and launch torrent GA
  - Have a use case which shows improved performance
  - Tasks
    - Docs detailing reference use cases
    - Publish quayctl
    - Quayctl man page README
    - Notify marketing when the above is done
- **(ER)** Figure out how to handle client cert generation
  - Auto approval rules
  - Auto generation
  - UI for approving
  - Tasks
    - See if there is anything from Ed's tool that we can re-use
    - Test assumptions around nginx client cert auth
      - Figure out if we can verify certs in python if nginx approves
    - Have a hangout with gtank w.r.t. client certs vs hmac vs jwt

- **(ER)** Clair in ER
  - Tasks
    - Integrate Clair with cert generation tool
    - Blog post for Clair in ER
    - Add Clair config to the setup tool
- Bugs
  - Fix Quay permission loading performance for Clair
  - OR: Make the Clair API on Quay batch
  - Fix Clair readme
  - Address Huawei PR for new Clair endpoint

### Unallocated
- **(ER)** Torrent support in ER
  - Setup tool support
  - Docs on how to get Chihaya running
- **(ER)** Online upgrade tool
  - Migrations while site is live
  - Nag people to upgrade
- **(B)**  Dockerfile flag support
  - Requires quay.yaml
- **(B)**  Move build traffic to Packet
  - Preliminary tests reduce build start latency from 2 minutes to 20 seconds
- **(B)**  Multi-step builds
  - build artifact
  - bundle artifact
  - test bundle
- **(H)** Docker Notary
  - Support signed images with a known key
- **(H/ER)** Labels
  - Support for Midas Package Manager-like distribution
  - Integrated with Docker labels
  - Mutable and immutable
  - Searchable and fleshed out API
- **(H)** Integrate with tectonic.com sales pipeline
  - Mirror Quay customers in tectonic (SVOC)?
  - Callbacks to inform tectonic about quay events
  - Accept and apply QE licenses to the stack
- **(ER)** Tectonic care and feeding
  - Build tools to give us a concrete/declarative cluster deploy story
  - Build a tool to migrate an app between tectonic clusters
  - Assess the feasibility of upgrading a running cluster
- **(H)** Geo distribution through tectonic
  - Spin up a tectonic cluster in another region
  - Modify registry to run standalone on a tectonic cluster
- **(H)** Read available Quay.io
  - Ability to choose uptime of data-plane auditability
- **(H)** Launch our API GA
  - Versioned and backward compatible
  - Adequate documentation
- **(B)**  Builds as top level concept
  - Multiple Quay.io repos from a single git push
- **(H)** Become the Tectonic app store
  - Pods/apps as top level concept
- **(H)** Distribution tool
  - Help people to get their apps from quay to Tectonic
  - Requires App manifest or adequate flexibility
- **(H)** AppC support
  - rkt push
  - discovery
- **(H/ER)** Mirroring from another registry (pull)

### Speculative
- **(H)** Immediately consistent multi-region data availability
  - Cockroach?
- **(H)** 2 factor auth
  - How to integrate with Docker CLI?
- **(H)** Mirroring to a dependent registry (push)
