CLI tool for building modular infrastructure
Project description
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.
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 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 vinery-0.1.0.tar.gz.
File metadata
- Download URL: vinery-0.1.0.tar.gz
- Upload date:
- Size: 76.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff552d857318e121e39b304a592857535f8494bb23868d84918cb547bfaf29eb
|
|
| MD5 |
0c8e60cc60ac5d532c3f8f21437c56b2
|
|
| BLAKE2b-256 |
331892b7884b8dae31b54eac7e4efbd336c6ed6b6c6afe11b5d0d4b27dc4cd37
|
File details
Details for the file vinery-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vinery-0.1.0-py3-none-any.whl
- Upload date:
- Size: 24.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
776d6aeaa4857449a58ffd2a4010fe53493fb0fa3b56880675d6944d9c7f97b8
|
|
| MD5 |
c1c88dcaae9882d57094f9fd6beb0a8e
|
|
| BLAKE2b-256 |
ff672c29da85edb040de4cdf6347aa9b6e132f25799cdd06ad1153172166a7bb
|