Skip to content

Commit

Permalink
rfc: add numeric ids to existing RFCs (#2638)
Browse files Browse the repository at this point in the history
* rfc: add numeric ids to existing RFCs
  • Loading branch information
burgerdev authored Nov 23, 2023
1 parent 0564e4e commit d3b542d
Show file tree
Hide file tree
Showing 14 changed files with 28 additions and 28 deletions.
2 changes: 1 addition & 1 deletion rfc/key-derivation.md → rfc/001-key-derivation.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Key derivation
# RFC 001: Key derivation

To derive disk-encryption keys and other secret material in a Constellation Kubernetes cluster, we use [HKDF](https://datatracker.ietf.org/doc/html/rfc5869).

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Proof of Ownership
# RFC 002: Proof of Ownership

A cluster owner needs a way to prove a cluster belongs to them, while a third-party needs to be able to verify the owner's claims.
For that, the owner generates a private/public key pair.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Secure Distribution of CLI & Measurements
# RFC 003: Secure Distribution of CLI & Measurements

## Goal / Motivation

Expand Down Expand Up @@ -104,7 +104,7 @@ measurements and keep them in a file (`measurements.yaml`) compatible with our c

Comments should be omitted in final file. They show why certain values might be missing.

Those measurements are signed and uploaded to AWS S3. Stored at a path matching the configured image (see [image API](image-api.md)).
Those measurements are signed and uploaded to AWS S3. Stored at a path matching the configured image (see [image API](009-image-api.md)).

```yaml
csp: azure
Expand Down
4 changes: 2 additions & 2 deletions rfc/updates.md → rfc/004-updates.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Constellation updates
# RFC 004: Constellation updates

Things we manage for the user:

Expand Down Expand Up @@ -292,5 +292,5 @@ If users decide to change specific versions by changing the Kubernetes resources

The compatibility information should be separated from the enforcement code.
This way a minimal implementation can be created where the compatibility information is embedded into the CLI.
As a next step the information can be served through the [Constellation API](./apis.md).
As a next step the information can be served through the [Constellation API](./008-apis.md).
By serving the compatibility information dynamically, faulty versions can be excluded from upgrade paths even after they have been released.
2 changes: 1 addition & 1 deletion rfc/external-kms.md → rfc/005-external-kms.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# External KMS
# RFC 005: External KMS

Currently, Constellation only supports [Constellation-managed key management](https://docs.edgeless.systems/constellation/2.0/architecture/keys#constellation-managed-key-management).
The owner provides a master secret to the cluster on initialization.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Reproducible Builds
# RFC 006: Reproducible Builds

To ensure the security of constellation's supply chain, we need to make our software builds reproducible.
This is the only way to ensure a verifiable path from source code to binary.
Expand Down
2 changes: 1 addition & 1 deletion rfc/version-api.md → rfc/007-version-api.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Version API
# RFC 007: Version API

The version API should expose easy, straightforward, extensible and forward compatible version information to the Constellation CLI (and possibly more consumers).

Expand Down
24 changes: 12 additions & 12 deletions rfc/apis.md → rfc/008-apis.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Constellation APIs (v1)
# RFC 008: Constellation APIs (v1)

## Base

Expand All @@ -13,8 +13,8 @@ At this moment, the only valid API version is `v1`:

The API version is followed by the API group. Possible values are:

- [`versions`: version information for Constellation components](version-api.md)
- [`image`: metadata for individual Constellation OS images](image-api.md)
- [`versions`: version information for Constellation components](007-version-api.md)
- [`image`: metadata for individual Constellation OS images](009-image-api.md)
- `info`: image reference lookup for each cloud provider and additional metadata
- `measurements`: TPM measurements for Constellation OS images
- `raw`: raw OS images
Expand All @@ -24,15 +24,15 @@ There may be more API groups in the future (e.g. `cli`)

## API paths overview

- [`/constellation/v1/ref/<ref>/stream/<stream>/versions/latest/<kind>.json`](version-api.md#latest)
- [`/constellation/v1/ref/<ref>/stream/<stream>/versions/major/<base>/<kind>.json`](version-api.md#major-to-minor-version-list)
- [`/constellation/v1/ref/<ref>/stream/<stream>/versions/minor/<base>/<kind>.json`](version-api.md#minor-to-patch-version-list)
- [`/constellation/v1/ref/<ref>/stream/<stream>/<version>/image/info.json`](image-api.md#image-lookup-table)
- [`/constellation/v1/ref/<ref>/stream/<stream>/<version>/image/sbom.<format>.json`](image-api.md)
- [`/constellation/v1/ref/<ref>/stream/<stream>/<version>/image/csp/<csp>/measurements.json`](image-api.md)
- [`/constellation/v1/ref/<ref>/stream/<stream>/<version>/image/csp/<csp>/measurements.json.sig`](image-api.md)
- [`/constellation/v1/ref/<ref>/stream/<stream>/<version>/image/csp/<csp>/image.raw`](image-api.md)
- [`/constellation/v1/ref/<ref>/stream/<stream>/<version>/cli/info.json`](cli-api.md#cli-lookup-table)
- [`/constellation/v1/ref/<ref>/stream/<stream>/versions/latest/<kind>.json`](007-version-api.md#latest)
- [`/constellation/v1/ref/<ref>/stream/<stream>/versions/major/<base>/<kind>.json`](007-version-api.md#major-to-minor-version-list)
- [`/constellation/v1/ref/<ref>/stream/<stream>/versions/minor/<base>/<kind>.json`](007-version-api.md#minor-to-patch-version-list)
- [`/constellation/v1/ref/<ref>/stream/<stream>/<version>/image/info.json`](009-image-api.md#image-lookup-table)
- [`/constellation/v1/ref/<ref>/stream/<stream>/<version>/image/sbom.<format>.json`](009-image-api.md)
- [`/constellation/v1/ref/<ref>/stream/<stream>/<version>/image/csp/<csp>/measurements.json`](009-image-api.md)
- [`/constellation/v1/ref/<ref>/stream/<stream>/<version>/image/csp/<csp>/measurements.json.sig`](009-image-api.md)
- [`/constellation/v1/ref/<ref>/stream/<stream>/<version>/image/csp/<csp>/image.raw`](009-image-api.md)
- [`/constellation/v1/ref/<ref>/stream/<stream>/<version>/cli/info.json`](010-cli-api.md#cli-lookup-table)

## API path identifiers `ref`, `stream` and `version`

Expand Down
2 changes: 1 addition & 1 deletion rfc/image-api.md → rfc/009-image-api.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# OS image & measurement discovery
# RFC 009: OS image & measurement discovery

The Constellation OS image build pipeline generates a set of images using a chosen commit of the Constellation monorepo and a desired release version number.

Expand Down
2 changes: 1 addition & 1 deletion rfc/cli-api.md → rfc/010-cli-api.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# CLI compatibility information
# RFC 010: CLI compatibility information

The CLI API provides information about the compatibility of the Constellation CLI and other components of the Constellation ecosystem such as Kubernetes versions.

Expand Down
4 changes: 2 additions & 2 deletions rfc/attestation-config.md → rfc/011-attestation-config.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Attestation configuration options
# RFC 011: Attestation configuration options

To allow users more in-depth control over validating attestation statements, a separate, attestation-specific entry in the user's Constellation config file needs to be added.

Expand Down Expand Up @@ -116,7 +116,7 @@ The value substitution is part of the unmarshalling logic.

Config values are uploaded to S3 and can be accessed via HTTP.

The attestation config API uses the same CSP names as [the image API](./image-api.md#image-api-endpoints).
The attestation config API uses the same CSP names as [the image API](./009-image-api.md#image-api-endpoints).

The following HTTP endpoint is available:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Canonical endpoint / Constellation with custom DNS name
# RFC 012: Canonical endpoint / Constellation with custom DNS name

Customers may want to use a DNS name for the cluster endpoint instead of the public ip address.
The public ip may be bound to a zonal loadbalancer (AWS), limiting the availability of the cluster to a single zone.
Expand Down
2 changes: 1 addition & 1 deletion rfc/state-file.md → rfc/013-state-file.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Constellation state file
# RFC 013: Constellation state file

During a cluster's lifecycle, Constellation needs to keep track of multiple different values and state information of the cluster,
like loadbalancer IPs or UID of the cluster.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Constellation Terraform Provider
# RFC 014: Constellation Terraform Provider

The Constellation Terraform Provider allows its user to manage the full lifecycle of a Constellation cluster -- namely initialization and updates (`constellation apply`) -- via Terraform.

Expand Down

0 comments on commit d3b542d

Please sign in to comment.