topology

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Jun 17, 2022 License: AGPL-3.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessControlPolicy

type AccessControlPolicy struct {
	Name      string                        `json:"name"`
	ClusterID string                        `json:"clusterId"`
	Method    string                        `json:"method"`
	JWT       *AccessControlPolicyJWT       `json:"jwt,omitempty"`
	BasicAuth *AccessControlPolicyBasicAuth `json:"basicAuth,omitempty"`
}

AccessControlPolicy describes an Access Control Policy configured within a cluster.

type AccessControlPolicyBasicAuth

type AccessControlPolicyBasicAuth struct {
	Users                    string `json:"users,omitempty"`
	Realm                    string `json:"realm,omitempty"`
	StripAuthorizationHeader bool   `json:"stripAuthorizationHeader,omitempty"`
	ForwardUsernameHeader    string `json:"forwardUsernameHeader,omitempty"`
}

AccessControlPolicyBasicAuth holds the HTTP basic authentication configuration.

type AccessControlPolicyJWT

type AccessControlPolicyJWT struct {
	SigningSecret              string            `json:"signingSecret,omitempty"`
	SigningSecretBase64Encoded bool              `json:"signingSecretBase64Encoded"`
	PublicKey                  string            `json:"publicKey,omitempty"`
	JWKsFile                   string            `json:"jwksFile,omitempty"`
	JWKsURL                    string            `json:"jwksUrl,omitempty"`
	StripAuthorizationHeader   bool              `json:"stripAuthorizationHeader,omitempty"`
	ForwardHeaders             map[string]string `json:"forwardHeaders,omitempty"`
	TokenQueryKey              string            `json:"tokenQueryKey,omitempty"`
	Claims                     string            `json:"claims,omitempty"`
}

AccessControlPolicyJWT describes the settings for JWT authentication within an access control policy.

type Cluster

type Cluster struct {
	ID                    string
	Overview              Overview
	IngressRoutes         map[string]*IngressRoute `dir:"Ingresses"`
	Services              map[string]*Service
	IngressControllers    map[string]*IngressController
	AccessControlPolicies map[string]*AccessControlPolicy
}

Cluster describes a Cluster.

type Container

type Container struct {
	Name     string   `json:"name"`
	Networks []string `json:"networks"`
}

Container describes a container.

type IngressController

type IngressController struct {
	Name string `json:"name"`
	Kind string `json:"kind"`
	Type string `json:"type"`
}

IngressController is an abstraction of Deployments/ReplicaSets/DaemonSets/StatefulSets that are a cluster's IngressController. Used only for compatibility purpose in the multiplatform case.

type IngressMeta

type IngressMeta struct {
	ClusterID      string            `json:"clusterId"`
	ControllerType string            `json:"controllerType,omitempty"`
	Annotations    map[string]string `json:"annotations,omitempty"`
}

IngressMeta represents the common Ingress metadata properties.

type IngressRoute

type IngressRoute struct {
	ResourceMeta
	IngressMeta

	TLS      *IngressRouteTLS `json:"tls,omitempty"`
	Routes   []Route          `json:"routes,omitempty"`
	Services []string         `json:"services,omitempty"`
}

IngressRoute describes a Traefik IngressRoute.

type IngressRouteTLS

type IngressRouteTLS struct {
	Domains []types.Domain `json:"domains,omitempty"`
	Options *TLSOptionRef  `json:"options,omitempty"`
}

IngressRouteTLS represents a simplified Traefik IngressRoute TLS configuration.

type Overview

type Overview struct {
	IngressCount           int      `json:"ingressCount"`
	ServiceCount           int      `json:"serviceCount"`
	IngressControllerTypes []string `json:"ingressControllerTypes"`
}

Overview represents an overview of the cluster resources.

type ResourceMeta

type ResourceMeta struct {
	Kind string `json:"kind"`
	Name string `json:"name"`
}

ResourceMeta represents the metadata that identifies a Kubernetes resource.

type Route

type Route struct {
	Match    string         `json:"match"`
	Services []RouteService `json:"services,omitempty"`
}

Route represents a Traefik IngressRoute route.

type RouteService

type RouteService struct {
	Name string `json:"name"`
}

RouteService represents a Kubernetes service targeted by a Traefik IngressRoute route.

type Service

type Service struct {
	Name      string     `json:"name"`
	Type      string     `json:"type"`
	ClusterID string     `json:"clusterId"`
	Container *Container `json:"container,omitempty"`
	Ports     []int      `json:"externalPorts,omitempty"`
}

Service describes a Service.

type TLSOptionRef

type TLSOptionRef struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace,omitempty"`
}

TLSOptionRef references TLSOptions.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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