api

package module
v0.8.1 Latest Latest
Warning

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

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

README

OtterScale API

Go Reference npm GitHub Release 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
addons
v1alpha1
Package v1alpha1 contains API Schema definitions for the addons v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the addons v1alpha1 API group.
apps
v1alpha1
Package v1alpha1 contains API Schema definitions for the apps v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the apps v1alpha1 API group.
link
v1
resource
v1
runtime
v1
tenant
v1alpha1
Package v1alpha1 contains API Schema definitions for the tenant v1alpha1 API group.
Package v1alpha1 contains API Schema definitions for the tenant v1alpha1 API group.

Jump to

Keyboard shortcuts

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