im-manager

module
v0.62.1 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2025 License: AGPL-3.0

README

Getting Started

If you just want to see what the application looks like you can find some screenshots here.

Start local development environment with Docker

  1. Start by copying the .env.example file into a new .env file:
cp .env.example .env
  1. Create a private key:
make keys
  1. Copy the private key contents, with actual newlines replaced by "\n", into the PRIVATE_KEY environment variable within the .env file: This should work on macOS to copy the key contents
cat rsa_private.pem | awk '{printf "%s\\n", $0}' | pbcopy
  1. Initialize the environment and install dev dependencies:
make init
  1. Start a development environment:
make dev

Release

Releasing is done by creating a new release tag.

It's advised to generate the release log before doing so.

Example

git tag --sort=-creatordate | head --lines=1              # Get the latest tag
git tag v0.53.0                                           # Use whichever tag you want to release
make change-log
git commit CHANGELOG.md -m "chore: generate change log"
git push

Add a group

  • Add group in IM (either through the UI or by using the user script found here
  • Update values file or for an individual environment such as prod
  • Update the profiles section of the skaffold file to include the group
  • Update backup schedule to include the group for either dev or prod

Tracing

Tracing is implemented using OpenTelemetry and Jaeger.

Tracing is enabled by default and configured for Gin and Gorm.

Forward the Jaeger UI to your local machine by running: kubectl port-forward --namespace instance-manager-dev svc/jaeger-dev-query 16686:16686

Directories

Path Synopsis
cmd
serve command
Package classification Instance Manager
Package classification Instance Manager
internal
log
Package log provides slog handlers.
Package log provides slog handlers.
pkg
cluster
Package cluster provides CRUD operations for cluster management.
Package cluster provides CRUD operations for cluster management.
inttest
Package inttest enables writing of integration tests.
Package inttest enables writing of integration tests.
stack
Package stack contains stacks that can be deployed with the instance manager.
Package stack contains stacks that can be deployed with the instance manager.

Jump to

Keyboard shortcuts

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