# Hauler - Kubernetes Air Gap Migration ```bash # _ _ # | |__ __ _ _ _| | ___ _ __ # | '_ \ / _` | | | | |/ _ \ '__| # | | | | (_| | |_| | | __/ | # |_| |_|\__,_|\__,_|_|\___|_| # # , , _______________________________ # ,-----------|'------'| | | # /. '-' |-' |_____________________________| # |/| | | # | .________.'----' _______________________________ # | || | || | | # \__|' \__|' |_____________________________| # # __________________________________________________________ # | | # |________________________________________________________| # # __________________________________________________________ # | | # |________________________________________________________| ``` ## WARNING - Work In Progress ## Purpose: collect, transfer, and self-host cloud-native artifacts Kubernetes-focused software usually relies on CLI binaries, container images, helm charts, and more for installation. Standing up tools for serving these artifacts, collecting the dependencies, and mirroring them into the self-hosting solutions is usually a manual process with minimal automation. Hauler aims to fill this gap by standardizing low-level components of this stack and automating the collection and transfer of all artifacts. ## Additional Details - [Roadmap](./ROADMAP.md) - [Vagrant](./VAGRANT.md) ## Go CLI The initial MVP for a hauler CLI used to streamline the packaging and deploying processes is in the `cmd/` and `pkg/` folders, along with `go.mod` and `go.sum`. Currently only a `package` subcommand is supported, which generates a `.tar.gz` archive used in the future `deploy` subcommand. ### Build To build hauler, the Go CLI v1.14 or higher is required. See for downloads and see for installation instructions. To build hauler for your local machine (usually for the `package` step), run the following: ```bash mkdir bin go build -o bin ./cmd/... ``` To build hauler for linux amd64 (required for the `deploy` step in an air-gapped environment), run the following: ```bash mkdir bin-linux-amd64 GOOS=linux GOARCH=amd64 go build -o bin-linux-amd64 ./cmd/... ```