generate

package
v1.11.40 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2022 License: Apache-2.0 Imports: 1 Imported by: 9

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessLogger added in v0.18.38

type AccessLogger struct {
	Image                        *Image                `json:"image,omitempty"`
	Port                         *uint                 `json:"port,omitempty"`
	ServiceName                  *string               `json:"serviceName,omitempty"`
	Enabled                      *bool                 `json:"enabled,omitempty"`
	Stats                        *Stats                `json:"stats,omitempty" desc:"overrides for prometheus stats published by the access logging pod"`
	RunAsUser                    *float64              `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101."`
	FsGroup                      *float64              `json:"fsGroup,omitempty" desc:"Explicitly set the group ID for volume ownership. Default is 10101"`
	ExtraAccessLoggerLabels      map[string]string     `` /* 160-byte string literal not displayed */
	ExtraAccessLoggerAnnotations map[string]string     `` /* 170-byte string literal not displayed */
	Service                      *KubeResourceOverride `json:"service,omitempty"`
	Deployment                   *KubeResourceOverride `json:"deployment,omitempty"`
	*DeploymentSpec
}

type AwsSettings added in v1.5.0

type AwsSettings struct {
	EnableCredentialsDiscovery      *bool     `` /* 225-byte string literal not displayed */
	EnableServiceAccountCredentials *bool     `` /* 228-byte string literal not displayed */
	StsCredentialsRegion            *string   `` /* 137-byte string literal not displayed */
	PropagateOriginalRouting        *bool     `` /* 171-byte string literal not displayed */
	CredentialRefreshDelay          *Duration `` /* 141-byte string literal not displayed */
}

type CertGenCron added in v1.9.25

type CertGenCron struct {
	Enabled                  *bool                  `json:"enabled,omitempty" desc:"enable the cronjob"`
	Schedule                 *string                `json:"schedule,omitempty" desc:"Cron job scheduling"`
	MtlsKubeResourceOverride map[string]interface{} `json:"mtlsKubeResourceOverride,omitempty" desc:"override fields in the gloo-mtls-certgen cronjob."`
}

Scheduling: ┌───────────── minute (0 - 59) │ ┌───────────── hour (0 - 23) │ │ ┌───────────── day of the month (1 - 31) │ │ │ ┌───────────── month (1 - 12) │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday; │ │ │ │ │ 7 is also Sunday on some systems) │ │ │ │ │ │ │ │ │ │ * * * * *

type CertGenJob added in v0.21.1

type CertGenJob struct {
	Job
	Enabled             *bool                 `` /* 136-byte string literal not displayed */
	SetTtlAfterFinished *bool                 `json:"setTtlAfterFinished,omitempty" desc:"Set ttlSecondsAfterFinished on the job. Defaults to true"`
	FloatingUserId      *bool                 `` /* 142-byte string literal not displayed */
	RunAsUser           *float64              `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101."`
	Resources           *ResourceRequirements `json:"resources,omitempty"`
	RunOnUpdate         *bool                 `json:"runOnUpdate,omitempty" desc:"enable to run the job also on pre-upgrade"`
	Cron                *CertGenCron          `json:"cron,omitempty" desc:"CronJob parameters"`
}

type Chart

type Chart struct {
	ApiVersion  string   `json:"apiVersion"`
	Description string   `json:"description"`
	Name        string   `json:"name"`
	Version     string   `json:"version"`
	Home        string   `json:"home"`
	Icon        string   `json:"icon"`
	Sources     []string `json:"sources"`
}

type CleanupJob added in v1.9.25

type CleanupJob struct {
	*JobSpec
	Enabled        *bool                 `` /* 132-byte string literal not displayed */
	Image          *Image                `json:"image,omitempty"`
	Resources      *ResourceRequirements `json:"resources,omitempty"`
	FloatingUserId *bool                 `` /* 142-byte string literal not displayed */
	RunAsUser      *float64              `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101."`
}

type Config

type Config struct {
	Namespace      *Namespace              `json:"namespace,omitempty"`
	Settings       *Settings               `json:"settings,omitempty"`
	Gloo           *Gloo                   `json:"gloo,omitempty"`
	Discovery      *Discovery              `json:"discovery,omitempty"`
	Gateway        *Gateway                `json:"gateway,omitempty"`
	GatewayProxies map[string]GatewayProxy `json:"gatewayProxies,omitempty"`
	Ingress        *Ingress                `json:"ingress,omitempty"`
	IngressProxy   *IngressProxy           `json:"ingressProxy,omitempty"`
	K8s            *K8s                    `json:"k8s,omitempty"`
	AccessLogger   *AccessLogger           `json:"accessLogger,omitempty"`
}

type ConfigMap added in v1.8.0

type ConfigMap struct {
	Data map[string]string `json:"data,omitempty"`
	*KubeResourceOverride
}

type Consul added in v1.6.0

