Skip to content
Open

Dev #62

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
7839f1f
cargo.lock re-gen
Dec 25, 2025
624b263
create linux/macos binaries
Dec 25, 2025
396768e
downgrade sqlx
Dec 25, 2025
baf2303
sqlx cache
Dec 25, 2025
a06ffd1
Disable SQLX_OFFLINE for prepare
Dec 25, 2025
b47dad9
sqlx-date.json generate
Dec 25, 2025
930fc11
sqlx-date.json check
Dec 25, 2025
b77855e
sqlx-date.json check
Dec 25, 2025
3a1063a
sqlx-date.json check
Dec 25, 2025
96239e3
sqlx-date.json check
Dec 25, 2025
8086318
sqlx 0.6 → 0.8 migration
Dec 26, 2025
b287eb9
no console for prod build for now
Dec 26, 2025
c634fbe
tests config
Dec 26, 2025
06416fc
config sources for tests
Dec 26, 2025
d8abbe5
access_control.conf in Dockerfile
Dec 26, 2025
56e2dd8
Added Default implementations for all configuration structs in config…
Dec 26, 2025
da02b09
test required db running
Dec 26, 2025
1aac318
migration fix, check if table casbin_rule table is created
Dec 27, 2025
2cb55b2
admin access project endpoint
Dec 27, 2025
a4ada14
feat: Implement MCP server foundation
Dec 27, 2025
1293377
root/admin_group user, MCP registry, tools implementation
Dec 28, 2025
3ccd14f
MCP server updates, websocker + cookie based auth, server connected
Dec 28, 2025
e8d739a
Marketplace API init
Dec 29, 2025
dc1fc2e
new migrations Marketplace added at Stacker
Dec 30, 2025
51085bf
marketplace + product + tests
Jan 1, 2026
e1cd930
marketplace + product + tests
Jan 1, 2026
fc423b6
root inherits user rights
Jan 1, 2026
105628e
category sync/category_code instead of category_id
Jan 2, 2026
550c1ef
access categories
Jan 2, 2026
1e11945
categories endpoint
Jan 2, 2026
72c6cb7
categories endpoint
Jan 2, 2026
9c8eb4a
marketplace, categories import from connectors
Jan 2, 2026
705167d
add connector example based on 3-d party auth service
Jan 2, 2026
c64008c
build on self-hosted, ssl problem
Jan 2, 2026
9fc5e52
Casbin rules allow CRUD templates operations to groupd_admin
Jan 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .env
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
#BUILDKIT_PROGRESS=plain
#DOCKER_BUILDKIT=1
DATABASE_URL=postgres://postgres:postgres@127.0.0.1:5432/stacker
DATABASE_URL=postgres://postgres:postgres@stackerdb:5432/stacker
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=stacker
Expand Down
43 changes: 25 additions & 18 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,35 @@ on:
branches:
- main
- testing
- dev
pull_request:
branches:
- main

env:
SQLX_OFFLINE: true
- dev

jobs:

cicd-docker:
name: Cargo and npm build
runs-on: ubuntu-latest
#runs-on: ubuntu-latest
runs-on: self-hosted
env:
SQLX_OFFLINE: true
steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Install OpenSSL build deps
if: runner.os == 'Linux'
run: |
sudo apt-get update
sudo apt-get install -y pkg-config libssl-dev

- name: Verify .sqlx cache exists
run: |
ls -lh .sqlx/ || echo ".sqlx directory not found"
find .sqlx -type f 2>/dev/null | wc -l

- name: Install stable toolchain
uses: actions-rs/toolchain@v1
with:
Expand All @@ -30,7 +43,7 @@ jobs:
components: rustfmt, clippy

- name: Cache cargo registry
uses: actions/cache@v3.0.7
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: docker-registry-${{ hashFiles('**/Cargo.lock') }}
Expand All @@ -39,7 +52,7 @@ jobs:
docker-

- name: Cache cargo index
uses: actions/cache@v3.0.7
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: docker-index-${{ hashFiles('**/Cargo.lock') }}
Expand All @@ -52,7 +65,7 @@ jobs:
head -c16 /dev/urandom > src/secret.key

- name: Cache cargo build
uses: actions/cache@v3.0.7
uses: actions/cache@v4
with:
path: target
key: docker-build-${{ hashFiles('**/Cargo.lock') }}
Expand All @@ -65,12 +78,6 @@ jobs:
with:
command: check

- name: Run cargo sqlx prepare
uses: actions-rs/cargo@v1
with:
command: sqlx prepare
args: --release

- name: Cargo test
if: ${{ always() }}
uses: actions-rs/cargo@v1
Expand All @@ -97,11 +104,11 @@ jobs:
command: clippy
args: -- -D warnings

- name: Run cargo build
- name: Build server (release)
uses: actions-rs/cargo@v1
with:
command: build
args: --release
args: --release --bin server

- name: npm install, build, and test
working-directory: ./web
Expand All @@ -124,9 +131,9 @@ jobs:
- name: Copy app files and zip
run: |
mkdir -p app/stacker/dist
cp target/release/stacker app/stacker
cp -a web/dist/. app/stacker
cp docker/prod/Dockerfile app/Dockerfile
cp target/release/server app/stacker/server
cp -a web/dist/. app/stacker || true
cp Dockerfile app/Dockerfile
cd app
touch .env
tar -czvf ../app.tar.gz .
Expand Down
72 changes: 65 additions & 7 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,72 @@

env:
CARGO_TERM_COLOR: always
SQLX_OFFLINE: true

jobs:
build:
runs-on: ubuntu-latest
name: Build binaries (Linux/macOS)
env:
SQLX_OFFLINE: true
strategy:
matrix:
include:
- os: ubuntu-latest
target: x86_64-unknown-linux-gnu
artifact_name: stacker-linux-x86_64
- os: macos-latest
target: x86_64-apple-darwin
artifact_name: stacker-macos-x86_64
- os: macos-latest
target: aarch64-apple-darwin
artifact_name: stacker-macos-aarch64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: cargo build
run: cargo build --verbose
- name: cargo test
run: cargo test --verbose
- uses: actions/checkout@v4
- name: Verify .sqlx cache exists
run: |
ls -lh .sqlx/ || echo ".sqlx directory not found"
find .sqlx -type f 2>/dev/null | wc -l
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: ${{ matrix.target }}
override: true
- name: Cache cargo registry
uses: actions/cache@v4
with:
path: ~/.cargo/registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-registry-
- name: Cache cargo index
uses: actions/cache@v4
with:
path: ~/.cargo/git
key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-index-
- name: Cache target directory
uses: actions/cache@v4
with:
path: target
key: ${{ runner.os }}-target-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-target-${{ matrix.target }}-
- name: Build server (release)
run: cargo build --release --target ${{ matrix.target }} --bin server --verbose

- name: Build console (release with features)
run: cargo build --release --target ${{ matrix.target }} --bin console --features explain --verbose
- name: Prepare binaries
run: |
mkdir -p artifacts
cp target/${{ matrix.target }}/release/server artifacts/server
cp target/${{ matrix.target }}/release/console artifacts/console
tar -czf ${{ matrix.artifact_name }}.tar.gz -C artifacts .
- name: Upload binaries
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact_name }}
path: ${{ matrix.artifact_name }}.tar.gz
retention-days: 7
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ configuration.yaml.backup
configuration.yaml.orig
.vscode/
.env
docs/*.sql

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading