No project description provided
Project description
Vendorless is a Python-based templating engine for rendering Docker Compose projects.
In vendorless, blueprints are Python modules that configures the services that make up an application, like databases and servers.
A blueprint can be rendered to Docker Compose files that run an instance of the application.
The basic functionality of vendorless is provided by the vendorless.core package, and other packages provide specific service templates and blueprints. For example, the vendorless.postgres package provides service templates for running a PostGreSQL database, and the vendorless.keycloak package provides a blueprint for running a Keycloak authentication server (which uses service templates provided by vendorless.postgres).
The goal of vendorless is to make it easier to build your application's backbone using free and open-source services. Vendorless is designed for small- to medium-sized projects that value self-containment over infinite scalability, and pragmatic tooling that prioritizes development efficency, and maintainability.
Key Features
- Python-based infrastructure-as-code (IaC). Blueprints are Python modules, which allows of the use of complex scriping, looping, and logic to configure service templates.
- Parameter linking allows the outputs of one service template to be linked to the inputs of other service templates. Service templates are effectively black boxes that are configured via their input parameters. Service templates also have output parameters, and these output parameters (e.g., ports, URLs, file paths, service names) can be linked to the input parameters of other service templates.
- Extensibility is provided by namespace packaging. Vendorless packages provide service templates (for use in blueprints), CLI commands (e.g., key generation), and/or blueprints (ready-made applications). You can leverage community maintained packages, or create your own.
Commands
vl is an extensible command-line tool that runs commands from vendorless packages. The functionality for working with vendorless blueprints and packages is provided by vendorless.core which includes:
- Rendering blueprints
- Developing new vendorless packages (creating, documenting, testing, and publishing)
Vendorless packages may add additional commands that are related to the package's services (e.g., key generation, certificate generation, secret generation, etc.).
The format of vl commands is
vl <package> <command> <arguments>...
where <package> is the vendorless package (e.g., core) that provides <command>. For example:
$ vl core render -m vendorless.keycloak.blueprints.auth_server
You can always use --help to see command documentation.
Commands via Docker
You can run vendorless commands via docker like so:
docker run ghcr.io/liambindle/vendorless:latest \
vendorless.<packages>... \
<package> <command> <arguments>...
This is useful if you're running vendorless in an environment that doesn't have Python (e.g., a production server). The first set of arguments (packages prefixed with vendorless.) is the list of vendorless packages that need to be installed. The subsequent arguments are the arguments to the vl command. For example
$ docker run ghcr.io/liambindle/vendorless:latest \
vendorless.core vendorless.keycloak \
core render -m vendorless.keycloak.blueprints.auth_server
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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 vendorless_core-0.1.5.tar.gz.
File metadata
- Download URL: vendorless_core-0.1.5.tar.gz
- Upload date:
- Size: 9.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.12.10 Linux/6.12.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0cce3962a2d5d376476132f9d4ed32b7a55339b478a742eeaa3935dd3090b2d9
|
|
| MD5 |
e9215c7c27a7e6350dbf041afa1b565d
|
|
| BLAKE2b-256 |
2d3aeaf9a3ced6459c75e27e0021667a2f753af5ac868fafbd9d43ec390857af
|
File details
Details for the file vendorless_core-0.1.5-py3-none-any.whl.
File metadata
- Download URL: vendorless_core-0.1.5-py3-none-any.whl
- Upload date:
- Size: 14.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.1.3 CPython/3.12.10 Linux/6.12.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed369c1ec9beb4009f690f9a99ac7760b8879d9c479844685638ea12a77d8875
|
|
| MD5 |
a1db49eba72c009d32589402a884a4f8
|
|
| BLAKE2b-256 |
b011a1e9edb9451edd7dfe5caecb85d6f50b4f5f1c68a7ccdbe899fe1796b9b6
|