Skip to content

Latest commit

 

History

History
106 lines (74 loc) · 2.14 KB

File metadata and controls

106 lines (74 loc) · 2.14 KB

Development Setup

Setting up your environment to contribute to Vega.

Prerequisites

Recommended: Using Devbox

For a reproducible development environment, use Devbox:

  1. Install Devbox:

    curl -fsSL https://get.jetify.com/devbox | bash
  2. Start a Devbox shell in the repository:

    devbox shell

This automatically sets up all required dependencies.

Building from Source

  1. Clone the repository (or your fork):

    git clone https://github.com/ArchetypicalSoftware/VDK.git
    cd VDK
  2. Navigate to the CLI project:

    cd cli/src/Vdk
  3. Build the project:

    dotnet build
  4. Run the CLI:

    dotnet run -- --help

Running Tests

From the repository root:

cd cli
dotnet test

Or run specific tests:

dotnet test --filter "FullyQualifiedName~YourTestName"

Publishing

To create a self-contained executable:

cd cli/src/Vdk
dotnet publish -c Release

The output will be in bin/Release/net10.0/publish/.

Project Structure

VDK/
├── cli/
│   └── src/
│       └── Vdk/
│           ├── Commands/       # CLI command implementations
│           ├── Services/       # Business logic and integrations
│           ├── Models/         # Data models
│           ├── Constants/      # Configuration constants
│           ├── Certs/          # TLS certificates
│           └── ConfigMounts/   # Container configuration files
└── docs/                       # Documentation

Key Technologies

  • System.CommandLine: CLI framework
  • KubeOps.KubernetesClient: Kubernetes API client
  • Docker.DotNet: Docker API client
  • YamlDotNet: YAML serialization
  • Flux CD: GitOps toolkit