Development install mode¶
Development install mode allows an environment with a baked dpone version to test a newer snapshot package without rebuilding the base image.
This mode is intended for development and review environments, not normal production releases.
Concept¶
- CI builds a snapshot package.
- The runtime sets package overlay environment variables.
- The process starts through
dpone-runtime-exec. - The wrapper installs the snapshot into a writable target directory and prepends it to
PYTHONPATH.
Production should normally use immutable images and release tags.
Environment variables¶
| Variable | Purpose |
|---|---|
DPONE_INSTALL_MODE |
baked or snapshot. |
DPONE_PACKAGE_SPEC |
Package spec such as dpone==X.Y.Z.devN. |
DPONE_PACKAGE_INDEX_URL |
Package index containing the snapshot. |
DPONE_PACKAGE_EXTRA_INDEX_URL |
Optional extra index URL. |
DPONE_PACKAGE_EXTRA_INDEX_URLS |
Optional shell-style list of additional indexes. |
DPONE_PACKAGE_TARGET |
Writable directory added to PYTHONPATH. |
DPONE_PACKAGE_PIP_ARGS |
Optional extra pip install flags. |
Dry run¶
DPONE_INSTALL_MODE=snapshot \
DPONE_PACKAGE_SPEC='dpone==X.Y.Z.devN' \
DPONE_PACKAGE_TARGET=/tmp/dpone-overlay \
dpone-runtime-exec --dry-run python -c 'import dpone; print(dpone.__version__)'
Real run¶
DPONE_INSTALL_MODE=snapshot \
DPONE_PACKAGE_SPEC='dpone==X.Y.Z.devN' \
DPONE_PACKAGE_TARGET=/tmp/dpone-overlay \
dpone-runtime-exec python -m dpone --help
Practical notes¶
DPONE_PACKAGE_TARGETmust be writable.- The target directory is recreated on every start to avoid stale files.
- This mode assumes a baseline
dponealready exists in the image sodpone-runtime-execis available. - Use public PyPI or a private package index according to your environment policy.