type Consul struct {
	Datacenter         *string                  `json:"datacenter,omitempty" desc:"Datacenter to use. If not provided, the default agent datacenter is used."`
	Username           *string                  `json:"username,omitempty" desc:"Username to use for HTTP Basic Authentication."`
	Password           *string                  `json:"password,omitempty" desc:"Password to use for HTTP Basic Authentication."`
	Token              *string                  `json:"token,omitempty" desc:"Token is used to provide a per-request ACL token which overrides the agent's default token."`
	CaFile             *string                  `` /* 159-byte string literal not displayed */
	CaPath             *string                  `` /* 173-byte string literal not displayed */
	CertFile           *string                  `` /* 157-byte string literal not displayed */
	KeyFile            *string                  `` /* 156-byte string literal not displayed */
	InsecureSkipVerify *bool                    `json:"insecureSkipVerify,omitempty" desc:"InsecureSkipVerify if set to true will disable TLS host verification."`
	WaitTime           *string                  `` /* 156-byte string literal not displayed */
	ServiceDiscovery   *ServiceDiscoveryOptions `` /* 141-byte string literal not displayed */
	HttpAddress        *string                  `` /* 232-byte string literal not displayed */
	DnsAddress         *string                  `` /* 273-byte string literal not displayed */
	DnsPollingInterval *string                  `` /* 292-byte string literal not displayed */
}

type ConsulUpstreamDiscovery added in v1.6.0

type ConsulUpstreamDiscovery struct {
	UseTlsTagging    *bool        `` /* 212-byte string literal not displayed */
	TlsTagName       *string      `` /* 244-byte string literal not displayed */
	SplitTlsServices *bool        `` /* 163-byte string literal not displayed */
	RootCa           *ResourceRef `json:"rootCa,omitempty" desc:"The name/namespace of the root CA needed to use TLS with consul services."`
}

type DaemonSetSpec added in v0.17.3

type DaemonSetSpec struct {
	HostPort    *bool `` /* 127-byte string literal not displayed */
	HostNetwork *bool `json:"hostNetwork,omitempty"`
}

type DeploymentSpec

type DeploymentSpec struct {
	DeploymentSpecSansResources
	Resources *ResourceRequirements `json:"resources,omitempty" desc:"resources for the main pod in the deployment"`
	*KubeResourceOverride
}

type DeploymentSpecSansResources added in v1.3.21

type DeploymentSpecSansResources struct {
	Replicas  *int             `json:"replicas,omitempty" desc:"number of instances to deploy"`
	CustomEnv []*appsv1.EnvVar `json:"customEnv,omitempty" desc:"custom extra environment variables for the container"`
	*PodSpec
}

type Discovery

type Discovery struct {
	Deployment     *DiscoveryDeployment `json:"deployment,omitempty"`
	FdsMode        *string              `json:"fdsMode,omitempty" desc:"mode for function discovery (blacklist or whitelist). See more info in the settings docs"`
	UdsOptions     *UdsOptions          `json:"udsOptions,omitempty" desc:"Configuration options for the Upstream Discovery Service (UDS)."`
	Enabled        *bool                `json:"enabled,omitempty" desc:"enable Discovery features"`
	ServiceAccount `json:"serviceAccount,omitempty" `
	LogLevel       *string `` /* 172-byte string literal not displayed */
}

type DiscoveryDeployment

type DiscoveryDeployment struct {
	Image                     *Image            `json:"image,omitempty"`
	Stats                     Stats             `json:"stats,omitempty" desc:"overrides for prometheus stats published by the discovery pod"`
	FloatingUserId            *bool             `` /* 142-byte string literal not displayed */
	RunAsUser                 *float64          `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101."`
	FsGroup                   *float64          `json:"fsGroup,omitempty" desc:"Explicitly set the group ID for volume ownership. Default is 10101"`
	ExtraDiscoveryLabels      map[string]string `` /* 163-byte string literal not displayed */
	ExtraDiscoveryAnnotations map[string]string `` /* 173-byte string literal not displayed */
	EnablePodSecurityContext  *bool             `json:"enablePodSecurityContext,omitempty" desc:"Whether or not to render the pod security context. Default is true"`
	*DeploymentSpec
}

type Duration added in v1.6.0

type Duration struct {
	Seconds *int32 `json:"seconds,omitempty" desc:"The value of this duration in seconds."`
	Nanos   *int32 `json:"nanos,omitempty" desc:"The value of this duration in nanoseconds."`
}

google.protobuf.Duration

type EnvoySidecarContainer added in v1.3.8

type EnvoySidecarContainer struct {
	Image *Image `json:"image,omitempty"`
}

type Failover added in v1.5.0

type Failover struct {
	Enabled    *bool   `json:"enabled,omitempty" desc:"(Enterprise Only): Configure this proxy for failover"`
	Port       *uint   `json:"port,omitempty" desc:"(Enterprise Only): Port to use for failover Gateway Bind port, and service. Default is 15443"`
	NodePort   *uint   `json:"nodePort,omitempty" desc:"(Enterprise Only): Optional NodePort for failover Service"`
	SecretName *string `json:"secretName,omitempty" desc:"(Enterprise Only): Secret containing downstream Ssl Secrets Default is failover-downstream"`
	*KubeResourceOverride
}

type Gateway

type Gateway struct {
	Enabled                        *bool              `json:"enabled,omitempty" desc:"enable Gloo Edge API Gateway features"`
	Validation                     GatewayValidation  `` /* 176-byte string literal not displayed */
	Deployment                     *GatewayDeployment `json:"deployment,omitempty"`
	CertGenJob                     *CertGenJob        `` /* 187-byte string literal not displayed */
	RolloutJob                     *RolloutJob        `` /* 192-byte string literal not displayed */
	CleanupJob                     *CleanupJob        `json:"cleanupJob,omitempty" desc:"This job cleans up resources that are not deleted by Helm when Gloo Edge is uninstalled."`
	UpdateValues                   *bool              `` /* 169-byte string literal not displayed */
	ProxyServiceAccount            ServiceAccount     `json:"proxyServiceAccount,omitempty" `
	ServiceAccount                 ServiceAccount     `json:"serviceAccount,omitempty" `
	ReadGatewaysFromAllNamespaces  *bool              `` /* 177-byte string literal not displayed */
	IsolateVirtualHostsBySslConfig *bool              `` /* 213-byte string literal not displayed */
	CompressedProxySpec            *bool              `json:"compressedProxySpec,omitempty" desc:"if true, enables compression for the Proxy CRD spec"`
	LogLevel                       *string            `` /* 172-byte string literal not displayed */
	Service                        *KubeResourceOverride
}

