Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
535 commits
Select commit Hold shift + click to select a range
330732d
fix unwrap_or redis creds to .env
Mar 27, 2024
8edd783
casbin-debug policies
smart--petea Mar 27, 2024
71edb3a
casbin-debug print all rules
smart--petea Mar 28, 2024
82a9e1f
server updates
Mar 30, 2024
75d2c4d
Check casbin rule command, readme
Mar 30, 2024
865882d
enable casbin, use security key from env
Mar 30, 2024
4583964
initial casbin rules
Apr 1, 2024
3e50dcb
initial casbin rules
Apr 1, 2024
820f522
remove project_id from cloud, as cloud keys can be use across projects
Apr 1, 2024
0576773
fix warnings, return app id from docker image validator
Apr 2, 2024
28a8e58
casbin-debug explain features
smart--petea Apr 2, 2024
4478b71
Merge branch 'casbin-debug' of github.com:trydirect/stacker into casb…
smart--petea Apr 2, 2024
57c7671
casbin-debug
smart--petea Apr 3, 2024
d52877e
casbin-debug
smart--petea Apr 4, 2024
41b1ca6
unfinished tag fix
Apr 7, 2024
4bae859
casbin-debug command
smart--petea Apr 7, 2024
8b0058c
Merge pull request #46 from trydirect/casbin-debug
smart--petea Apr 7, 2024
b943f4c
from to try_from, repo name format error fix
Apr 8, 2024
f9de4db
Update README.md
vsilent Apr 10, 2024
5ebde02
Merge pull request #48 from trydirect/vsilent-patch-2
vsilent Apr 10, 2024
9d969c2
Update README.md
vsilent Apr 10, 2024
78efe82
Merge pull request #49 from trydirect/vsilent-patch-3
vsilent Apr 10, 2024
869ce54
remove extra structure
Apr 10, 2024
5a8d6ab
stacker logo added
Apr 10, 2024
6235bc6
Update README.md
vsilent Apr 10, 2024
a2560a2
Merge pull request #50 from trydirect/vsilent-patch-4
vsilent Apr 10, 2024
f4b2e2b
Update README.md
vsilent Apr 10, 2024
2d758a9
Merge pull request #51 from trydirect/vsilent-patch-5
vsilent Apr 10, 2024
83b9079
47
smart--petea Apr 11, 2024
1574404
social field should be optional
Apr 12, 2024
b7b3db5
cleanup
Apr 12, 2024
efb590c
Merge branch 'dev' of https://github.com/trydirect/stacker into dev
Apr 12, 2024
737ac4f
merge 43-secure-cloud-tokens
Apr 12, 2024
dba85f8
47 validate rating when added
smart--petea Apr 12, 2024
2c189c9
47 casbin rule for user edit rating
smart--petea Apr 12, 2024
ef67676
47 edit rating logic
smart--petea Apr 12, 2024
dbe6b9a
47 show only visible
smart--petea Apr 12, 2024
4758398
47 anonymous_get visible
smart--petea Apr 12, 2024
1390f70
47 admin_get_rating
smart--petea Apr 12, 2024
842df59
47 admin_list_handler, transaction
smart--petea Apr 12, 2024
9b130dd
47 user delete rating. partially
smart--petea Apr 12, 2024
72ce432
47 user delete rating
smart--petea Apr 13, 2024
e2c07b8
47 rating admin edit handler
smart--petea Apr 13, 2024
5255b65
47 delete rating by admin
smart--petea Apr 13, 2024
7696fe7
Merge branch 'dev' into 47-delete-endpoints
smart--petea Apr 13, 2024
592ef6f
Merge pull request #53 from trydirect/47-delete-endpoints
smart--petea Apr 13, 2024
fa1b3f8
#54 dockerhub command
smart--petea Apr 17, 2024
8fa9b9b
54 is_active. mut removed
smart--petea Apr 19, 2024
326619f
54
smart--petea Apr 19, 2024
67b8538
54 is_active with tokio::select!
smart--petea Apr 20, 2024
8bb3a99
54 login logic
smart--petea Apr 20, 2024
bab76d0
54 tracing
smart--petea Apr 22, 2024
5992f02
54 fixed test
smart--petea Apr 24, 2024
1d20fdf
Merge pull request #56 from trydirect/54-parallel-dockerhub-requests
smart--petea Apr 24, 2024
a59e8a2
57 rating output in dependence of user's status
smart--petea Apr 26, 2024
d19c9e9
57 model Rating. fully removed serialize
smart--petea Apr 27, 2024
63e8b2f
Merge pull request #58 from trydirect/57-conditional-rating-serializa…
vsilent Apr 28, 2024
fd1169f
Merge branch 'dev' of https://github.com/trydirect/stacker into dev
Apr 28, 2024
2fc2214
check public repo fix
Apr 28, 2024
8eeddc4
add 'command' instruction to docker-compose generator
Jun 13, 2024
ff73f07
Merge branch 'main' into dev
vsilent Jun 15, 2024
bf0181a
docker compose 'command' added when non empty, vendor public repo che…
Jun 17, 2024
9ae0d76
Merge branch 'dev' of https://github.com/trydirect/stacker into dev
Jun 17, 2024
780acb2
Merge pull request #59 from trydirect/dev
vsilent Jun 17, 2024
185de0c
limit docker image search with ?name parameter. Find exact tag by name
Jun 27, 2024
c8e701a
Add ability to connect on-premise own server
Jul 10, 2024
dda0930
Server cloud setting columns like region should allow null for the ow…
Jul 11, 2024
02385bf
set provider to 'own' when deal with on-premise or own server conenction
Jul 11, 2024
97f5f84
agreement accept, and management for admin api
Jul 18, 2024
c91de51
github actions untilities versioning update, agreement funcs added
Nov 14, 2024
f1ad3c4
cargo update
Nov 14, 2024
5e9ca01
.sqlx added to the repo for offline build
Nov 14, 2024
095b7ba
test offline build
Nov 14, 2024
0229021
test offline build
Nov 14, 2024
96b0f95
Update docker.yml
vsilent Nov 14, 2024
970f876
workflow SQLX_OFFLINE
Nov 14, 2024
4225c62
Merge branch 'dev' of https://github.com/trydirect/stacker into dev
Nov 14, 2024
715a2cb
workflow SQLX_OFFLINE
Nov 14, 2024
c93f16a
workflow SQLX_OFFLINE
Nov 14, 2024
bb0c645
workflow SQLX_OFFLINE
Nov 14, 2024
70a743d
workflow SQLX_OFFLINE
Nov 14, 2024
1c8ea9a
workflow SQLX_OFFLINE
Nov 15, 2024
ab16922
workflow SQLX_OFFLINE
Nov 15, 2024
2e698bd
workflow SQLX_OFFLINE
Nov 15, 2024
a631162
.sqlx files
Nov 15, 2024
cbe46b6
.sqlx files
Nov 15, 2024
d8dfcaa
Add renovate.json
renovate[bot] Jan 22, 2025
59e1ba5
Merge pull request #63 from trydirect/renovate/configure
vsilent Jan 22, 2025
9079a2f
Update Rust crate sqlx to 0.8.0 [SECURITY]
renovate[bot] Jan 22, 2025
df11337
Update Rust crate base64 to v0.22.1
renovate[bot] Jan 22, 2025
2e003f4
Merge pull request #64 from trydirect/renovate/crate-sqlx-vulnerability
vsilent Jan 22, 2025
fa66a47
Merge pull request #65 from trydirect/renovate/base64-0.x-lockfile
vsilent Jan 22, 2025
3b3a6c2
Update Rust crate sqlx to 0.8.1 [SECURITY]
renovate[bot] Jan 22, 2025
c2ac319
Merge pull request #67 from trydirect/renovate/crate-sqlx-vulnerability
vsilent Jan 22, 2025
3e731e5
initial commands
Dec 22, 2025
129bd71
All hardcoded IDs removed, Casbin rules use SERIAL
Dec 23, 2025
6c52f29
fixed warnings
Dec 23, 2025
1e1e7ca
project.body->metadata, agent registration/commands tests, middleware…
Dec 23, 2025
9267f9f
TODO updates
Dec 23, 2025
a56c531
take vault creds from .env instead
Dec 24, 2025
e7bb6be
agent commander
Dec 25, 2025
71e448e
casbin rules for agent, vault for token rotation
Dec 25, 2025
8d1b8d5
sqlx step problem in ci/cd
Dec 25, 2025
19ee730
sqlx step problem in ci/cd
Dec 25, 2025
49a8a75
fmt fail fix
Dec 25, 2025
44b4217
clippy fail fix
Dec 25, 2025
7cebd2f
Merge branch 'dev'
Dec 25, 2025
bd423f5
connector structure unified
Jan 5, 2026
0c3d5c1
feat: implement comprehensive health check system
Jan 5, 2026
e830b0e
Potential fix for code scanning alert no. 6: Workflow does not contai…
vsilent Jan 5, 2026
2b33c38
fix: resolve compilation errors in health check module
Jan 5, 2026
a0a7ece
Merge pull request #78 from trydirect/worktree-2026-01-03T11-33-55
vsilent Jan 5, 2026
f74a45d
Agent's anonymous registration with deployment key
Jan 6, 2026
ecab1d8
Dockerhub, search namespaces and repos impl, not tested yet
Jan 6, 2026
7c315e8
api endpoint conflict fix
Jan 6, 2026
f0a8809
Automated tests for marketplace, user service, deployment_validators
Jan 6, 2026
b722f79
Automated tests for marketplace, user service, deployment_validators
Jan 6, 2026
6e1f3b4
Merge branch 'feature-marketplace' of https://github.com/trydirect/st…
Jan 6, 2026
a8f7b70
api prefix added
Jan 6, 2026
cc653ca
check deployment first and then register agent
Jan 6, 2026
1cac54c
keep agent registration separate
Jan 6, 2026
739c293
migration fix
Jan 6, 2026
0a8f6ca
migration fix
Jan 6, 2026
203f729
migrations revert
Jan 6, 2026
dff7312
Dockerhub, search namespaces and repos impl, not tested yet
Jan 7, 2026
9a91675
syntax fix
Jan 7, 2026
ab8ca5e
syntax fix
Jan 7, 2026
54cd0ce
update record, insert conflict fix, get template by slug and user
Jan 8, 2026
702ed24
few fixes and json response
Jan 9, 2026
912e844
new status panel commands
Jan 9, 2026
a0c4a0c
alter deployment_hash column
Jan 9, 2026
59c4f6a
Merge branch 'feature-marketplace' into worktree-2026-01-09T13-26-18
Jan 9, 2026
45c7024
status_panel commands
Jan 9, 2026
5de525b
remove FK constraint from commands
Jan 12, 2026
f59312c
agent's path in wait()
Jan 12, 2026
cab5394
Added deployment capabilities route: capabilities.rs with static comm…
Jan 13, 2026
9796bab
command_queue fix
Jan 13, 2026
f67cbd0
command_queue fix
Jan 13, 2026
ee0c5d3
Removed push logic from create.rs,Removed VaultClient dependency, we …
Jan 14, 2026
8169cef
casbin rule for enqueu endpoint
Jan 14, 2026
7d18ac8
Fix: Add Casbin agent role permissions for Status Panel
Jan 14, 2026
95c0f17
match report from agent by column id not command_id
Jan 15, 2026
35903b0
fetch by command_id not by id
Jan 15, 2026
9bc1045
sqlx files
Jan 15, 2026
b4f1ae6
User auth cache, compress internal requests
Jan 15, 2026
5f0bdbb
cache cookies
Jan 15, 2026
f72f5b8
STACKER_AGENT_POLL_TIMEOUT_SECS, STACKER_AGENT_POLL_INTERVAL_SECS con…
Jan 16, 2026
49eb1b7
casbin_reload config driven
Jan 16, 2026
5fc59fb
sqlx files for offline build
Jan 16, 2026
105df02
updated changelog and readme
Jan 16, 2026
7a84e87
defaults
Jan 16, 2026
3de6275
self-hosted build disabled
Jan 16, 2026
d9deeca
Added next_poll_secs to the response body metadata for the agent wait…
Jan 16, 2026
ff55436
Potential fix for code scanning alert no. 14: Cleartext transmission …
vsilent Jan 16, 2026
30cb6cb
test fix, vault v1
Jan 16, 2026
6d73e2a
Merge branch 'feature-performance-improvements' of https://github.com…
Jan 16, 2026
60e2fbe
skip when Postgres isn’t reachable, so these won’t fail in CI without…
Jan 16, 2026
41188a4
Fixed the missing fixture by switching the test to an existing mock p…
Jan 16, 2026
6d102ec
fix blocked requests by removed that mutex and switched to Rc<RefCell…
Jan 16, 2026
c48d697
fix docker.yml copy dist, npm fix
Jan 16, 2026
0a5afab
Fix get_subscription_plan MCP tool: use correct /oauth_server/api/me …
Jan 19, 2026
629f960
different db pool for agent and api
Jan 19, 2026
992a417
Update actions/cache action to v3.5.0
renovate[bot] Jan 19, 2026
0fed30a
Update GitHub Artifact Actions
renovate[bot] Jan 20, 2026
1f483ee
conflict resolved
Jan 21, 2026
03fc852
Vault client, integration, fetch config, mcp tools
Jan 22, 2026
d4f73fc
App config managenent endpoints
Jan 22, 2026
922b9dd
deserialize env fix, new tests
Jan 22, 2026
f8a280a
Choose Server step. 1.SSH/StatusPanel mode. Manage SSH keys.
Jan 23, 2026
a064514
server/project/:id and other casbin rules, migrations
Jan 23, 2026
16d9979
server/project/:id and other casbin rules, migrations
Jan 23, 2026
31c7d13
fix: correct Vault path for SSH key storage
Jan 23, 2026
87ed17c
fix correct vault path
Jan 23, 2026
36c03ee
prepend nonce to ciphertext, remove redis dependency
Jan 23, 2026
60a52a6
fix(deploy): include deployment_hash in RabbitMQ payload for saved_it…
Jan 25, 2026
419c46d
deployment hash inconsistency bug
Jan 25, 2026
ded24c2
chore: redact slack webhook placeholder
Jan 25, 2026
fab822f
Custom SSH key to -> Vault -> Install service
Jan 26, 2026
b6858f4
Add MQ listener service for deployment status updates
Jan 26, 2026
403cc53
Connect stacker_queue to TryDirect network for RabbitMQ access
Jan 26, 2026
eff398c
ai chat, get deployment status fix
Jan 26, 2026
d66fd32
feat: Add deploy_app command validation
Jan 26, 2026
a950cf5
snapshot
Jan 27, 2026
7901197
snapshot
Jan 28, 2026
6229441
config sync, remove_app command, project_app service
Jan 29, 2026
f70786e
fmt all, compose_content on app deployment
Jan 29, 2026
1449409
vault path fix
Jan 30, 2026
0ceacfb
compose genrator for a single app, store config to vault on app creation
Jan 30, 2026
1746740
config sync
Jan 30, 2026
41d7b90
CORS and app config fetch
Jan 31, 2026
d2a544e
feat: auto-create project and deployment when deploy_app has no exist…
Feb 1, 2026
e4999d5
feat: add ConfigureProxyCommandRequest for nginx proxy manager integr…
Feb 1, 2026
c9db476
feat(mcp): add proxy management tools for AI chat
Feb 1, 2026
16b5a2a
env to vault fix
Feb 2, 2026
a272379
new tools for ai assistant, user_service restructuring
Feb 2, 2026
b3eb710
Potential fix for code scanning alert no. 18: Cleartext logging of se…
vsilent Feb 2, 2026
9b7f69a
compose file handling
Feb 2, 2026
8f6f78e
project app config edit
Feb 3, 2026
2d49b05
sqlx data
Feb 3, 2026
4d9e876
clippy fixes, fmt all
Feb 3, 2026
e847ed5
include_system: bool fix
Feb 3, 2026
2ff0de7
wait for cmd to execute, ai add project_app
Feb 3, 2026
746b20e
ai apps_info
Feb 3, 2026
48560bc
fix: populate container states in snapshot from health check results
Feb 3, 2026
f44173a
fix: fetch health commands separately with results for container states
Feb 3, 2026
520a210
fix: deduplicate containers by app_code in snapshot
Feb 4, 2026
c8da518
Merge pull request #84 from trydirect/renovate/actions-cache-3.x
vsilent Feb 4, 2026
9077040
Merge pull request #95 from trydirect/alert-autofix-18
vsilent Feb 4, 2026
476280b
Merge pull request #90 from trydirect/renovate/major-github-artifact-…
vsilent Feb 4, 2026
6a7e5de
Update src/connectors/user_service/utils.rs
vsilent Feb 4, 2026
0af0e11
Initial plan
Copilot Feb 4, 2026
3769cf0
Update src/connectors/user_service/client.rs
vsilent Feb 4, 2026
41bcc76
Initial plan
Copilot Feb 4, 2026
e940923
Potential fix for code scanning alert no. 5: Cleartext logging of sen…
vsilent Feb 4, 2026
b71dad5
Rename is_plan_upgrade to is_plan_higher_tier for clarity
Copilot Feb 4, 2026
324d253
Update comment to match new function name terminology
Copilot Feb 4, 2026
e5e38b9
feat: extract parse_bool_env helper function to deduplicate boolean p…
Copilot Feb 4, 2026
d2ed251
style: run cargo fmt to fix formatting
Copilot Feb 4, 2026
1ed33b0
fix syntax after conflict fix
Feb 4, 2026
51848f7
fix conflicts
Feb 4, 2026
0e5ad20
feat: add container discovery and import API endpoints
Feb 4, 2026
5e2aef6
Merge pull request #98 from trydirect/copilot/sub-pr-94
vsilent Feb 4, 2026
74a8139
Merge pull request #99 from trydirect/copilot/sub-pr-94-again
vsilent Feb 4, 2026
0db4819
fix conflicts
Feb 4, 2026
5e036bb
fix conflicts
Feb 4, 2026
d29ce39
remove config
Feb 4, 2026
034fc50
Merge pull request #94 from trydirect/feature-user-service-refactoring
vsilent Feb 4, 2026
9180fbe
Merge branch 'main' of https://github.com/trydirect/stacker
Feb 4, 2026
d7ddd35
fix: compilation errors in container discovery endpoint
Feb 4, 2026
55c6c2e
feat: add casbin rules for container discovery endpoints
Feb 4, 2026
0eadf92
fix: move CORS middleware to first position to ensure headers on all …
Feb 4, 2026
16762b4
fix: container discovery now uses list_containers results instead of …
Feb 4, 2026
c0334e7
Update Stacker version to 0.2.2
vsilent Feb 4, 2026
4973a36
Remove startup banner from README
vsilent Feb 4, 2026
643abb0
fix: force HTTP/1.1 for user service connection
Feb 5, 2026
0f267c6
fix: force HTTP/1.1 for user service connection
Feb 5, 2026
100df75
feat: add user_service and install_service health checks
Feb 5, 2026
7ab760c
debug: add detailed logging to stack_view requests
Feb 5, 2026
b2b9015
test: add /test/stack_view endpoint to diagnose user service connection
Feb 5, 2026
bf23d1a
fix: create fresh HTTP client for stack_view with longer timeout
Feb 5, 2026
70ad61c
fix: disable connection pooling in UserServiceClient to prevent stale…
Feb 5, 2026
6ec3213
health for *
Feb 5, 2026
133aab7
edit app form config files hydration
Feb 6, 2026
6a71781
complete the plan
Feb 6, 2026
93eac76
delete by project and code, installations route
Feb 6, 2026
29d066d
Merge branch 'feature-edit-form-copilot-code' into deploy-app-and-con…
Feb 6, 2026
d332651
/project/4/apps/telegraf casbin
Feb 6, 2026
2d9ceed
fix: remove extra /config/ dir from config file destination paths
Feb 6, 2026
2cc3ecc
use container name along with app_code
Feb 8, 2026
2545627
named volume prefix
Feb 9, 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
10 changes: 10 additions & 0 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,13 @@ REDIS_URL=redis://127.0.0.1/
VAULT_ADDRESS=http://127.0.0.1:8200
VAULT_TOKEN=your_vault_token_here
VAULT_AGENT_PATH_PREFIX=agent

