diff --git a/defaults/main.yml b/defaults/main.yml index 347f4ef..68934d8 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -121,3 +121,7 @@ repo_pip_packages: - wheel repo_build_store_pip_sources: false + +# Default python packages which will be installed +# into every venv. +repo_venv_default_pip_packages: [] diff --git a/releasenotes/notes/custom-pip-package-add-4c17638c6e5b3373.yaml b/releasenotes/notes/custom-pip-package-add-4c17638c6e5b3373.yaml new file mode 100644 index 0000000..01c0a67 --- /dev/null +++ b/releasenotes/notes/custom-pip-package-add-4c17638c6e5b3373.yaml @@ -0,0 +1,6 @@ +--- +features: + - The option ``repo_venv_default_pip_packages`` has been added which will + allow deployers to insert any packages into a service venv as needed. + The option expects a list of strings which are valid python package names as + found on PYPI. diff --git a/templates/venv-build-options.txt.j2 b/templates/venv-build-options.txt.j2 index d256538..da306e8 100644 --- a/templates/venv-build-options.txt.j2 +++ b/templates/venv-build-options.txt.j2 @@ -146,4 +146,4 @@ VENV_CREATE_COMMAND="{{ repo_build_venv_command_options }}" {# #} {# Finally, we output the alphabetically sorted requirements. #} {# #} -ROLE_VENV_REQUIREMENTS="{{ (requirement_list | sort) | join(' ') }}" +ROLE_VENV_REQUIREMENTS="{{ (repo_venv_default_pip_packages | union(requirement_list) | sort) | join(' ') }}"