vinery is the simple, batteries-included infrastructure-as-code framework that leverages opinionated, plug-and-play Terraform/OpenTofu
plans to programmatically generate data and analytics infrastructure in Azure.
What vinery Is Not
❌ A state management tool.
❌ For highly specialized workloads or infrastructure needs.
❌ For teams with many platform/infrastructure/devops specialists! Don't want to make it too easy for them.
Instead, vinery Is
✅ A Terraform/OpenTofu workspace management tool!
✅ Simple! Perfect for data people and other infrastructure non-specialists!
✅ For repeatable deployments, across many tenants!
vinery comes in two parts:
-
A library 📚 of plans for managing Azure infrastructure for data and analytics, that is:
- Opinionated: reasonable choices are made for each resource, allowing for a sane amount of configuration.
- Plug-and-play: each plan is designed to provide unique, but complementary, components to the infrastructure.
-
The vine 🍃 CLI, responsible for parsing through each plan's dependencies, builds the project's plan dependency graph, and batch execution of Terraform/OpenTofu commands on the selected plans.
Simply choose which components to include from the library - vine determines the required dependencies, tells you which inputs to provide, and executes everything in sequence - allowing you (or your CI) to sit back and pour some of your vinery's best grape juice. 🍷
Getting Started
clone repo
cd vinery
pip install .
vine -h
Pre-Requisites & Disclaimers
The vine CLI expects OpenTofu CLI/Terraform CLI, as well as Azure CLI to be installed.
vinery expects no different settings or configurations than how you would normally configure the Azure provider. However, our default plans do not support inline configuration of provider credentials, since we don't recommend it ourselves.
something something
This repository supports OpenTofu and Terraform
This project was tested on:
- OpenTofu 1.9.0.
- Terraform 1.6.0.
Both are great options, but we prefer OpenTofu.
Known Bugs / Issues
- Changing an existing Databricks Workspace's
public_network_access_enabledparameter via theprivate_frontendinput variable (local.tfvars) causes the Terraform/Tofu runtime to get stuck inStill modifying.... Despite the message, if the execution is interrupted, the change is successful, as re-running the plan yieldsYour infrastructure matches the configuration.and the changes can be shown to have taken effect in the workspace.
Release files for vinery 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vinery-0.1.0.tar.gz | 76.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vinery-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 100.2 kB
Release files / vinery-0.1.0.tar.gz
| Download URL | vinery-0.1.0.tar.gz |
|---|---|
| Size | 76.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ff552d857318e121e39b304a592857535f8494bb23868d84918cb547bfaf29eb
|
|
BLAKE2b-256 checksum How to use checksums |
331892b7884b8dae31b54eac7e4efbd336c6ed6b6c6afe11b5d0d4b27dc4cd37
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|
Release files / vinery-0.1.0-py3-none-any.whl
| Download URL | vinery-0.1.0-py3-none-any.whl |
|---|---|
| Size | 24.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
776d6aeaa4857449a58ffd2a4010fe53493fb0fa3b56880675d6944d9c7f97b8
|
|
BLAKE2b-256 checksum How to use checksums |
ff672c29da85edb040de4cdf6347aa9b6e132f25799cdd06ad1153172166a7bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.3
|