Imagine we want to guarantee a consistent deployment of a single Python package. PyHolodeck is designed to make this simple, but no simpler.
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
Accept json file, simple convervsion to hold it all lots of very big assumptions here !
- 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 venvrepresenting 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
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
the interpreter in this venv
where we will extract the git source to before runing setup
SubCmd(cmdlist, pythonstmt=None, args=None)¶
Smoothly act as store of a subprocess cmd
we want to have same command as a list for non-shell and in friendly form.
nb Its a lot easier to .join a list than parse a string
Given a git url, retrieve to parentfolder