feat: add cache abstraction for fetching signing keys (#14777)

- Adds the database implementation for fetching and caching keys
used for JWT signing. It's been merged into the `keyrotate` pkg and
renamed to `cryptokeys` since they're coupled concepts.
This commit is contained in:
Jon Ayers
2024-10-01 11:04:51 -05:00
committed by GitHub
parent f7ddbb744f
commit 21b92ef893
18 changed files with 1060 additions and 178 deletions
+43 -43
View File
@@ -1406,6 +1406,44 @@ CreateWorkspaceRequest provides options for creating a new workspace. Only one o
| `template_version_id` | string | false | | Template version ID can be used to specify a specific version of a template for creating the workspace. |
| `ttl_ms` | integer | false | | |
## codersdk.CryptoKey
```json
{
"deletes_at": "2019-08-24T14:15:22Z",
"feature": "workspace_apps",
"secret": "string",
"sequence": 0,
"starts_at": "2019-08-24T14:15:22Z"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
| ------------ | ------------------------------------------------------ | -------- | ------------ | ----------- |
| `deletes_at` | string | false | | |
| `feature` | [codersdk.CryptoKeyFeature](#codersdkcryptokeyfeature) | false | | |
| `secret` | string | false | | |
| `sequence` | integer | false | | |
| `starts_at` | string | false | | |
## codersdk.CryptoKeyFeature
```json
"workspace_apps"
```
### Properties
#### Enumerated Values
| Value |
| ---------------- |
| `workspace_apps` |
| `oidc_convert` |
| `tailnet_resume` |
## codersdk.CustomRoleRequest
```json
@@ -9780,55 +9818,17 @@ _None_
| `derp_map` | [tailcfg.DERPMap](#tailcfgderpmap) | false | | |
| `disable_direct_connections` | boolean | false | | |
## wsproxysdk.CryptoKey
```json
{
"deletes_at": "string",
"feature": "workspace_apps",
"secret": "string",
"sequence": 0,
"starts_at": "string"
}
```
### Properties
| Name | Type | Required | Restrictions | Description |
| ------------ | ---------------------------------------------------------- | -------- | ------------ | ----------- |
| `deletes_at` | string | false | | |
| `feature` | [wsproxysdk.CryptoKeyFeature](#wsproxysdkcryptokeyfeature) | false | | |
| `secret` | string | false | | |
| `sequence` | integer | false | | |
| `starts_at` | string | false | | |
## wsproxysdk.CryptoKeyFeature
```json
"workspace_apps"
```
### Properties
#### Enumerated Values
| Value |
| ---------------- |
| `workspace_apps` |
| `oidc_convert` |
| `tailnet_resume` |
## wsproxysdk.CryptoKeysResponse
```json
{
"crypto_keys": [
{
"deletes_at": "string",
"deletes_at": "2019-08-24T14:15:22Z",
"feature": "workspace_apps",
"secret": "string",
"sequence": 0,
"starts_at": "string"
"starts_at": "2019-08-24T14:15:22Z"
}
]
}
@@ -9836,9 +9836,9 @@ _None_
### Properties
| Name | Type | Required | Restrictions | Description |
| ------------- | ----------------------------------------------------- | -------- | ------------ | ----------- |
| `crypto_keys` | array of [wsproxysdk.CryptoKey](#wsproxysdkcryptokey) | false | | |
| Name | Type | Required | Restrictions | Description |
| ------------- | ------------------------------------------------- | -------- | ------------ | ----------- |
| `crypto_keys` | array of [codersdk.CryptoKey](#codersdkcryptokey) | false | | |
## wsproxysdk.DeregisterWorkspaceProxyRequest