UNCLASSIFIED - NO CUI

Skip to content
Snippets Groups Projects
values.yaml 12.39 KiB
# -- The istio profile to use
profile: default

# -- The hub to use for all images, images are built as ".Values.hub/COMPONENT_NAME:.Values.tag"
hub: registry1.dso.mil/ironbank/opensource/istio
# -- The tag to use for all images
tag: 1.23.5

# -- Tetrate Istio Distribution - Tetrate provides FIPs verified Istio and Envoy software and support,
# validated through the FIPs Boring Crypto module.
# Find out more from Tetrate - https://www.tetrate.io/tetrate-istio-subscription
enterprise: false
tidHub: registry1.dso.mil/ironbank/tetrate/istio
tidTag: 1.23.5-tetratefips-v0

# -- The domain to use for the default gateway
domain: dev.bigbang.mil

mtls:
  # -- STRICT = Allow only mutual TLS traffic,
  # PERMISSIVE = Allow both plain text and mutual TLS traffic
  mode: STRICT

# -- Revision of the Istio control plane
revision: ""

# -- Openshift feature switch toggle
openshift: false

# -- Pull secrets for images
imagePullSecrets: []

# -- Big Bang Monitoring interaction controls
monitoring:
  # -- Toggle monitoring on/off (controls networkPolicies)
  enabled: false

# -- Big Bang Kiali interaction controls
kiali:
  # -- Toggle kiali on/off (controls networkPolicies)
  enabled: false

# -- If authservice is enabled, it will be added to extension providers as an external authorization system.
# https://istio.io/latest/docs/tasks/security/authorization/authz-custom/
authservice:
  enabled: false

# -- Ingress gateways,
# The following items are automatically set for every ingress gateway:
# - label: "app: {name of ingress gateway}"
ingressGateways:
  # -- This key becomes the name of the ingressGateway
  istio-ingressgateway:
    enabled: true
    # -- Labels to use for selecting the ingress gateway from the service
    # Automatic labels: 'app: {ingress gateway name}' and `istio: ingressgateway`
    extraLabels: {}
    # -- Set any value from https://istio.io/latest/docs/reference/config/istio.operator.v1alpha1/#KubernetesResourcesSpec
    k8s:
      # hpaSpec:  By default, HPA is set from 1-5 instances with a target average utilization of 80%
      resources: {}
      service:
        # -- "LoadBalancer" or "NodePort"
        type: "LoadBalancer"
        # ports: By default ports 15021 (status), 80, 443, and 15443 (SNI Routing) are setup
      # -- https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
      podAnnotations: {}
      # -- https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
      serviceAnnotations: {}
      # -- https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
      nodeSelector: {}
      # -- https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
      affinity: {}
      # -- https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
      tolerations: []

  # # Complete example of an additional ingressgateway defined below
  # private-ingressgateway:  # This becomes the name
  #   # Labels to use for selecting the ingress gateway from the service
  #   extraLabels: {} # Automatic labels: 'app: {ingress gateway name}'
  #   k8s: # Set any value from https://istio.io/latest/docs/reference/config/istio.operator.v1alpha1/#KubernetesResourcesSpec
  #     # hpaSpec:  By default, HPA is set from 1-5 instances with a target average utilization of 80%
  #     resources: {}
  #       # requests:
  #       #   cpu: 500m
  #       #   memory: 1Gi
  #       # limits:
  #       #   cpu: 1.5
  #       #   memory: 3Gi
  #     service:
  #       type: "LoadBalancer" # or "NodePort"
  #       # ports: By default ports 15021 (status), 80, 443, and 15443 (SNI Routing) are setup
  #     podAnnotations: {} # https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  #     serviceAnnotations: {} # https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  #     nodeSelector: {} # https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  #     affinity: {} # https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
  #     tolerations: [] # https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/

# -- Egress gateways,
# The following items are automatically set for every egress gateway:
# - label: "app: {name of egress gateway}"
egressGateways:
  # -- This key becomes the name of the egressGateway
  istio-egressgateway:
    enabled: false
    # -- Labels to use for selecting the egress gateway from the service
    # Automatic labels: 'app: {egress gateway name}' and `istio: egressgateway`
    extraLabels: {}
    # -- Set any value from https://istio.io/latest/docs/reference/config/istio.operator.v1alpha1/#KubernetesResourcesSpec
    k8s:
      # hpaSpec:  By default, HPA is set from 1-5 instances with a target average utilization of 80%
      resources: {}
      service:
        # -- "LoadBalancer" or "NodePort"
        type: "LoadBalancer"
        # ports: By default ports 15021 (status), 80, 443, and 15443 (SNI Routing) are setup
      # -- https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
      podAnnotations: {}
      # -- https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
      serviceAnnotations: {}
      # -- https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
      nodeSelector: {}
      # -- https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
      affinity: {}
      # -- https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
      tolerations: []

# -- See https://istio.io/latest/docs/reference/config/networking/gateway/#Gateway for spec
gateways:
  # -- This key becomes the name of the gateway
  main:
    # -- Controls default HTTP/8080 server entry with HTTP to HTTPS Redirect. Must add in HTTP server config if disabling.
    autoHttpRedirect:
      enabled: true
    selector:
      app: "istio-ingressgateway"
    servers:
    - hosts:
      - "*.{{ .Values.domain }}"
      port:
        name: https
        number: 8443
        protocol: HTTPS
      tls:
        credentialName: "wildcard-cert"
        mode: "SIMPLE"
  # # Example of adding additional gateways
  # private:
  #   autoHttpRedirect: # HTTP redirect to HTTPS is automatically added for all hosts when enabled
  #     enabled: true
  #   selector:
  #     app: "private-istio-ingressgateway"
  #   servers:
  #   - hosts:
  #     - "mypackage.{{ .Values.domain }}"
  #     port:
  #       name: http2
  #       number: 8443
  #       protocol: HTTPS
  #     tls:
  #       credentialName: "some-secret"
  #       mode: "SIMPLE"

