Categorygithub.com/sl1pm4t/k2tf
modulepackage
0.8.0
Repository: https://github.com/sl1pm4t/k2tf.git
Documentation: pkg.go.dev

# README

k2tf - Kubernetes YAML to Terraform HCL converter

Build Status Go Report Card Release

A tool for converting Kubernetes API Objects (in YAML format) into HashiCorp's Terraform configuration language.

The converted .tf files are suitable for use with the Terraform Kubernetes Provider

asciicast

Installation

Pre-built Binaries

Download Binary from GitHub releases page.

Build from source

See below

Homebrew

$ brew install k2tf

asdf

Use the asdf-k2tf plugin.

Example Usage

Convert a single YAML file and write generated Terraform config to Stdout

$ k2tf -f test-fixtures/service.yaml

Convert a single YAML file and write output to file

$ k2tf -f test-fixtures/service.yaml -o service.tf

Convert a directory of Kubernetes YAML files

$ k2tf -f test-fixtures/

Read & convert Kubernetes objects directly from a cluster

$ kubectl get deployments -o yaml | ./k2tf -o deployments.tf

Building

NOTE Requires a working Golang build environment.

This project uses Golang modules for dependency management, so it can be cloned outside of the $GOPATH.

Clone the repository

$ git clone https://github.com/sl1pm4t/k2tf.git

Build

$ cd k2tf
$ make build

Run Tests

$ make test

Downloads

# Packages

No description provided by the author

# Functions

IsInlineStruct looks at the json tag of the given StructField, to determine if it has been marked as "inline" e.g.
IsZero reports whether is considered the zero / empty / unset value fo the type.
NewObjectWalker returns a new ObjectWalker object dst is the hclwrite.Body where HCL blocks will be appended.
WriteObject converts a Kubernetes runtime.Object to HCL.

# Structs

ObjectWalker implements reflectwalk.Walker interfaces It's used to "walk" the Kubernetes API Objects structure and generate an HCL document based on the values defined.