Skip to content

Repository files navigation

veil

Go CLI for tracking, transforming, and rendering arbitrary deployment configuration (Kubernetes, Envoy, Terraform, …) through TypeScript hooks. See SPEC.md for the design.

Install

curl -fsSL https://raw.githubusercontent.com/vercel/veil/main/install.sh | sh

Develop

Required:

Optional:

  • buf — regenerate protobuf + JSON Schema after editing anything under proto/
  • TypeScripttsc on PATH lets veil build typecheck hook sources
make build        # build ./veil
make proto        # regenerate Go types + embedded JSON schemas
make all          # clean + proto + build
go test ./...     # run tests

Tests use testify suite — embed suite.Suite and call s.Equal, s.Require().NoError, etc. rather than the standalone assert.* / require.* helpers.

Layout

  • cmd/veil/ — CLI entrypoint
  • pkg/ — build, render, hook runtime, typegen, config, …
  • proto/veil/v1/ — protobuf sources; outputs land in api/go/, api/jsonschema/, and pkg/embeds/jsonschema/
  • scripts/deref-jsonschema/ — post-processor that simplifies the buf-generated bundle schemas
  • example/ — working veil project used as the integration target
  • SPEC.md — design / source of truth
  • AGENTS.md — conventions for AI assistants

About

A generic configuration management CLI tool. No more templates, just transforms

Resources

Security policy

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages