/spec

the working specification for a standard application registry

Apache License 2.0Apache-2.0

⚠️️ DISCLAIMER ⚠️

This specification is currently under active development and has not yet had a stable release. Processes described by this set of documents is subject to change drastically in this time. Now is a great time to voice opinions that will shape the future of the specification. See CONTRIBUTING.md for more details.

App Registry

This repository contains the definition for the App Registry specification. This includes technical details on how containerized applications' configuration artifacts should be programatically discovered and distributed. See SPEC.md for details of the specification itself.

What is the App Registry spec?

App Registry is a well-specified and community developed specification for the distribution of declarative configuration artifacts for containerized applications. The core of App Registry is an HTTP API specification defining the process for common operations such as search, upload, and download.

What is a declarative application configuration (DAC)?

TODO(jzelinskie): write this section

Examples of DAC formats include:

What is the promise of the spec?

TODO(jzelinskie): write this section

Who controls the spec?

App Registry is an open-source, community-driven project, developed under the Apache 2.0 license. For information on governance and contribution policies, see POLICY.md

Who is using the spec?

  • Quay is a commercial registry product from CoreOS that implements an early prototype of the server.
  • The Helm Registry Plugin implements an early protoype of the client.

Want to get added to this list? Open a Pull Request!

What are some of the implementations of the spec?

Reference Implementations:

  • cnr-server - open source Python implementation of a server backed by redis, etcd, or a local filesystem.
  • cnr-cli - open source Python implementation of a client

Third-Party Implementations:

TODO(jzelinskie): write this section