rancher-partner-charts/charts/f5/nginx-service-mesh/crds/meshconfig.yaml

169 lines
6.6 KiB
YAML

---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: meshconfigs.nsm.nginx.com
labels:
app.kubernetes.io/part-of: nginx-service-mesh
spec:
group: nsm.nginx.com
names:
kind: MeshConfig
listKind: MeshConfigList
plural: meshconfigs
singular: meshconfig
scope: Namespaced
versions:
- name: v1alpha2
schema:
openAPIV3Schema:
description: MeshConfig defines the top level CustomResource for holding the dynamic mesh configuration.
This configuration can be updated by a user at runtime to change the global mesh settings.
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: Spec defines the desired configuration for NGINX Service Mesh.
properties:
meshConfigClassName:
description: MeshConfigClassName used for this MeshConfig. This is
the name of a MeshConfigClass resource.
minLength: 1
type: string
accessControlMode:
description: AccessControlMode for service-to-service communication.
enum:
- allow
- deny
type: string
clientMaxBodySize:
description: ClientMaxBodySize is NGINX client max body size.
pattern: ^\d+[kKmMgG]?$
type: string
mtls:
description: Mtls is the configuration for mutual TLS.
properties:
caKeyType:
description: CaKeyType is the key type used for the SPIRE Server CA.
enum:
- ec-p256
- ec-p384
- rsa-2048
- rsa-4096
type: string
caTTL:
description: CaTTL is the CA/signing key TTL in hours(h). Min
value 24h. Max value 999999h.
pattern: ^1[0-9]{2,5}(h)|2[4-9](h)|2[0-9][0-9]{1,5}(h)|[3-9][0-9]{1,5}(h)$
type: string
mode:
description: Mode for pod-to-pod communication.
enum:
- "off"
- permissive
- strict
type: string
svidTTL:
description: SvidTTL is the TTL of certificates issued to workloads
in hours(h) or minutes(m). Max value is 999999.
pattern: ^[1-9][0-9]{0,5}(h|m)$
type: string
type: object
nginxErrorLogLevel:
description: NGINXErrorLogLevel is the NGINX error log level.
enum:
- debug
- info
- notice
- warn
- error
- crit
- alert
- emerg
type: string
nginxLBMethod:
description: NGINXLBMethod is the NGINX load balancing method.
enum:
- least_conn
- least_time
- least_time last_byte
- least_time last_byte inflight
- random
- random two
- random two least_conn
- random two least_time
- random two least_time=last_byte
- round_robin
type: string
nginxLogFormat:
description: NGINXLogFormat is the NGINX log format.
enum:
- default
- json
type: string
prometheusAddress:
description: PrometheusAddress is the address of a Prometheus server
deployed in your Kubernetes cluster.
type: string
telemetry:
description: Telemetry is the configuration for telemetry.
properties:
exporters:
description: Exporters is the exporters configuration for telemetry.
properties:
otlp:
description: Otlp is the configuration for an OTLP gRPC exporter.
properties:
host:
description: Host of the OpenTelemetry gRPC exporter to connect to.
minLength: 1
type: string
port:
description: Port of the OpenTelemetry gRPC exporter to connect to.
format: int32
maximum: 65535
minimum: 0
type: integer
type: object
required:
- otlp
type: object
samplerRatio:
description: SamplerRatio is the percentage of traces that are
processed and exported to the telemetry backend.
maximum: 1
minimum: 0
type: number
format: float
type: object
required:
- meshConfigClassName
type: object
status:
description: Status defines the configuration status for NGINX Service Mesh.
properties:
transparent:
description: Transparent status is updated once the mesh controller
has successfully turned all sidecar proxies transparent.
type: boolean
required:
- transparent
type: object
required:
- spec
type: object
served: true
storage: true
subresources:
status: {}