Skip to main content
Go

High-performance support for your Go application

Idiomatic Go handlers, single binary deployment, and goroutine-powered background processing. Escalated adds support tickets to your Go service with zero runtime dependencies.

Terminal
$ go get github.com/escalated-dev/escalated-go

Why Escalated

Why Escalated for Go

Built for performance, simplicity, and Go conventions.

Blazing Performance

Compiled to a single binary with no runtime overhead. Escalated handles thousands of concurrent ticket operations with minimal memory footprint.

Single Binary Deployment

No external runtimes, no dependency management at deploy time. Build once, ship everywhere — from containers to bare metal.

Goroutine Background Tasks

Email notifications, webhook dispatches, and SLA checks run as goroutines. Lightweight concurrency without external job queues.

Getting Started

How It Works

Three steps from zero to a working help desk.

1

Install the Module

go get github.com/escalated-dev/escalated-go

2

Run Migrations

escalated migrate up

3

Mount the Handler

Register the Escalated handler on your HTTP mux and the support system is live. Works with net/http, Chi, Gin, or any Go router.

Features

Go-Native Features

Every integration point designed for idiomatic Go code.

Interface-Based Models

Tickets, replies, and users implement Go interfaces. Use your own database layer — GORM, sqlx, or raw database/sql.

Context Propagation

Every operation accepts context.Context for cancellation, timeouts, and request-scoped values. Plays nicely with your existing middleware chain.

Middleware Compatible

Escalated routes use standard http.Handler. Apply any middleware — authentication, logging, tracing — using the patterns you already know.

Structured Logging

Every ticket action emits structured log events via slog. Integrate with your existing observability stack.

Graceful Shutdown

Background goroutines respect context cancellation. Escalated shuts down cleanly when your server receives a termination signal.

Testing Helpers

Ships with test helpers and httptest utilities. Write table-driven tests for ticket operations with standard Go testing patterns.

Code

Idiomatic Go

Standard library patterns. No frameworks required.

Go
// main.go
package main

import (
    "net/http"
    "github.com/escalated-dev/escalated-go"
)

func main() {
    mux := http.NewServeMux()

    // Mount Escalated routes
    escalated.Mount(mux, "/support", escalated.Config{
        DB:     db,
        Auth:   authMiddleware,
    })

    http.ListenAndServe(":8080", mux)
}

Ready to add support tickets to your Go service?

Install the module, run migrations, and mount the handler. Open source, self-hosted, and built for Go.