gopkg charm

gopkg-k8s is a Juju charm that operates the gopkg.in versioned Go import service on Kubernetes.

The service ships as a rock, a container image built with Rockcraft. Juju deploys the charm, and the charm runs that image, configures the public hostname the service advertises, and connects it to ingress. Like any Juju charm, it supports repeatable deployment, configuration, integration, and lifecycle management, on Kubernetes platforms from MicroK8s for local development to Charmed Kubernetes and public-cloud Kubernetes offerings.

gopkg.in gives Go programs stable, major-version-specific import paths: gopkg.in/yaml.v2 resolves to the newest v2 tag of the go-yaml/yaml repository. Canonical maintains this charm to run the public gopkg.in service. The service writes the configured hostname into its go-import metadata, so a deployment serves imports of that hostname, not of gopkg.in: code that already imports gopkg.in/... keeps using the public service. Operators use their own copy to mirror gopkg.in inside a network that cannot reach it, or to offer versioned import paths for GitHub repositories under their own domain.

In this documentation

How this documentation is organized

This documentation uses the Diátaxis documentation structure.

  • The Tutorial takes you step-by-step through a first deployment of gopkg-k8s.

  • How-to guides cover practical tasks for configuring, operating, and maintaining your gopkg-k8s deployment.

  • Reference provides technical information to look up while you work, such as configuration options, integrations, and supported platforms.

  • Explanation includes background, context, and discussion of the concepts and design behind the charm.

  • Contribute guides developers who want to change the charm or its documentation.

  • Release notes hold the release history.

Contributing to this documentation

Documentation is an important part of this project, and it takes the same open source approach as the code. Community contributions, suggestions, and constructive feedback are welcome; see Contribute for how to get started. If a topic you need is missing, please file a bug.

Project and community

gopkg-k8s is a member of the Ubuntu family. It is an open source project that warmly welcomes community projects, contributions, suggestions, fixes, and constructive feedback.

Governance and policies

Get involved

Thinking about using gopkg-k8s for your next project? Get in touch!