rfc: add numeric ids to existing RFCs (#2638)

* rfc: add numeric ids to existing RFCs
This commit is contained in:
Markus Rudy 2023-11-23 17:53:38 +01:00 committed by GitHub
parent 0564e4ebb4
commit d3b542d781
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 28 additions and 28 deletions

View File

@ -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).

View File

@ -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.

View File

@ -1,4 +1,4 @@
# Secure Distribution of CLI & Measurements
# RFC 003: Secure Distribution of CLI & Measurements
## Goal / Motivation
@ -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

View File

@ -1,4 +1,4 @@
# Constellation updates
# RFC 004: Constellation updates
Things we manage for the user:
@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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).

View File

@ -1,4 +1,4 @@
# Constellation APIs (v1)
# RFC 008: Constellation APIs (v1)
## Base
@ -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
@ -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`

View File

@ -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.

View File

@ -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.

View File

@ -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.
@ -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:

View File

@ -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.

View File

@ -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.

View File

@ -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.