STACKER_CASBIN_RELOAD_ENABLED=true
STACKER_CASBIN_RELOAD_INTERVAL_SECS=60

STACKER_AGENT_POLL_TIMEOUT_SECS=30
STACKER_AGENT_POLL_INTERVAL_SECS=2

# Deployment Settings
# Base directory for deployments on target servers
DEFAULT_DEPLOY_DIR=/home/trydirect
17 changes: 10 additions & 7 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ jobs:

cicd-docker:
name: Cargo and npm build
#runs-on: ubuntu-latest
runs-on: self-hosted
runs-on: ubuntu-latest
#runs-on: self-hosted
env:
SQLX_OFFLINE: true
steps:
Expand Down Expand Up @@ -111,36 +111,39 @@ jobs:
args: --release --bin server

- name: npm install, build, and test
if: ${{ hashFiles('web/package.json') != '' }}
working-directory: ./web
run: |
npm install
npm run build
# npm test

- name: Archive production artifacts
uses: actions/upload-artifact@v4
if: ${{ hashFiles('web/package.json') != '' }}
uses: actions/upload-artifact@v6
with:
name: dist-without-markdown
path: |
web/dist
!web/dist/**/*.md

- name: Display structure of downloaded files
if: ${{ hashFiles('web/package.json') != '' }}
run: ls -R web/dist

