api

package module
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 23, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

README

OtterScale API

Go Reference License Buf

ConnectRPC service definitions and generated Go stubs for multi-cluster Kubernetes management.

Architecture

graph LR
    Client["Console / CLI"] -->|ConnectRPC| Gateway

    subgraph OtterScale Control Plane
        Gateway --> LinkService
        Gateway --> ResourceService
        Gateway --> RuntimeService
    end

    LinkService -->|mTLS| Agent
    ResourceService -->|Tunnel| Agent
    RuntimeService -->|Tunnel| Agent

    Agent -->|client-go| K8s["K8s API Server"]

🚀 Quick Start

# Use as dependency
go get github.com/otterscale/api@latest

# Generate from proto (contributors only)
make generate
import (
    linkv1 "github.com/otterscale/api/link/v1"
    resourcev1 "github.com/otterscale/api/resource/v1"
    runtimev1 "github.com/otterscale/api/runtime/v1"
)

⚙️ Services

Service Proto Package Methods Transport
Link otterscale.link.v1 ListLinks · Register · GetAgentManifest Unary
Resource otterscale.resource.v1 Discovery · Schema · List · Get · Describe · Create · Apply · Delete · Watch Unary + Server Stream
Runtime otterscale.runtime.v1 PodLog · ExecuteTTY · WriteTTY · ResizeTTY · PortForward · WritePortForward · Scale · Restart Unary + Server Stream

🔑 Features

  • Link — Agent registration and mTLS certificate provisioning
  • Resource — Full CRUD + Watch for native resources and CRDs
  • Runtime — Log streaming, interactive exec, port-forward, scale, rolling restart
  • OpenAPI — Auto-generated openapi.yaml from proto definitions
  • Feature gating — Per-RPC feature flags via custom MethodOptions extension

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// optional otterscale.api.Feature feature = 7777777;
	E_Feature = &file_feature_proto_extTypes[0]
)

Extension fields to descriptorpb.MethodOptions.

View Source
var File_feature_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type Feature

type Feature struct {
	XXX_raceDetectHookData protoimpl.RaceDetectHookData
	XXX_presence           [1]uint32
	// contains filtered or unexported fields
}

func (*Feature) ClearName

func (x *Feature) ClearName()

func (*Feature) GetName

func (x *Feature) GetName() string

func (*Feature) HasName

func (x *Feature) HasName() bool

func (*Feature) ProtoMessage

func (*Feature) ProtoMessage()

func (*Feature) ProtoReflect

func (x *Feature) ProtoReflect() protoreflect.Message

func (*Feature) Reset

func (x *Feature) Reset()

func (*Feature) SetName

func (x *Feature) SetName(v string)

func (*Feature) String

func (x *Feature) String() string

type Feature_builder

type Feature_builder struct {
	Name *string
	// contains filtered or unexported fields
}

func (Feature_builder) Build

func (b0 Feature_builder) Build() *Feature

Directories

Path Synopsis
link
v1
resource
v1
runtime
v1

Jump to

Keyboard shortcuts

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