Documentation
¶
Index ¶
- Constants
- Variables
- type Add
- type ApiKeyAuth
- type AuthConfig
- type AwsDestinationSpec
- type AwsSecret
- type AzureSecret
- type Check
- type CheckCRD
- type Cluster
- type Create
- type Dashboard
- type Delegate
- type DelegateSelector
- type Delete
- type Destination
- type DestinationSpec
- type Edit
- type ExtraOptions
- type Get
- type GetProxy
- type HeaderSecret
- type HelmInstall
- type HelmUninstall
- type InputAuthConfig
- type InputAwsEc2Spec
- type InputAwsSpec
- type InputAzureSpec
- type InputConsulSpec
- type InputGrpcServiceSpec
- type InputKubeSpec
- type InputMapStringString
- type InputRestServiceSpec
- type InputRoute
- type InputServiceSpec
- type InputStaticSpec
- type InputUpstream
- type InputUpstreamGroup
- type InputVirtualService
- type Install
- type Istio
- type Knative
- type OIDCAuth
- type OIDCSettings
- type OpaAuth
- type Options
- type PrefixRewrite
- type Proxy
- type RateLimit
- type Register
- type Remove
- type RemoveRoute
- type RestDestinationSpec
- type Route
- type RouteMatchers
- type RoutePlugins
- type Secret
- type Selector
- type TlsSecret
- type Top
- type Uninstall
- type Upgrade
- type UseTls
- type Vault
Constants ¶
View Source
const ( UpstreamType_Aws = "aws" UpstreamType_AwsEc2 = "ec2" UpstreamType_Azure = "azure" UpstreamType_Consul = "consul" UpstreamType_Kube = "kube" UpstreamType_Static = "static" )
View Source
const ( ServiceType_Rest = "rest" ServiceType_Grpc = "grpc" )
Variables ¶
View Source
var RateLimit_TimeUnits = func() []string { var vals []string for _, name := range rltypes.RateLimit_Unit_name { vals = append(vals, name) } sort.Strings(vals) return vals }()
View Source
var UpstreamTypes = []string{ UpstreamType_Aws, UpstreamType_AwsEc2, UpstreamType_Azure, UpstreamType_Consul, UpstreamType_Kube, UpstreamType_Static, }
Functions ¶
This section is empty.
Types ¶
type Add ¶
type Add struct {
Route InputRoute
DryRun bool // print resource as a kubernetes style yaml and exit without writing to storage
}
type ApiKeyAuth ¶ added in v0.18.42
type AuthConfig ¶ added in v1.0.0
type AwsDestinationSpec ¶
type AzureSecret ¶
type AzureSecret struct {
ApiKeys InputMapStringString
}
type Create ¶
type Create struct {
VirtualService InputVirtualService
InputUpstream InputUpstream
InputUpstreamGroup InputUpstreamGroup
InputSecret Secret
AuthConfig InputAuthConfig
DryRun bool // print resource as a kubernetes style yaml and exit without writing to storage
Vault Vault // use vault as secrets backend
}
type Delegate ¶ added in v1.2.15
type Delegate struct {
Single core.ResourceRef
Selector DelegateSelector
}
type DelegateSelector ¶ added in v1.2.15
type Delete ¶
type Delete struct {
Selector InputMapStringString
All bool
}
type Destination ¶
type Destination struct {
Upstream core.ResourceRef
Delegate Delegate
DestinationSpec DestinationSpec
}
type DestinationSpec ¶
type DestinationSpec struct {
Aws AwsDestinationSpec
Rest RestDestinationSpec
}
type ExtraOptions ¶ added in v0.18.42
type ExtraOptions struct {
RateLimit RateLimit
OIDCAuth OIDCAuth
ApiKeyAuth ApiKeyAuth
OpaAuth OpaAuth
}
type Get ¶
type Get struct {
Proxy GetProxy
Selector InputMapStringString
}
type GetProxy ¶ added in v1.17.0
type GetProxy struct {
// K8sGatewaySource is true if the GetProxy request should consider Proxy resources
// that were generated by the K8s Gateway Translation
K8sGatewaySource bool
// EdgeGatewaySource is true if the GetProxy request should consider Proxy resources
// that were generated by the Edge Gateway Translation
EdgeGatewaySource bool
}
type HeaderSecret ¶ added in v1.4.11
type HeaderSecret struct {
Headers InputMapStringString
}
type HelmInstall ¶ added in v1.5.0
type HelmUninstall ¶ added in v1.5.0
type InputAuthConfig ¶ added in v1.0.0
type InputAuthConfig struct {
OIDCAuth OIDCAuth
ApiKeyAuth ApiKeyAuth
OpaAuth OpaAuth
}
type InputAwsEc2Spec ¶ added in v0.18.16
type InputAwsEc2Spec struct {
Region string
Secret core.ResourceRef
Role string
PublicIp bool
Port uint32
KeyFilters []string
KeyValueFilters InputMapStringString
}
type InputAwsSpec ¶
type InputAwsSpec struct {
Region string
Secret core.ResourceRef
}
type InputAzureSpec ¶
type InputAzureSpec struct {
FunctionAppName string
Secret core.ResourceRef
}
type InputConsulSpec ¶
type InputGrpcServiceSpec ¶
type InputGrpcServiceSpec struct {
// inline from a file
Descriptors []byte
}
type InputKubeSpec ¶
type InputKubeSpec struct {
// The name of the Kubernetes Service
ServiceName string
// The namespace where the Service lives
ServiceNamespace string
// The port exposed by the Kubernetes Service
ServicePort uint32
// Allows finer-grained filtering of pods for the Upstream. Gloo will select pods based on their labels if
// any are provided here.
// (see [Kubernetes labels and selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)
Selector InputMapStringString
}
type InputMapStringString ¶
type InputMapStringString struct {
Entries []string `json:"values"`
}
func (*InputMapStringString) MustMap ¶
func (m *InputMapStringString) MustMap() map[string]string
type InputRestServiceSpec ¶
type InputRoute ¶
type InputRoute struct {
InsertIndex uint32
Matcher RouteMatchers
Destination Destination
// TODO: multi destination
// Destinations []Destination
UpstreamGroup core.ResourceRef
Plugins RoutePlugins
AddToRouteTable bool // add the route to a route table rather than a virtual service
ClusterScopedVsClient bool
}
type InputServiceSpec ¶
type InputServiceSpec struct {
ServiceType string
InputRestServiceSpec InputRestServiceSpec
InputGrpcServiceSpec InputGrpcServiceSpec
}
type InputStaticSpec ¶
type InputUpstream ¶
type InputUpstream struct {
UpstreamType string
Aws InputAwsSpec
AwsEc2 InputAwsEc2Spec
Azure InputAzureSpec
Consul InputConsulSpec
Kube InputKubeSpec
Static InputStaticSpec
// An optional Service Spec describing the service listening on this upstream
ServiceSpec InputServiceSpec
}
type InputUpstreamGroup ¶ added in v0.18.1
type InputUpstreamGroup struct {
WeightedDestinations InputMapStringString
}
type InputVirtualService ¶
type InputVirtualService struct {
Domains []string
DisplayName string
RateLimit RateLimit
AuthConfig AuthConfig
}
type Install ¶
type Install struct {
Gloo HelmInstall
Federation HelmInstall
Knative Knative
LicenseKey string
WithGlooFed bool
DryRun bool
Version string
}
type Istio ¶ added in v1.5.0
type Istio struct {
Upstream string // upstream for which we are changing the istio mTLS settings
IncludeUpstreams bool // whether or not to modify upstreams when uninstalling mTLS
Namespace string // namespace in which istio is installed
IstioMetaMeshId string // IstioMetaMeshId sets ISTIO_META_MESH_ID env var
IstioMetaClusterId string // IstioMetaClusterId sets ISTIO_META_CLUSTER_ID env var
IstioDiscoveryAddress string // IstioDiscoveryAddress sets discoveryAddress field within PROXY_CONFIG env var
}
type OIDCSettings ¶ added in v0.18.42
type OIDCSettings struct {
ExtAuthServerUpstreamRef core.ResourceRef
}
type PrefixRewrite ¶
type PrefixRewrite struct {
Value *string
}
func (*PrefixRewrite) Set ¶
func (p *PrefixRewrite) Set(s string) error
func (*PrefixRewrite) String ¶
func (p *PrefixRewrite) String() string
func (*PrefixRewrite) Type ¶
func (p *PrefixRewrite) Type() string
type Remove ¶
type Remove struct {
Route RemoveRoute
}
type RemoveRoute ¶
type RemoveRoute struct {
RemoveIndex uint32
}
type RestDestinationSpec ¶
type RestDestinationSpec struct {
FunctionName string
Parameters InputMapStringString
}
type RouteMatchers ¶
type RouteMatchers struct {
PathPrefix string
PathExact string
PathRegex string
Methods []string
HeaderMatcher InputMapStringString
QueryParameterMatcher InputMapStringString
}
type RoutePlugins ¶
type RoutePlugins struct {
PrefixRewrite PrefixRewrite
}
type Secret ¶
type Secret struct {
TlsSecret TlsSecret
AwsSecret AwsSecret
AzureSecret AzureSecret
HeaderSecret HeaderSecret
}
type Selector ¶
type Selector struct {
// Allows finer-grained filtering of pods for the Upstream. Gloo will select pods based on their labels if
// any are provided here.
// (see [Kubernetes labels and selectors](https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)
SelectorKeyValuePairs []string
}
type TlsSecret ¶
type Top ¶
type Top struct {
contextoptions.ContextAccessible
CheckName []string
Output printTypes.OutputType
Ctx context.Context
Zip bool
PodSelector string // label selector for pod scanning
ResourceNamespaces []string // namespaces in which to check custom resources
}
type Uninstall ¶
type Uninstall struct {
GlooUninstall HelmUninstall
}
type UseTls ¶ added in v1.14.4
type UseTls struct {
Value *bool
}
func (*UseTls) String ¶ added in v1.14.4
methods to implement pflag Value interface https://github.com/spf13/pflag/blob/d5e0c0615acee7028e1e2740a11102313be88de1/flag.go#L187
type Vault ¶ added in v0.18.23
type Vault struct {
// enable vault secret clients
UseVault bool
// https://learn.hashicorp.com/tutorials/vault/getting-started-secrets-engines
// PathPrefix tells Vault which secrets engine to which it should route traffic.
PathPrefix string
// Secrets are persisted using a resource client constructed in solo-kit
// https://github.com/solo-io/solo-kit/blob/1d799ae290c2f516f01fc4ad20272d7d2d5db1e7/pkg/api/v1/clients/vault/resource_client.go#L311
// The RootKey is used to configure the path for the particular Gloo installation
// This ensures that you can run multiple instances of Gloo against the same Consul cluster
RootKey string
Client func() (*vaultapi.Client, error)
}
Click to show internal directories.
Click to hide internal directories.