Skip to content

jamf/regatta-go

Repository files navigation

Regatta Go client

GoDoc tag Go Version Build Status Coverage Status Go report Contributors License

This repository hosts the code of Regatta client for Go language. For documentation and examples check the godocs page. Additional functionality like Prometheus metrics and OpenTelemetry tracing is provided using plugins.

Example use

package main

import (
	"context"
	"fmt"
	"time"

	client "github.com/jamf/regatta-go"
)

func main() {
	// Create Regatta client
	c, err := client.New(
		client.WithEndpoints("127.0.0.1:8443"),
		client.WithLogger(client.PrintLogger{}),
		client.WithSecureConfig(&client.SecureConfig{
			InsecureSkipVerify: true, // Skip verification of self-signed certificate
		}),
	)
	if err != nil {
		panic(err)
	}

	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second) // Provide operation timeout
	defer cancel()
	
	put, err := c.Table("regatta-test").Put(ctx, "foo", "bar")
	if err != nil {
		panic(err)
	}
	fmt.Printf("%+v\n", put)
}

Contributing

Regatta is in active development and contributors are welcome! Feel free to ask questions and engage in GitHub Discussions!