routes

package
v0.0.19 Latest Latest
Warning

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

Go to latest
Published: May 23, 2025 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Package routes defines the API routes and URL structure

Package routes defines the API routes and URL structure

Index

Constants

View Source
const (
	// DefaultPort is the default port for the API
	DefaultPort = "8080"
	// APIv1Prefix is the prefix for all API endpoints
	APIv1Prefix = "/api/v1"
)

API base configuration

View Source
const (
	// Admin routes
	// No unique names, consider making Admin a private ownerID.
	AdminGetInstances         = "AdminGetInstances"
	AdminGetInstancesMetadata = "AdminGetInstancesMetadata"

	// Health check
	HealthCheck = "HealthCheck"

	// Instance routes
	GetInstances       = "GetInstances"
	GetMetadata        = "GetMetadata"
	GetPublicIPs       = "GetPublicIPs"
	GetInstance        = "GetInstance"
	CreateInstance     = "CreateInstance"
	TerminateInstances = "TerminateInstances"
	ListInstanceTasks  = "ListInstanceTasks"

	// RPC routes
	RPC = "RPC"
)

Route names for lookup

Variables

View Source
var DefaultBaseURL = fmt.Sprintf("http://localhost:%s", DefaultPort)

DefaultBaseURL is the default base URL for the API

Functions

func AdminInstancesMetadataURL

func AdminInstancesMetadataURL() string

AdminInstancesMetadataURL returns the URL for getting all instances metadata

func AdminInstancesURL

func AdminInstancesURL() string

AdminInstancesURL returns the URL for getting all instances

func BuildURL

func BuildURL(routeName string, params map[string]string, queryParams url.Values) string

BuildURL builds a URL for the given route name and parameters

func CreateInstanceURL

func CreateInstanceURL() string

CreateInstanceURL returns the URL for creating an instance

func GetInstanceMetadataURL

func GetInstanceMetadataURL(queryParams url.Values) string

GetInstanceMetadataURL returns the URL for getting instance metadata

func GetInstanceURL

func GetInstanceURL(id string) string

GetInstanceURL returns the URL for getting an instance by ID

func GetInstancesURL

func GetInstancesURL(queryParams url.Values) string

GetInstancesURL returns the URL for getting instances

func GetPublicIPsURL

func GetPublicIPsURL(queryParams url.Values) string

GetPublicIPsURL returns the URL for getting public IPs

func GetRoute

func GetRoute(name string) string

GetRoute returns the route pattern for the given route name

func HealthCheckURL

func HealthCheckURL() string

HealthCheckURL returns the URL for the health check endpoint

func ListInstanceTasksURL added in v0.0.8

func ListInstanceTasksURL(instanceID string, queryParams url.Values) string

ListInstanceTasksURL returns the URL for listing tasks for a specific instance.

func RPCURL

func RPCURL() string

RPCURL returns the URL for the RPC endpoint

func RegisterRoutes

func RegisterRoutes(
	app *fiber.App,
	instanceHandler *handlers.InstanceHandler,
	rpcHandler *handlers.RPCHandler,
	taskHandler *handlers.TaskHandlers,
)

RegisterRoutes configures all the v1 routes

NOTE: route ordering is important because routes will try and match in the order they are registered. For example, if we register GetInstance before GetInstanceMetadata, the /all-metadata will get interpreted as an instance ID.

func RegisterSwaggerRoutes added in v0.0.9

func RegisterSwaggerRoutes(app *fiber.App)

RegisterSwaggerRoutes registers the Swagger UI routes

func TerminateInstancesURL

func TerminateInstancesURL() string

TerminateInstancesURL returns the URL for terminating instances

Types

This section is empty.

Jump to

Keyboard shortcuts

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