kubestar

command
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 16, 2022 License: MIT Imports: 5 Imported by: 0

README

kubestar

kubestar is an experimental tool for converting between YAML and skycfg-based starlark. It's meant to complement the starlark-related functionality in kubeapply.

Installation

Run the following:

GO111MODULE="on" go get github.com/segmentio/kubeapply/cmd/kubestar

The kubestar binary will be placed in $GOPATH/bin.

Subcommands

star2yaml

The star2yaml subcommand evaluates a starlark entrypoint (i.e., of the form def main(ctx):) and outputs the associated Kubernetes YAML to stdout. Note that this conversion is already supported in kubeapply expand, so this subcommand shouldn't be needed if you're already using the former.

Usage
kubestar star2yaml [star path] [flags]

Flags:
      --cluster-config string   Path to a kubeapply-formatted YAML cluster config; used to set vars in
                                ctx object (optional)
  -h, --help                    help for star2yaml
      --vars string             Extra JSON-formatted vars to insert in ctx object (optional)

Global Flags:
  -d, --debug   Enable debug logging
Example

Run the following from the repo root:

kubestar star2yaml pkg/star/expand/testdata/app.star \
    --vars '{"key":"value"}'

Any proto: tag has too few fields: "-" errors are expected and shouldn't affect the conversion process.

yaml2star

The yaml2star subcommand converts one or more YAML-formatted Kubernetes manifests to a skycfg-compatible starlark file. This file can be either a top-level entrypoint, i.e. with def main(ctx):, or a non-top-level function that's called from elsewhere.

Usage
kubestar yaml2star [YAML configs] [flags]

Flags:
      --args stringArray    List of arguments to add to custom (non-main) entrypoint, in key=value format
      --entrypoint string   Name of entrypoint (default "main")
  -h, --help                help for yaml2star

Global Flags:
  -d, --debug   Enable debug logging

The arg values will be used as the default values in the entrypoint. Also, if the values are found in the body of the YAML, they'll be substituted with the variable name.

Example

Run the following from the repo root:

kubestar yaml2star pkg/star/convert/testdata/deployment.yaml \
    --args 'name=special-config' \
    --entrypoint=my_deployment

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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