ballerina/istio module

Type Definitions

Type Values Description
PortProtocol TLS | TCP | MONGO | HTTPS | HTTP2 | HTTP | GRPC

Types of protocols of a port.

TLSOptionMode SIMPLE | PASSTHROUGH | MUTUAL

TLS mode enforced by the proxy.

Annotations

Name Attachement Points Data Type Description
Gateway service, listener GatewayConfig

@istio:Gateway annotation to generate istio gateways.

VirtualService service, listener VirtualServiceConfig

@istio:VirtualService annotation to generate istio virtual service.

Records Summary

Record Description
DestinationConfig Configuration to a network addressable service.
DestinationWeightConfig Configuration for weight for destination to traffic route.
GatewayConfig Istio gateway annotation configuration.
HTTPRouteConfig Configurations for conditions and actions for routing HTTP.
PortConfig Port of a service.
ServerConfig Istio gateway server configuration to describe the properties of the proxy on a given load balancer.
TLSOptionConfig Istio gateway server tls option configurations.
VirtualServiceConfig Virtual service configuration for @istio:VirtualService annotation.

public type DestinationConfig record

Configuration to a network addressable service.

Field Name Data Type Default Value Description
host string

Host of a service.

subset string

Subset within the service.

port int

The port on the host that is being addressed.

public type DestinationWeightConfig record

Configuration for weight for destination to traffic route.

Field Name Data Type Default Value Description
destination istio:DestinationConfig

Destination to forward to.

weight int

Weight for the destination.

public type GatewayConfig record

Istio gateway annotation configuration.

Field Name Data Type Default Value Description
name string

Name of the resource

labels map

Map of labels for the resource

annotations map

Map of annotations for resource

selector map

Specific set of pods/VMs on which this gateway configuration should be applied.

servers istio:ServerConfig?[]

List of servers to pass.

public type HTTPRouteConfig record

Configurations for conditions and actions for routing HTTP.

Field Name Data Type Default Value Description
route istio:DestinationWeightConfig[]

Route destination.

timeout int

Timeout for requests in seconds.

appendHeaders map

Additional header to add before forwarding/directing.

public type PortConfig record

Port of a service.

Field Name Data Type Default Value Description
number int

The port number.

protocol HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS

The protocol exposed by the port.

name string

Label for the port.

public type ServerConfig record

Istio gateway server configuration to describe the properties of the proxy on a given load balancer.

Field Name Data Type Default Value Description
port istio:PortConfig

The port of the proxy.

hosts string[]

List of hosts exposed by the gateway.

tls istio:TLSOptionConfig

TLS options.

public type TLSOptionConfig record

Istio gateway server tls option configurations.

Field Name Data Type Default Value Description
httpsRedirect boolean false

If set to true, the load balancer will send a 301 redirect for all http connections, asking the clients to use HTTPS.

mode PASSTHROUGH|SIMPLE|MUTUAL

Indicates whether connections to this port should be secured using TLS. The value of this field determines how TLS is enforced.

serverCertificate string

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file holding the server-side TLS certificate to use.

privateKey string

REQUIRED if mode is SIMPLE or MUTUAL. The path to the file holding the server���s private key.

caCertificates string

REQUIRED if mode is MUTUAL. The path to a file containing certificate authority certificates to use in verifying a presented client side certificate.

subjectAltNames string[]

A list of alternate names to verify the subject identity in the certificate presented by the client.

public type VirtualServiceConfig record

Virtual service configuration for @istio:VirtualService annotation.

Field Name Data Type Default Value Description
name string

Name of the resource

labels map

Map of labels for the resource

annotations map

Map of annotations for resource

hosts string[]

Destination which traffic should be sent.

gateways string[]

Names of the gateways which the service should listen to.

http istio:HTTPRouteConfig[]

Route rules for HTTP traffic.