addons

package
v0.9.0 Latest Latest
Warning

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

Go to latest
Published: Nov 24, 2025 License: Apache-2.0 Imports: 8 Imported by: 12

README

gdev Addons

These are the "built-in" addons that gdev provides for customizing your xdev tool. These are not privileged however, you can always build your own using the same APIs.

The gdev code is also intentionally under a relatively permissive license (Apache-2.0), so you can also copy & customize these if you need features specific to your environment that aren't suitable to be "upstreamed".

The intent however is that these provide sufficient customization hooks so that forking them is rarely necessary.

Available Addons

Name Description
_template Not an actual addon, but a template to copy to start a new one
asdf Adds bootstrap step to install asdf and its plugins
bootstrap Adds bootstrap command(s) to initialize developer PC
build Adds support & command(s) for building source repos
containerd Support for containerd interaction and k3s backend configuration
containers Not an addon, generic container helper code for other addons
diags Collect diagnostics from users for remote assistance
docker Support for interfacing with docker and using as k3s backend
docs Command for generating documentation (man pages & markdown) for CLI
gcloud Bootstrap step(s) for installing & logging in with gcloud CLI
gcs Support for running GCS emulator and connecting to it or "real" GCS
github Bootstrap steps for installing gh CLI and logging in
gocache GOCACHEPROG implementations
golang Support for building Go projects from source
k3s Support for running k3s locally to run your stack in Kubernetes
k8s Generic support for interacting with a local Kubernetes environment
mariadb Support for running MariaDB (MySQL fork) in (local) Kubernetes
nodejs Support for building projects with NodeJS
pm Local process manager daemon for running things outside containers
postgres Support for running PostgreSQL in (local) Kubernetes
uv Bootstrap step(s) for installing uv Python environment manager
valkey Support for running Valkey (Redis fork) in (local) Kubernetes

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Initialize

func Initialize()

func Register

func Register[T any](a *Addon[T])

Types

type Addon

type Addon[T any] struct {
	Config     T
	Definition Definition
	// contains filtered or unexported fields
}

func (*Addon) CheckInitialized

func (a *Addon) CheckInitialized()

CheckInitialized checks that the addon has been initialized and therefore it is safe to assume that its configuration is final and that it has registered anything it needs with the rest of the system.

If not, it panics.

Includes a call to instance.CheckLockedDown.

func (*Addon) CheckNotInitialized

func (a *Addon) CheckNotInitialized()

CheckNotInitialized checks that the addon has not been initialized yet and therefore it is safe to apply customizations / configuration changes to it.

If not, it panics.

Includes a call to instance.CheckCanCustomize.

func (*Addon[T]) RegisterIfNeeded

func (a *Addon[T]) RegisterIfNeeded()

type Definition

type Definition struct {
	Name        string
	Description func() string
	Initialize  func() error
}

type Description

type Description struct {
	Name        string
	Description string
}

func Enabled

func Enabled() []Description

Directories

Path Synopsis
apt
apt/getkey command
internal
Package internal provides internal types and functions for the bootstrap addon.
Package internal provides internal types and functions for the bootstrap addon.
textedit
Package textedit provides helpers for making changes to line-oriented text files.
Package textedit provides helpers for making changes to line-oriented text files.
input module
containerd module
docker module
gcs module
gocache module
gcs module
s3 module
k3s module
k8s module
pm
api
postgres module
valkey module

Jump to

Keyboard shortcuts

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