Compare commits

...

5 Commits

Author SHA1 Message Date
d4faa7976e Update icarus_models (#38)
All checks were successful
Release Tagging / release (push) Successful in 25s
Rust Build / Check (push) Successful in 35s
Rust Build / Test Suite (push) Successful in 43s
Rust Build / Rustfmt (push) Successful in 22s
Rust Build / Clippy (push) Successful in 35s
Rust Build / build (push) Successful in 53s
Rust Build / Check (pull_request) Successful in 55s
Rust Build / Test Suite (pull_request) Successful in 1m6s
Rust Build / Rustfmt (pull_request) Successful in 21s
Rust Build / Clippy (pull_request) Successful in 52s
Rust Build / build (pull_request) Successful in 1m48s
Reviewed-on: #38
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-05-28 23:26:17 +00:00
ed77cab700 Environment and docker changes (#37)
All checks were successful
Release Tagging / release (push) Successful in 33s
Rust Build / Check (push) Successful in 38s
Rust Build / Test Suite (push) Successful in 49s
Rust Build / Rustfmt (push) Successful in 25s
Rust Build / Clippy (push) Successful in 36s
Rust Build / build (push) Successful in 1m6s
Rust Build / Check (pull_request) Successful in 39s
Rust Build / Test Suite (pull_request) Successful in 47s
Rust Build / Rustfmt (pull_request) Successful in 22s
Rust Build / Clippy (pull_request) Successful in 35s
Rust Build / build (pull_request) Successful in 54s
Reviewed-on: #37
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-05-27 20:55:53 +00:00
2c30abb5c6 Updated gitignore (#36)
All checks were successful
Release Tagging / release (push) Successful in 33s
Rust Build / Check (push) Successful in 46s
Rust Build / Test Suite (push) Successful in 55s
Rust Build / Rustfmt (push) Successful in 27s
Rust Build / Clippy (push) Successful in 41s
Rust Build / build (push) Successful in 1m5s
Rust Build / Check (pull_request) Successful in 39s
Rust Build / Test Suite (pull_request) Successful in 53s
Rust Build / Rustfmt (pull_request) Successful in 25s
Rust Build / Clippy (pull_request) Successful in 39s
Rust Build / build (pull_request) Successful in 1m1s
Reviewed-on: #36
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-05-27 20:23:50 +00:00
1817ab01d6 Test fix (#35)
All checks were successful
Release Tagging / release (push) Successful in 32s
Rust Build / Check (push) Successful in 46s
Rust Build / Test Suite (push) Successful in 57s
Rust Build / Rustfmt (push) Successful in 34s
Rust Build / Clippy (push) Successful in 47s
Rust Build / build (push) Successful in 1m18s
Rust Build / Check (pull_request) Successful in 46s
Rust Build / Test Suite (pull_request) Successful in 1m3s
Rust Build / Rustfmt (pull_request) Successful in 27s
Rust Build / Clippy (pull_request) Successful in 46s
Rust Build / build (pull_request) Successful in 1m24s
Reviewed-on: #35
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-04-27 18:06:13 +00:00
31be156be3 Added ssh default for building docker image (#33)
All checks were successful
Rust Build / Check (push) Successful in 46s
Rust Build / Test Suite (push) Successful in 1m3s
Rust Build / Rustfmt (push) Successful in 28s
Rust Build / Clippy (push) Successful in 46s
Rust Build / build (push) Successful in 1m16s
Rust Build / Check (pull_request) Successful in 53s
Rust Build / Test Suite (pull_request) Successful in 1m0s
Rust Build / Rustfmt (pull_request) Successful in 27s
Rust Build / Clippy (pull_request) Successful in 52s
Rust Build / build (pull_request) Successful in 1m15s
Release Tagging / release (push) Successful in 43s
Reviewed-on: #33
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-04-27 16:31:11 +00:00
8 changed files with 46 additions and 44 deletions

6
.env.docker.sample Normal file
View File

@@ -0,0 +1,6 @@
SECRET_KEY=refero34o8rfhfjn983thf39fhc943rf923n3h
POSTGRES_AUTH_USER=icarus_op
POSTGRES_AUTH_PASSWORD=password
POSTGRES_AUTH_DB=icarus_auth_db
POSTGRES_AUTH_HOST=auth_db
DATABASE_URL=postgresql://${POSTGRES_AUTH_USER}:${POSTGRES_AUTH_PASSWORD}@${POSTGRES_AUTH_HOST}:5432/${POSTGRES_AUTH_DB}

View File

@@ -1,6 +1,6 @@
SECRET_KEY=refero34o8rfhfjn983thf39fhc943rf923n3h
POSTGRES_USER=icarus_op_test
POSTGRES_PASSWORD=password
POSTGRES_DB=icarus_auth_test_db
POSTGRES_HOST=localhost
DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:5432/${POSTGRES_DB}
POSTGRES_AUTH_USER=icarus_op_test
POSTGRES_AUTH_PASSWORD=password
POSTGRES_AUTH_DB=icarus_auth_test_db
POSTGRES_AUTH_HOST=localhost
DATABASE_URL=postgresql://${POSTGRES_AUTH_USER}:${POSTGRES_AUTH_PASSWORD}@${POSTGRES_AUTH_HOST}:5432/${POSTGRES_AUTH_DB}

View File

@@ -19,7 +19,7 @@ argon2 = { version = "0.5.3", features = ["std"] } # Use the latest 0.5.x versio
rand = { version = "0.9" }
time = { version = "0.3.41", features = ["macros", "serde"] }
josekit = { version = "0.10.1" }
icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.4.1" }
icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.4.3" }
[dev-dependencies]
http-body-util = { version = "0.1.3" }

View File

@@ -1,20 +0,0 @@
# Getting started
Take notice of the .env.sample file and create copies without the .sample in the name.
`.env.sample` -> `.env`
Ensure that all variables are populated and is correct.
## Docker
Build the images
```
docker compose build --ssh default auth_api
```
Bring it up
```
docker compose up -d --force-recreate auth_api
```

26
README.md Normal file
View File

@@ -0,0 +1,26 @@
# Getting Started
Copy the `.env.sample` file to `.env` and ensure that the variables are populated. This project
can be used with regular hosting or with docker. For the sake of getting up to speed quickly,
Docker will be covered. Make sure docker is running and your ssh identity has been loaded.
Build image
```
docker compose build
```
Start images
```
docker compose up -d --force-recreate
```
Bring it down
```
docker compose down -v
```
Pruning
```
docker system prune -a
```

View File

@@ -3,7 +3,9 @@ version: '3.8' # Use a recent version
services:
# Your Rust Application Service
auth_api:
build: . # Tells docker-compose to build the Dockerfile in the current directory
build: # Tells docker-compose to build the Dockerfile in the current directory
context: .
ssh: ["default"] # Uses host's SSH agent
container_name: icarus_auth # Optional: Give the container a specific name
ports:
# Map host port 8000 to container port 3000 (adjust as needed)
@@ -21,9 +23,9 @@ services:
container_name: icarus_auth_db # Optional: Give the container a specific name
environment:
# These MUST match the user, password, and database name in the DATABASE_URL above
POSTGRES_USER: ${POSTGRES_USER:-icarus_op}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-password}
POSTGRES_DB: ${POSTGRES_DB:-icarus_auth}
POSTGRES_USER: ${POSTGRES_AUTH_USER:-icarus_op}
POSTGRES_PASSWORD: ${POSTGRES_AUTH_PASSWORD:-password}
POSTGRES_DB: ${POSTGRES_AUTH_DB:-icarus_auth_db}
volumes:
# Persist database data using a named volume
- postgres_data:/var/lib/postgresql/data
@@ -40,4 +42,4 @@ services:
# Define the named volume for data persistence
volumes:
postgres_data:
driver: local # Use the default local driver
driver: local # Use the default local driver

View File

@@ -1,13 +0,0 @@
# Docker stuff
#Build app
docker compose build --ssh default auth_api
# Rebuild and bring up
docker compose up -d --force-recreate auth_api
# Bring it down
docker compose down -v
# Pruning
docker system prune -a

View File

@@ -74,6 +74,7 @@ mod tests {
pub const LIMIT: usize = 6;
pub async fn get_pool() -> Result<sqlx::PgPool, sqlx::Error> {
dotenvy::dotenv().ok(); // Load .env file if it exists
let tm_db_url = std::env::var(keys::DBURL).expect("DATABASE_URL must be present");
let tm_options = sqlx::postgres::PgConnectOptions::from_str(&tm_db_url).unwrap();
sqlx::PgPool::connect_with(tm_options).await