type GatewayDeployment

type GatewayDeployment struct {
	Image                   *Image            `json:"image,omitempty"`
	Stats                   *Stats            `json:"stats,omitempty" desc:"overrides for prometheus stats published by the gateway pod"`
	FloatingUserId          *bool             `` /* 142-byte string literal not displayed */
	RunAsUser               *float64          `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101."`
	ExtraGatewayLabels      map[string]string `` /* 159-byte string literal not displayed */
	ExtraGatewayAnnotations map[string]string `` /* 169-byte string literal not displayed */
	*DeploymentSpec
}

type GatewayProxy

type GatewayProxy struct {
	Kind                           *GatewayProxyKind            `json:"kind,omitempty" desc:"value to determine how the gateway proxy is deployed"`
	PodTemplate                    *GatewayProxyPodTemplate     `json:"podTemplate,omitempty"`
	ConfigMap                      *ConfigMap                   `json:"configMap,omitempty"`
	CustomStaticLayer              interface{}                  `` /* 339-byte string literal not displayed */
	GlobalDownstreamMaxConnections *uint32                      `` /* 173-byte string literal not displayed */
	HealthyPanicThreshold          *int8                        `` /* 134-byte string literal not displayed */
	Service                        *GatewayProxyService         `json:"service,omitempty"`
	AntiAffinity                   *bool                        `json:"antiAffinity,omitempty" desc:"configure anti affinity such that pods are preferably not co-located"`
	Affinity                       map[string]interface{}       `json:"affinity,omitempty"`
	Tracing                        *Tracing                     `json:"tracing,omitempty"`
	GatewaySettings                *GatewayProxyGatewaySettings `json:"gatewaySettings,omitempty" desc:"settings for the helm generated gateways, leave nil to not render"`
	ExtraEnvoyArgs                 []string                     `` /* 126-byte string literal not displayed */
	ExtraContainersHelper          *string                      `json:"extraContainersHelper,omitempty"`
	ExtraInitContainersHelper      *string                      `json:"extraInitContainersHelper,omitempty"`
	ExtraVolumes                   []map[string]interface{}     `json:"extraVolumes,omitempty"`
	ExtraVolumeHelper              *string                      `json:"extraVolumeHelper,omitempty"`
	ExtraListenersHelper           *string                      `json:"extraListenersHelper,omitempty"`
	Stats                          *Stats                       `json:"stats,omitempty" desc:"overrides for prometheus stats published by the gateway-proxy pod"`
	ReadConfig                     *bool                        `json:"readConfig,omitempty" desc:"expose a read-only subset of the envoy admin api"`
	ReadConfigMulticluster         *bool                        `json:"readConfigMulticluster,omitempty" desc:"expose a read-only subset of the envoy admin api to gloo-fed"`
	ExtraProxyVolumeMounts         []map[string]interface{}     `json:"extraProxyVolumeMounts,omitempty"`
	ExtraProxyVolumeMountHelper    *string                      `` /* 142-byte string literal not displayed */
	LoopBackAddress                *string                      `` /* 184-byte string literal not displayed */
	Failover                       Failover                     `json:"failover,omitempty" desc:"(Enterprise Only): Failover configuration"`
	Disabled                       *bool                        `` /* 139-byte string literal not displayed */
	EnvoyApiVersion                *string                      `json:"envoyApiVersion,omitempty" desc:"Version of the envoy API to use for the xDS transport and resources. Default is V3"`
	EnvoyBootstrapExtensions       []map[string]interface{}     `` /* 256-byte string literal not displayed */
	EnvoyStaticClusters            []map[string]interface{}     `` /* 238-byte string literal not displayed */
	HorizontalPodAutoscaler        *HorizontalPodAutoscaler     `` /* 240-byte string literal not displayed */
	PodDisruptionBudget            *PodDisruptionBudget         `` /* 147-byte string literal not displayed */
	IstioMetaMeshId                *string                      `json:"istioMetaMeshId,omitempty" desc:"ISTIO_META_MESH_ID Environment Variable. Defaults to \"cluster.local\""`
	IstioMetaClusterId             *string                      `json:"istioMetaClusterId,omitempty" desc:"ISTIO_META_CLUSTER_ID Environment Variable. Defaults to \"Kubernetes\""`
	IstioDiscoveryAddress          *string                      `` /* 156-byte string literal not displayed */
	LogLevel                       *string                      `` /* 172-byte string literal not displayed */
	XdsServiceAddress              *string                      `json:"xdsServiceAddress,omitempty" desc:"The k8s service name for the xds server. Defaults to gloo."`
	XdsServicePort                 *uint32                      `` /* 193-byte string literal not displayed */
	*KubeResourceOverride
}

type GatewayProxyConfigMap

type GatewayProxyConfigMap struct {
	Data map[string]string `json:"data,omitempty"`
}

type GatewayProxyDeployment

