Compare commits

...
72 Commits
Author SHA1 Message Date
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 1380 additions and 39 deletions
+21
View File
@@ -11,3 +11,24 @@ POSTGRES_MAIN_DB=soaricarus_db
POSTGRES_MAIN_HOST=main_db POSTGRES_MAIN_HOST=main_db
POSTGRES_MAIN_PORT=5432 POSTGRES_MAIN_PORT=5432
DATABASE_URL=postgres://${POSTGRES_MAIN_USER}:${POSTGRES_MAIN_PASSWORD}@${POSTGRES_MAIN_HOST}:${POSTGRES_MAIN_PORT}/${POSTGRES_MAIN_DB} 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_HOST=main_db
POSTGRES_MAIN_PORT=5432 POSTGRES_MAIN_PORT=5432
DATABASE_URL=postgres://${POSTGRES_MAIN_USER}:${POSTGRES_MAIN_PASSWORD}@${POSTGRES_MAIN_HOST}:${POSTGRES_MAIN_PORT}/${POSTGRES_MAIN_DB} 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}
+106
View File
@@ -0,0 +1,106 @@
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:
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
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: "soaricarus-ci-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
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
+43 -2
View File
@@ -3,8 +3,6 @@ name: soaricarus_api CI
on: on:
push: push:
branches: [ "main" ] branches: [ "main" ]
pull_request:
branches: [ "main" ]
concurrency: concurrency:
group: ${{ github.workflow }}-${{ github.ref }} group: ${{ github.workflow }}-${{ github.ref }}
@@ -35,6 +33,7 @@ jobs:
test: test:
name: Test Suite name: Test Suite
runs-on: ubuntu-24.04 runs-on: ubuntu-24.04
timeout-minutes: 20
services: services:
postgres: postgres:
image: postgres:18.4-alpine image: postgres:18.4-alpine
@@ -65,6 +64,27 @@ jobs:
echo "Checking Docker Daemon Status (ps):" echo "Checking Docker Daemon Status (ps):"
docker ps -a docker ps -a
echo "Docker environment check complete." 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 - name: Run tests
env: env:
# Define DATABASE_URL for tests to use # Define DATABASE_URL for tests to use
@@ -73,6 +93,15 @@ jobs:
SECRET_MAIN_KEY: ${{ secrets.TOKEN_SECRET_KEY }} SECRET_MAIN_KEY: ${{ secrets.TOKEN_SECRET_KEY }}
SSH_AUTH_SOCK: ${{ env.SSH_AUTH_SOCK }} SSH_AUTH_SOCK: ${{ env.SSH_AUTH_SOCK }}
ROOT_DIRECTORY: "/tmp" 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: | run: |
mkdir -p ~/.ssh mkdir -p ~/.ssh
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/soaricarus_models_deploy_key echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/soaricarus_models_deploy_key
@@ -84,6 +113,18 @@ jobs:
cargo test 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: fmt:
name: Rustfmt name: Rustfmt
runs-on: ubuntu-24.04 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] [package]
name = "soaricarus_api" name = "soaricarus_api"
version = "0.5.2" version = "0.5.3"
edition = "2024" edition = "2024"
rust-version = "1.95" rust-version = "1.95"
license = "MIT" 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" } 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" } 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" } 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] [dev-dependencies]
common-multipart-rfc7578 = { version = "0.7.0" } 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 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. 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 Build containers
``` ```
docker compose build --ssh default docker compose build --ssh default
+77 -1
View File
@@ -6,14 +6,20 @@ services:
build: build:
context: . context: .
ssh: ["default"] ssh: ["default"]
container_name: soaricarus container_name: api
ports: ports:
- "8000:8000" - "8000:8000"
env_file: env_file:
- .env - .env
volumes:
- shared_credentials:/shared:ro # Mount as read-only
depends_on: depends_on:
main_db: main_db:
condition: service_healthy condition: service_healthy
maze:
condition: service_started
auth_api:
condition: service_started
networks: networks:
- soaricarus-network - soaricarus-network
restart: unless-stopped restart: unless-stopped
@@ -54,9 +60,75 @@ services:
- main_db - main_db
- auth_api - auth_api
- auth_db - auth_db
- maze
networks: networks:
- soaricarus-network - 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 # PostgreSQL Database Service
main_db: main_db:
@@ -113,6 +185,10 @@ volumes:
driver: local # Use the default local driver driver: local # Use the default local driver
postgres_data_auth: postgres_data_auth:
driver: local # Use the default local driver driver: local # Use the default local driver
object_data:
driver: local # Use the default local driver
shared_credentials: # New shared volume
driver: local
networks: networks:
soaricarus-network: 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 raw_data: Vec<u8> = data.to_vec();
let copied_raw_data = data.to_vec();
match super::is_song_valid(&raw_data).await { match super::is_song_valid(&raw_data).await {
Ok(valid) => { Ok(valid) => {
if valid { if valid {
@@ -169,6 +170,62 @@ pub mod endpoint {
{ {
Ok(queued_song) => { Ok(queued_song) => {
results.push(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) => { Err(err) => {
response.message = err.to_string(); response.message = err.to_string();