vab

module
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2023 License: Apache-2.0

README

vab

vab is a cli for managing the installation of day 2 operation tools on multiple kubernetes clusters for easier management and updates.

vab is the acronym for Vehicle Assembly Building that is designed to assemble large pre-manufactured space vehicle components.

Building

vab provides various make command to handle various tasks that you may need during development, but you need at least these dependencies installed on your machine:

  • make
  • bash
  • docker with buildkit build engine available to use
  • golang, for the exact version see the .go-version file in the repository

Once you have all the correct dependencies installed and the code pulled you can build the project with:

make build

This command will build the cli for your actual OS and architecture and will put the binary inside the folder bin/<os>/<arch>/.

Or run the tests with:

make test

If you don’t plan to build a docker image but only to contribute to the code, we provide a devcontainer configuration that will setup the correct dependencies and predownload the tools used for linting. Also if you use VSCode it will setup three extensions that we recommend.

Linting

For linting your files make provide the following command:

make lint

This command will run go mod tidy for cleaning up the go.mod and go.sum files.
Additionally the command will download and use the golangci-lint cli for running various linters on the code, the configuration used can be seen here.

Building Docker Image

If you need to use a docker image locally you can build it with:

make docker-build

The command will first build the appropriate binary and then build the correct docker image for your platform based on Linux Alpine.

Building Multiarch Docker Image

If you need to try and build a multiarch docker image locally, you have to run these commands:

make docker-setup-multiarch
make docker-build-multiarch

For building this image you need to have installed docker and the buildx extension for emulating multiple architecture on your pc. This command for now is created for using it in the ci.

Directories

Path Synopsis
cmd
vab
internal
cmd
Package cmd provides all the functions describing vab's commands
Package cmd provides all the functions describing vab's commands
git
Package git is used for encapsulating all the interaction with Git
Package git is used for encapsulating all the interaction with Git
testutils
Utility functions and constants for tests
Utility functions and constants for tests
utils
Package utils provides all the helper functions needed vab's commands
Package utils provides all the helper functions needed vab's commands
pkg
apis/vab.mia-platform.eu/v1alpha1
Package v1alpha1 implements the v1alpha1 apiVersion of vab's cluster configuration
Package v1alpha1 implements the v1alpha1 apiVersion of vab's cluster configuration
apply
Package logger provides a lightweight logger for the vab command
Package logger provides a lightweight logger for the vab command
build
Build package is used for building multiple kustomize bundles for the given groups/cluster
Build package is used for building multiple kustomize bundles for the given groups/cluster
init
Package init provides functions for creating a basic template for a vab project
Package init provides functions for creating a basic template for a vab project
logger
Package logger provides a lightweight logger for the vab command
Package logger provides a lightweight logger for the vab command
sync
Package sync provides functions to download modules and add-ons defined in a configuration files and update imports in kustomize file if needed
Package sync provides functions to download modules and add-ons defined in a configuration files and update imports in kustomize file if needed
validate
Validate package is used for validating a configuration files
Validate package is used for validating a configuration files

Jump to

Keyboard shortcuts

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