type GatewayProxyDeployment struct {
	*DeploymentSpecSansResources
	*KubeResourceOverride
}

type GatewayProxyGatewaySettings added in v0.19.1

type GatewayProxyGatewaySettings struct {
	Enabled                  *bool                  `json:"enabled,omitempty" desc:"enable/disable default gateways"`
	DisableGeneratedGateways *bool                  `json:"disableGeneratedGateways,omitempty" desc:"set to true to disable the gateway generation for a gateway proxy"`
	DisableHttpGateway       *bool                  `json:"disableHttpGateway,omitempty" desc:"Set to true to disable http gateway generation."`
	DisableHttpsGateway      *bool                  `json:"disableHttpsGateway,omitempty" desc:"Set to true to disable https gateway generation."`
	IPv4Only                 *bool                  `` /* 149-byte string literal not displayed */
	UseProxyProto            *bool                  `json:"useProxyProto,omitempty" desc:"use proxy protocol"`
	HttpHybridGateway        map[string]interface{} `json:"httpHybridGateway,omitempty" desc:"custom yaml to use for hybrid gateway settings for the http gateway"`
	HttpsHybridGateway       map[string]interface{} `json:"httpsHybridGateway,omitempty" desc:"custom yaml to use for hybrid gateway settings for the https gateway"`
	CustomHttpGateway        map[string]interface{} `json:"customHttpGateway,omitempty" desc:"custom yaml to use for http gateway settings"`
	CustomHttpsGateway       map[string]interface{} `json:"customHttpsGateway,omitempty" desc:"custom yaml to use for https gateway settings"`
	AccessLoggingService     map[string]interface{} `` /* 213-byte string literal not displayed */
	GatewayOptions           map[string]interface{} `` /* 200-byte string literal not displayed */
	HttpGatewayKubeOverride  map[string]interface{} `json:"httpGatewayKubeOverride,omitempty"`
	HttpsGatewayKubeOverride map[string]interface{} `json:"httpsGatewayKubeOverride,omitempty"`
	*KubeResourceOverride
}

type GatewayProxyKind added in v0.17.3

type GatewayProxyKind struct {
	Deployment *GatewayProxyDeployment `json:"deployment,omitempty" desc:"set to deploy as a kubernetes deployment, otherwise nil"`
	DaemonSet  *DaemonSetSpec          `json:"daemonSet,omitempty" desc:"set to deploy as a kubernetes daemonset, otherwise nil"`
}

type GatewayProxyPodTemplate added in v0.17.3

type GatewayProxyPodTemplate struct {
	Image                         *Image                `json:"image,omitempty"`
	HttpPort                      *int                  `json:"httpPort,omitempty" desc:"HTTP port for the gateway service target port"`
	HttpsPort                     *int                  `json:"httpsPort,omitempty" desc:"HTTPS port for the gateway service target port"`
	ExtraPorts                    []interface{}         `json:"extraPorts,omitempty" desc:"extra ports for the gateway pod"`
	ExtraAnnotations              map[string]string     `json:"extraAnnotations,omitempty" desc:"extra annotations to add to the pod"`
	NodeName                      *string               `json:"nodeName,omitempty" desc:"name of node to run on"`
	NodeSelector                  map[string]string     `json:"nodeSelector,omitempty" desc:"label selector for nodes"`
	Tolerations                   []*appsv1.Toleration  `json:"tolerations,omitempty"`
	Probes                        *bool                 `json:"probes,omitempty" desc:"enable liveness and readiness probes"`
	Resources                     *ResourceRequirements `json:"resources,omitempty"`
	DisableNetBind                *bool                 `` /* 171-byte string literal not displayed */
	RunUnprivileged               *bool                 `json:"runUnprivileged,omitempty" desc:"run Envoy as an unprivileged user"`
	FloatingUserId                *bool                 `` /* 142-byte string literal not displayed */
	RunAsUser                     *float64              `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101."`
	FsGroup                       *float64              `json:"fsGroup,omitempty" desc:"Explicitly set the group ID for volume ownership. Default is 10101"`
	GracefulShutdown              *GracefulShutdownSpec `json:"gracefulShutdown,omitempty"`
	TerminationGracePeriodSeconds *int                  `` /* 236-byte string literal not displayed */
	CustomReadinessProbe          *appsv1.Probe         `json:"customReadinessProbe,omitempty"`
	ExtraGatewayProxyLabels       map[string]string     `` /* 170-byte string literal not displayed */
	EnablePodSecurityContext      *bool                 `json:"enablePodSecurityContext,omitempty" desc:"Whether or not to render the pod security context. Default is true"`
}

type GatewayProxyService

