load-balancer-api

command module
v0.0.33 Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

README

logo

Load Balancer API

Load Balancer API implemented in GraphQL that provides a way to manage and control load balancers using GraphQL queries and mutations. Load Balancers are one subgraph of the Infratographer federated API. The GraphQL API provides an efficient and precise data retrieval for the related compenents that are external to Load Balancers subgraph, such as Tenants and Locations.

Load Balancer Components

graph LR;
    LoadBalancer-->Port;
    Port-->Pool;
    Pool-->Origin;
Load Balancers

Load Balancers are the top level component managed by the load balancer API. Load balancers are assigned to an owner (tenant).

Ports

Ports define the listening port of a load balancer. Ports share edges to load balancers and pools.

Pools

Pools are a collection of origins. Pools are own by an owner (tenant), and share an edge to ports. Pools can be assigned to multiple port and load balancer pairs.

Origins

Origins define a backend service IP and port. Origins belong to a pool. Origins can have a weight from 0 to 100, these weights are a relative to one another in a given pool. A wieght of 0 means the origin is disabled.

Development and Contributing

Code of Conduct

Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Contact

To contact the maintainers, please open a GithHub Issue

License

Apache License, Version 2.0

Documentation

Overview

package main is the entry point

Directories

Path Synopsis
Package cmd is our cobra/viper cli implementation
Package cmd is our cobra/viper cli implementation
Package db provides an embedded filesystem containing all the database migrations
Package db provides an embedded filesystem containing all the database migrations
internal
config
Package config provides a struct to store the applications config
Package config provides a struct to store the applications config
ent/schema
Package schema contains the ent schema definitions for the load balancer API.
Package schema contains the ent schema definitions for the load balancer API.
ent/schema/softdelete
Package softdelete adds the soft delete pattern to the ent schemas.
Package softdelete adds the soft delete pattern to the ent schemas.
ent/schema/validations
Package validations contains validation functions for ent fields
Package validations contains validation functions for ent fields
graphapi
Package graphapi provides the graph api handler and resolver for load balancer api
Package graphapi provides the graph api handler and resolver for load balancer api
graphclient
Package graphclient provides the graph client for interacting with the load balancer api.
Package graphclient provides the graph client for interacting with the load balancer api.
testutils
Package testutils provides some utilities that may be useful for testing
Package testutils provides some utilities that may be useful for testing
pkg
client
Package client provides a client for interacting with the load balancer api
Package client provides a client for interacting with the load balancer api
x
pubsubinfo
Package pubsubinfo is a package of tools for interacting with ent.
Package pubsubinfo is a package of tools for interacting with ent.
testcontainersx
Package testcontainersx provides a wrapper around creating testcontainers that are used throughout the ecosystem
Package testcontainersx provides a wrapper around creating testcontainers that are used throughout the ecosystem

Jump to

Keyboard shortcuts

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