Plant a Vine
Project Basics
Vineyard selection, project name, environment stage, and Terraform version.
Project Basics
The first section of the Plant a Vine form establishes the project identity and target environment.
Fields
| Field | Type | Validation | Description |
|---|---|---|---|
| Vineyard | Select | Required | Parent workspace for this vine |
| Project Name | Text input | Required, lowercase, a-z0-9 + hyphens, max 25 chars | Used in resource naming and Terraform state paths |
| Environment Stage | Select | Required | development, staging, or production |
| Terraform Version | Select | Required | Default: 1.11.4. Also available: 1.10.5, 1.9.8 |
Vineyard Selection
The vineyard dropdown shows all vineyards owned by the current user. If no vineyards exist, the user must create one first. The selected vineyard determines the Terraform state path prefix:
{vineyard-name}/{project-name}/{environment}/{region}/terraform.tfstateProject Name
The project name is used extensively:
- Resource naming in Terraform (e.g.,
{project}-{env}-eks-cluster) - State file path (see Terraform State)
- Display in the UI (vine cards, job listings)
Names are enforced lowercase with only letters, numbers, and hyphens. This ensures compatibility with cloud resource naming constraints across all three providers.
Environment Stage
Three options with distinct implications:
| Stage | Purpose | Naming Convention |
|---|---|---|
development | Dev/testing | {project}-dev-* |
staging | Pre-production | {project}-staging-* |
production | Production workloads | {project}-prod-* |
The environment stage affects Terraform state isolation — each stage gets its own state file, even within the same project and region.