type GatewayProxyService struct {
	Type                     *string               "" /* 182-byte string literal not displayed */
	HttpPort                 *int                  `json:"httpPort,omitempty" desc:"HTTP port for the gateway service"`
	HttpsPort                *int                  `json:"httpsPort,omitempty" desc:"HTTPS port for the gateway service"`
	HttpNodePort             *int                  `json:"httpNodePort,omitempty" desc:"HTTP nodeport for the gateway service if using type NodePort"`
	HttpsNodePort            *int                  `json:"httpsNodePort,omitempty" desc:"HTTPS nodeport for the gateway service if using type NodePort"`
	ClusterIP                *string               "" /* 131-byte string literal not displayed */
	ExtraAnnotations         map[string]string     `json:"extraAnnotations,omitempty"`
	ExternalTrafficPolicy    *string               `json:"externalTrafficPolicy,omitempty"`
	Name                     *string               `json:"name,omitempty" desc:"Custom name override for the service resource of the proxy"`
	HttpsFirst               *bool                 `json:"httpsFirst,omitempty" desc:"List HTTPS port before HTTP"`
	LoadBalancerIP           *string               `json:"loadBalancerIP,omitempty" desc:"IP address of the load balancer"`
	LoadBalancerSourceRanges []string              `json:"loadBalancerSourceRanges,omitempty" desc:"List of IP CIDR ranges that are allowed to access the load balancer"`
	CustomPorts              []interface{}         `` /* 166-byte string literal not displayed */
	ExternalIPs              []string              `` /* 146-byte string literal not displayed */
	ConfigDumpService        *KubeResourceOverride `json:"configDumpService,omitempty" desc:"kube resource override for gateway proxy config dump service"`
	*KubeResourceOverride
}

type GatewayValidation added in v0.20.3

type GatewayValidation struct {
	Enabled                          *bool    `json:"enabled,omitempty" desc:"enable Gloo Edge API Gateway validation hook (default true)"`
	AlwaysAcceptResources            *bool    `` /* 271-byte string literal not displayed */
	AllowWarnings                    *bool    `` /* 189-byte string literal not displayed */
	DisableTransformationValidation  *bool    `` /* 325-byte string literal not displayed */
	WarnRouteShortCircuiting         *bool    `` /* 308-byte string literal not displayed */
	SecretName                       *string  `` /* 209-byte string literal not displayed */
	FailurePolicy                    *string  `` /* 193-byte string literal not displayed */
	Webhook                          *Webhook `json:"webhook,omitempty" desc:"webhook specific configuration"`
	ValidationServerGrpcMaxSizeBytes *int     `json:"validationServerGrpcMaxSizeBytes,omitempty" desc:"gRPC max message size in bytes for the gloo validation server"`
}

type Global added in v0.18.11

type Global struct {
	Image             *Image           `json:"image,omitempty"`
	Extensions        interface{}      `json:"extensions,omitempty"`
	GlooRbac          *Rbac            `json:"glooRbac,omitempty"`
	GlooStats         Stats            `` /* 163-byte string literal not displayed */
	GlooMtls          Mtls             `json:"glooMtls,omitempty" desc:"Config used to enable internal mtls authentication"`
	IstioSDS          IstioSDS         `` /* 132-byte string literal not displayed */
	IstioIntegration  IstioIntegration `` /* 139-byte string literal not displayed */
	ExtraSpecs        *bool            `` /* 180-byte string literal not displayed */
	ExtauthCustomYaml *bool            `` /* 246-byte string literal not displayed */
	Console           interface{}      `json:"console,omitempty" desc:"Configuration options for the Enterprise Console (UI)."`
}

type Gloo

type Gloo struct {
	Deployment     *GlooDeployment `json:"deployment,omitempty"`
	ServiceAccount `json:"serviceAccount,omitempty"`
	SplitLogOutput *bool                 `` /* 162-byte string literal not displayed */
	GlooService    *KubeResourceOverride `json:"service,omitempty"`
	LogLevel       *string               `` /* 172-byte string literal not displayed */
}

type GlooDeployment

type GlooDeployment struct {
	Image                 *Image            `json:"image,omitempty"`
	XdsPort               *int              `json:"xdsPort,omitempty" desc:"port where gloo serves xDS API to Envoy"`
	RestXdsPort           *uint32           `json:"restXdsPort,omitempty" desc:"port where gloo serves REST xDS API to Envoy"`
	ValidationPort        *int              `json:"validationPort,omitempty" desc:"port where gloo serves gRPC Proxy Validation to Gateway"`
	Stats                 *Stats            `json:"stats,omitempty" desc:"overrides for prometheus stats published by the gloo pod"`
	FloatingUserId        *bool             `` /* 142-byte string literal not displayed */
	RunAsUser             *float64          `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101."`
	ExternalTrafficPolicy *string           `json:"externalTrafficPolicy,omitempty" desc:"Set the external traffic policy on the gloo service"`
	ExtraGlooLabels       map[string]string `` /* 151-byte string literal not displayed */
	ExtraGlooAnnotations  map[string]string `` /* 161-byte string literal not displayed */
	*DeploymentSpec
}

type GracefulShutdownSpec added in v1.4.8

type GracefulShutdownSpec struct {
	Enabled          *bool `` /* 269-byte string literal not displayed */
	SleepTimeSeconds *int  `json:"sleepTimeSeconds,omitempty" desc:"Time (in seconds) for the preStop hook to wait before allowing envoy to terminate"`
}

type HelmConfig added in v0.18.11

type HelmConfig struct {
	Config
	Global *Global `json:"global,omitempty"`
}

type HorizontalPodAutoscaler added in v1.6.11

type HorizontalPodAutoscaler struct {
	ApiVersion                     *string                  `json:"apiVersion,omitempty" desc:"accepts autoscaling/v1 or autoscaling/v2beta2."`
	MinReplicas                    *int32                   `` /* 133-byte string literal not displayed */
	MaxReplicas                    *int32                   `` /* 167-byte string literal not displayed */
	TargetCPUUtilizationPercentage *int32                   `` /* 192-byte string literal not displayed */
	Metrics                        []map[string]interface{} `` /* 230-byte string literal not displayed */
	Behavior                       map[string]interface{}   `` /* 209-byte string literal not displayed */
	*KubeResourceOverride
}

