Make it easy to maintain docker-compose files and helm-charts across projects with pants-py-deploy
Project description
Pants py_deploy plugin
- Purpose: Make it easy to maintain docker-compose files and helm-charts across projects
- Goals
- Support updating services.{service_name}.
environmentby scanning source codeportsby scanning source code
- Support updating {chart}/
values.yaml{deployment|statefulset}.yaml
- Use Pantsbuild pants to write a plugin that can be pip installed
- Then invoking it should be
pants fix :: - Less pants boilerplate and support multi-platform (arm+amd) with a macro
- Enabling docker-compose|helm-chart templates by using the macro and adding fields to pex_binary
- Support updating services.{service_name}.
Draft api
BUILDfile
py_deploy(
name="app-name",
entrypoint=package_name,
docker={},
helm={},# support more config in the future
)
- generates
- 4
pex_binarytargets- Each platform has one
pex_binaryfor sources and onepex_binaryfor requirements
- Each platform has one
- 2
docker_imagetargets- Both pex_binaries are copied, copies requirements 1st to take advantage of docker build cache
- 1
helm_chartwith aresourceof all the files u
- 4
- Usage in
pants publish ::- docker and helm repository =
app-name - tags:,
app-name-amd,app-name-arm,app-name-chart
- docker and helm repository =
- Usage in
pants fix ::docker-compose.yamlfile &chart/*are create if they don't exist- if they exist: ensure environment & ports are up-to-date
Later ideas
- support analyzing env-vars and using them for adding services like postgres/rabbitmq/mongo etc. to the docker-compose file
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pants_py_deploy-0.0.29-py3-none-any.whl.
File metadata
- Download URL: pants_py_deploy-0.0.29-py3-none-any.whl
- Upload date:
- Size: 12.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.17
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8992a0d05a9e7b0f38c1c40aacc0c83091ccd8f83e7136495b3f3a68ec570416
|
|
| MD5 |
0650f9f04870aa63a1049e40bbd4eb94
|
|
| BLAKE2b-256 |
826e18509e3211f6502a7d5a4e610c44b94c49497a8bda5d156bd346722e236f
|