- name: Copy app files and zip
run: |
mkdir -p app/stacker/dist
cp target/release/server app/stacker/server
cp -a web/dist/. app/stacker || true
if [ -d web/dist ]; then cp -a web/dist/. app/stacker; fi
cp Dockerfile app/Dockerfile
cd app
touch .env
tar -czvf ../app.tar.gz .
cd ..

- name: Upload app archive for Docker job
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v6
with:
name: artifact-linux-docker
path: app.tar.gz
Expand All @@ -151,7 +154,7 @@ jobs:
needs: cicd-docker
steps:
- name: Download app archive
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
name: artifact-linux-docker

Expand All @@ -178,4 +181,4 @@ jobs:
uses: docker/build-push-action@v6
with:
push: true
tags: trydirect/stacker:latest
tags: trydirect/stacker:latest
2 changes: 2 additions & 0 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
name: Rust
permissions:
contents: read

on:
push:
Expand Down
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ configuration.yaml.backup
configuration.yaml.orig
.vscode/
.env
docs/*.sql
docs/*.sql
config-to-validate.yaml
17 changes: 17 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,20 @@ repos:
- id: ggshield
language_version: python3
stages: [commit]
- repo: local
hooks:
- id: cargo-fmt
name: cargo fmt --all
entry: cargo fmt --all
language: system
stages: [commit]
- id: cargo-clippy
name: SQLX_OFFLINE=true cargo clippy
entry: bash -c 'SQLX_OFFLINE=true cargo clippy'
language: system
stages: [commit]
- id: cargo-test
name: SQLX_OFFLINE=true cargo test
entry: bash -c 'SQLX_OFFLINE=true cargo test'
language: system
stages: [commit]

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