type Image

type Image struct {
	Tag        *string `json:"tag,omitempty"  desc:"The image tag for the container."`
	Repository *string `json:"repository,omitempty"  desc:"The image repository (name) for the container."`
	Digest     *string `json:"digest,omitempty"  desc:"The hash digest of the container's image, ie. sha256:12345...."`
	Registry   *string `json:"registry,omitempty" desc:"The image hostname prefix and registry, such as quay.io/solo-io."`
	PullPolicy *string `` /* 203-byte string literal not displayed */
	PullSecret *string `` /* 126-byte string literal not displayed */
	Extended   *bool   `json:"extended,omitempty" desc:"If true, deploys an extended version of the container with additional debug tools."`
	Fips       *bool   `` /* 163-byte string literal not displayed */
}

Common

type Ingress

type Ingress struct {
	Enabled             *bool              `json:"enabled,omitempty"`
	Deployment          *IngressDeployment `json:"deployment,omitempty"`
	RequireIngressClass *bool              `` /* 256-byte string literal not displayed */
	CustomIngress       *bool              `` /* 295-byte string literal not displayed */
}

type IngressDeployment

type IngressDeployment struct {
	Image                   *Image            `json:"image,omitempty"`
	RunAsUser               *float64          `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101."`
	FloatingUserId          *bool             `` /* 142-byte string literal not displayed */
	ExtraIngressLabels      map[string]string `` /* 149-byte string literal not displayed */
	ExtraIngressAnnotations map[string]string `` /* 159-byte string literal not displayed */
	Stats                   *bool             `json:"stats,omitempty" desc:"Controls whether or not envoy stats are enabled"`
	*DeploymentSpec
}

type IngressProxy

type IngressProxy struct {
	Deployment      *IngressProxyDeployment `json:"deployment,omitempty"`
	ConfigMap       *ConfigMap              `json:"configMap,omitempty"`
	Tracing         *string                 `json:"tracing,omitempty"`
	LoopBackAddress *string                 `` /* 184-byte string literal not displayed */
	Label           *string                 `` /* 155-byte string literal not displayed */
	*ServiceSpec
}

type IngressProxyDeployment

type IngressProxyDeployment struct {
	Image                   *Image            `json:"image,omitempty"`
	HttpPort                *int              `json:"httpPort,omitempty" desc:"HTTP port for the ingress container"`
	HttpsPort               *int              `json:"httpsPort,omitempty" desc:"HTTPS port for the ingress container"`
	ExtraPorts              []interface{}     `json:"extraPorts,omitempty"`
	ExtraAnnotations        map[string]string `json:"extraAnnotations,omitempty"`
	FloatingUserId          *bool             `` /* 142-byte string literal not displayed */
	RunAsUser               *float64          `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the pod to run as. Default is 10101"`
	ExtraIngressProxyLabels map[string]string `` /* 160-byte string literal not displayed */
	Stats                   *bool             `json:"stats,omitempty" desc:"Controls whether or not envoy stats are enabled"`
	*DeploymentSpec
}

type Integrations

type Integrations struct {
	Knative                 *Knative                 `json:"knative,omitempty"`
	Consul                  *Consul                  `json:"consul,omitempty" desc:"Consul settings to inject into the consul client on startup"`
	ConsulUpstreamDiscovery *ConsulUpstreamDiscovery `` /* 147-byte string literal not displayed */
}

type InvalidConfigPolicy added in v1.0.0

type InvalidConfigPolicy struct {
	ReplaceInvalidRoutes     *bool   `` /* 308-byte string literal not displayed */
	InvalidRouteResponseCode *int64  `json:"invalidRouteResponseCode,omitempty" desc:"the response code for the direct response"`
	InvalidRouteResponseBody *string `json:"invalidRouteResponseBody,omitempty" desc:"the response body for the direct response"`
}

type IstioIntegration added in v1.6.11

type IstioIntegration struct {
	LabelInstallNamespace *bool `` /* 415-byte string literal not displayed */
	WhitelistDiscovery    *bool `` /* 225-byte string literal not displayed */
	DisableAutoinjection  *bool `` /* 401-byte string literal not displayed */
}

type IstioProxyContainer added in v1.9.25

type IstioProxyContainer struct {
	Image *Image `json:"image,omitempty" desc:"Istio-proxy image to use for mTLS"`
}

type IstioSDS added in v1.5.0

type IstioSDS struct {
	Enabled        *bool         `json:"enabled,omitempty" desc:"Enables SDS cert-rotator sidecar for istio mTLS cert rotation"`
	CustomSidecars []interface{} `` /* 152-byte string literal not displayed */
}

type Job added in v0.20.3

type Job struct {
	Image *Image `json:"image,omitempty"`
	*JobSpec
	KubeResourceOverride     map[string]interface{} `json:"kubeResourceOverride,omitempty" desc:"override fields in the gateway-certgen job."`
	MtlsKubeResourceOverride map[string]interface{} `json:"mtlsKubeResourceOverride,omitempty" desc:"override fields in the gloo-mtls-certgen job."`
}

type JobSpec added in v0.18.0

type JobSpec struct {
	*PodSpec
	ActiveDeadlineSeconds   *int `json:"activeDeadlineSeconds,omitempty" desc:"Deadline in seconds for Kubernetes jobs."`
	TtlSecondsAfterFinished *int `json:"ttlSecondsAfterFinished,omitempty" desc:"Clean up the finished job after this many seconds. Defaults to 60"`
}

