Skip to content

Commit 8c6f30c

Browse files
Complete Rust runtime cutover
1 parent 417312e commit 8c6f30c

324 files changed

Lines changed: 299 additions & 27039 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.env.development.example

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,17 @@
1-
DEBUG=True
2-
SECRET_KEY=dev-secret-key
3-
ALLOWED_HOSTS=127.0.0.1,localhost
41
DATABASE_URL=postgresql://isms:isms@db:5432/isms
2+
RUST_BACKEND_BIND=0.0.0.0:9000
3+
RUST_BACKEND_URL=http://app:9000
4+
ISCY_HTTP_PORT=9000
5+
ISCY_MEDIA_ROOT=/app/media
6+
57
POSTGRES_DB=isms
68
POSTGRES_USER=isms
79
POSTGRES_PASSWORD=isms
8-
RUN_MIGRATIONS=1
9-
RUN_SEEDS=1
10-
RUN_COLLECTSTATIC=0
11-
APP_SERVER=runserver
12-
LOCAL_LLM_ENABLED=False
10+
11+
NVD_API_BASE_URL=https://services.nvd.nist.gov
12+
NVD_API_KEY=
13+
14+
LOCAL_LLM_MODEL_NAME=iscy-rust-llm
15+
LOCAL_LLM_N_CTX=8192
16+
LOCAL_LLM_N_THREADS=4
17+
LOCAL_LLM_GPU_LAYERS=0

.env.example

Lines changed: 13 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,17 @@
1-
DEBUG=True
2-
SECRET_KEY=change-me
3-
ALLOWED_HOSTS=127.0.0.1,localhost
4-
CSRF_TRUSTED_ORIGINS=
5-
USE_X_FORWARDED_HOST=False
6-
TRUST_X_FORWARDED_PROTO=False
7-
SECURE_SSL_REDIRECT=False
8-
SESSION_COOKIE_SECURE=False
9-
CSRF_COOKIE_SECURE=False
10-
SECURE_HSTS_SECONDS=0
11-
SECURE_HSTS_INCLUDE_SUBDOMAINS=False
12-
SECURE_HSTS_PRELOAD=False
13-
14-
LOCAL_LLM_ENABLED=False
15-
LOCAL_LLM_BACKEND=rust_service
16-
LOCAL_LLM_MODEL_NAME=Qwen3-8B-GGUF
17-
LOCAL_LLM_MODEL_PATH=
18-
LOCAL_LLM_RUST_URL=http://rust-backend:9000
19-
RUST_BACKEND_URL=http://rust-backend:9000
20-
RUST_ONLY_MODE=True
21-
RISK_SCORING_BACKEND=rust_service
22-
GUIDANCE_SCORING_BACKEND=rust_service
23-
REPORT_SUMMARY_BACKEND=rust_service
24-
REPORT_SNAPSHOT_BACKEND=rust_service
25-
DASHBOARD_SUMMARY_BACKEND=rust_service
26-
CATALOG_BACKEND=rust_service
27-
REQUIREMENTS_BACKEND=rust_service
28-
ASSET_INVENTORY_BACKEND=rust_service
29-
PROCESS_REGISTER_BACKEND=rust_service
30-
RISK_REGISTER_BACKEND=rust_service
31-
EVIDENCE_REGISTER_BACKEND=rust_service
32-
ASSESSMENT_REGISTER_BACKEND=rust_service
33-
ROADMAP_REGISTER_BACKEND=rust_service
34-
WIZARD_RESULTS_BACKEND=rust_service
35-
IMPORT_CENTER_BACKEND=rust_service
36-
PRODUCT_SECURITY_BACKEND=rust_service
37-
RUST_STRICT_MODE=True
38-
LOCAL_LLM_N_CTX=8192
39-
LOCAL_LLM_N_THREADS=4
40-
LOCAL_LLM_GPU_LAYERS=0
41-
LOCAL_LLM_VERBOSE_NATIVE=False
42-
LOCAL_LLM_TEST_MAX_TOKENS=96
43-
NVD_BASE_URL=https://services.nvd.nist.gov
44-
NVD_API_KEY=
45-
46-
LOCAL_LLM_HF_REPO_ID=MaziyarPanahi/Qwen3-8B-GGUF
47-
LOCAL_LLM_HF_FILENAME=Qwen3-8B.Q4_K_M.gguf
48-
LOCAL_LLM_TARGET_DIR=models
1+
DATABASE_URL=sqlite:///db.sqlite3
2+
RUST_BACKEND_BIND=127.0.0.1:9000
3+
RUST_BACKEND_URL=http://127.0.0.1:9000
4+
ISCY_HTTP_PORT=9000
5+
ISCY_MEDIA_ROOT=media
496

507
POSTGRES_DB=isms
518
POSTGRES_USER=isms
529
POSTGRES_PASSWORD=isms
53-
DATABASE_URL=sqlite:///db.sqlite3
10+
11+
NVD_API_BASE_URL=https://services.nvd.nist.gov
12+
NVD_API_KEY=
13+
14+
LOCAL_LLM_MODEL_NAME=iscy-rust-llm
15+
LOCAL_LLM_N_CTX=8192
16+
LOCAL_LLM_N_THREADS=4
17+
LOCAL_LLM_GPU_LAYERS=0

