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 Debug
- 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 ValidateLicense
- 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 Debug ¶ added in v1.18.4
options for the "glooctl debug" command, see projects/gloo/cli/pkg/cmd/debug/root.go
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 Options ¶
type Options struct {
Metadata core.Metadata
Top Top
Install Install
Uninstall Uninstall
Proxy Proxy
Upgrade Upgrade
Create Create
Delete Delete
Edit Edit
Route Route
Get Get
Add Add
Istio Istio
Remove Remove
Cluster Cluster
Check Check
CheckCRD CheckCRD
ValidateLicense ValidateLicense
Debug Debug
}
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 ValidateLicense ¶ added in v1.18.0
type ValidateLicense struct {
LicenseKey string
}
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.