type K8s added in v0.13.34

type K8s struct {
	ClusterName *string `json:"clusterName,omitempty" desc:"cluster name to use when referencing services."`
}

type Knative

type Knative struct {
	Enabled                         *bool             `json:"enabled,omitempty" desc:"enabled knative components"`
	Version                         *string           `` /* 213-byte string literal not displayed */
	Proxy                           *KnativeProxy     `json:"proxy,omitempty"`
	RequireIngressClass             *bool             `` /* 187-byte string literal not displayed */
	ExtraKnativeInternalLabels      map[string]string `` /* 166-byte string literal not displayed */
	ExtraKnativeInternalAnnotations map[string]string `` /* 176-byte string literal not displayed */
	ExtraKnativeExternalLabels      map[string]string `` /* 166-byte string literal not displayed */
	ExtraKnativeExternalAnnotations map[string]string `` /* 176-byte string literal not displayed */
}

type KnativeProxy

type KnativeProxy struct {
	Image                               *Image                `json:"image,omitempty"`
	HttpPort                            *int                  `json:"httpPort,omitempty" desc:"HTTP port for the proxy"`
	HttpsPort                           *int                  `json:"httpsPort,omitempty" desc:"HTTPS port for the proxy"`
	Tracing                             *string               `json:"tracing,omitempty" desc:"tracing configuration"`
	LoopBackAddress                     *string               `` /* 184-byte string literal not displayed */
	Stats                               *bool                 `json:"stats,omitempty" desc:"Controls whether or not envoy stats are enabled"`
	ExtraClusterIngressProxyLabels      map[string]string     `` /* 175-byte string literal not displayed */
	ExtraClusterIngressProxyAnnotations map[string]string     `` /* 185-byte string literal not displayed */
	Internal                            *KnativeProxyInternal `json:"internal,omitempty" desc:"kube resource overrides for knative internal proxy resources"`
	*DeploymentSpec
	*ServiceSpec
	ConfigMap  *KubeResourceOverride `json:"configMap,omitempty"`
	Deployment *KubeResourceOverride `json:"deployment,omitempty"`
}

type KnativeProxyInternal added in v1.8.0

type KnativeProxyInternal struct {
	Deployment *KubeResourceOverride `json:"deployment,omitempty"`
	Service    *KubeResourceOverride `json:"service,omitempty"`
	ConfigMap  *KubeResourceOverride `json:"configMap,omitempty"`
}

type KubeResourceOverride added in v1.8.0

type KubeResourceOverride struct {
	KubeResourceOverride map[string]interface{} `` /* 156-byte string literal not displayed */
}

Used to override any field in generated kubernetes resources.

type Mtls added in v1.3.6

type Mtls struct {
	Enabled               *bool                 `json:"enabled,omitempty" desc:"Enables internal mtls authentication"`
	Sds                   SdsContainer          `json:"sds,omitempty"`
	EnvoySidecar          EnvoySidecarContainer `json:"envoy,omitempty"`
	IstioProxy            IstioProxyContainer   `json:"istioProxy,omitempty" desc:"Istio-proxy container"`
	EnvoySidecarResources *ResourceRequirements `json:"envoySidecarResources,omitempty" desc:"Sets default resource requirements for all Envoy sidecar containers."`
	SdsResources          *ResourceRequirements `json:"sdsResources,omitempty" desc:"Sets default resource requirements for all sds containers."`
}

type Namespace

type Namespace struct {
	Create *bool `json:"create,omitempty" desc:"create the installation namespace"`
}

type PodDisruptionBudget added in v1.6.11

type PodDisruptionBudget struct {
	MinAvailable   *int32 `` /* 286-byte string literal not displayed */
	MaxUnavailable *int32 `` /* 328-byte string literal not displayed */
	*KubeResourceOverride
}

type PodSpec added in v0.18.0

type PodSpec struct {
	RestartPolicy *string                `json:"restartPolicy,omitempty" desc:"restart policy to use when the pod exits"`
	NodeName      *string                `json:"nodeName,omitempty" desc:"name of node to run on"`
	NodeSelector  map[string]string      `json:"nodeSelector,omitempty" desc:"label selector for nodes"`
	Tolerations   []*appsv1.Toleration   `json:"tolerations,omitempty"`
	Affinity      map[string]interface{} `json:"affinity,omitempty"`
	HostAliases   []interface{}          `json:"hostAliases,omitempty"`
}

type Rbac

type Rbac struct {
	Create     *bool   `json:"create,omitempty" desc:"create rbac rules for the gloo-system service account"`
	Namespaced *bool   `json:"namespaced,omitempty" desc:"use Roles instead of ClusterRoles"`
	NameSuffix *string `` /* 229-byte string literal not displayed */
}

type ResourceAllocation added in v0.18.1

type ResourceAllocation struct {
	Memory *string `json:"memory,omitempty" desc:"amount of memory"`
	CPU    *string `json:"cpu,omitempty" desc:"amount of CPUs"`
}

type ResourceRef added in v1.6.0

type ResourceRef struct {
	Namespace *string `json:"namespace,omitempty" desc:"The namespace of this resource."`
	Name      *string `json:"name,omitempty" desc:"The name of this resource."`
}

equivalent of core.solo.io.ResourceRef

type ResourceRequirements added in v0.18.1

type ResourceRequirements struct {
	Limits   *ResourceAllocation `json:"limits,omitempty" desc:"resource limits of this container"`
	Requests *ResourceAllocation `json:"requests,omitempty" desc:"resource requests of this container"`
}

type RolloutJob added in v1.9.25

type RolloutJob struct {
	*JobSpec
	Enabled        *bool                 `` /* 138-byte string literal not displayed */
	Image          *Image                `json:"image,omitempty"`
	Resources      *ResourceRequirements `json:"resources,omitempty"`
	FloatingUserId *bool                 `` /* 142-byte string literal not displayed */
	RunAsUser      *float64              `json:"runAsUser,omitempty" desc:"Explicitly set the user ID for the processes in the container to run as. Default is 10101."`
}

type SdsContainer added in v1.3.8

type SdsContainer struct {
	Image *Image `json:"image,omitempty"`
}

type Service added in v1.3.18

type Service struct {
	Type             *string           `json:"type,omitempty" desc:"K8s service type"`
	ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty" desc:"extra annotations to add to the service"`
	LoadBalancerIP   *string           `json:"loadBalancerIP,omitempty" desc:"IP address of the load balancer"`
	HttpPort         *int              `json:"httpPort,omitempty" desc:"HTTP port for the knative/ingress proxy service"`
	HttpsPort        *int              `json:"httpsPort,omitempty" desc:"HTTPS port for the knative/ingress proxy service"`
	*KubeResourceOverride
}

type ServiceAccount added in v0.18.20

type ServiceAccount struct {
	ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty" desc:"extra annotations to add to the service account"`
	DisableAutomount *bool             `` /* 204-byte string literal not displayed */
	*KubeResourceOverride
}

type ServiceDiscoveryOptions added in v1.6.0

type ServiceDiscoveryOptions struct {
	DataCenters []string `` /* 213-byte string literal not displayed */
}

type ServiceSpec added in v1.3.18

type ServiceSpec struct {
	Service *Service `json:"service,omitempty" desc:"K8s service configuration"`
}

type Settings

type Settings struct {
	WatchNamespaces               []string             `` /* 141-byte string literal not displayed */
	WriteNamespace                *string              `` /* 139-byte string literal not displayed */
	Integrations                  *Integrations        `json:"integrations,omitempty"`
	Create                        *bool                `json:"create,omitempty" desc:"create a Settings CRD which provides bootstrap configuration to Gloo Edge controllers"`
	Extensions                    interface{}          `json:"extensions,omitempty"`
	SingleNamespace               *bool                `json:"singleNamespace,omitempty" desc:"Enable to use install namespace as WatchNamespace and WriteNamespace"`
	InvalidConfigPolicy           *InvalidConfigPolicy `json:"invalidConfigPolicy,omitempty" desc:"Define policies for Gloo Edge to handle invalid configuration"`
	Linkerd                       *bool                `json:"linkerd,omitempty" desc:"Enable automatic Linkerd integration in Gloo Edge"`
	DisableProxyGarbageCollection *bool                `` /* 391-byte string literal not displayed */
	RegexMaxProgramSize           *uint32              `` /* 218-byte string literal not displayed */
	DisableKubernetesDestinations *bool                `` /* 520-byte string literal not displayed */
	Aws                           AwsSettings          `json:"aws,omitempty"`
	RateLimit                     interface{}          `` /* 504-byte string literal not displayed */
	EnableRestEds                 *bool                `json:"enableRestEds,omitempty" desc:"Whether or not to use rest xds for all EDS by default. Defaults to false."`
	*KubeResourceOverride
}

type Stats added in v1.2.13

type Stats struct {
	Enabled               *bool   `json:"enabled,omitempty" desc:"Controls whether or not envoy stats are enabled"`
	RoutePrefixRewrite    *string `json:"routePrefixRewrite,omitempty" desc:"The envoy stats endpoint to which the metrics are written"`
	SetDatadogAnnotations *bool   `json:"setDatadogAnnotations,omitempty" desc:"Sets the default datadog annotations"`
	EnableStatsRoute      *bool   `json:"enableStatsRoute,omitempty" desc:"Enables an additional route to the stats cluster defaulting to /stats"`
	StatsPrefixRewrite    *string `json:"statsPrefixRewrite,omitempty" desc:"The envoy stats endpoint with general metrics for the additional stats route"`
	ServiceMonitorEnabled *bool   `` /* 184-byte string literal not displayed */
	PodMonitorEnabled     *bool   `` /* 176-byte string literal not displayed */
}

type Tracing added in v0.18.2

type Tracing struct {
	Provider map[string]interface{}   `json:"provider,omitempty"`
	Cluster  []map[string]interface{} `json:"cluster,omitempty"`
}

type UdsOptions added in v1.9.5

type UdsOptions struct {
	Enabled     *bool             `json:"enabled,omitempty" desc:"Enable upstream discovery service. Defaults to true."`
	WatchLabels map[string]string `` /* 148-byte string literal not displayed */
}

Configuration options for the Upstream Discovery Service (UDS).

type Webhook added in v1.3.27

type Webhook struct {
	Enabled          *bool             `json:"enabled,omitempty" desc:"enable validation webhook (default true)"`
	DisableHelmHook  *bool             `json:"disableHelmHook,omitempty" desc:"do not create the webhook as helm hook (default false)"`
	ExtraAnnotations map[string]string `json:"extraAnnotations,omitempty" desc:"extra annotations to add to the webhook"`
	*KubeResourceOverride
}

Jump to

Keyboard shortcuts

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