Compare commits

...
88 Commits
Author SHA1 Message Date
phoenix 0857921fd4 ci: Saving changes
pr CI / Test Suite (pull_request) Successful in 1m39s
2026-08-08 14:08:02 -04:00
phoenix a7de834877 Go ci;git push 2026-08-08 14:05:58 -04:00
phoenix 16e63a2dc2 Go ci;git push 2026-08-08 14:03:01 -04:00
phoenix 9c35c66d61 ci: Getting closer
pr CI / Test Suite (pull_request) Successful in 2m22s
2026-08-08 13:58:00 -04:00
phoenix 76eae50e35 ci: Making env var available
pr CI / Test Suite (pull_request) Successful in 1m48s
2026-08-08 13:53:05 -04:00
phoenix 3cd4b81dc4 ci: Got something after this
pr CI / Test Suite (pull_request) Successful in 2m12s
2026-08-08 13:49:48 -04:00
phoenix 24128e91af ci: Try again
pr CI / Test Suite (pull_request) Successful in 1m50s
2026-08-08 13:46:28 -04:00
phoenix 3f982c1263 ci: Removing already created env
pr CI / Test Suite (pull_request) Successful in 4m22s
2026-08-08 13:40:55 -04:00
phoenix acdddfe49b ci: Wooo
pr CI / Test Suite (pull_request) Successful in 1m49s
2026-08-08 13:32:41 -04:00
phoenix 3d335db362 ci: Better
pr CI / Test Suite (pull_request) Failing after 1m33s
2026-08-08 13:29:05 -04:00
phoenix 602b7db6cd ci: Tweak
pr CI / Test Suite (pull_request) Failing after 1m39s
2026-08-08 13:25:18 -04:00
phoenix f00c16d1cd ci: Try it
pr CI / Test Suite (pull_request) Failing after 1m24s
2026-08-08 13:20:39 -04:00
phoenix 35c379a631 ci: Change
pr CI / Test Suite (pull_request) Failing after 1m36s
2026-08-08 13:12:08 -04:00
phoenix 076793a867 ci: Some tweaking
pr CI / Test Suite (pull_request) Failing after 2m9s
2026-08-08 13:07:47 -04:00
phoenix 565e0b2959 Try it
pr CI / Test Suite (pull_request) Successful in 1m41s
2026-08-08 13:01:19 -04:00
phoenix 16b92c0f5e ci: Go
pr CI / Test Suite (pull_request) Failing after 1m22s
2026-08-08 12:58:28 -04:00
phoenix e8e150e7b2 bump: soaricarus_api
pr CI / Test Suite (pull_request) Successful in 3m12s
2026-08-08 12:46:09 -04:00
phoenix 84e6ff4718 Updating readme 2026-08-08 12:45:54 -04:00
phoenix 043adeb390 ci: Updated 2026-08-08 12:45:39 -04:00
phoenix a2c9d938f9 ci: Changed url
pr CI / Test Suite (pull_request) Successful in 1m46s
2026-08-08 12:19:51 -04:00
phoenix 14f197d472 ci: Maybe this time?
pr CI / Test Suite (pull_request) Failing after 3m18s
2026-08-08 12:11:31 -04:00
phoenix efaa7122e2 ci: Getting somewhere
pr CI / Test Suite (pull_request) Canceled after 1m26s
2026-08-08 12:08:23 -04:00
phoenix 74dda6c9ef ci: Try it
pr CI / Test Suite (pull_request) Failing after 1m27s
2026-08-08 12:05:25 -04:00
phoenix 4c4326bb88 ci: Try it
pr CI / Test Suite (pull_request) Failing after 1m56s
2026-08-08 11:58:25 -04:00
phoenix fc01503b12 ci: Try it again
pr CI / Test Suite (pull_request) Failing after 2m21s
2026-08-07 12:42:13 -04:00
phoenix 2b70eeb1a9 ci: Checking it
pr CI / Test Suite (pull_request) Failing after 1m59s
2026-08-07 12:34:06 -04:00
phoenix 3106242640 ci: Try
pr CI / Test Suite (pull_request) Failing after 1m57s
2026-08-07 12:32:47 -04:00
phoenix 43d2625e69 ci: Go for it
pr CI / Test Suite (pull_request) Failing after 1m42s
2026-08-07 12:28:29 -04:00
phoenix 5ce07d8eb2 ci: Using docker
pr CI / Test Suite (pull_request) Failing after 1m24s
2026-08-07 12:25:09 -04:00
phoenix 9c57caa860 ci: Get it up
pr CI / Test Suite (pull_request) Failing after 1m23s
2026-08-07 11:48:31 -04:00
phoenix 2fd93cae64 Fix typo
pr CI / Test Suite (pull_request) Failing after 3m29s
2026-08-07 11:40:00 -04:00
phoenix 41d6ed0334 ci: Switching s3
pr CI / Test Suite (pull_request) Canceled after 2m44s
2026-08-07 11:39:13 -04:00
phoenix 6c0b0fa7f0 ci: Fix
pr CI / Test Suite (pull_request) Failing after 4m24s
2026-08-07 11:30:17 -04:00
phoenix dfa1dc4487 ci: This is a doozy 2026-08-07 11:29:04 -04:00
phoenix b3fb8b3088 Trying it out
pr CI / Test Suite (pull_request) Failing after 2m51s
2026-08-07 11:24:46 -04:00
phoenix 9368e80abe ci: Maybe this time
pr CI / Test Suite (pull_request) Canceled after 5m40s
2026-08-07 11:19:12 -04:00
phoenix 21928f7eac ci: Do it
pr CI / Test Suite (pull_request) Canceled after 6m14s
2026-08-07 11:13:02 -04:00
phoenix c28f1dd0a9 ci: Updating fake s3 port
pr CI / Test Suite (pull_request) Canceled after 3m0s
2026-08-07 11:10:06 -04:00
phoenix 84bd59f488 ci: Trying out fake s3
pr CI / Test Suite (pull_request) Canceled after 3m59s
2026-08-07 11:06:09 -04:00
phoenix f3f9d10ed5 ci: Focusing on test for now
pr CI / Test Suite (pull_request) Failing after 1m16s
2026-08-07 11:00:19 -04:00
phoenix a47694164c Fixing workflow
pr CI / Check (pull_request) Successful in 1m55s
pr CI / Test Suite (pull_request) Canceled after 8m14s
2026-08-07 10:52:15 -04:00
phoenix 25c745e951 Updating workflow
pr CI / Check (pull_request) Canceled after 1m52s
pr CI / Test Suite (pull_request) Canceled after 1m54s
2026-08-07 10:50:20 -04:00
phoenix 61df07732d Try it again
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m11s
soaricarus_api CI / Test Suite (pull_request) Failing after 2m30s
soaricarus_api CI / Clippy (pull_request) Successful in 1m33s
soaricarus_api CI / build (pull_request) Successful in 1m51s
soaricarus_api CI / Check (pull_request) Successful in 5m14s
2026-08-06 18:56:19 -04:00
phoenix 685f2f9257 Let's try this
soaricarus_api CI / Check (pull_request) Successful in 2m26s
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m38s
soaricarus_api CI / Test Suite (pull_request) Failing after 5m13s
soaricarus_api CI / Clippy (pull_request) Successful in 3m33s
soaricarus_api CI / build (pull_request) Successful in 3m28s
2026-08-06 18:49:48 -04:00
phoenix 9042ba13e7 ci: Change sleep time in s3 setup
soaricarus_api CI / Check (pull_request) Successful in 2m22s
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m35s
soaricarus_api CI / Test Suite (pull_request) Failing after 2m36s
soaricarus_api CI / Clippy (pull_request) Successful in 2m16s
soaricarus_api CI / build (pull_request) Successful in 2m40s
2026-08-06 18:01:02 -04:00
phoenix 27e6b51616 bump: labyrinth
soaricarus_api CI / Check (pull_request) Successful in 2m3s
soaricarus_api CI / Test Suite (pull_request) Failing after 2m28s
soaricarus_api CI / Rustfmt (pull_request) Successful in 3m28s
soaricarus_api CI / Clippy (pull_request) Successful in 1m43s
soaricarus_api CI / build (pull_request) Successful in 3m41s
2026-08-06 17:56:05 -04:00
phoenix 4eee8e3b03 Updating workflow
soaricarus_api CI / Clippy (pull_request) Canceled after 0s
soaricarus_api CI / build (pull_request) Canceled after 0s
soaricarus_api CI / Check (pull_request) Canceled after 3m32s
soaricarus_api CI / Test Suite (pull_request) Canceled after 3m30s
soaricarus_api CI / Rustfmt (pull_request) Canceled after 3m29s
2026-08-06 17:55:17 -04:00
phoenix a05dae25d7 Let's see if the test passes
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m27s
soaricarus_api CI / Test Suite (pull_request) Failing after 3m59s
soaricarus_api CI / Check (pull_request) Successful in 4m24s
soaricarus_api CI / Clippy (pull_request) Successful in 2m10s
soaricarus_api CI / build (pull_request) Successful in 3m15s
2026-08-06 17:39:46 -04:00
phoenix 78d74cf6f3 Updated sample env files
soaricarus_api CI / Check (pull_request) Successful in 6m15s
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m58s
soaricarus_api CI / Clippy (pull_request) Successful in 3m29s
soaricarus_api CI / build (pull_request) Successful in 5m33s
soaricarus_api CI / Test Suite (pull_request) Successful in 5m27s
2026-08-06 17:17:59 -04:00
phoenix f7a1918462 ci: Updated docker compose 2026-08-06 17:17:45 -04:00
phoenix 9b6e6716c4 Updated code 2026-08-06 17:17:26 -04:00
phoenix 569c684c1c Added labyrinth 2026-08-06 11:45:34 -04:00
phoenix 6c910ab212 ci: Updated workflow
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m25s
soaricarus_api CI / Check (pull_request) Successful in 2m30s
soaricarus_api CI / Clippy (pull_request) Successful in 1m35s
soaricarus_api CI / build (pull_request) Successful in 2m42s
soaricarus_api CI / Test Suite (pull_request) Successful in 7m52s
2026-08-06 11:37:00 -04:00
phoenix 6490f51d17 ci: Maybe this time
soaricarus_api CI / Check (pull_request) Successful in 1m41s
soaricarus_api CI / Rustfmt (pull_request) Successful in 1m46s
soaricarus_api CI / Test Suite (pull_request) Successful in 3m3s
soaricarus_api CI / Clippy (pull_request) Successful in 2m0s
soaricarus_api CI / build (pull_request) Successful in 2m41s
2026-08-06 11:29:17 -04:00
phoenix d50959c602 ci: Maybe this
soaricarus_api CI / Check (pull_request) Failing after 14m43s
soaricarus_api CI / Rustfmt (pull_request) Failing after 9m0s
soaricarus_api CI / Clippy (pull_request) Successful in 1m55s
soaricarus_api CI / build (pull_request) Successful in 2m3s
soaricarus_api CI / Test Suite (pull_request) Failing after 4m44s
2026-08-06 10:51:39 -04:00
phoenix edf109e4d9 ci: Maybe this time
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m32s
soaricarus_api CI / Check (pull_request) Successful in 2m45s
soaricarus_api CI / Test Suite (pull_request) Failing after 3m23s
soaricarus_api CI / build (pull_request) Successful in 1m58s
soaricarus_api CI / Clippy (pull_request) Successful in 6m34s
2026-08-05 18:24:12 -04:00
phoenix d214ed106a Updating dockerfile 2026-08-05 18:07:15 -04:00
phoenix 77ec72dff4 ci: Added timeout
soaricarus_api CI / Check (pull_request) Successful in 3m11s
soaricarus_api CI / Test Suite (pull_request) Failing after 3m20s
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m14s
soaricarus_api CI / Clippy (pull_request) Successful in 2m24s
soaricarus_api CI / build (pull_request) Successful in 2m9s
2026-08-05 18:03:46 -04:00
phoenix 40c41c1c1b ci: Updated yml
soaricarus_api CI / Test Suite (pull_request) Failing after 2m31s
soaricarus_api CI / Check (pull_request) Successful in 2m42s
soaricarus_api CI / Rustfmt (pull_request) Successful in 3m2s
soaricarus_api CI / Clippy (pull_request) Canceled after 1m9s
soaricarus_api CI / build (pull_request) Canceled after 3m55s
2026-08-05 18:00:08 -04:00
phoenix a34bc7c0ae Removing init script
soaricarus_api CI / Check (pull_request) Successful in 2m36s
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m40s
soaricarus_api CI / Test Suite (pull_request) Failing after 3m24s
soaricarus_api CI / build (pull_request) Successful in 2m5s
soaricarus_api CI / Clippy (pull_request) Canceled after 2m37s
2026-08-05 17:53:56 -04:00
phoenix b436a1cd0a ci: Adding container name
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m27s
soaricarus_api CI / Check (pull_request) Successful in 2m43s
soaricarus_api CI / Test Suite (pull_request) Failing after 3m31s
soaricarus_api CI / Clippy (pull_request) Successful in 1m25s
soaricarus_api CI / build (pull_request) Successful in 1m52s
2026-08-05 17:49:50 -04:00
phoenix 3648c65aa2 Removing unused garage files 2026-08-05 17:49:38 -04:00
phoenix ac1575f2d1 Tweak it
soaricarus_api CI / Check (pull_request) Successful in 2m26s
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m21s
soaricarus_api CI / Clippy (pull_request) Successful in 1m43s
soaricarus_api CI / build (pull_request) Successful in 4m42s
soaricarus_api CI / Test Suite (pull_request) Failing after 1m12s
2026-08-05 17:38:06 -04:00
phoenix e86420f19c ci: Updated yml
soaricarus_api CI / Test Suite (pull_request) Failing after 5s
soaricarus_api CI / build (pull_request) Canceled after 0s
soaricarus_api CI / Check (pull_request) Canceled after 1m53s
soaricarus_api CI / Clippy (pull_request) Canceled after 1m48s
soaricarus_api CI / Rustfmt (pull_request) Canceled after 1m57s
2026-08-05 17:36:21 -04:00
phoenix efbeaf2f7e ci: Updated workflow
soaricarus_api CI / Test Suite (pull_request) Failing after 20s
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m18s
soaricarus_api CI / Clippy (pull_request) Successful in 3m0s
soaricarus_api CI / build (pull_request) Successful in 1m27s
soaricarus_api CI / Check (pull_request) Successful in 4m45s
2026-08-04 18:19:44 -04:00
phoenix db07f2c39d Updated yml 2026-08-04 18:19:27 -04:00
phoenix bae1dd4173 Updating docker file
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m24s
soaricarus_api CI / Check (pull_request) Successful in 3m15s
soaricarus_api CI / Clippy (pull_request) Successful in 1m34s
soaricarus_api CI / build (pull_request) Successful in 1m27s
soaricarus_api CI / Test Suite (pull_request) Successful in 8m55s
2026-08-04 17:54:39 -04:00
phoenix b02cabc016 Updating sample env files 2026-08-04 17:54:28 -04:00
phoenix f5be2a44b9 Got it working
soaricarus_api CI / Rustfmt (pull_request) Successful in 3m54s
soaricarus_api CI / Check (pull_request) Successful in 4m31s
soaricarus_api CI / Test Suite (pull_request) Successful in 4m51s
soaricarus_api CI / Clippy (pull_request) Successful in 2m34s
soaricarus_api CI / build (pull_request) Successful in 3m32s
2026-08-04 17:36:22 -04:00
phoenix 82515b4ad7 Updating garage.toml 2026-08-04 17:03:39 -04:00
phoenix 45534a9d18 Updated sample env 2026-08-04 17:02:35 -04:00
phoenix 6392169878 Saving changes. Just going to stick with one docker service for storage
soaricarus_api CI / Rustfmt (pull_request) Successful in 5m54s
soaricarus_api CI / Check (pull_request) Successful in 6m4s
soaricarus_api CI / Test Suite (pull_request) Successful in 7m40s
soaricarus_api CI / build (pull_request) Successful in 3m18s
soaricarus_api CI / Clippy (pull_request) Successful in 4m41s
2026-08-04 12:34:39 -04:00
phoenix b583ff8ef1 Saving files 2026-08-04 11:08:30 -04:00
phoenix 140b9dba45 Saving script change
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m57s
soaricarus_api CI / Test Suite (pull_request) Successful in 3m34s
soaricarus_api CI / Check (pull_request) Successful in 3m54s
soaricarus_api CI / Clippy (pull_request) Successful in 2m31s
soaricarus_api CI / build (pull_request) Successful in 2m59s
2026-07-30 16:59:58 -04:00
phoenix 10cec1d7c7 Getting closer
soaricarus_api CI / Rustfmt (pull_request) Failing after 14m32s
soaricarus_api CI / Test Suite (pull_request) Failing after 14m33s
soaricarus_api CI / Check (pull_request) Failing after 14m34s
soaricarus_api CI / Clippy (pull_request) Successful in 3m11s
soaricarus_api CI / build (pull_request) Successful in 3m46s
2026-07-30 13:23:17 -04:00
phoenix f07e0108cd Getting closer
soaricarus_api CI / Check (pull_request) Successful in 6m2s
soaricarus_api CI / Rustfmt (pull_request) Successful in 6m11s
soaricarus_api CI / Test Suite (pull_request) Successful in 8m25s
soaricarus_api CI / Clippy (pull_request) Successful in 3m12s
soaricarus_api CI / build (pull_request) Successful in 4m34s
2026-07-28 13:08:33 -04:00
phoenix e2a5e02aad Trying
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m21s
soaricarus_api CI / Test Suite (pull_request) Successful in 3m55s
soaricarus_api CI / Check (pull_request) Successful in 4m15s
soaricarus_api CI / Clippy (pull_request) Successful in 4m22s
soaricarus_api CI / build (pull_request) Successful in 3m48s
2026-07-24 19:12:19 -04:00
phoenix 6574d0ee8f I am tired boss
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m26s
soaricarus_api CI / Check (pull_request) Successful in 3m24s
soaricarus_api CI / Clippy (pull_request) Successful in 3m43s
soaricarus_api CI / Test Suite (pull_request) Successful in 6m32s
soaricarus_api CI / build (pull_request) Successful in 3m25s
2026-07-24 15:33:18 -04:00
phoenix 75f4d9fa76 Saving changes. No real progress yet
soaricarus_api CI / Test Suite (pull_request) Successful in 3m36s
soaricarus_api CI / Check (pull_request) Successful in 4m3s
soaricarus_api CI / Rustfmt (pull_request) Successful in 5m49s
soaricarus_api CI / Clippy (pull_request) Successful in 2m24s
soaricarus_api CI / build (pull_request) Successful in 4m32s
2026-07-24 12:23:48 -04:00
phoenix 3de818f280 Saving changes
soaricarus_api CI / Rustfmt (pull_request) Successful in 3m50s
soaricarus_api CI / Check (pull_request) Successful in 5m0s
soaricarus_api CI / Test Suite (pull_request) Successful in 6m7s
soaricarus_api CI / Clippy (pull_request) Successful in 3m28s
soaricarus_api CI / build (pull_request) Successful in 3m42s
2026-07-23 17:19:29 -04:00
phoenix f116adffdb Saving changes. Nothing yet 2026-07-23 16:26:14 -04:00
phoenix 3965d86d54 Saving script 2026-07-23 16:21:40 -04:00
phoenix 8fae71b086 Getting somewhere. Object Storage is initialized but not initializing hangs 2026-07-23 16:05:21 -04:00
phoenix 2bfb8c6aee Got garage to run in docker
soaricarus_api CI / Rustfmt (pull_request) Successful in 2m13s
soaricarus_api CI / Check (pull_request) Successful in 4m13s
soaricarus_api CI / Test Suite (pull_request) Successful in 5m55s
soaricarus_api CI / Clippy (pull_request) Successful in 4m30s
soaricarus_api CI / build (pull_request) Successful in 4m57s
2026-07-23 15:31:41 -04:00
phoenix 327d04e8a9 Revert "Removing garage.toml"
soaricarus_api CI / Clippy (pull_request) Canceled after 0s
soaricarus_api CI / build (pull_request) Canceled after 0s
soaricarus_api CI / Check (pull_request) Canceled after 2m22s
soaricarus_api CI / Rustfmt (pull_request) Canceled after 2m10s
soaricarus_api CI / Test Suite (pull_request) Canceled after 4m15s
This reverts commit 7a209eeb5e.
2026-07-23 15:28:58 -04:00
phoenix 7a209eeb5e Removing garage.toml 2026-07-23 15:15:11 -04:00
phoenix 7460f0d157 Updating some of the sample env
soaricarus_api CI / Rustfmt (pull_request) Successful in 3m17s
soaricarus_api CI / Check (pull_request) Successful in 4m30s
soaricarus_api CI / Test Suite (pull_request) Successful in 4m38s
soaricarus_api CI / Clippy (pull_request) Successful in 3m58s
soaricarus_api CI / build (pull_request) Successful in 3m8s
2026-07-22 17:20:58 -04:00
phoenix 4b7816e117 Adding image to store data 2026-07-22 17:20:37 -04:00
10 changed files with 1392 additions and 39 deletions
+21
View File
@@ -11,3 +11,24 @@ POSTGRES_MAIN_DB=soaricarus_db
POSTGRES_MAIN_HOST=main_db
POSTGRES_MAIN_PORT=5432
DATABASE_URL=postgres://${POSTGRES_MAIN_USER}:${POSTGRES_MAIN_PASSWORD}@${POSTGRES_MAIN_HOST}:${POSTGRES_MAIN_PORT}/${POSTGRES_MAIN_DB}
S3_BUCKET_NAME=soaricarus-bucket
S3_ENDPOINT_URL=http://maze:3900
GARAGE_S3_REGION=maze
GARAGE_RPC_SECRET=c2bde5c3f9c04116a7563e25ea5ba6fab25319daa2fe8a952ad57d0b8159b590
GARAGE_METRICS_TOKEN=sD2g4jiYV66KdZWtIuj2amezuryzv81mZNktpMNcmU4=
GARAGE_DEFAULT_ACCESS_KEY=GK8eb91557b9a18dcbdc834c16a25ac6fc
GARAGE_DEFAULT_SECRET_KEY=WhFAtnAtWgYaa0pMfl9jwygalZSwYaVliY3Ndm7nYHo=
GARAGE_DEFAULT_BUCKET=${S3_BUCKET_NAME}
GARAGE_ADMIN_TOKEN=5yMAjSINa6U04wr4pDbcTYfsXKl3S9ZjKdiPXWYUbNw=
GARAGE_METADATA_DIR=/var/lib/garage/meta
GARAGE_DATA_DIR=/var/lib/garage/data
GARAGE_DB_ENGINE=sqlite
GARAGE_REPLICATION_FACTOR=1
GARAGE_RPC_BIND_ADDR=[::]:3901
GARAGE_S3_API_BIND_ADDR=[::]:3900
GARAGE_S3_WEB_BIND_ADDR=[::]:3902
GARAGE_ROOT_DOMAIN=.localhost
AWS_DEFAULT_REGION=${GARAGE_S3_REGION}
AWS_SECRET_ACCESS_KEY=${GARAGE_DEFAULT_ACCESS_KEY}
AWS_ACCESS_KEY_ID=${GARAGE_DEFAULT_SECRET_KEY}
+21
View File
@@ -11,3 +11,24 @@ POSTGRES_MAIN_DB=soaricarus_db
POSTGRES_MAIN_HOST=main_db
POSTGRES_MAIN_PORT=5432
DATABASE_URL=postgres://${POSTGRES_MAIN_USER}:${POSTGRES_MAIN_PASSWORD}@${POSTGRES_MAIN_HOST}:${POSTGRES_MAIN_PORT}/${POSTGRES_MAIN_DB}
S3_BUCKET_NAME=soaricarus-bucket
S3_ENDPOINT_URL=http://maze:3900
GARAGE_S3_REGION=maze
GARAGE_RPC_SECRET=c2bde5c3f9c04116a7563e25ea5ba6fab25319daa2fe8a952ad57d0b8159b590
GARAGE_METRICS_TOKEN=sD2g4jiYV66KdZWtIuj2amezuryzv81mZNktpMNcmU4=
GARAGE_DEFAULT_ACCESS_KEY=GK8eb91557b9a18dcbdc834c16a25ac6fc
GARAGE_DEFAULT_SECRET_KEY=WhFAtnAtWgYaa0pMfl9jwygalZSwYaVliY3Ndm7nYHo=
GARAGE_DEFAULT_BUCKET=${S3_BUCKET_NAME}
GARAGE_ADMIN_TOKEN=5yMAjSINa6U04wr4pDbcTYfsXKl3S9ZjKdiPXWYUbNw=
GARAGE_METADATA_DIR=/var/lib/garage/meta
GARAGE_DATA_DIR=/var/lib/garage/data
GARAGE_DB_ENGINE=sqlite
GARAGE_REPLICATION_FACTOR=1
GARAGE_RPC_BIND_ADDR=[::]:3901
GARAGE_S3_API_BIND_ADDR=[::]:3900
GARAGE_S3_WEB_BIND_ADDR=[::]:3902
GARAGE_ROOT_DOMAIN=.localhost
AWS_DEFAULT_REGION=${GARAGE_S3_REGION}
AWS_SECRET_ACCESS_KEY=${GARAGE_DEFAULT_ACCESS_KEY}
AWS_ACCESS_KEY_ID=${GARAGE_DEFAULT_SECRET_KEY}
+118
View File
@@ -0,0 +1,118 @@
name: pr CI
on:
pull_request:
branches: [ "main" ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: Test Suite
runs-on: ubuntu-24.04
timeout-minutes: 20
services:
postgres:
image: postgres:18.4-alpine
env:
POSTGRES_USER: ${{ secrets.DB_TEST_USER || 'testuser' }}
POSTGRES_PASSWORD: ${{ secrets.DB_TEST_PASSWORD || 'testpassword' }}
POSTGRES_DB: ${{ secrets.DB_TEST_NAME || 'testdb' }}
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- uses: actions/checkout@v6
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.97
- uses: Swatinem/rust-cache@v2
- name: Verify Docker Environment
run: |
echo "Runner User Info:"
id
echo "Checking Docker Version:"
docker --version
echo "Checking Docker Daemon Status (info):"
docker info
echo "Checking Docker Daemon Status (ps):"
docker ps -a
echo "Docker environment check complete."
- name: Setup S3
env:
AWS_ACCESS_KEY_ID: "${{ secrets.GARAGE_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.GARAGE_SECRET }}"
AWS_DEFAULT_REGION: us-east-1
run: |
sudo apt update
echo "Installing curl and unzip"
sudo apt install curl unzip -y
echo "Installing awscli"
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version
BUCKET="soaricarus-ci-bucket-$(echo $RANDOM | md5sum | head -c 8)"
echo "S3_BUCKET=$BUCKET" >> $GITHUB_ENV
echo "AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION" >> $GITHUB_ENV
echo "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID" >> $GITHUB_ENV
echo "AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY" >> $GITHUB_ENV
echo "Creating bucket: $BUCKET"
aws --endpoint-url=${{ secrets.S3_CI_ENDPOINT_URL }} s3 mb s3://$BUCKET --region $AWS_DEFAULT_REGION
- name: Run tests
env:
DATABASE_URL: postgresql://${{ secrets.DB_TEST_USER || 'testuser' }}:${{ secrets.DB_TEST_PASSWORD || 'testpassword' }}@postgres:5432/${{ secrets.DB_TEST_NAME || 'testdb' }}
RUST_LOG: info # Optional: configure test log level
SECRET_MAIN_KEY: ${{ secrets.TOKEN_SECRET_KEY }}
SSH_AUTH_SOCK: ${{ env.SSH_AUTH_SOCK }}
ROOT_DIRECTORY: "/tmp"
AWS_ACCESS_KEY_ID: "${{ secrets.GARAGE_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.GARAGE_SECRET }}"
AWS_DEFAULT_REGION: us-east-1
GARAGE_DEFAULT_ACCESS_KEY: "${{ secrets.GARAGE_KEY_ID }}"
GARAGE_DEFAULT_SECRET_KEY: "${{ secrets.GARAGE_SECRET }}"
GARAGE_S3_REGION: us-east-1
S3_BUCKET_NAME: ${{ env.S3_BUCKET }}
S3_ENDPOINT_URL: "${{ secrets.S3_CI_ENDPOINT_URL }}"
AWS_S3_FORCE_PATH_STYLE: "true"
run: |
mkdir -p ~/.ssh
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/soaricarus_models_deploy_key
chmod 600 ~/.ssh/soaricarus_models_deploy_key
ssh-keyscan ${{ secrets.MYHOST }} >> ~/.ssh/known_hosts
eval $(ssh-agent -s)
ssh-add -v ~/.ssh/soaricarus_models_deploy_key
echo "Bucket: $S3_BUCKET"
echo "S3 Bucket: $S3_BUCKET_NAME"
cargo test
- name: Cleanup
if: always()
run: |
echo "Cleaning up bucket ${{ env.S3_BUCKET }}"
echo "Region: ${{ env.AWS_DEFAULT_REGION }}"
echo "B: $BUCK"
aws --endpoint-url=$ENDPOINT_URL \
s3 rb s3://$BUCK --force \
--region $AWS_DEFAULT_REGION
env:
ENDPOINT_URL: ${{ secrets.S3_CI_ENDPOINT_URL }}
AWS_ACCESS_KEY_ID: "${{ env.AWS_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "{{ env.AWS_SECRET_ACCESS_KEY }}"
AWS_DEFAULT_REGION: ${{ env.AWS_DEFAULT_REGION }}"
BUCK: ${{ env.S3_BUCKET }}
continue-on-error: true
+43 -2
View File
@@ -3,8 +3,6 @@ name: soaricarus_api CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
@@ -35,6 +33,7 @@ jobs:
test:
name: Test Suite
runs-on: ubuntu-24.04
timeout-minutes: 20
services:
postgres:
image: postgres:18.4-alpine
@@ -65,6 +64,27 @@ jobs:
echo "Checking Docker Daemon Status (ps):"
docker ps -a
echo "Docker environment check complete."
- name: Setup S3
env:
GARAGE_DEFAULT_ACCESS_KEY: "${{ secrets.GARAGE_KEY_ID }}"
GARAGE_DEFAULT_SECRET_KEY: "${{ secrets.GARAGE_SECRET }}"
GARAGE_DEFAULT_BUCKET: "soaricarus-ci-bucket"
AWS_ACCESS_KEY_ID: "${{ secrets.GARAGE_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.GARAGE_SECRET }}"
AWS_DEFAULT_REGION: us-east-1
run: |
sudo apt update
sudo apt install curl unzip -y
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version
# curl -v ${{ secrets.S3_CI_ENDPOINT_URL }}
# Create bucket
aws --endpoint-url=${{ secrets.S3_CI_ENDPOINT_URL }} s3 mb s3://soaricarus-ci-bucket --region us-east-1
- name: Run tests
env:
# Define DATABASE_URL for tests to use
@@ -73,6 +93,15 @@ jobs:
SECRET_MAIN_KEY: ${{ secrets.TOKEN_SECRET_KEY }}
SSH_AUTH_SOCK: ${{ env.SSH_AUTH_SOCK }}
ROOT_DIRECTORY: "/tmp"
AWS_ACCESS_KEY_ID: ${{ secrets.GARAGE_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.GARAGE_SECRET }}
AWS_DEFAULT_REGION: us-east-1
GARAGE_DEFAULT_ACCESS_KEY: ${{ secrets.GARAGE_KEY_ID }}
GARAGE_DEFAULT_SECRET_KEY: ${{ secrets.GARAGE_SECRET }}
GARAGE_S3_REGION: us-east-1
S3_BUCKET_NAME: "soaricarus-ci-bucket"
S3_ENDPOINT_URL: "http://localhost:3900"
AWS_S3_FORCE_PATH_STYLE: "true"
run: |
mkdir -p ~/.ssh
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/soaricarus_models_deploy_key
@@ -84,6 +113,18 @@ jobs:
cargo test
- name: Cleanup
if: always()
run: |
aws --endpoint-url=${{ secrets.S3_CI_ENDPOINT_URL }} \
s3 rb s3://soaricarus-ci-bucket --force \
--region us-east-1
env:
AWS_ACCESS_KEY_ID: "${{ secrets.GARAGE_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.GARAGE_SECRET }}"
AWS_DEFAULT_REGION: us-east-1
continue-on-error: true
fmt:
name: Rustfmt
runs-on: ubuntu-24.04
Generated
+1014 -35
View File
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -1,6 +1,6 @@
[package]
name = "soaricarus_api"
version = "0.5.2"
version = "0.5.3"
edition = "2024"
rust-version = "1.95"
license = "MIT"
@@ -29,6 +29,7 @@ utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] }
simeta = { git = "ssh://git@git.kundeng.us/phoenix/simeta.git", tag = "v0.6.1-main-b690995806-680" }
simodels = { git = "ssh://git@git.kundeng.us/phoenix/simodels.git", tag = "v0.11.3-main-fe9d101bd0-111" }
sienvy = { git = "ssh://git@git.kundeng.us/phoenix/sienvy.git", tag = "v0.8.0-main-d06c8fdf49-006" }
labyrinth = { git = "ssh://git@git.kundeng.us/phoenix/labyrinth.git", tag = "v0.0.2-1-84f98521c8-928" }
[dev-dependencies]
common-multipart-rfc7578 = { version = "0.7.0" }
+15
View File
@@ -19,6 +19,21 @@ Copy the `.env.docker.sample` file to `.env`. Ensure that the `ROOT_DIRECTORY` v
and exists on the docker image's filesystem. The credentials for the database doesn't need to be
changed for development, but if deploying it, it should be modified.
### S3 Setup
Using the copied `.env.docker.sample`, ensure that the following has been properly populated.
```
S3_ENDPOINT_URL - URL of the S3 bucket
S3_BUCKET_NAME - Name of the S3 bucket
GARAGE_S3_REGION - Region of the S3 bucket
GARAGE_RPC_SECRET - A 32-bit hex string
GARAGE_DEFAULT_ACCESS_KEY - Access key starting with GK followed with a 16-bit hex string
GARAGE_DEFAULT_SECRET_KEY - Secret key with a 32-bit hex string
```
The other S3-related environment variables can be left as is for the sake of getting
started.
Build containers
```
docker compose build --ssh default
+77 -1
View File
@@ -6,14 +6,20 @@ services:
build:
context: .
ssh: ["default"]
container_name: soaricarus
container_name: api
ports:
- "8000:8000"
env_file:
- .env
volumes:
- shared_credentials:/shared:ro # Mount as read-only
depends_on:
main_db:
condition: service_healthy
maze:
condition: service_started
auth_api:
condition: service_started
networks:
- soaricarus-network
restart: unless-stopped
@@ -54,9 +60,75 @@ services:
- main_db
- auth_api
- auth_db
- maze
networks:
- soaricarus-network
# --- storage service ---
maze:
image: dxflrs/garage:v2.3.0 # Use official Garage image
container_name: maze
restart: unless-stopped
environment:
# Garage configuration via environment variables
GARAGE_SERVER_BIND_ADDR: "0.0.0.0:3900"
GARAGE_SERVER_BIND_PUBLIC_ADDR: "0.0.0.0:3901"
GARAGE_S3_API_BIND_ADDR: "0.0.0.0:3900"
GARAGE_S3_API_PUBLIC_BIND_ADDR: "0.0.0.0:3901"
GARAGE_S3_API_PUBLIC_ADDRS: "http://localhost:3901"
GARAGE_S3_API_ROOT_DOMAIN: "${GARAGE_ROOT_DOMAIN}"
GARAGE_ADMIN_BIND_ADDR: "0.0.0.0:3902"
GARAGE_ADMIN_PUBLIC_BIND_ADDR: "0.0.0.0:3902"
# Cluster configuration (single node for simplicity)
GARAGE_CLUSTER_REPLICATION_MODE: "none" # Single node
GARAGE_CLUSTER_PEER_REPLICATION_STRATEGY: "ring"
# Data storage
GARAGE_DATA_DIR: "/data"
GARAGE_METADATA_DIR: "/data/meta"
# RPC configuration
GARAGE_RPC_PUBLIC_ADDR: "http://maze:3901"
GARAGE_RPC_BIND_ADDR: "0.0.0.0:3901"
GARAGE_RPC_SECRET: "${GARAGE_RPC_SECRET}" # 32+ chars
# Web Admin
GARAGE_ADMIN_TOKEN: "${GARAGE_ADMIN_TOKEN}"
# Logging
GARAGE_LOG_LEVEL: "info"
GARAGE_S3_BUCKET: "${S3_BUCKET_NAME}"
GARAGE_S3_REGION: "${GARAGE_S3_REGION}"
GARAGE_DEFAULT_ACCESS_KEY: "${GARAGE_DEFAULT_ACCESS_KEY}"
GARAGE_DEFAULT_SECRET_KEY: "${GARAGE_DEFAULT_SECRET_KEY}"
GARAGE_DEFAULT_BUCKET: "${GARAGE_DEFAULT_BUCKET}"
AWS_ACCESS_KEY_ID: "${GARAGE_DEFAULT_ACCESS_KEY}"
AWS_SECRET_ACCESS_KEY: "${GARAGE_DEFAULT_SECRET_KEY}"
AWS_DEFAULT_REGION: "${GARAGE_DEFAULT_BUCKET}"
AWS_S3_FORCE_PATH_STYLE: "true"
volumes:
- ./garage.toml:/etc/garage.toml:ro # Mount config file
- shared_credentials:/data # Persist Garage data
ports:
- "3900:3900" # S3 API
- "3901:3901" # S3 API public
- "3902:3902" # Admin API
command: ["/garage", "server", "--single-node", "--default-bucket"]
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3900/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
networks:
- soaricarus-network
extra_hosts:
- "garage.local:127.0.0.1"
# PostgreSQL Database Service
main_db:
@@ -113,6 +185,10 @@ volumes:
driver: local # Use the default local driver
postgres_data_auth:
driver: local # Use the default local driver
object_data:
driver: local # Use the default local driver
shared_credentials: # New shared volume
driver: local
networks:
soaricarus-network:
+24
View File
@@ -0,0 +1,24 @@
metadata_dir = "/var/lib/garage/meta"
data_dir = "/var/lib/garage/data"
db_engine = "sqlite"
replication_factor = 1
rpc_public_addr = "127.0.0.1:3901"
rpc_secret = "${GARAGE_RPC_SECRET}"
rpc_bind_addr = "[::]:3901"
[s3_api]
s3_region = "maze"
api_bind_addr = "[::]:3900"
root_domain = ".s3.maze.localhost"
[s3_web]
bind_addr = "[::]:3902"
root_domain = ".web.maze.localhost"
index = "index.html"
[admin]
api_bind_addr = "[::]:3903"
admin_token = "${GARAGE_ADMIN_TOKEN}"
metrics_token = "${GARAGE_METRICS_TOKEN}"
+57
View File
@@ -156,6 +156,7 @@ pub mod endpoint {
);
let raw_data: Vec<u8> = data.to_vec();
let copied_raw_data = data.to_vec();
match super::is_song_valid(&raw_data).await {
Ok(valid) => {
if valid {
@@ -169,6 +170,62 @@ pub mod endpoint {
{
Ok(queued_song) => {
results.push(queued_song);
println!("Uploading to bucket");
let s3_endpoint_url =
sienvy::environment::get_env("S3_ENDPOINT_URL");
let bucket_name =
sienvy::environment::get_env("S3_BUCKET_NAME");
let region =
sienvy::environment::get_env("GARAGE_S3_REGION");
let access_key_id = sienvy::environment::get_env(
"GARAGE_DEFAULT_ACCESS_KEY",
);
let secret_key = sienvy::environment::get_env(
"GARAGE_DEFAULT_SECRET_KEY",
);
let lab_config = labyrinth::config::Config {
url: s3_endpoint_url.value,
bucket: bucket_name.value,
region: region.value,
access_key_id: access_key_id.value,
secret_key: secret_key.value,
};
println!("Labyrinth config: {lab_config:?}");
let lr = labyrinth::Labyrinth { config: lab_config };
let data = labyrinth::Data {
raw_data: copied_raw_data,
..Default::default()
};
let filename = simodels::song::generate_filename(
simodels::types::MusicType::FlacExtension,
true,
)
.unwrap();
println!("Filename: {filename:?}");
let file_path = format!("queued/song/{filename}");
println!("Path: {file_path:?}");
match lr.upload(&file_path, &data).await {
Ok(res) => {
println!("Result: {res:?}");
}
Err(err) => match err {
labyrinth::Error::Info(err_str) => {
eprintln!("Error: {:?}", err_str);
response.message = err_str.to_string();
return (axum::http::StatusCode::INTERNAL_SERVER_ERROR, axum::Json(response));
}
labyrinth::Error::SError(err_s) => {
eprintln!("Error: {:?}", err_s);
response.message = err_s.to_string();
return (axum::http::StatusCode::INTERNAL_SERVER_ERROR, axum::Json(response));
}
},
}
}
Err(err) => {
response.message = err.to_string();