per-bucket keys #68

Merged
quentin merged 9 commits from feat-per-bucket-key into main 2024-06-24 10:15:56 +00:00
Owner

WebUI

similar to API, check API

API

Global access + secret key is not returned anymore (no more access_key_id or secret_access_key fields):

$ curl --user quentin http://localhost:9991/api/unstable/website|jq
{
  "quota_website_count": {
    "current": 2,
    "max": 5,
    "ratio": 0.4,
    "burstable": true
  },
  "burst_bucket_quota_size": "200 Mio",
  "vhosts": [
    {
      "name": "patapon",
      "alt_name": [],
      "expanded": false,
      "domain": "patapon.web.deuxfleurs.fr"
    },
    {
      "name": "plop",
      "alt_name": [],
      "expanded": false,
      "domain": "plop.web.deuxfleurs.fr"
    }
  ]
}

Each website now has its dedicated access key id + secret key (note the access_key_id and secret_access_key fields):

curl --user quentin http://localhost:9991/api/unstable/website/plop|jq
{
  "vhost": {
    "name": "plop",
    "alt_name": [],
    "expanded": false,
    "domain": "plop.web.deuxfleurs.fr"
  },
  "access_key_id": "GK1ecf79b50f2e3acd55f4b031",
  "secret_access_key": "273762376ea2c5d8a619029f09c09ce96e2ef03fe3dbdd7f44bfb68551ed7de2",
  "quota_size": {
    "current": 0,
    "max": 52428800,
    "ratio": 0,
    "burstable": true
  },
  "quota_files": {
    "current": 0,
    "max": 10000,
    "ratio": 0,
    "burstable": false
  }
}

Rotating key is possible through a PATCH call (note how in the answer the access_key_id and `secret_access_key fields changed):

$ curl --user quentin -X PATCH --data '{ "rotate_key": true }' http://localhost:9991/api/unstable/website/plop|jq
{
  "vhost": {
    "name": "plop",
    "alt_name": [],
    "expanded": false,
    "domain": "plop.web.deuxfleurs.fr"
  },
  "access_key_id": "GKce95b4a033c4de0950960f7f",
  "secret_access_key": "cb9a730fc4c5c823ed9e200036973baac28d0b7d24359aec3126a671e9ff82b3",
  "quota_size": {
    "current": 0,
    "max": 52428800,
    "ratio": 0,
    "burstable": true
  },
  "quota_files": {
    "current": 0,
    "max": 10000,
    "ratio": 0,
    "burstable": false
  }
}
## WebUI similar to API, check API ## API Global access + secret key is not returned anymore (no more `access_key_id` or `secret_access_key` fields): ```bash $ curl --user quentin http://localhost:9991/api/unstable/website|jq ``` ```json { "quota_website_count": { "current": 2, "max": 5, "ratio": 0.4, "burstable": true }, "burst_bucket_quota_size": "200 Mio", "vhosts": [ { "name": "patapon", "alt_name": [], "expanded": false, "domain": "patapon.web.deuxfleurs.fr" }, { "name": "plop", "alt_name": [], "expanded": false, "domain": "plop.web.deuxfleurs.fr" } ] } ``` Each website now has its dedicated access key id + secret key (note the `access_key_id` and `secret_access_key` fields): ``` curl --user quentin http://localhost:9991/api/unstable/website/plop|jq ``` ```json { "vhost": { "name": "plop", "alt_name": [], "expanded": false, "domain": "plop.web.deuxfleurs.fr" }, "access_key_id": "GK1ecf79b50f2e3acd55f4b031", "secret_access_key": "273762376ea2c5d8a619029f09c09ce96e2ef03fe3dbdd7f44bfb68551ed7de2", "quota_size": { "current": 0, "max": 52428800, "ratio": 0, "burstable": true }, "quota_files": { "current": 0, "max": 10000, "ratio": 0, "burstable": false } } ``` Rotating key is possible through a PATCH call (note how in the answer the `access_key_id` and `secret_access_key fields changed): ```bash $ curl --user quentin -X PATCH --data '{ "rotate_key": true }' http://localhost:9991/api/unstable/website/plop|jq ``` ```json { "vhost": { "name": "plop", "alt_name": [], "expanded": false, "domain": "plop.web.deuxfleurs.fr" }, "access_key_id": "GKce95b4a033c4de0950960f7f", "secret_access_key": "cb9a730fc4c5c823ed9e200036973baac28d0b7d24359aec3126a671e9ff82b3", "quota_size": { "current": 0, "max": 52428800, "ratio": 0, "burstable": true }, "quota_files": { "current": 0, "max": 10000, "ratio": 0, "burstable": false } } ```
quentin added 1 commit 2024-06-24 05:53:51 +00:00
inject cacert
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
37a9f6fa54
quentin added 1 commit 2024-06-24 06:17:35 +00:00
update dev env skeleton
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
793cb2d3c2
quentin added 1 commit 2024-06-24 06:44:42 +00:00
don't display the global key anymore
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
9cd06c95eb
quentin added 1 commit 2024-06-24 07:17:18 +00:00
bump garage SDK
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/pr/woodpecker Pipeline failed
a7edf6d1ba
quentin added 1 commit 2024-06-24 08:24:17 +00:00
generate a per-website dedicated key
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/pr/woodpecker Pipeline failed
e940996f0f
quentin added 1 commit 2024-06-24 08:43:40 +00:00
implement flush for dedicated key, allow delete & key rotation
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/pr/woodpecker Pipeline failed
df79d11028
quentin added 1 commit 2024-06-24 08:50:28 +00:00
update gomod2nix (bump garage sdk bis)
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
64363b29e0
quentin added 1 commit 2024-06-24 10:07:40 +00:00
rework inspect page
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
898122c19e
quentin added 1 commit 2024-06-24 10:12:46 +00:00
Ajout de WebDAV
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/pr/woodpecker Pipeline was successful
bc7bc61f74
quentin changed title from WIP: per-bucket keys to per-bucket keys 2024-06-24 10:13:05 +00:00
quentin merged commit 9917429da3 into main 2024-06-24 10:15:56 +00:00
quentin deleted branch feat-per-bucket-key 2024-06-24 10:15:57 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Deuxfleurs/guichet#68
No description provided.