.env.production.example

Lines changed: 11 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,20 @@
1-
DEBUG=False
2-
SECRET_KEY=replace-me-with-a-long-random-secret
3-
ALLOWED_HOSTS=localhost,127.0.0.1
4-
CSRF_TRUSTED_ORIGINS=http://localhost,http://127.0.0.1
5-
USE_X_FORWARDED_HOST=True
6-
TRUST_X_FORWARDED_PROTO=False
7-
SECURE_SSL_REDIRECT=False
8-
SESSION_COOKIE_SECURE=False
9-
CSRF_COOKIE_SECURE=False
10-
SECURE_HSTS_SECONDS=0
11-
SECURE_HSTS_INCLUDE_SUBDOMAINS=False
12-
SECURE_HSTS_PRELOAD=False
13-
DATABASE_URL=postgresql://isms:isms@db:5432/isms
1+
DATABASE_URL=postgresql://isms:change-me@db:5432/isms
2+
RUST_BACKEND_BIND=0.0.0.0:9000
3+
RUST_BACKEND_URL=http://app:9000
4+
ISCY_MEDIA_ROOT=/app/media
5+
146
POSTGRES_DB=isms
157
POSTGRES_USER=isms
168
POSTGRES_PASSWORD=change-me
17-
RUN_MIGRATIONS=1
18-
RUN_SEEDS=0
19-
RUN_COLLECTSTATIC=1
20-
APP_SERVER=gunicorn
21-
GUNICORN_WORKERS=3
22-
GUNICORN_TIMEOUT=120
9+
2310
NGINX_HOST=localhost
2411
NGINX_CLIENT_MAX_BODY_SIZE=50m
2512
NGINX_PROXY_READ_TIMEOUT=300
26-
LOCAL_LLM_ENABLED=False
27-
LOCAL_LLM_BACKEND=rust_service
28-
LOCAL_LLM_MODEL_NAME=Qwen3-8B-GGUF
29-
LOCAL_LLM_MODEL_PATH=
30-
LOCAL_LLM_RUST_URL=http://rust-backend:9000
31-
RUST_BACKEND_URL=http://rust-backend:9000
32-
RISK_SCORING_BACKEND=rust_service
33-
GUIDANCE_SCORING_BACKEND=rust_service
34-
REPORT_SUMMARY_BACKEND=rust_service
35-
RUST_STRICT_MODE=True
13+
14+
NVD_API_BASE_URL=https://services.nvd.nist.gov
15+
NVD_API_KEY=
16+
17+
LOCAL_LLM_MODEL_NAME=iscy-rust-llm
3618
LOCAL_LLM_N_CTX=8192
3719
LOCAL_LLM_N_THREADS=8
3820
LOCAL_LLM_GPU_LAYERS=0
39-
LOCAL_LLM_VERBOSE_NATIVE=False
40-
LOCAL_LLM_HF_REPO_ID=MaziyarPanahi/Qwen3-8B-GGUF
41-
LOCAL_LLM_HF_FILENAME=Qwen3-8B.Q4_K_M.gguf
42-
LOCAL_LLM_TARGET_DIR=models
43-
NVD_API_KEY=

.env.stage.example

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
1-
DEBUG=False
2-
SECRET_KEY=replace-me-stage-secret
3-
ALLOWED_HOSTS=stage.localhost,localhost,127.0.0.1
4-
CSRF_TRUSTED_ORIGINS=http://stage.localhost,http://127.0.0.1:8080
5-
USE_X_FORWARDED_HOST=True
6-
TRUST_X_FORWARDED_PROTO=False
7-
SECURE_SSL_REDIRECT=False
8-
SESSION_COOKIE_SECURE=False
9-
CSRF_COOKIE_SECURE=False
10-
SECURE_HSTS_SECONDS=0
11-
SECURE_HSTS_INCLUDE_SUBDOMAINS=False
12-
SECURE_HSTS_PRELOAD=False
13-
DATABASE_URL=postgresql://isms:isms@db:5432/isms
1+
DATABASE_URL=postgresql://isms:change-me@db:5432/isms
2+
RUST_BACKEND_BIND=0.0.0.0:9000
3+
RUST_BACKEND_URL=http://app:9000
4+
ISCY_MEDIA_ROOT=/app/media
5+
146
POSTGRES_DB=isms
157
POSTGRES_USER=isms
168
POSTGRES_PASSWORD=change-me
17-
RUN_MIGRATIONS=1
18-
RUN_SEEDS=0
19-
RUN_COLLECTSTATIC=1
20-
APP_SERVER=gunicorn
9+
2110
NGINX_HOST=stage.localhost
2211
NGINX_CLIENT_MAX_BODY_SIZE=50m
2312
NGINX_PROXY_READ_TIMEOUT=300
24-
LOCAL_LLM_ENABLED=False
13+
14+
NVD_API_BASE_URL=https://services.nvd.nist.gov
15+
NVD_API_KEY=
16+
17+
LOCAL_LLM_MODEL_NAME=iscy-rust-llm
18+
LOCAL_LLM_N_CTX=8192
19+
LOCAL_LLM_N_THREADS=8
20+
LOCAL_LLM_GPU_LAYERS=0

