arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

Insight Point (Helm Chart)

Deploy an Insight Point to a Kubernetes cluster

The Kubernetes integration requires an Insight Point running within the cluster to discover RBAC entities. When adding the integration, you will specify the cluster details and the Insight Point to use. Veza provides a helm chart to simplify the process of deploying and managing the Insight Point.

hashtag
Configuration Options

The Insight Point Helm chart accepts the following configuration parameters via --set flags. Typically only key is required.

Parameter
Description
Default
Example
  • key is your unique Insight Point registration key, generated in the Veza UI.

    • Create a key in Veza: Integrations > Insight Points > Create

    • Store this value securely as it cannot be recovered if lost

hashtag
Custom CA Certificate Bundle

If your Insight Point needs to trust custom Certificate Authorities (for example, when connecting through a corporate proxy with SSL inspection, or when the control plane uses certificates signed by a private CA), you can provide a custom CA bundle.

The CA bundle should be in PEM format and can contain multiple certificates.

Important: Do not use skipVerify=true in production. Instead, add your custom CA certificates using this feature. The skipVerify option should only be used for testing and development.

hashtag
Option 1: Inline CA Bundle

Create a file ca-values.yaml with the certificate contents:

Install or upgrade with:

hashtag
Option 2: Reference to Existing ConfigMap

If you already have a ConfigMap with your CA bundle:

Note: The custom CA bundle is mounted to /etc/ssl/certs/ca-certificates.crt inside the container, which is the standard location for Go applications. This will replace the default system CA bundle, so ensure your custom bundle includes any default certificates you need to trust.

hashtag
Proxy Configuration

When using an HTTPS inspection proxy:

  • Set addr to your proxy's address if different from the Veza endpoint. This value overrides the default request authority.

  • Ensure your proxy can connect to your Veza deployment.

  • authority specifies the domain name to use for TLS certificate validation and is only required when addr

hashtag
Configuring Tags

Tags are custom key-value labels that help organize and categorize your Insight Point instances. For an overview of tags, their use cases, and requirements, see in the main Insight Point documentation.

hashtag
Using values.yaml File

Create or edit your values.yaml:

Then install:

hashtag
Using Command-Line Flags

hashtag
Updating Tags on Existing Deployment

hashtag
High Availability Configuration

The Insight Point Helm chart supports high availability (HA) deployment to ensure continuous operation and resilience against node failures or pod disruptions. By default, the chart deploys three replicas of the Insight Point. You can customize the HA settings based on your requirements.

hashtag
Replica Count

For high availability, deploy multiple Insight Point replicas:

  • Single Instance: Use replicaCount: 1 for basic deployments

  • High Availability: Use replicaCount: 2 or higher for production environments

  • Recommended: replicaCount: 3

hashtag
Pod Anti-Affinity

When running multiple replicas, configure pod anti-affinity to distribute pods across nodes or availability zones:

Parameter
Description
Values
Default
  • Soft Anti-Affinity: Kubernetes will try to place pods on different nodes/zones but will allow co-location if necessary

  • Hard Anti-Affinity: Kubernetes will never place pods on the same node/zone, which may prevent scheduling if insufficient resources

hashtag
Pod Disruption Budget

Control the number of pods that can be disrupted simultaneously during maintenance:

Parameter
Description
Default

The PodDisruptionBudget ensures that at least one Insight Point remains available during cluster updates, node maintenance, or voluntary pod evictions.

hashtag
Webhook Relay Configuration

The webhook relay service allows the Insight Point to forward webhook requests to destinations in your private network. For an overview of webhook relay, when to use it, security considerations, and supported host formats, see in the main Insight Point documentation.

hashtag
Configuration options

The following parameters configure webhook relay behavior:

Parameter
Description
Default
Example

hashtag
Configuration via Command Line

Configure webhook relay when installing or upgrading the Insight Point:

Or when upgrading an existing deployment:

hashtag
Configuration via values.yaml

Create or edit a values.yaml file with webhook relay configuration:

Then install or upgrade with the values file:

hashtag
Verifying Webhook Relay Configuration

To verify webhook relay is configured correctly:

  1. Check the Helm values:

  2. Check the pod environment variables:

If webhook relay is enabled but not working:

  • Verify the allowed hosts are in the correct format

  • Check that the destination is included in the allowed hosts list

  • Review the Insight Point logs for validation or connection errors:

