containerenv

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 13, 2019 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateContainer

func CreateContainer(e *Environment) (string, error)

CreateContainer creates a docker container and returns the id of the container

func Exec added in v0.2.0

func Exec(name string) error

Exec opens a shell into an environment This just wraps docker exec due to not wanting to reimplement that.

func ListContainers added in v0.2.0

func ListContainers() (*[]types.Container, error)

ListContainers returns a list of environment containers running

func StartContainer

func StartContainer(id string) error

StartContainer starts a container

func StopContainer

func StopContainer(id string) error

StopContainer stops a container

Types

type ConfigFileV1

type ConfigFileV1 struct {
	Version int `yaml:"version"`

	Environment struct {
		// Name is the name of this environment
		Name string `yaml:"name"`

		// Base is the base image to use
		Base string `yaml:"base"`

		// Username is the username to use for this image
		Username string `yaml:"username"`

		// Options contains toggleable features
		Options struct {
			// PulseAudio enables pulseaudio features
			PulseAudio bool `yaml:"pulseaudio"`

			// X11 enables xorg support
			X11 bool `yaml:"x11"`

			// SystemD enables systemd support
			SystemD bool `yaml:"systemd"`
		}
	}
}

ConfigFileV1 is a config object for an environment

type Environment

type Environment struct {
	// Name of the environment
	Name string `json:"name"`

	// Username is the user we should run as in this container
	Username string `json:"username"`

	// SystemD toggles support for systemd, defaults to true
	SystemD bool `json:"systemd"`

	// Image is the Docker image used to run this environment.
	Image string `json:"image"`

	// PulseAudio configures the pulseaudio integration
	PulseAudio PulseAudioSettings `json:"pulseaudio"`

	// X11 enables suppot for X11. This requires X11 to be running on the host
	X11 X11Settings `json:"x11"`
}

Environment is a containerized user environment that should be run

type PulseAudioSettings

type PulseAudioSettings struct {
	// Host provides host pulseaudio access
	Host bool `json:"host"`

	// Containerized specifies we are going to be running pulseaudio in the container
	Containerized bool `json:"containerized"`
}

PulseAudioSettings configures pulseaudio

type X11Settings

type X11Settings struct {
	// Host provides host x11 access
	Host bool `json:"host"`

	// Containerized specifies we are going to be running xorg-server in the container
	Containerized bool `json:"containerized"`
}

X11Settings configures X11

Jump to

Keyboard shortcuts

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