# -- istiod / pilot configuration
istiod:
  replicaCount: 1
  resources:
    requests:
      cpu: 500m
      memory: 2Gi
    limits:
      cpu: 500m
      memory: 2Gi
  env: []
  hpaSpec:
    maxReplicas: 3
    minReplicas: 1
    metrics:
      - type: Resource
        resource:
          name: cpu
          target:
            type: Utilization
            averageUtilization: 60
  strategy: {}
  # -- k8s pod annotations. https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  podAnnotations: {}
  # -- k8s service annotations. https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  serviceAnnotations: {}
  # -- k8s nodeSelector. https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  nodeSelector: {}
  # -- k8s affinity / anti-affinity. https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
  affinity: {}
  # -- k8s toleration https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  tolerations: []

tracing:
  enabled: false
  address: jaeger-collector.jaeger.svc
  port: 9411
  # -- percent of traces to send to jaeger
  sampling: 10

cni:
  image:
    hub: registry1.dso.mil/ironbank/opensource/istio
    name: install-cni
    tag: 1.23.5
  # -- k8s pod annotations. https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
  podAnnotations: {}
  # -- k8s nodeSelector. https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
  nodeSelector: {}
  # -- k8s affinity / anti-affinity. https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity
  affinity: {}
  # -- k8s toleration https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
  tolerations: []

# -- Global mesh-wide settings https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/#MeshConfig
meshConfig:
  meshMTLS:
    minProtocolVersion: TLSV1_2

# -- Default Proxy Config for the entire mesh (inserts under meshConfig in IstioOperator resource)
defaultConfig: {}

values:
  # -- Global IstioOperator values
  global: 
    proxy:
      resources:
        requests:
          cpu: 100m
          memory: 256Mi
        limits:
          memory: 256Mi
    proxy_init:
      resources:
        limits:
          cpu: 100m
          memory: 256Mi
        requests:
          cpu: 100m
          memory: 256Mi
  # -- Set defaultRevision name, must be non-empty to deploy validating webhook
  defaultRevision: "default"
  # -- Istio pilot values. https://github.com/istio/istio/blob/master/manifests/charts/istio-control/istio-discovery/values.yaml
  pilot:
    env:
      "ENABLE_NATIVE_SIDECARS": true
    # # For example, include a custom CA certificate for the JWKS URI resolver
    # jwksResolverExtraRootCA: |
    #   -----BEGIN CERTIFICATE-----
    #   ...
    #   -----END CERTIFICATE-----

# -- Custom EnvoyFilters. https://istio.io/latest/docs/reference/config/networking/envoy-filter/
envoyFilters: []
  # # For each filter, specify `name` and `spec` fields
  # # For example, gzip html and json responses
  # - name: compressor
  #   spec:
  #     workloadSelector:
  #       labels:
  #         istio: ingressgateway
  #     configPatches:
  #     - applyTo: HTTP_FILTER
  #       match:
  #         context: GATEWAY
  #         proxy:
  #           proxyVersion: '^1\.17.*'
  #         listener:
  #           filterChain:
  #             filter:
  #               name: "envoy.filters.network.http_connection_manager"
  #               subFilter:
  #                 name: "envoy.filters.http.router"
  #       patch:
  #         operation: INSERT_BEFORE
  #         value:
  #           name: envoy.filters.http.compressor
  #           typed_config:
  #             "@type": type.googleapis.com/envoy.extensions.filters.http.compressor.v3.Compressor
  #             response_direction_config:
  #               common_config:
  #                 min_content_length: 100
  #                 content_type:
  #                   - text/html
  #                   - application/json
  #               disable_on_etag_header: true
  #             request_direction_config:
  #               common_config:
  #                 enabled:
  #                   default_value: false
  #                   runtime_key: request_compressor_enabled
  #             compressor_library:
  #               name: text_optimized
  #               typed_config:
  #                 "@type": type.googleapis.com/envoy.extensions.compression.gzip.compressor.v3.Gzip
  #                 memory_level: 3
  #                 window_bits: 10
  #                 compression_level: BEST_COMPRESSION
  #                 compression_strategy: DEFAULT_STRATEGY

# -- Big Bang NetworkPolicy controls
networkPolicies:
  # -- Toggle ALL NetworkPolicies on/off
  enabled: false
  # -- See `kubectl cluster-info` and then resolve to IP
  controlPlaneCidr: 0.0.0.0/0
  additionalPolicies: []

postInstallHook:
  # -- Image used to run readiness check, requires `kubectl`
  image: registry1.dso.mil/ironbank/big-bang/base
  tag: 2.1.0
  # -- Pod security context for readiness check
  securityContext:
    fsGroup: 1001
    runAsGroup: 1001
    runAsNonRoot: true
    runAsUser: 1001
  # -- Container security context for readiness check
  containerSecurityContext:
    capabilities:
      drop:
        - ALL
  # Container Resource Requests
  containerResources:
    resources:
      requests:
        cpu: "100m"
        memory: "256Mi"
      limits:
        cpu: "100m"
        memory: "256Mi"

hardened:
  enabled: false
  customAuthorizationPolicies: []
  # - name: "allow-nothing"
  #   enabled: true
  #   spec: {}
  ingressGateway:
    authzRules:
      - {}

waitJob:
  enabled: true
  scripts:
    image: registry1.dso.mil/ironbank/opensource/kubernetes/kubectl:v1.30.10
  permissions:
    resources:
     - istio-controlplane

defaultSecurityHeaders:
  enabled: true