hashtag
Requirements

A Kubernetes Helm chart is a package format used to define, install, and upgrade applications in Kubernetes. Helm is often referred to as a package manager for Kubernetes. To install the chart, you will need:

  • System Resources: Ensure your Kubernetes cluster has sufficient resources to meet the (minimum: 2 CPU cores, 4 GB RAM per Insight Point pod).

  • Insight Point Key: You will need to generate a secret key for the Insight Point. To create one, go to Veza Integrations > Insight Point > Create.

  • Insight Point Version: Note the most recent Insight Point version (e.g. 2024.8.12-9

hashtag
Install Insight Point (Helm Chart)

  1. Customize Values and Install the Insight Point:

    Use the helm install command to install the Insight Point into the Kubernetes cluster. Replace <NAME>, <VERSION>, <KEY>, and key with your specific values:

    • --namespace <NAMESPACE>

Overrides the request authority for certificate validation

""

--set authority=veza.example.com

caBundle

Custom CA certificate bundle in PEM format (inline)

""

See

caBundleConfigMapRef

Reference to existing ConfigMap containing CA bundle

""

--set caBundleConfigMapRef=custom-ca-bundle

replicaCount

Number of Insight Point replicas for high availability

3

--set replicaCount=1

skipVerify (TLS_INSECURE_SKIP_VERIFY) should only be set to true to disable certificate validation for testing/troubleshooting.

points to a proxy instead of directly to Veza. Must be a specific domain (wildcards not supported).
  • Use the custom CA bundle feature (above) to trust your proxy's CA certificate.

  • (default) provides good balance of availability and resource usage
    Ensure the destination is actually reachable from the Insight Point's network
    ) from
    .
  • Access to the Kubernetes Cluster: Ensure you have the necessary permissions and access credentials to interact with the target Kubernetes cluster.

  • Helm Installed: Ensure Helm version 3.8 or greater is installed on your local machine. You can install Helm by following the official documentation: Helm Installationarrow-up-right.

  • Your organization security policies must allow chart installation from the VEZA ECR public.ecr.aws/veza

  • : required if installing the Insight Point into a different namespace than the default.
  • --create-namespace: required if the namespace does not exist yet.

  • --set enableSecrets=true: optional field, required to enable Kubernetes Secrets extraction. Secrets are not extracted by default.

  • A Veza Insight Point Key must be provided. To do this, you can specify the value with the --set key=<registration-key> option when installing the chart.

    Example:

  • Verify Installation:

    Verify the status of the installation by running:

    This command will return a list of Helm releases, including the Insight Point you just installed. Ensure the STATUS is "DEPLOYED."

  • Get Insight Point Logs:

    If the Insight Point fails to initialize or can't connect to Veza, you can get more details by reviewing the container logs. You can retrieve this using the terminal:

  • Upgrade and Maintain:

    Over time, you may need to upgrade the Insight Point to newer versions or adjust its configuration. Use the helm upgrade command to make these changes.

    Standard upgrade:

    Note that newer versions can introduce breaking changes (e.g., replacing Kubernetes resources with others), which can cause a brief unavailability of the Insight Point.

  • Uninstall the Insight Point:

    If you need to uninstall the Insight Point, you can do so using the helm uninstall command:

  • key

    Insight Point Registration key for connecting to Veza

    ""

    --set key=abc123

    addr

    Address for Veza API connection, overriding the one provided by the key

    ""

    --set addr=customer.vezacloud.com

    skipVerify

    Disable TLS certificate validation

    false

    --set skipVerify=true

    podAntiAffinity.type

    Anti-affinity enforcement

    soft (preferred) or hard (required)

    soft

    podAntiAffinity.topologyKey

    Distribution topology

    kubernetes.io/hostname (nodes) or topology.kubernetes.io/zone (zones)

    kubernetes.io/hostname

    podDisruptionBudget.enabled

    Enable PodDisruptionBudget

    true

    podDisruptionBudget.minAvailable

    Minimum pods that must remain available

    1

    webhookRelay.enabled

    Enable the webhook relay service

    false

    --set webhookRelay.enabled=true

    webhookRelay.allowedHosts

    A list of allowed destinations (supports multiple formats as documented in Webhook Relay)

    ""

    --set 'webhookRelay.allowedHosts[0]=172.17.0.0/24' --set 'webhookRelay.allowedHosts[1]=172.16.0.*' --set 'webhookRelay.allowedHosts[3]=*.example.com'

    Tags
    Webhook Relay
    Insight Point system requirements

    authority

    Veza's OCI repositoryarrow-up-right
    helm list -n <NAMESPACE>
    kubectl logs -l app=<veza-insight-point> -n <NAMESPACE>
    helm upgrade <veza-insight-point> oci://public.ecr.aws/veza/helm-chart/insight-point --version <VERSION> --namespace <NAMESPACE>
    helm uninstall <veza-insight-point> --namespace <NAMESPACE>
    caBundle: |
      -----BEGIN CERTIFICATE-----
      MIIDXTCCAkWgAwIBAgIJAKZ...
      -----END CERTIFICATE-----
      -----BEGIN CERTIFICATE-----
      MIIDXTCCAkWgAwIBAgIJAKZ...
      -----END CERTIFICATE-----
    helm install veza-insight-point oci://public.ecr.aws/veza/helm-chart/insight-point \
      --version <VERSION> \
      --namespace veza \
      --create-namespace \
      --set key=<your-registration-key> \
      --values ca-values.yaml
    # Create ConfigMap from file
    kubectl create configmap custom-ca-bundle \
      --from-file=ca-certificates.crt=/path/to/your/ca-bundle.crt \
      -n veza
    
    # Reference in helm install
    helm install veza-insight-point oci://public.ecr.aws/veza/helm-chart/insight-point \
      --version <VERSION> \
      --namespace veza \
      --create-namespace \
      --set key=<your-registration-key> \
      --set caBundleConfigMapRef=custom-ca-bundle
    # Custom tags
    tags:
      environment: production
      datacenter: us-west-1
      team: platform-engineering
      owner: [email protected]
    helm install veza-insight-point veza/external-insight-point \
      -f values.yaml \
      --namespace veza
    helm install veza-insight-point veza/external-insight-point \
      --set key=<your-registration-key> \
      --set addr=your-control-plane.veza.com:443 \
      --set tags.environment=production \
      --set tags.datacenter=us-west-1 \
      --set tags.team=platform-engineering \
      --namespace veza
    helm upgrade veza-insight-point veza/external-insight-point \
      --reuse-values \
      --set tags.environment=production \
      --set tags.new_key=new_value \
      --namespace veza
    helm install veza-insight-point oci://public.ecr.aws/veza/helm-chart/insight-point \
      --version <VERSION> \
      --namespace <NAMESPACE> \
      --set key=<KEY> \
      --set webhookRelay.enabled=true \
      --set webhookRelay.allowedHosts[0]="webhook.site" \
      --set webhookRelay.allowedHosts[1]="*.example.com" \
      --set webhookRelay.allowedHosts[2]="172.17.0.0/24"
    helm upgrade veza-insight-point oci://public.ecr.aws/veza/helm-chart/insight-point \
      --version <VERSION> \
      --namespace <NAMESPACE> \
      --set webhookRelay.enabled=true \
      --set webhookRelay.allowedHosts[0]="webhook.site" \
      --set webhookRelay.allowedHosts[1]="*.example.com"
    key: "<your-insight-point-key>"
    
    webhookRelay:
      enabled: true
      allowedHosts:
        - "webhook.site"
        - "*.example.com"        # Wildcard domain
        - "172.17.0.100"         # IP address
        - "10.0.0.0/8"           # CIDR range
        - "172.16.*"             # Wildcard IP
    helm install veza-insight-point oci://public.ecr.aws/veza/helm-chart/insight-point \
      --version <VERSION> \
      --namespace <NAMESPACE> \
      --values values.yaml
    helm get values veza-insight-point -n <NAMESPACE>
    kubectl get pods -n <NAMESPACE> -l app=veza-insight-point -o jsonpath='{.items[0].spec.containers[0].env}' | jq
    kubectl logs -l app=veza-insight-point -n <NAMESPACE>
    helm install <NAME> oci://public.ecr.aws/veza/helm-chart/insight-point --version <VERSION> --namespace <NAMESPACE> --create-namespace  --set key=<KEY>
    helm install veza-insight-point oci://public.ecr.aws/veza/helm-chart/insight-point --version 2024.1.29-1 --namespace veza --create-namespace --set enableSecrets=true --set key=<YOUR_KEY>
    Custom CA Certificates