Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
80656f1
chore: checkpoint installation before scaffold migration
saramonzon Aug 6, 2026
4f69aa1
initialized new deployment standard
saramonzon Aug 6, 2026
b1b5376
feat: modernize Django deployment lifecycle
saramonzon Aug 10, 2026
cdce6fc
feat: render Apache deployment configuration at runtime
saramonzon Aug 10, 2026
9862fd2
chore: update deployment scaffold configuration
saramonzon Aug 10, 2026
501b8a1
feat: align iSkyLIMS with deployment lifecycle
saramonzon Aug 10, 2026
6f6d08e
fix(test): use scoped database service hostname
saramonzon Aug 10, 2026
7ceac9b
fix(deployment): avoid recreating persistent support services
saramonzon Aug 10, 2026
fe0fb32
feat(test): restore iSkyLIMS Samba demo workflow
saramonzon Aug 11, 2026
14fe9ba
fix(test): load fixtures from installed application
saramonzon Aug 11, 2026
2b52cd5
fix(test): use application virtualenv for fixtures
saramonzon Aug 11, 2026
8064dd9
fix(deployment): stage application static sources
saramonzon Aug 11, 2026
d0991aa
fix: replace protected bind files atomically
saramonzon Aug 11, 2026
d6cb44e
feat: store Django documents in named volumes
saramonzon Aug 11, 2026
788ed9c
feat: map the container host gateway for Django
saramonzon Aug 11, 2026
5807f56
fix: assign Apache log bind ownership
saramonzon Aug 11, 2026
85a9c49
fix: prepare Docker bind ownership without sudo
saramonzon Aug 11, 2026
b16a941
docs: restore deployment and application guidance
saramonzon Aug 11, 2026
415ef3f
fix: generate iSkyLIMS Django wrapper during staging
saramonzon Aug 11, 2026
3423075
refactor: remove fake-initial iSkyLIMS upgrades
saramonzon Aug 11, 2026
015a4b7
docs: require committed iSkyLIMS migrations
saramonzon Aug 11, 2026
97f451a
feat: validate iSkyLIMS migration plan before migrate
saramonzon Aug 11, 2026
2d85b77
refactor: separate iSkyLIMS add-on settings
saramonzon Aug 11, 2026
0bbc990
docs: map protected iSkyLIMS add-on configuration
saramonzon Aug 11, 2026
33f472a
docs: stage protected iSkyLIMS deployment settings
saramonzon Aug 11, 2026
b1dc6ad
docs: add iSkyLIMS bare-metal deployment commands
saramonzon Aug 11, 2026
df6b11c
docs: keep iSkyLIMS runbook container-focused
saramonzon Aug 11, 2026
b91d591
fix: use mysqlclient during iSkyLIMS bootstrap
saramonzon Aug 11, 2026
a5809f5
fix: avoid occupied iSkyLIMS test port
saramonzon Aug 11, 2026
1d4932a
fix: name iSkyLIMS test database service explicitly
saramonzon Aug 12, 2026
3ec307a
fix: expose iSkyLIMS virtualenv to health checks
saramonzon Aug 12, 2026
79a4fa9
fix: validate the iSkyLIMS health route
saramonzon Aug 12, 2026
6b7a858
fix: make iSkyLIMS health validation shell-safe
saramonzon Aug 12, 2026
75ff77f
Fix production setup documentation order
saramonzon Aug 13, 2026
2fc406e
Synchronize deployment scaffold state
saramonzon Aug 13, 2026
08fbe82
Synchronize production demo data support
saramonzon Aug 13, 2026
31bfa00
Fix Django project scaffolding module conflict
saramonzon Aug 13, 2026
1f4d9af
Show service ports after container install
saramonzon Aug 13, 2026
781e5c1
linting
saramonzon Aug 14, 2026
e2304e2
Sync deployment standard log policy
saramonzon Aug 17, 2026
cff49e6
Validate committed Django migrations
saramonzon Aug 17, 2026
bf80268
Sync standard initial table loading
saramonzon Aug 17, 2026
de64d08
Sync protected deployment environment guidance
saramonzon Aug 17, 2026
e66ada7
Sync topology-aware deployment runbook
saramonzon Aug 17, 2026
cd1156a
Generate host directories from protected settings
saramonzon Aug 17, 2026
1778d00
Order host setup after protected settings
saramonzon Aug 17, 2026
0008dab
Clarify settings before host directory setup
saramonzon Aug 17, 2026
67e0419
Sync Django boolean normalization
saramonzon Aug 17, 2026
b5d11e3
Install timezone data in iSkyLIMS image
saramonzon Aug 17, 2026
6ac0ea9
Restore timezone payload during iSkyLIMS build
saramonzon Aug 17, 2026
f91f16a
Sync mapped demo data deployment updates
saramonzon Aug 18, 2026
0f75cad
Sync service-specific test database identity
saramonzon Aug 18, 2026
a9dc0f6
Use scoped service names
saramonzon Aug 28, 2026
79da4e1
Use standalone iSkyLIMS deployment identity
saramonzon Sep 22, 2026
6242c1d
add skip flake
saramonzon Sep 22, 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
63 changes: 63 additions & 0 deletions .bu-isciii-deployment/state.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
{
"config": {
"ADDONS": {
"apache": {
"CONFIG_SERVICE": "iskylims"
},
"samba": {
"CONFIG_SERVICE": "iskylims",
"MODES": [
"test"
]
}
},
"APP_NAME": "iSkyLIMS",
"APP_SLUG": "iskylims",
"DEFAULT_BRANCH": "main",
"DESCRIPTION": "Laboratory information management system for wet-lab and dry-lab sequencing workflows.",
"PYTHON_VERSION": "3.11",
"REPOSITORY_URL": "https://github.com/BU-ISCIII/iSkyLIMS.git",
"SERVICES": {
"iskylims": {
"BUILD_CONTEXT": ".",
"DOCKERFILE": "Dockerfile",
"IMAGE": "iskylims:local",
"INSTALL_CONF": "conf/docker_production_settings.txt",
"PROFILE": "django",
"PROJECT_MODULE": "iskylims",
"TEST_INSTALL_CONF": "conf/docker_test_settings.txt"
}
},
"TIMEZONE": "Europe/Madrid"
},
"files": {
".dockerignore": "bd9c115511d6b9dae318e4b6a85ddb282e60a46fd89c6cdecccdc20c668eb0e9",
".gitignore": "de487336ed72efd6601b985eda1c83754d6ee33b1cb4ce9f8973411caae833ed",
"Dockerfile": "95d77c59cec771592957755e699c19401f70e631eb42bd6a9ac73c2024786de1",
"LEAME.md": "9c7353110884db0a9e48b92d35c3ed8813b83e331d5ae2ab75a70f2878bd4811",
"README.md": "f8808b6ee80aa7a942dd505463f155b2314bd70f948d74ce6e3f9fad938d8c22",
"conf/INSTALL_SETTINGS.md": "f5b1437a0e13a803ff020b5cb3aa1476b6876c169b23e6bcfc3e5042224af636",
"conf/apache/00-logs.conf": "3c2ab4e693e528d2cad37c0c5bb0bc4511803a7f206b339182de192d4e398092",
"conf/apache/01-reverse-proxy.conf": "1c93e81d44ef88091c4ec7872d9220128813ba5111908ea70b22996182ffd5be",
"conf/apache/02-server-status.conf": "c3b5d26f9b551083faf0d85b188bfa9c577ff0bd3b805f0ec104fe4f7d5101cb",
"conf/apache/apache_production_settings.txt": "169c2d22d4933090003875da7359c49926b9dd4be0838a7875744723c9cf771a",
"conf/apache/apache_test_settings.txt": "8092b49e5b3950a9e6ef64f6fc9d004d51e487cfdd4c17c71bcfa3469494e0b6",
"conf/docker_production_settings.txt": "51182733d5cd3b12d826cd085a804e310c9a89bced71d7396cbef59df2801c82",
"conf/docker_test_settings.txt": "c1d910b42629559304ee6a750d6f37a5ed322ca9efa7a9cfffd373de7a75cae6",
"conf/samba/samba_production_settings.txt": "f19da30ab0890a79254e22c571629b34de2d37ad9c12449607158bff9a9188a1",
"conf/samba/samba_test_settings.txt": "c383b88d43de8d65886cdd2b45bf9f27d91f5f3fe290f8f82378578fbeeff0b2",
"conf/template_settings.py": "af539ad10729a371e0c735c121e6e62dfece96afce77fb86e3a0820df2e9dd2f",
"container_install.sh": "82500f1e800e1a5dbd3429b14f1c3bae7f3554f988408b5f7939478afde45abd",
"deployment_health/README.md": "3d7c4295938708813369deeac9edc0eb8fe2153c77d03f9138febf3aed715aa5",
"deployment_health/__init__.py": "bedcff132309f8970b1ca72fcea20c7cb38bb727d48f82d96dbf7104922abda0",
"deployment_health/urls.py": "8d274b44d326f26d71b05021a34969c742478efbe47691aadd8c3a90ba16f340",
"deployment_health/views.py": "d19cc3e8fef8519bae2b7fbdc25d17f6ae7df02479aa8890f4b4d250bb07f2e4",
"docker-compose.prod.yml": "3408e0e424a06587f61e9e04d46e4225bdfab473206bd28a1f18d2d014b2d9dc",
"docker-compose.test.yml": "a56a89a26ae8e30627e401405e273d99cfeb24b8e508f24204882d57ba79f51d",
"install.sh": "6cedd3a990de21bf2343b75d8f93dd37420c1b358a1529b5e50892cf6df1526c",
"scripts/container_start.sh": "8d6e24f848d0562c17f323bbcf8d49e89a247648895bc209c4eb79bc9c8adf12",
"scripts/smoke_test.sh": "24aabe5c89c2ede2d373d282f1c3d17ed4a19f3c8e73b07a148e8472869bf17f"
},
"source": "BU-ISCIII deployment standards",
"standard_version": "0.1.0"
}
57 changes: 19 additions & 38 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,53 +1,34 @@
# Keep .git: install/build diagnostics use git metadata inside the image.
# Production installation settings are passed through a build secret. Exclude
# all local settings and allow only committed, non-sensitive templates/tests.
install_settings.txt
conf/*settings*.txt
!conf/docker_test_settings.txt
!conf/template_install_settings.txt
!conf/template_settings.txt
.tmp_docker_install_conf_*.txt
.env
.env.*
!.env.example
.env.prod.file
# Runtime-rendered add-on bind sources are not image build inputs.
deployment/apache/*.conf
deployment/settings/

# Local Python environments and caches
.venv/
venv/
env/
ENV/
virtualenv/
node_modules/
.npm/
.next/
.vite/
__pycache__/
*.py[cod]
.pytest_cache/
.mypy_cache/
.hypothesis/
.coverage
.coverage.*
htmlcov/
.tox/

# Local editor and OS files
.vscode/
.idea/
.DS_Store
*.swp
*.swo

# Local runtime/generated deployment files
.env
.env.*
!.env.example
.env.prod.file
install_settings.txt
wetlab/logging_config.ini
logs/
tmp/
documents/
outputs/
catboost_info/

# Build, package, and generated archives
build/
dist/
*.egg-info/
.eggs/
*.egg
*.log
*.gz
*.zip
*.tar
*.tgz

# Generated Django/runtime files at repo root
/manage.py
/static/
137 changes: 17 additions & 120 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,124 +1,21 @@
## Custom
*.xml
*.bin
*.gz
*_BAK
tmp/
logs/
/static/
install_settings.txt
# Local deployment configuration and generated synchronization candidates
.env
.env.*.file
conf/production_settings.txt
# Legacy/application-specific production settings must remain local.
my_prod_settings*.txt
wetlab/logging_config.ini
#--- updates introduced for iSkyLIMS in submodules packaging ---
virtualenv/
iSkyLIMS/
*iskylims/
documents/
manage.py
logs/
logs
.vscode/

*.bu-isciii-update
# Final add-on bind sources are regenerated from repository-owned conf files.
deployment/apache/*.conf
deployment/settings/

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

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# 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/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# dotenv
.env
.env.prod.file

# virtualenv
.venv
venv/
ENV/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.venv/
virtualenv/
node_modules/
.next/
.npm/
logs/
documents/
Loading
Loading