HoloMaker¶
Imagine we want to guarantee a consistent deployment of a single Python package. PyHolodeck is designed to make this simple, but no simpler.
API Docs¶
Create .deb files from python venvs as artifacts for deployment
app_path is where we create the virtual env and it is also the destination for the final target venv. We cannot avoid this - .deb creates it from dirs
todo: convert to run autmaotically within python (not pront cmds) todo: discvover postinst files and add as cmd switches to fpm todo: have some core service that postinst can call (fabric?) todo: chain to build servers
We need to hace fpm natively installed
-
class
pyholodeck.maker.
DeployConfig
(filepath)[source]¶ Accept json file, simple convervsion to hold it all lots of very big assumptions here !
-
class
pyholodeck.maker.
Deployment
(app_name, giturl)[source]¶ - A big wrapper around different stages in making the
- python package into a .deb
We are building a simple solution 1. We build on local disk, in the expected locations, a venv
representing the state of the venv we want eventually to deploy- We wrap that venv, with the python interpreter etc, into a .deb file (tarball basically).
- We define a saltstack file that will deploy the .deb file artifact to our infrastructure. This file will define how to create the .ini / .conf files that will be put into well-known locations for the configuration of the package.
- We define in the package the conf template for reference
Alternatively the artifact can be a Docker image that contains our .deb file
-
BASE_PATH
= '/mikado'¶ the root where the final .deb installed code will get put it is also, for ease of building .debs, where we put the code so the .deb making stage can find it
-
python_exe
= None¶ the interpreter in this venv
-
src_path
= None¶ where we will extract the git source to before runing setup