Skip to main content

DeployLane - GitLab-focused deployment helper CLI

Project description

DeployLane (dlane)

GitLab-focused deployment helper CLI for deterministic CI/CD operations.

DeployLane helps you manage GitLab project variables and deployment workflows in a reproducible and auditable way — without committing secrets into repositories.


🚀 What is DeployLane?

DeployLane is a CLI tool that sits between your workstation and GitLab.

It allows you to:

  • 🔐 Store GitLab credentials locally (not in repo)
  • 📦 Export project variables into a YAML file
  • 🔍 Diff local YAML vs GitLab variables
  • 📋 Generate deterministic deployment plans
  • 🧾 Produce reproducible .env files
  • 🧮 Generate deployment proof manifests (hash-based audit artifacts)

All operations are deterministic and reproducible.

⚠️ .deploylane/ is local-only. Do NOT commit it.


📦 Installation

pip install deploylane

Run:

dlane --help

🔐 Authentication

Create a GitLab Personal Access Token (PAT)

In GitLab:

User Settings → Access Tokens

Scopes:

  • read_api
  • api

Login (interactive)

dlane login --host https://gitlab.example.com

Optional:

dlane login --profile prod --host https://gitlab.example.com --registry-host registry.example.com

Login (non-interactive)

export GITLAB_HOST="https://gitlab.example.com"
export GITLAB_TOKEN="glpat-xxxx"

dlane login --non-interactive

Status

dlane status

⚙️ Profiles

Config file:

~/.config/deploylane/config.toml

Commands:

dlane config show
dlane profile list
dlane profile use <name>

📁 Projects

dlane project list
dlane project list --search my-app
dlane project list --owned

🔑 Variables

Default location:

.deploylane/vars.yml

Export:

dlane vars get --project group/project

Plan:

dlane vars plan --file .deploylane/vars.yml

Diff:

dlane vars diff --project group/project

Apply:

dlane vars apply --file .deploylane/vars.yml

Prune:

dlane vars prune --file .deploylane/vars.yml --yes

🚀 Deployment

Plan:

dlane deploy plan --target prod

Render:

dlane deploy render --target prod

Proof:

dlane deploy proof --target prod

🔐 Security

Add to .gitignore:

.deploylane/
*.env
.env

🛠 Development

pip install build
python -m build

Dev install:

pip install -e ".[dev]"

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

deploylane-0.1.10.tar.gz (22.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deploylane-0.1.10-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file deploylane-0.1.10.tar.gz.

File metadata

  • Download URL: deploylane-0.1.10.tar.gz
  • Upload date:
  • Size: 22.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for deploylane-0.1.10.tar.gz
Algorithm Hash digest
SHA256 211d05ee7432cff6281f84ac6ae8433f90c21d94494fd1c0043d4382bc64379a
MD5 aa5a2064ccb86096c09d9d33cb691231
BLAKE2b-256 c9f3662d28eaa85466b82790772612956a7494f06af084f0fb833ef6baeddcce

See more details on using hashes here.

File details

Details for the file deploylane-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: deploylane-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for deploylane-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 7c31a2bf1ef1418e42a09228acd8ec8ad081a87159a45a3551ae372ee17e7501
MD5 489a8f2d85d1df8955c2201219e02b3e
BLAKE2b-256 138576218d8587eae560c646b1343b3c1730db29ac8356788609fd6ae44d81d3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page