devenv

package module
v1.28.0 Latest Latest
Warning

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

Go to latest
Published: Dec 19, 2021 License: Apache-2.0 Imports: 0 Imported by: 0

README

Outreach Kubernetes Developer Environment

System Requirements | Lifecycle | Interacting with Services |

Getting Started

  1. Download the latest release for your platform and install the devenv binary to /usr/local/bin/:
tar xvf devenv_**_**.tar.gz
mv devenv /usr/local/bin/

# Linux/WSL2 optional: allow your user to update the devenv
sudo chown $(id -u):$(id -g) $(command -v devenv)
  1. (macOS only) Ensure the devenv binary is authorized to run.
xattr -c $(command -v devenv)
  1. Follow the instructions for your platform in the detailed system requirements docs
Defining a Box

TODO. See gobox/pkg/box for the spec.

Creating the Developer Environment

To create a developer environment, run:

devenv provision

Next there's a manual step that you'll need to do. You'll need to add a KUBECONFIG environment variable, this can be done by adding the line below to your shellrc (generally ~/.zshrc or ~/.zsh_profile or ~/.bashrc):

NOTE: For Outreach developers this step is already completed by orc.

# Add the dev-environment to our kube config
export KUBECONFIG="$HOME/.kube/config:$HOME/.outreach/kubeconfig.yaml"

You now have a developer environment provisioned!

FAQ

Using different drivers

The devenv supports different kubernetes runtime drivers, below are the instructions for each driver

KinD

This should work out of the box!

Loft

You will need to create a loft instance, and set it in your box.yaml: TODO

You will need to create a vcluster template named devenv with the following contents:

storage:
  size: 50Gi

syncer:
  # Don't sync ingresses, our ingress controller will handle this, and get its own IP address
  # so we can address it via /etc/hosts
  extraArgs: ["--disable-sync-resources=ingresses"]

# This allows metrics-server to function properly
rbac:
  clusterRole:
    create: true

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
devenv/registry
Package registry implements the registry devenv command
Package registry implements the registry devenv command
internal
pkg
app
aws
config
Package config stores all devenv configuration
Package config stores all devenv configuration
kubernetesruntime
Package kubernetesruntime stores kubernetes cluster providers which implement a common interface for interaction with them.
Package kubernetesruntime stores kubernetes cluster providers which implement a common interface for interaction with them.
snapshot
Package snapshot stores shared code between devenv and the snapshot-uploader
Package snapshot stores shared code between devenv and the snapshot-uploader

Jump to

Keyboard shortcuts

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