Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
d883e95
privacy: Disable Sentry geolocation (IP collection) for GDPR compliance
NikolaosSokos Feb 24, 2026
3663cb3
privacy: Aggressively clear IP addresses from Sentry events for GDPR
NikolaosSokos Feb 24, 2026
8f360ed
feat: in-app scheduler implementation using apscheduler and pymongo
Mar 9, 2026
ab27ff6
feat(scheduler): add Sentry Cron monitoring to scheduled jobs
NikolaosSokos Apr 20, 2026
7bb89ed
fix(scheduler): set PYTHONPATH in Dockerfile.cacher to fix ModuleNotF…
NikolaosSokos Apr 20, 2026
95738a3
test(scheduler): set inventory cache job to every minute for Sentry t…
NikolaosSokos Apr 20, 2026
9d95816
fix(sentry): add enable_tracing for Cron monitoring, revert to produc…
NikolaosSokos Apr 20, 2026
14bfad8
fix: use empty sets for seedIDs and downgrade cache miss to warning
NikolaosSokos Apr 20, 2026
c73e3e3
feat: run inventory cache and view update once on startup
NikolaosSokos Apr 20, 2026
3b60b47
fix: Upsert Sentry Crons monitors by passing monitor_config with Cron…
NikolaosSokos Apr 20, 2026
8dcf9ae
fix(#18): Allow MONGODB_AUTH_SOURCE to be explicit instead of tied to…
NikolaosSokos Apr 21, 2026
e41307d
docs: Add MONGODB_AUTH_SOURCE to README.md
NikolaosSokos Apr 21, 2026
a449f47
test: Add tests for backward compatibility of MONGODB_AUTH_SOURCE
NikolaosSokos Apr 21, 2026
f8fe83f
fix(query): Optimize MongoDB index usage implicitly by matching param…
NikolaosSokos Apr 21, 2026
4d6c682
feat(db): Automatically create MongoDB compound index on initialization
NikolaosSokos Apr 21, 2026
2179a8f
fix(issue-60): implement multi-layer memory exhaustion protection
NikolaosSokos May 7, 2026
ff575ba
fix(docker): change compose version to 2.4 for mem_limit support
NikolaosSokos May 7, 2026
b5607ca
chore: add uv.lock back for docker build
NikolaosSokos May 7, 2026
6b5e663
Merge upstream/master into feature/in-app-scheduler
NikolaosSokos May 23, 2026
5d9c76e
chore: ignore AI tooling artifacts and untrack internal briefing doc
NikolaosSokos May 22, 2026
4306c23
chore(deps): upgrade Python to 3.13 and refresh major dependencies
NikolaosSokos May 22, 2026
4e4950d
feat(sentry): add per-node SENTRY_ENVIRONMENT tag
NikolaosSokos May 22, 2026
02e4cae
test: fix pre-existing .limit() mock chain in availability tests
NikolaosSokos May 22, 2026
0f3cac5
feat(perf): parallel time-window fan-out for MongoDB queries
NikolaosSokos May 23, 2026
5c767e5
release: prepare v1.1.0-beta.1
NikolaosSokos May 23, 2026
97760f1
fix(scheduler): widen misfire_grace_time so brief delays don't skip runs
NikolaosSokos May 23, 2026
f323172
feat(sentry): read SENTRY_ENVIRONMENT from os.environ as a fallback
NikolaosSokos May 23, 2026
61ab69e
fix(scheduler): re-process last 4 days each run for catchup safety
NikolaosSokos May 23, 2026
e542b79
docs(beta): rewrite the upgrade-from-v1.0.5 section as a cookbook
NikolaosSokos May 23, 2026
d5afc48
docs(beta): trim BETA.md to install steps only
NikolaosSokos May 24, 2026
cecfa34
docs(beta): simplify install steps — no shell vars, no fresh/upgrade …
NikolaosSokos May 24, 2026
1a19673
config: make SENTRY_ENVIRONMENT a config.py value, drop the .env split
NikolaosSokos May 26, 2026
f0d627b
docs(beta): cover config.py upgrades from v1.0.3/v1.0.4, not just v1.0.5
NikolaosSokos May 26, 2026
aac3887
docs: rewrite README as an accurate project reference
NikolaosSokos May 26, 2026
b2eb5f2
docs: make README simple and useful — lead with "Run it"
NikolaosSokos May 26, 2026
714e3df
docs: add build/pull deployment options, move DB setup to the end
NikolaosSokos May 26, 2026
1c5511a
docs: make the fan-out explanation self-contained
NikolaosSokos May 26, 2026
5b64ef7
docs: add config defaults, drop reverse-proxy section, tabulate fan-o…
NikolaosSokos May 27, 2026
611bb2a
docs: add back-processing to DB section, keep host-cron out
NikolaosSokos May 27, 2026
b5302d1
docs: add a Troubleshooting section
NikolaosSokos May 27, 2026
9608ea3
test: fix test_restriction.py imports so the full suite is green
NikolaosSokos May 27, 2026
96f96d8
docs(beta): point testers at the fork during the beta period
NikolaosSokos May 27, 2026
4973a7c
docs: point beta install at the EIDA beta branch (branch-only)
NikolaosSokos May 27, 2026
5230d0e
Merge branch 'master' into beta/v1.1.0-beta.1
NikolaosSokos May 28, 2026
30c86b5
fix(config): make config.py the single source of truth (closes Tobias…
NikolaosSokos May 28, 2026
87482c0
slightly safer config variable setting
megies May 28, 2026
cc0990b
test: lock in PR #62's safer env-var pattern in config.py.sample
NikolaosSokos May 28, 2026
64af113
docs(BETA): use cp -n + clarify config.py is the single source
NikolaosSokos May 28, 2026
6ef2b73
feat: gunicorn workers settable from config.py (closes Tobias feedback)
NikolaosSokos May 28, 2026
6cb6149
build: delete obsolete requirements-{api,cacher}.txt
NikolaosSokos May 28, 2026
7a70603
build: uv lock --upgrade — refresh transitives, no security gap
NikolaosSokos May 28, 2026
c16a67b
release: prepare v1.1.0 (promote beta to GA)
NikolaosSokos Jun 8, 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
304 changes: 158 additions & 146 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,146 +1,158 @@
# Config
config.py

# Virtual environment
env/

# DB migrations
migrations/

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker

# Local Documentation
HOWTO_ADD_DATA.md
REFACTORING_SUMMARY.md

# Local Verification Scripts
tests/demonstrate_fusion.py
reproduce_data_wfcatalog.py
reproduce_on_server.py
debug_api_state.py

# Agent Context
.agent
.agents/
# Config
config.py

# Virtual environment
env/

# DB migrations
migrations/

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Pyre type checker

# Local Documentation
HOWTO_ADD_DATA.md
REFACTORING_SUMMARY.md

# Local Verification Scripts
tests/demonstrate_fusion.py
reproduce_data_wfcatalog.py
reproduce_on_server.py
debug_api_state.py

# AI Agents & Tools
.agent
.agents/
.gemini/
.claude/
.cursor/
.aider*
CLAUDE.md
AGENTS.md
plans/
*.agent.md
# Internal briefing / handover docs (not project documentation — README.md only)
*-briefing.md
*briefing*.md
ws-availability-issue60-briefing.md
Loading