Compare commits

...

3 Commits

Author SHA1 Message Date
4233876bb0 Update rust (#79)
All checks were successful
Release Tagging / release (push) Successful in 38s
Rust Build / Check (push) Successful in 43s
Rust Build / Test Suite (push) Successful in 39s
Rust Build / Rustfmt (push) Successful in 34s
Rust Build / Clippy (push) Successful in 40s
Rust Build / build (push) Successful in 51s
Reviewed-on: #79
Co-authored-by: phoenix <mail@kundeng.us>
Co-committed-by: phoenix <mail@kundeng.us>
2026-04-05 17:51:13 -04:00
907a2dbfc3 tsk-64: Postgresql version bump 18 (#78)
All checks were successful
Release Tagging / release (push) Successful in 39s
Rust Build / Check (push) Successful in 1m3s
Rust Build / Test Suite (push) Successful in 1m1s
Rust Build / Rustfmt (push) Successful in 31s
Rust Build / Clippy (push) Successful in 32s
Rust Build / build (push) Successful in 2m27s
Closes #64

Reviewed-on: #78
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-11-02 21:43:35 +00:00
cba3e3db79 tsk-68: Remove run_migrations.txt (#77)
All checks were successful
Release Tagging / release (push) Successful in 35s
Rust Build / Check (push) Successful in 40s
Rust Build / Test Suite (push) Successful in 1m17s
Rust Build / Rustfmt (push) Successful in 32s
Rust Build / Clippy (push) Successful in 42s
Rust Build / build (push) Successful in 1m2s
Close #68

Reviewed-on: #77
Co-authored-by: phoenix <kundeng00@pm.me>
Co-committed-by: phoenix <kundeng00@pm.me>
2025-10-22 15:48:39 +00:00
8 changed files with 543 additions and 523 deletions

View File

@@ -17,7 +17,7 @@ jobs:
- name: Install Rust - name: Install Rust
uses: actions-rs/toolchain@v1 uses: actions-rs/toolchain@v1
with: with:
toolchain: 1.90.0 toolchain: 1.94
components: cargo components: cargo
- name: Extract Version from Cargo.toml - name: Extract Version from Cargo.toml

View File

@@ -18,7 +18,7 @@ jobs:
- uses: actions/checkout@v5 - uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1 - uses: actions-rust-lang/setup-rust-toolchain@v1
with: with:
toolchain: 1.90.0 toolchain: 1.94
- run: | - run: |
mkdir -p ~/.ssh mkdir -p ~/.ssh
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/icarus_models_deploy_key echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/icarus_models_deploy_key
@@ -36,7 +36,7 @@ jobs:
# --- Add database service definition --- # --- Add database service definition ---
services: services:
postgres: postgres:
image: postgres:17.5 image: postgres:18.3-alpine
env: env:
# Use secrets for DB init, with fallbacks for flexibility # Use secrets for DB init, with fallbacks for flexibility
POSTGRES_USER: ${{ secrets.DB_TEST_USER || 'testuser' }} POSTGRES_USER: ${{ secrets.DB_TEST_USER || 'testuser' }}
@@ -53,7 +53,7 @@ jobs:
- uses: actions/checkout@v5 - uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1 - uses: actions-rust-lang/setup-rust-toolchain@v1
with: with:
toolchain: 1.90.0 toolchain: 1.94
# --- Add this step for explicit verification --- # --- Add this step for explicit verification ---
- name: Verify Docker Environment - name: Verify Docker Environment
run: | run: |
@@ -95,7 +95,7 @@ jobs:
- uses: actions/checkout@v5 - uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1 - uses: actions-rust-lang/setup-rust-toolchain@v1
with: with:
toolchain: 1.90.0 toolchain: 1.94
- run: rustup component add rustfmt - run: rustup component add rustfmt
- run: | - run: |
mkdir -p ~/.ssh mkdir -p ~/.ssh
@@ -114,7 +114,7 @@ jobs:
- uses: actions/checkout@v5 - uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1 - uses: actions-rust-lang/setup-rust-toolchain@v1
with: with:
toolchain: 1.90.0 toolchain: 1.94
- run: rustup component add clippy - run: rustup component add clippy
- run: | - run: |
mkdir -p ~/.ssh mkdir -p ~/.ssh
@@ -133,7 +133,7 @@ jobs:
- uses: actions/checkout@v5 - uses: actions/checkout@v5
- uses: actions-rust-lang/setup-rust-toolchain@v1 - uses: actions-rust-lang/setup-rust-toolchain@v1
with: with:
toolchain: 1.90.0 toolchain: 1.94
- run: | - run: |
mkdir -p ~/.ssh mkdir -p ~/.ssh
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/icarus_models_deploy_key echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/icarus_models_deploy_key

978
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,30 +1,30 @@
[package] [package]
name = "icarus_auth" name = "icarus_auth"
version = "0.6.5" version = "0.7.0"
edition = "2024" edition = "2024"
rust-version = "1.90" rust-version = "1.94"
[dependencies] [dependencies]
axum = { version = "0.8.6" } axum = { version = "0.8.8" }
serde = { version = "1.0.228", features = ["derive"] } serde = { version = "1.0.228", features = ["derive"] }
serde_json = { version = "1.0.145" } serde_json = { version = "1.0.149" }
tokio = { version = "1.47.1", features = ["rt-multi-thread"] } tokio = { version = "1.51", features = ["rt-multi-thread"] }
tracing-subscriber = { version = "0.3.20" } tracing-subscriber = { version = "0.3.23" }
tower = { version = "0.5.2", features = ["full"] } tower = { version = "0.5.3", features = ["full"] }
tower-http = { version = "0.6.6", features = ["cors"] } tower-http = { version = "0.6.8", features = ["cors"] }
hyper = { version = "1.7.0" } hyper = { version = "1.9.0" }
sqlx = { version = "0.8.6", features = ["postgres", "runtime-tokio-native-tls", "time", "uuid"] } sqlx = { version = "0.8.6", features = ["postgres", "runtime-tokio-native-tls", "time", "uuid"] }
uuid = { version = "1.18.1", features = ["v4", "serde"] } uuid = { version = "1.23", features = ["v4", "serde"] }
argon2 = { version = "0.5.3", features = ["std"] } # Use the latest 0.5.x version argon2 = { version = "0.5.3", features = ["std"] } # Use the latest 0.5.x version
rand = { version = "0.9.2" } rand = { version = "0.10.0" }
time = { version = "0.3.41", features = ["macros", "serde"] } time = { version = "0.3.47", features = ["macros", "serde"] }
josekit = { version = "0.10.3" } josekit = { version = "0.10.3" }
utoipa = { version = "5.4.0", features = ["axum_extras"] } utoipa = { version = "5.4.0", features = ["axum_extras"] }
utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] } utoipa-swagger-ui = { version = "9.0.2", features = ["axum"] }
icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.8.0" } icarus_models = { git = "ssh://git@git.kundeng.us/phoenix/icarus_models.git", tag = "v0.10.0" }
icarus_envy = { git = "ssh://git@git.kundeng.us/phoenix/icarus_envy.git", tag = "v0.5.0" } icarus_envy = { git = "ssh://git@git.kundeng.us/phoenix/icarus_envy.git", tag = "v0.6.0" }
[dev-dependencies] [dev-dependencies]
http-body-util = { version = "0.1.3" } http-body-util = { version = "0.1.3" }
url = { version = "2.5.7" } url = { version = "2.5.8" }
once_cell = { version = "1.21.3" } # Useful for lazy initialization in tests/app setup once_cell = { version = "1.21.4" } # Useful for lazy initialization in tests/app setup

View File

@@ -1,7 +1,7 @@
# Stage 1: Build the application # Stage 1: Build the application
# Use a specific Rust version for reproducibility. Choose one that matches your development environment. # Use a specific Rust version for reproducibility. Choose one that matches your development environment.
# Using slim variant for smaller base image # Using slim variant for smaller base image
FROM rust:1.90 as builder FROM rust:1.94 as builder
# Set the working directory inside the container # Set the working directory inside the container
WORKDIR /usr/src/app WORKDIR /usr/src/app
@@ -64,7 +64,7 @@ COPY --from=builder /usr/src/app/.env .
COPY --from=builder /usr/src/app/migrations ./migrations COPY --from=builder /usr/src/app/migrations ./migrations
# Expose the port your Axum app listens on (e.g., 3000 or 8000) # Expose the port your Axum app listens on (e.g., 3000 or 8000)
EXPOSE 3000 EXPOSE 8001
# Set the command to run your application # Set the command to run your application
# Ensure this matches the binary name copied above # Ensure this matches the binary name copied above

View File

@@ -2,6 +2,13 @@ A auth web API services for the Icarus project.
# Getting Started # Getting Started
Install the `sqlx` tool to use migrations.
```
cargo install sqlx-cli
```
This will be used to scaffold development for local environments.
The easiest way to get started is through docker. This assumes that docker is already installed The easiest way to get started is through docker. This assumes that docker is already installed
on your system. Copy the `.env.docker.sample` as `.env`. Most of the data in the env file doesn't on your system. Copy the `.env.docker.sample` as `.env`. Most of the data in the env file doesn't
need to be modified. The `SECRET_KEY` variable should be changed since it will be used for token need to be modified. The `SECRET_KEY` variable should be changed since it will be used for token
@@ -33,4 +40,4 @@ docker system prune -a
``` ```
To view the OpenAPI spec, run the project and access `/swagger-ui`. If running through docker, To view the OpenAPI spec, run the project and access `/swagger-ui`. If running through docker,
the url would be something like `http://localhost:8000/swagger-ui`. the url would be something like `http://localhost:8001/swagger-ui`.

View File

@@ -19,7 +19,7 @@ services:
# PostgreSQL Database Service # PostgreSQL Database Service
auth_db: auth_db:
image: postgres:17.5-alpine # Use an official Postgres image (Alpine variant is smaller) image: postgres:18.3-alpine # Use an official Postgres image (Alpine variant is smaller)
container_name: icarus_auth_db # Optional: Give the container a specific name container_name: icarus_auth_db # Optional: Give the container a specific name
environment: environment:
# These MUST match the user, password, and database name in the DATABASE_URL above # These MUST match the user, password, and database name in the DATABASE_URL above

View File

@@ -1,27 +0,0 @@
TODO: At some point, move this somewhere that is appropriate
# Make sure role has CREATEDB
ALTER ROLE username_that_needs_permission CREATEDB;
# Install migrations
cargo install sqlx-cli
# Make sure to populate DATABASE_URL with correct value.
# By default, the DATABASE_URL found in .env file will be used
export DATABASE_URL="postgres://icarus_op_test:password@localhost/icarus_auth_test"
# init
sqlx migrate add init_migration
sqlx migrate run
# Create
sqlx database create
# Drop
sqlx database drop
# setup
sqlx database setup
# Reset
sqlx database reset