thelma

module
v1.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 14, 2022 License: BSD-3-Clause

README

thelma

codecov Go Report Card

thelma (short for Terra Helm Automator) is a CLI tool for interacting with Terra's Helm charts.

It includes subcommands for publishing charts to the terra-helm repo as well as rendering manifests locally.

Local Development

The Makefile has targets for facilitating local development, including:

make help    # Print out all Makefile targets w/ brief description
make build   # Compile thelma binary into output
make release # Assemble a thelma release
make test    # Run unit tests
make smoke   # Run unit and smoke tests
make cover   # View code coverage report for tests in browser

The build and release targets accept useful parameters:

# Run a cross-platform build if desired
make build OS=linux ARCH=amd64

# Assemble a cross-platform build into a release archive
make release OS=linux ARCH=arm64

Directories

Path Synopsis
cmd
internal
thelma/app
Package app contains logic for global/cross-cutting Thelma dependencies, such as configuration, logging support, and API client factories
Package app contains logic for global/cross-cutting Thelma dependencies, such as configuration, logging support, and API client factories
thelma/app/env
Package env includes utilities for interacting with environment variables
Package env includes utilities for interacting with environment variables
thelma/bee/cleanup
Package cleanup contains logic for cleaning up Bee cloud resources when BEEs are deleted
Package cleanup contains logic for cleaning up Bee cloud resources when BEEs are deleted
thelma/cli
Package cli contains code for Thelma's command-line interface
Package cli contains code for Thelma's command-line interface
thelma/clients
Package clients contains convenience constructors API clients that Thelma uses
Package clients contains convenience constructors API clients that Thelma uses
thelma/clients/api
Package api contains interfaces for client factories in the clients package.
Package api contains interfaces for client factories in the clients package.
thelma/clients/google/bucket/testing/assert
Package assert contains helper functions for making Testify assertions about objects in GCS buckets.
Package assert contains helper functions for making Testify assertions about objects in GCS buckets.
thelma/clients/vault/testing
Package testing provides utilities for testing code that requires a Vault client
Package testing provides utilities for testing code that requires a Vault client
thelma/render
Package render contains code for rendering Kubernetes manifests from Helm charts
Package render contains code for rendering Kubernetes manifests from Helm charts
thelma/render/helmfile/stateval
Package stateval is used for generating Helmfile state values.
Package stateval is used for generating Helmfile state values.
thelma/state
Package state models the state of Terra's infrastructure, including environments, clusters, and chart releases.
Package state models the state of Terra's infrastructure, including environments, clusters, and chart releases.
thelma/state/api/terra
Package terra contains interfaces that model Terra's infrastructure, and support querying and updating the state of said infrastructure.
Package terra contains interfaces that model Terra's infrastructure, and support querying and updating the state of said infrastructure.
thelma/state/api/terra/providers
Package providers contains implementations of the terra.State interface
Package providers contains implementations of the terra.State interface
thelma/state/providers/gitops
Package gitops is an implementation of the terra.State interface that reads configuration from terra-helmfile
Package gitops is an implementation of the terra.State interface that reads configuration from terra-helmfile
thelma/state/providers/gitops/statefixtures
Package statefixtures provides a fake state provider for use in unit tests
Package statefixtures provides a fake state provider for use in unit tests
thelma/utils
Package utils contains miscellaneous utility code
Package utils contains miscellaneous utility code
thelma/utils/pool
Package pool contains a generic implementation of the worker pool pattern for concurrent processing
Package pool contains a generic implementation of the worker pool pattern for concurrent processing

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL