Skip to content

ArchetypicalSoftware/vdk-flux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

104 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

VDK Flux

GitOps repository for the Vega Development Kit (VDK) - a CLI tool that creates opinionated Kind clusters for local Kubernetes development.

Overview

VDK Flux provides a complete local development environment with:

  • Gateway API with KGateway: Modern ingress using the Kubernetes Gateway API standard
  • Aspire Dashboard: Unified observability for traces, logs, and metrics
  • OpenTelemetry: Industry-standard telemetry collection and routing
  • Prometheus + Grafana: Metrics storage and visualization
  • Cert Manager: Automated TLS certificate management

Quick Start

  1. Install the VDK CLI

  2. Create a cluster:

    vdk cluster create
  3. Access the Aspire Dashboard:

    https://localhost:30443/observability
    

Architecture

┌────────────────────────────────────────────────────────────────┐
│                        Kind Cluster                            │
│  ┌──────────────────────────────────────────────────────────┐ │
│  │            Control Plane (ingress-ready=true)            │ │
│  │                                                          │ │
│  │   Port 30443 ────► Vega Gateway ────► Your Apps          │
│  │        │                  │                               │
│  │        │                  └────► /observability           │
│  │        │                              │                   │
│  │        │                              ▼                   │
│  │        │                    Aspire Dashboard              │
│  │        │                              ▲                   │
│  │        │                              │                   │
│  │   OTEL Collector ◄──── Your Apps ─────┘                   │
│  │        │                                                  │
│  │        └────► Prometheus ────► Grafana                    │
│  └──────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────┘

Components

Component Version Purpose
Flux v2.6.2 GitOps automation
Gateway API v1.4.0 Kubernetes standard for ingress
KGateway v2.0.5 Envoy-based Gateway implementation
Aspire Dashboard 9.1 Unified observability UI
OpenTelemetry v0.102.0 Telemetry collection
Prometheus v81.2.0 Metrics storage
Cert Manager v1.19.2 TLS management

Documentation

Sending Telemetry

Configure your applications to send OpenTelemetry data:

env:
  - name: OTEL_EXPORTER_OTLP_ENDPOINT
    value: "http://otel-collector.opentel.svc.cluster.local:4317"
  - name: OTEL_SERVICE_NAME
    value: "my-service"

Exposing Services

Create an HTTPRoute to expose your service:

apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: my-app
  namespace: my-namespace
spec:
  parentRefs:
    - name: vega-gateway
      namespace: vega-system
  rules:
    - backendRefs:
        - name: my-service
          port: 80

Repository Structure

vdk-flux/
├── base/                  # Flux Kustomization definitions
├── clusters/default/      # Cluster configuration
├── docs/                  # Documentation
├── modules/               # Component manifests
│   ├── aspire-dashboard/  # Aspire Dashboard + OTEL Collector
│   ├── cert-manager/      # Certificate management
│   ├── flux/              # Flux controllers
│   ├── gateway-api/       # Gateway API CRDs
│   ├── kgateway/          # KGateway Helm releases
│   ├── opentel/           # OpenTelemetry Operator
│   ├── prometheus/        # Prometheus + Grafana
│   ├── vega-gateway/      # Main gateway configuration
│   └── vega-system/       # VDK Operator
├── CONTRIBUTING.md        # Contribution guidelines
├── SECURITY.md            # Security policy
└── README.md

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Security

For security concerns, please see SECURITY.md.

License

This project is part of the Vega Development Kit ecosystem by Archetypical Software.

About

No description, website, or topics provided.

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors