devenv

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

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

Go to latest
Published: Oct 17, 2022 License: Apache-2.0 Imports: 0 Imported by: 0

README

devenv

go.dev reference Generated via Bootstrap Coverage Status

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/debug
Package debug implements a 'devenv debug' command that allows developers to debug their devenv environment.
Package debug implements a 'devenv debug' command that allows developers to debug their devenv environment.
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.
e2e
Package e2e contains the E2E tests for the devenv
Package e2e contains the E2E tests for the devenv
e2e/devenv
Package devenv implements helpers for e2e tests in interacting with a devenv.
Package devenv implements helpers for e2e tests in interacting with a devenv.
shim
Package shim is used for creating devenv specific command replacements.
Package shim is used for creating devenv specific command replacements.
snapshot
Description: This file contains functions for provisioning from a snapshot.
Description: This file contains functions for provisioning from a snapshot.
pkg
app
config
Package config stores all devenv configuration
Package config stores all devenv configuration
kube
Description: Contains helpers for looking at pod logs
Description: Contains helpers for looking at pod logs
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.

Jump to

Keyboard shortcuts

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