forked from sigstore/protobuf-specs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update SigningConfig to specify API version and validity periods
In order to faciliate clients gracefully handling breaking API changes, the SigningConfig will now include API versions for each of the service URLs so that clients can determine what services they are compatible with. Additionally, we've included validity periods which will be used to faciliate Rekor log sharding, when we spin up new log shards and distribute new key material. Fixes sigstore#474 Signed-off-by: Hayden Blauzvern <[email protected]>
- Loading branch information
1 parent
e943ce1
commit d7dfccc
Showing
10 changed files
with
833 additions
and
81 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-04/schema#", | ||
"$ref": "#/definitions/Service", | ||
"definitions": { | ||
"Service": { | ||
"properties": { | ||
"url": { | ||
"type": "string", | ||
"description": "URL of the service. Must include scheme and authority. May include path." | ||
}, | ||
"majorApiVersion": { | ||
"type": "integer", | ||
"description": "Specifies the major API version. A value of 0 represents a service that has not yet been released." | ||
}, | ||
"validFor": { | ||
"$ref": "#/definitions/dev.sigstore.common.v1.TimeRange", | ||
"additionalProperties": false, | ||
"description": "Validity period of a service. A service that has only a start date should be considered the most recent instance of that service, but the client must not assume there is only one valid instance. The TimeRange should be considered valid *inclusive* of the endpoints." | ||
} | ||
}, | ||
"additionalProperties": false, | ||
"type": "object", | ||
"title": "Service", | ||
"description": "Service represents an instance of a service that is a part of Sigstore infrastructure. Clients must use the API version hint to determine the service with the highest API version that the client is compatible with. Clients must also only connect to services within the specified validity period and that has the newest validity start date." | ||
}, | ||
"dev.sigstore.common.v1.TimeRange": { | ||
"properties": { | ||
"start": { | ||
"type": "string", | ||
"format": "date-time" | ||
}, | ||
"end": { | ||
"type": "string", | ||
"format": "date-time" | ||
} | ||
}, | ||
"additionalProperties": false, | ||
"type": "object", | ||
"oneOf": [ | ||
{ | ||
"required": [ | ||
"end" | ||
] | ||
} | ||
], | ||
"title": "Time Range", | ||
"description": "The time range is closed and includes both the start and end times, (i.e., [start, end]). End is optional to be able to capture a period that has started but has no known end." | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.