Dockerfile

Lines changed: 0 additions & 58 deletions
This file was deleted.

Makefile

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,17 @@ COMPOSE_DEV=docker compose
22
COMPOSE_STAGE=docker compose -f docker-compose.yml -f docker-compose.stage.yml
33
COMPOSE_PROD=docker compose -f docker-compose.yml -f docker-compose.prod.yml
44
COMPOSE_PROD_LLM=docker compose -f docker-compose.yml -f docker-compose.prod.yml -f docker-compose.llm.yml
5-
PYTHON_BIN=$(shell if [ -x .venv/bin/python ]; then echo .venv/bin/python; else echo python; fi)
6-
TEAM_TEST_ENV=RUST_ONLY_MODE=False GUIDANCE_SCORING_BACKEND=local RISK_SCORING_BACKEND=local REPORT_SUMMARY_BACKEND=local REPORT_SNAPSHOT_BACKEND=local DASHBOARD_SUMMARY_BACKEND=local CATALOG_BACKEND=local REQUIREMENTS_BACKEND=local ASSET_INVENTORY_BACKEND=local PROCESS_REGISTER_BACKEND=local RISK_REGISTER_BACKEND=local EVIDENCE_REGISTER_BACKEND=local ASSESSMENT_REGISTER_BACKEND=local ROADMAP_REGISTER_BACKEND=local WIZARD_RESULTS_BACKEND=local IMPORT_CENTER_BACKEND=local PRODUCT_SECURITY_BACKEND=local RUST_BACKEND_URL=
75
RUST_BACKEND_MANIFEST=rust/iscy-backend/Cargo.toml
86

9-
.PHONY: dev-up dev-down stage-up stage-down prod-up prod-down prod-up-llm llm-download backup restore health handbook-pdf local-bootstrap local-check local-test team-test docker-check docker-smoke easy-start prod-readiness rust-build rust-test rust-run rust-init rust-smoke canary-daily rust-import-collection rust-sync-recent rust-canary-parity rust-canary-trend rust-canary-import
7+
.PHONY: dev-up dev-down stage-up stage-down prod-up prod-down prod-up-llm llm-download backup restore health local-bootstrap local-check local-test team-test docker-check docker-smoke easy-start prod-readiness rust-build rust-test rust-run rust-init rust-smoke canary-daily rust-import-collection rust-sync-recent rust-canary-parity rust-canary-trend rust-canary-import
108

11-
local-bootstrap:
12-
python3 -m venv .venv
13-
mkdir -p static media staticfiles models
14-
. .venv/bin/activate && python -m ensurepip --upgrade && python -m pip install --upgrade pip setuptools wheel && python -m pip install -r requirements.txt
9+
local-bootstrap: rust-init
1510

16-
local-check:
17-
. .venv/bin/activate && python manage.py check
11+
local-check: rust-test
1812

19-
local-test:
20-
. .venv/bin/activate && python manage.py test apps.core apps.reports apps.product_security
13+
local-test: rust-test
2114

22-
team-test:
23-
$(TEAM_TEST_ENV) $(PYTHON_BIN) manage.py check
24-
$(TEAM_TEST_ENV) $(PYTHON_BIN) manage.py test apps.core apps.reports apps.product_security apps.guidance apps.dashboard apps.catalog apps.requirements_app apps.assets_app apps.processes apps.risks apps.evidence apps.assessments apps.roadmap apps.wizard apps.import_center apps.vulnerability_intelligence
15+
team-test: rust-test rust-smoke
2516

2617
docker-check:
2718
$(COMPOSE_DEV) config >/dev/null
@@ -30,9 +21,8 @@ docker-check:
3021
$(COMPOSE_PROD_LLM) config >/dev/null
3122

3223
docker-smoke:
33-
$(COMPOSE_DEV) up -d db
34-
$(COMPOSE_DEV) run --rm web python manage.py migrate
35-
$(COMPOSE_DEV) run --rm web python manage.py check
24+
$(COMPOSE_DEV) up -d db app
25+
$(COMPOSE_DEV) exec app wget -q -O /dev/null http://127.0.0.1:9000/health/live
3626
$(COMPOSE_DEV) down
3727

3828
easy-start:
@@ -152,7 +142,4 @@ restore:
152142
ENV_FILE=.env.production ./scripts/restore_compose.sh $(BACKUP)
153143

154144
health:
155-
curl -fsS http://127.0.0.1/health/ready/
156-
157-
handbook-pdf:
158-
python3 scripts/export_iscy_handbook_pdf.py
145+
curl -fsS http://127.0.0.1:9000/health/ready

0 commit comments

Comments
 (0)