devenv

package module
v1.33.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2022 License: Apache-2.0 Imports: 0 Imported by: 0

README

devenv

go.dev reference Generated via Bootstrap

Kubernetes Developer Environment Platform

Contributing

Please read the CONTRIBUTING.md document for guidelines on developing and contributing changes.

High-level Overview

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/deprecated
Package deprecated houses all deprecated commands
Package deprecated houses all deprecated commands
devenv/deprecated/delete-app
Package deleteapp is a deprecated command
Package deleteapp is a deprecated command
devenv/deprecated/deploy-app
Package deployapp is a deprecated command
Package deployapp is a deprecated command
devenv/deprecated/top
Package top is a deprecated command
Package top is a deprecated command
devenv/deprecated/update-app
Package updateapp is a deprecated command
Package updateapp is a deprecated command
devenv/registry
Package registry implements the registry devenv command
Package registry implements the registry devenv command
internal
alert
Package alert is a thin wrapper around the beeep package.
Package alert is a thin wrapper around the beeep package.
apps
Package apps contains all logic for interacting with apps inside of a devenv.
Package apps contains all logic for interacting with apps inside of a devenv.
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