api

package module
v1.3.0-rc.3 Latest Latest
Warning

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

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

README

OtterScale API

Lint Release npm Go Reference License

The shared API contract for the OtterScale multi-cluster Kubernetes platform — ConnectRPC service definitions (Protobuf) and Custom Resource Definitions (Kubebuilder).

This repository is the single source of truth for the interfaces every other OtterScale component depends on. Service and message definitions live as Protobuf, custom resources as Kubebuilder-annotated Go types, and the build pipeline generates idiomatic Go and TypeScript clients plus an OpenAPI specification — so the gateway, operators, and the dashboard all speak the same language.

API Groups

ConnectRPC Services
Package Service Purpose
otterscale.link.v1 LinkService Agent registration and tunnel lifecycle
otterscale.resource.v1 ResourceService Generic Kubernetes resource access and discovery
otterscale.runtime.v1 RuntimeService Interactive pod operations — logs, exec, port-forward, scaling
Custom Resource Definitions
Group Kind Scope Purpose
tenant.otterscale.io/v1alpha1 Workspace Cluster Namespace isolation with RBAC, quotas, and network policies

Generated Artifacts

A single generation pipeline produces all consumable outputs:

  • Go — Protobuf types and ConnectRPC clients/handlers (go get github.com/otterscale/api).
  • TypeScript — published to npm as @otterscale/api.
  • CRDs — Kubernetes manifests generated by controller-gen.
  • OpenAPI — a generated specification for the ConnectRPC services.

Documentation

API reference and code-generation details will be published in the project documentation. The generated Go packages are also browsable on pkg.go.dev.

Ecosystem

The OtterScale API is the shared contract consumed across the OtterScale platform. See the otterscale repository for an overview of the full project and its components.

Contributing

Contributions are welcome. A contribution guide (CONTRIBUTING.md) covering the proto layout, generation workflow, and compatibility policy will follow; until then, please open an issue or a pull request to get involved.

License

This project is licensed under the Apache License 2.0.

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
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