Documentation Index

Fetch the complete documentation index at: https://kb.vastdata.com/llms.txt

Use this file to discover all available pages before exploring further.

Enabling DataEngine on a VAST Cluster Tenant

Prev Next

Overview

Aspects of DataEngine Enablement

DataEngine enablement requires the following services:

  • At least one container registry, used to store images of the functions deployed by DataEngine. Each container registry must be accessible over https and have a valid CA certificate.

  • At least one compute cluster, used to execute DataEngine pipelines and functions. This can either be a VAST compute cluster, which itself is deployed on VAST cluster infrastructure, or a Kubernetes cluster that is external to the VAST cluster.

  • An event broker. This can be either a third-party event broker or the VAST Event Broker.

The main VAST DataEngine enablement procedure can be done using a dedicated wizard, the Enable DataEngine wizard. The wizard guides you through the steps and enables you to configure several resources that are needed.

The wizard can be run by a cluster admin user or a tenant admin user.

There are some prerequisite configurations external to the VAST cluster, such as preparing a container registry. There are also some prerequisite configurations to perform on the VAST cluster itself.

The specific prerequisite configurations required depend on the specific plan for deployment and on the user type who will be running the wizard.

Additionally, there are further administrative steps required for enabling the usage of DataEngine.

High-Level Steps

To enable VAST DataEngine on a VAST Cluster tenant, follow these steps in this order:

  1. Establish prerequisite services.

  2. Configure Prerequisites on the VAST Cluster. These are configurations that you must be established on the VAST Cluster tenant before you enable DataEngine.

  3. Enable DataEngine. In this step, you will be prompted to connect the prerequisite external services to the tenant.

Further Steps to Get Started After Enablement

After basic deployment, these steps are required to enable developers and administrators to get started working with DataEngine:

Establish Prerequisite External Services

Your deployment of VAST DataEngine may require the following services that are external to the VAST Cluster. They must all be configured before you run the Enable DataEngine wizard:

  • One or more container registries. All deployments require these. They are used to store images of the functions deployed by DataEngine. The container registry must be accessible over https and have a valid CA certificate.

  • One or more Kubernetes clusters. These can be used to execute DataEngine pipelines and functions. Alternatively, you can deploy DataEngine with a VAST compute cluster. In this case, there is no need to prepare an external Kubernetes cluster.

  • Optionally, a third-party event broker. DataEngine requires an event broker. You can use either a VAST event broker or a third-party event broker external to the VAST cluster. If using a third party event broker, this must be configured before the enablement procedure.

Preparing Container Registries (Required for all Deployments)

A container registry is a service for storing and distributing container images. You can use a registry service that supports authentication with user name and password, such as a Docker Hub hosted registry service, or a registry that supports a stable authentication secret, such as a AWS ECR hosted registry. You will need to connect the tenant's DataEngine to at least one container registry. You will store images of the functions you want to deploy in the container registry.

Preparing External Compute Clusters (Required if not deploying with VAST Compute Cluster)

To prepare an external Kubernetes cluster for use with DataEngine:

  1. The first time you use the Kubernetes cluster to deploy DataEngine on any tenant on the VAST cluster, you need to install VAST DataEngine platform and observability services on the Kubernetes cluster, to make sure that DataEngine is provisioned correctly on the cluster. Install the VAST Zarf DataEngine package on each Kubernetes cluster in your environment that you intend to use to deploy VAST DataEngine functions and pipelines.

    There are three ways of installing these services:

  2. For any DataEngine deployment on any given tenant, create a unique namespace on the Kubernetes cluster. It is good practice to use a consistent naming convention that includes the name of the tenant in the name of the namespace. This will help a cluster admin or tenant admin user to identify the dedicated tenant specific namespace when linking the Kubernetes cluster and selecting a namespace.

    Note

    Sharing namespaces across tenants is not supported.

Install VAST DataEngine Using the VAST DataEngine CLI

  1. Download the VAST DataEngine CLI binary for the upgrade target version from the VAST DataEngine CLI Releases page on GitHub).

  2. Grant the binary file execute permissions and move it to your system path.

  3. Confirm that you have installed the desired target vastde CLI version:

    vastde version
  4. Confirm the current release is healthy before you proceed with the upgrade:

    vastde status
  5. Preview the install - render the manifests without applying anything:

    vastde install --dry-run
  6. To see only the non-default Helm values that would be applied:

    vastde install --dry-run-helm-values
  7. Confirm the new binary carries the version you intend to deploy:

    vastde upgrade --list-versions
  8. Install:

    # Install with default settings into the vast-dataengine namespace
    vastde install
    
    # Install and block until all resources are Ready (recommended)
    vastde install --wait --timeout 10m

    Options:

    # Custom values file
    vastde install -f my-values.yaml
    
    # Inline value overrides
    vastde install --set collector.replicas=3
    
    # Custom namespace (created automatically unless --create-namespace=false)
    vastde install --namespace my-de-namespace
    
    # Pin a specific embedded chart version (default: latest embedded)
    vastde install --version <chart-version>
  9. Verify:

    vastde status
    kubectl get pods -n vast-dataengine
    kubectl rollout status deployment -n vast-dataengine

Installing VAST DataEngine Services from Helm Charts

An umbrella chart containing all required services is currently hosted in the VAST Data Charts GitHub repository.

Note

The Helm chart is eligible for installing with argoCD.

  1. Run the following to add the repository (where GH_USER is a GitHub user with access to the vast-data org):

    GH_USER=<GH_USER>
    TOKEN=$(gh auth token --user $GH_USER)
    helm repo add vast https://raw.githubusercontent.com/vast-data/charts/main \
      --username $GH_USER --password "$TOKEN"
    helm repo update vast
  2. Run the following to install the charts:

    helm search repo vast/vast-dataengine
    helm pull vast/vast-dataengine --devel --untar       # for inspection
    helm template my-de vast/vast-dataengine -f values.yaml
    helm install  my-de vast/vast-dataengine -f values.yaml \
      --namespace vast-dataengine --create-namespace

Installing Services from the VAST Zarf DataEngine package

For environments where Zarf is not already in use for managing Kubernetes deployments, you will also install the Zarf agent and the VAST Zarf mutator from the package.

Installing the VAST Zarf DataEngine package (Zarf Not Already in Use)

Use this procedure if Zarf is not already actively being used to manage your Kubernetes cluster deployment.

Note

To check if Zarf is actively being used to manage your Kubernetes cluster deployment:

$ kubectl get pods -n zarf
NAME                                   READY   STATUS    RESTARTS   AGE
agent-hook-6c97484f98-5q9jj            1/1     Running   0          10m
agent-hook-6c97484f98-tgcjf            1/1     Running   0          10m
zarf-docker-registry-fd8859657-4rlm9   1/1     Running   0          11m

If Zarf is in fact already deployed, switch to Installing the VAST Zarf DataEngine package (Zarf Already in Use).

  1. Ensure you have a valid Kubeconfig file for connecting to the Kubernetes cluster.

  2. Verify that the inotify limits are large enough to allow for VAST Zarf DataEngine package installation:

    • To check current limits:

      sysctl fs.inotify.max_user_instances
      sysctl fs.inotify.max_user_watches
    • To increase the limits temporarily:

      sudo sysctl fs.inotify.max_user_instances=8192
      sudo sysctl fs.inotify.max_user_watches=524288
    • To make the change permanent:

      echo "fs.inotify.max_user_instances=8192" | sudo tee -a /etc/sysctl.conf
      echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf
      sudo sysctl -p
  3. Obtain the VAST DataEngine offline bundle for the installed VAST Cluster version, by contacting VAST Customer Success via a support ticket, Slack, or by sending an email to support@vastdata.com. Be sure to specify your exact VAST Cluster version. For example, "5.4.3-sp2" , since the DataEngine bundle version is tied to the main SW release version. An example file name for this bundle is dataengine_offline-2255166.vast.tar.gz.

  4. Extract the Zarf agent init package from the bundle (for example zarf-init-amd64-v0.60.0.tar.zst) and run zarf init with the following options :

    zarf init --architecture amd64 zarf-init-amd64-v0.60.0.tar.zst --set REGISTRY_HPA_AUTO_SIZE=true --confirm --log-level debug

    Note

    The above call assumes that a default storage class exists. Otherwise, add the --storage-class option to the call. For example --storage-class=local-path.

  5. Extract the VAST Operator file (for example, zarf-package-dataengine-amd64-1.0.0.tar.zst) and run zarf package deploy with the following options:

    zarf package deploy --architecture amd64 zarf-package-dataengine*.tar.zst --confirm --log-level debug
Installing the VAST Zarf DataEngine package (Zarf Already in Use)

Note

This procedure can also be used to update the VAST Zarf DataEngine package.

Use this procedure if Zarf is already in use for managing your Kubernetes cluster deployment.

  1. Ensure you have a valid Kubeconfig file for connecting to the Kubernetes cluster.

  2. Verify that the inotify limits are large enough to allow for VAST Zarf DataEngine package installation:

    • To check current limits:

      sysctl fs.inotify.max_user_instances
      sysctl fs.inotify.max_user_watches
    • To increase the limits temporarily:

      sudo sysctl fs.inotify.max_user_instances=8192
      sudo sysctl fs.inotify.max_user_watches=524288
    • To make the change permanent:

      echo "fs.inotify.max_user_instances=8192" | sudo tee -a /etc/sysctl.conf
      echo "fs.inotify.max_user_watches=524288" | sudo tee -a /etc/sysctl.conf
      sudo sysctl -p
  3. Obtain the VAST DataEngine offline bundle for the installed VAST Cluster version, by contacting VAST Customer Success via a support ticket, Slack, or by sending an email to support@vastdata.com. Be sure to specify your exact VAST Cluster version. For example, "5.4.3-sp2" , since the DataEngine bundle version is tied to the main SW release version. An example file name for this bundle is dataengine_offline-2255166.vast.tar.gz.

  4. Extract the VAST Operator file (for example, zarf-package-dataengine-amd64-1.0.0.tar.zst) and run zarf package deploy with the following options:

    zarf package deploy --architecture amd64 zarf-package-dataengine-amd64*.tar.zst --confirm --log-level debug

Configure Prerequisites on the VAST Cluster

  • If you want to enable DataEngine on a new tenant rather than the default tenant or another existing tenant, create a new tenant on the (VAST) cluster.

  • If you want to deploy DataEngine with a VAST compute cluster, make sure that a VAST compute cluster is configured on the VAST Cluster. For information about viewing and creating VAST compute clusters, see Managing VAST Compute Clusters. Also, if a tenant admin user will be enabling DataEngine, you must attach the compute cluster to the tenant before the user enables DataEngine.

  • If you want to use a third-party event broker as the default event broker for DataEngine, configure the third-party event broker.

  • If you want to use VAST event broker as the default event broker for DataEngine, provision a Bucket Owner User. Also, if a tenant admin user is going to enable DataEngine, you must create the VAST event broker before the user enables DataEngine. In this case, first provision the bucket owner user and then create the VAST event broker, so that you can assign the bucket owner as the owner of the VAST event broker.

Create a New Tenant (Optional)

If you want to enable DataEngine on a new tenant rather than the default tenant or another existing tenant, create a new tenant on the (VAST) cluster.

To create a new tenant with minimal settings:

  1. From the left navigation menu, select Element Store and then Tenants.

  2. Click Create Tenant to open the Create New Tenant dialog.

  3. In the General tab, complete the fields:

  4. Click Create. The tenant is created and appears in the list of tenants in the Tenants page.

Create and Attach a VAST Compute Cluster to the Tenant

Attaching a VAST compute cluster to the tenant can be done before or during the DataEngine enablement procedure. If done before, the compute cluster will be linked automatically to DataEngine when you enable DataEngine.

  1. Make sure the compute cluster exists.

    If you need to create one, see Creating a VAST Compute Cluster.

  2. Do one of the following to attach the compute cluster to the tenant:

Configure a Third-Party Event Broker

Note

If you are going to use VAST Event Broker as the default event broker for DataEngine, you can skip this step.

  1. Go to Settings -> Notifications -> Notification Kafka Brokers.

  2. Click Add a New Kafka Broker and complete these fields:

    Name 

    Enter a name for the event broker configuration.

    Tenant 

    Select one tenant for which the event broker will be available, or leave the default of All tenants so that the broker is available for all tenants.

    Host 

    Enter the bootstrap URL of the event broker server. You can specify an IP or FQDN. 

    If the Kafka cluster runs multiple event brokers, click +Add to add more hosts. You can add up to five hosts.

    Port 

    Enter a port to communicate with the event broker server.

    Tip

    Ensure that the hosts are accessible from the VAST cluster's management interface at the specified ports.

  3. Click Add Kafka Broker

    The newly created event broker configuration is added to the list of event brokers.

Provision a Bucket Owner User

Note

If you are going to configure an event broker external to the cluster as the default event broker for DataEngine, you can skip this step.

If you are going to use a VAST Event Broker (a view with the "Kafka" protocol enabled) as the default event broker that DataEngine will use to stream events, you need to provision at least one user with S3 access keys and permission to create buckets on the tenant. This is because when you are enabling DataEngine, you will create the VAST Event Broker and you will need to reference a user as a bucket owner for the view.

You will also need to reference a user of this type as a bucket owner when you provision S3 bucket views from which triggers can consume events, although this is not an essential step for enabling DataEngine.

In order to be able to grant multiple users to access DataEngine and to create triggers using the same VAST Event Broker, you also need to make sure this user belongs to a group that you will use for all non VMS-manager users that you want to allow to access VAST DataEngine on the tenant, once it's enabled. This is because you will need to give those users bucket listing permission for the VAST Event Broker view.

  1. Make sure the provider you want to use is attached to the tenant. The provider can be a VAST provider, LDAP, or Active Directory. The provider should be configured on the cluster. For general information about managing providers, see Providers.

    Note

    If you use a VAST provider, enable the provider for cluster admin users and tenant admin users to manage and view, as needed. The default VAST provider is initially enabled for management by cluster admin users only.

    To attach a provider to a tenant:

    • In the Tenants tab of the Element Store page, right-click the tenant and select Edit.

    • Under Providers and User Access, select the provider that you want to connect to the tenant.

    • Click Update.

  2. Create a user on the provider. Grant the user bucket create and bucket delete permissions.

    Tip

    It is usually best practice that the user belongs to a group designated for granting DataEngine access. You will be able to grant the user's group bucket listing permission for a VAST Event Broker and you will be able to grant the same group access to DataEngine.

    Tip

    To create a user as part of a group on a VAST provider:

    1. From the left navigation menu, select User Management and then, under Users and Groups, Local Groups.

    2. On the Groups page that opens, click + Create Group.

    3. In the Add Group dialog, complete the fields:

      Field

      Description

      Name (required)

      Enter a name for the group.

      GID (required)

      Enter a POSIX group ID (GID) for the group.

      VAST Provider (required)

      Select the VAST provider with which the group will be associated.

    4. Click Create. The group is created.

    5. Switch to the Local Users tab.

    6. Click Create User and complete the following fields:

      Field

      Description

      Name (required)

      The user name.

      UID

      The user's POSIX UID.

      VAST Provider (required)

      Select the VAST provider with which the user will be associated.

      Leading group

      The name of the user's leading group.

      This is the group assigned by default as the owning group of any files created by the user.

      Select the group you created in the previous step from the dropdown.

      Groups

      Names of other groups that the user belongs to beside the leading group. Also known as auxiliary groups.

      Select groups from the dropdown. If a group has not been added to the VAST provider, add the group first.

  3. Under Permissions Access, select the tenant in the Select tenant to see user details list. Tenants associated with the selected VAST provider (if any) are shown, as well as the default tenant.

  4. Enable bucket create and delete permissions:

    • Allow Create Bucket

    • Allow Delete Bucket

    Tip

    Alternatively, you can grant these permissions through an identity policy attached to either the group or the user.

  5. Do one of the following, as appropriate, to grant the user an S3 access key pair:

    • Edit the user you just created (if its a local user) and choose to generate an access key pair.

    • Query the user (this is applicable to a user on any provider) and generate an access key pair for the user:

      1. In the Query User or Group tab of the User Management page, query the user on the relevant provider.

      2. In the query result pane on the right, under Access Keys, click Add New Key.

Create a VAST Event Broker

If a tenant admin user will be enabling DataEngine on a tenant and using a VAST event broker, create the event broker for the tenant as a cluster admin user before the tenant admin enables DataEngine. This is because creating a VAST event broker requires a dedicated VIP pool on the cluster, and therefore, the VIP pool assignment and the dependant event broker is done from the cluster's VMS environment, and not from the tenant-specific VMS environment.

  1. In the VAST Web UI, select Element Store from the left navigation menu and then select Views.

  2. Click Create View to add a new view.

    The Add View dialog appears.

  3. Complete the following fields:

    Path

    Specify the path in the tenant's Element Store where the Event Broker should reside. The path must begin with a slash.

    Create directory

    Enable this.

    S3 bucket name

    Enter a name for the S3 bucket in which the VAST Event Broker will reside.

    Bucket Owner

    Provide the user you created in Provision a Bucket Owner User. Click to enter the name and start typing and then select a name from the list.

    Alternatively, you can click Add new user in the dropdown and create the bucket owner user at this point, as described in Provision a Bucket Owner User.

    Authentication Methods

    Set these as you require. For information about these settings, see Configuring User Authentication for the VAST Event Broker View.

  4. Create or select a suitable view policy. The view policy needs to have S3 Native security flavor enabled. The policy should also grant S3 bucket listing permission to the user group that you are using to provision application users, although you could add the bucket listing permission at a later stage. Bucket listing permission will enable all group members to create triggers using the event broker you are creating.

    • To use an existing policy, select the policy from the Policy name dropdown.

    • To create a new view policy:

      1. In the Policy name dropdown, select Add new Policy.

      2. In the Add Policy dialog, fill the following fields:

        Tenant

        Select the relevant tenant.

        Name

        Enter a name for the policy.

        Security Flavor

        Select S3 Native.

        Group membership source

        Select any of the options. This is a required field for view policies, although all options are valid for this use case.

      3. In the S3 section, in the Bucket listing permission (groups) field, enter the name of the user group that you are going to use to provision users' access to DataEngine.

        Note

        This step is not strictly mandatory for enabling DataEngine. It is typically needed, assuming you are using a VAST Event Broker and granting multiple users access to DataEngine. Giving all users bucket listing permission in this policy will enable the users to create triggers using a VAST Event Broker created with a group member as the bucket owner.

      4. Click Create.

        The policy is created.

      5. In the Policy name field of the Add View dialog, select the policy you just created.

  5. Create or select a virtual IP pool for the event broker. The virtual IP pool needs to include at least as many virtual IP addresses as there are CNodes on the cluster. It also needs to be dedicated exclusively to the VAST Event Broker.

    • To use an existing virtual IP pool, select the virtual IP pool from the VIP Pool dropdown.

    • To create a new virtual IP pool:

      1. In the Kafka section, from the VIP Pool dropdown, select Add new VIP pool.

      2. In the Add Virtual IP Pool dialog, fill the following fields:

        VAST Web UI Field Name

        Requirement

        Tenant

        Specify the tenant on which you are going to enable DataEngine.

        Name

        Give this a suitable name for identifying the virtual IP pool. This virtual IP pool must be used exclusively for the VAST Event Broker.

        Role

        Set this to Protocols.

        Subnet CIDR IPv4/Subnet CIDR IPv6

        Set this as needed for the IP address range that you supply.

        IP Range List

        Supply a range of IP addresses. Include at least as many IPs as there are CNodes on the cluster. This pool of IP addresses will be dedicated exclusively to the VAST Event Broker for the tenant.

      3. Click Create.

        The virtual IP pool is created and is selected for you in the VIP Pool field of the Add View dialog.

  6. Click Create.

Enable DataEngine

This procedure enables DataEngine on a tenant with an event broker, compute cluster and container registry.

Enabling Data Engine from the VAST Web UI

Follow the sections below in the following order, skipping where indicated.

Start the Wizard (All Deployments)

  1. From the left navigation menu, select Element Store and then Tenants.

  2. Right-click the tenant and select Enable DataEngine.

    The Enable DataEngine wizard opens.

    Note

    If the wizard closes at any stage for any reason, you can resume the wizard.

Assign Event Broker (All Deployments)

  1. In the Assign Kafka step screen, from the Default Broker dropdown, do one of the following:

    • To use a third-party event broker or existing VAST Event Broker, select the event broker from the dropdown.

    • To create and use a new VAST Event Broker, select Add new broker.

      The Add View dialog opens. Some of the fields are pre-filled. Continue with the following steps to configure a VAST Event Broker:

      1. Complete the following fields:

        Path

        Specify the path in the tenant's Element Store where the Event Broker should reside. The path must begin with a slash.

        Create directory

        Enable this.

        S3 bucket name

        Enter a name for the S3 bucket in which the VAST Event Broker will reside.

        Bucket Owner

        Provide the user you created in Provision a Bucket Owner User. Click to enter the name and start typing and then select a name from the list.

        Alternatively, you can click Add new user in the dropdown and create the bucket owner user at this point, as described in Provision a Bucket Owner User.

        Authentication Methods

        Set these as you require. For information about these settings, see Configuring User Authentication for the VAST Event Broker View.

      2. Create or select a suitable view policy. The view policy needs to have S3 Native security flavor enabled. The policy should also grant S3 bucket listing permission to the user group that you are using to provision application users, although you could add the bucket listing permission at a later stage. Bucket listing permission will enable all group members to create triggers using the event broker you are creating.

        • To use an existing policy, select the policy from the Policy name dropdown.

        • To create a new view policy:

          1. In the Policy name dropdown, select Add new Policy.

          2. In the Add Policy dialog, fill the following fields:

            Tenant

            Select the relevant tenant.

            Name

            Enter a name for the policy.

            Security Flavor

            Select S3 Native.

            Group membership source

            Select any of the options. This is a required field for view policies, although all options are valid for this use case.

          3. In the S3 section, in the Bucket listing permission (groups) field, enter the name of the user group that you are going to use to provision users' access to DataEngine.

            Note

            This step is not strictly mandatory for enabling DataEngine. It is typically needed, assuming you are using a VAST Event Broker and granting multiple users access to DataEngine. Giving all users bucket listing permission in this policy will enable the users to create triggers using a VAST Event Broker created with a group member as the bucket owner.

          4. Click Create.

            The policy is created.

          5. In the Policy name field of the Add View dialog, select the policy you just created.

      3. Create or select a virtual IP pool for the event broker. The virtual IP pool needs to include at least as many virtual IP addresses as there are CNodes on the cluster. It also needs to be dedicated exclusively to the VAST Event Broker.

        • To use an existing virtual IP pool, select the virtual IP pool from the VIP Pool dropdown.

        • To create a new virtual IP pool:

          1. In the Kafka section, from the VIP Pool dropdown, select Add new VIP pool.

          2. In the Add Virtual IP Pool dialog, fill the following fields:

            VAST Web UI Field Name

            Requirement

            Tenant

            Specify the tenant on which you are going to enable DataEngine.

            Name

            Give this a suitable name for identifying the virtual IP pool. This virtual IP pool must be used exclusively for the VAST Event Broker.

            Role

            Set this to Protocols.

            Subnet CIDR IPv4/Subnet CIDR IPv6

            Set this as needed for the IP address range that you supply.

            IP Range List

            Supply a range of IP addresses. Include at least as many IPs as there are CNodes on the cluster. This pool of IP addresses will be dedicated exclusively to the VAST Event Broker for the tenant.

          3. Click Create.

            The virtual IP pool is created and is selected for you in the VIP Pool field of the Add View dialog.

      4. Click Create.

  2. From the Default Topic dropdown, select Add new topic to create the default topic on the event broker. Triggers will be streamed to this topic by default and it will be available immediately for hosting triggers when DataEngine is enabled. In most cases, there is no need to create additional topics for hosting triggers. Assuming the default topic will be used for all or most triggers, it's advisable to set wide partitioning, probably in the region of 50-100 partitions.

  3. In the Create Topic dialog, complete the following required fields:

    Topic Name 

    Enter a name for the topic.

    Number of partitions 

    Enter the number of partitions for the topic.

    Each partition can hold up to 1000 topics. The number of partitions in a topic cannot be changed after the topic has been created.

    The default topic will be available immediately for hosting triggers when DataEngine is enabled. Unless your use case specifically requires multiple topics, the default topic may be used for hosting all triggers. Therefore, it is usually advisable to set wide partitioning, probably in the region of 50-100 partitions.

    Retention period 

    Specify the amount of time to keep an event record in the topic. When the retention period for a record expires, the record is deleted from the topic. The default retention period is seven days. The minimum allowed retention period is 6 hours.

    Compaction

    If this flag is set, VAST Cluster keeps only the latest record version for each key in the partition log. Any previous versions of the record are deleted.

    Note

    Compaction is performed asynchronously in the background. At some point in time, duplicate keys may exist.

    Select this checkbox to enable compaction in the topic. With compaction, the topic preserves only the latest version of each message key in each partition.

    Advanced Options

    Timestamp source

    Select the source to use for the event time stamp:

    • Time event is created (producer). Sets the event timestamp based on the time when the event was encountered at the event producer.

    • Time event is logged (server). Sets the event timestamp based on the time when the event record was added to the log at the event broker.

    Event time evaluation period

    The maximum acceptable time between the event time and server time.

    • Infinity. For Time event is created (producer) timestamps, this option specifies that any difference between the producer time and the server time is acceptable, e.g. the message timestamp can be earlier or later than the broker timestamp for any amount of time.

    • Define Manually. For Time event is created (producer) timestamps, specifies the acceptable difference between the producer time and the server time:

      • Not before: Determines how much earlier the message timestamp can be than the broker timestamp. If this value is exceeded, the message is rejected.

      • Not after: Determines how much later the message timestamp can be than the broker timestamp. If this value is exceeded, the message is rejected.

  4. Click Create.

  5. In the Default Deadletter Topic dropdown, select Add new topic to create the deadletter topic, which is the topic to which events are routed in case of function failures, routing failures and dispatching failures. The deadletter topic will not be available to configure as the topic for any trigger event.

  6. Click Add Certificate to upload a TLS certificate.

  7. Paste a CA certificate into the box provided and click Upload Certificate.

  8. Click Next.

    The Assign Compute Cluster stage starts.

DataEngine requires at least one linked compute cluster. This can be a VAST compute cluster or an external compute cluster.

If a VAST compute cluster is already attached to the tenant, that compute cluster is automatically linked to the DataEngine deployment. The details of the compute cluster are displayed. The Assign external compute cluster checkbox also appears.

If no VAST compute cluster is already attached to the tenant, you are offered to click a link to attach a compute cluster to the tenant. There is also an option to Assign external compute cluster.

Do one of the following:

Attach a VAST Compute Cluster

If you want DataEngine to work with a VAST compute cluster but it was not yet attached to the tenant, do the following to attach the VAST compute cluster:

  1. Click Click Here ("to assign a tenant to an existing cluster").

    The wizard closes and the Compute Clusters tab of the Data Engine page appears.

  2. From the Tenants dropdown, select All VAST Compute Clusters.

    All VAST compute clusters on the VAST cluster are listed.

  3. Identify the VAST compute cluster that you want to link to DataEngine.

    If needed, create a new one.

  4. Right-click the compute cluster, select Attach Tenant.

    The Attach Tenants To Compute Cluster dialog appears.

  5. From the Tenants dropdown, select each tenant you want to add and click Add Tenants.

  6. Click Save.

    The VAST compute cluster is now attached to the tenant and linked to DataEngine on the tenant.

  7. Resume the Enable DataEngine wizard:

    1. Go to the Tenants page (from the left navigation menu, select Element Store and then select the Tenants tab.)

    2. Right-click the tenant and select DataEngine and then Resume Wizard Configuration.

      The wizard opens to step 2, Assign Compute Cluster. The compute cluster that you attached is displayed. It is now linked to DataEngine.

  8. If you want to link an external compute cluster as well as the VAST compute cluster, continue with Link an External Compute Cluster. Otherwise, skip to Link a Container Registry (All Deployments).

Continue here to assign an external compute cluster to DataEngine. This is not mandatory if a

  1. In the Assign Compute Cluster step, if the Assign external compute cluster checkbox appears, enable the checkbox and click Next.

  2. In the Assign External Compute Cluster screen, complete these fields:

    Name (required)

    Enter a name for the Kubernetes cluster to which you want DataEngine to connect.

    API Server URL (required)

    Enter the Kubernetes API server endpoint URL.

    For example: https://kube-server-57:6443

    Description

    Enter a description of the Kubernetes cluster. This is optional.

  3. In the Certificates area, use the fields provided to upload the CA certificate, client certificate and private key used for authenticating over mTLS to the compute cluster. For each certificate, click +Add new , paste the certificate content, base64-encoded, and then click Save Client certificate /Save CA certificate/Save Private Key.

  4. In the Tags area, enter any metadata tag that you want to tag the compute cluster resource with, and select Add Tag to add the tag. Repeat for additional tags. This is optional.

  5. Click Next.

  6. In the Select Namespaces step, the namespaces on the compute cluster are listed on the left under All possible Properties. Use the selection boxes and arrow buttons to choose which of the namespaces to allow the tenant's DataEngine to access and list them on the right under Selected Properties. Pipelines will be deployed in the selected namespace(s). Choose a unique namespace for the tenant. Namespaces cannot be shared by multiple tenants.

    Caution

    Do not select Zarf-installed workspaces such as vast-dataengine, knative-eventing, and knative-servering. Using Zarf-owned namespaces workspaces for pipeline deployments will fail since pods will fail to pull function images from the correct location.

  7. Click Next.

After at least one VAST compute cluster is linked automatically and/or you connect an external compute cluster, continue to configure a container registry and complete the DataEngine enablement wizard:

  1. In the Link Container Registry step, complete the fields to connect the container registry:

    Primary kubernetes cluster

    Select the primary compute cluster from the dropdown.

    Additional kubernetes clusters

    Select any additional compute clusters that are configured on the tenant if you want them to be able to deploy any function that has its image stored on the container registry.

    Name

    Enter a name for the container registry.

    Base URL

    Enter the base URL of the container registry.

    Description

    Enter a description for the container registry. (Optional.)

    Authentication Method

    Select the authentication method required by the container registry for the DataEngine to authenticate to the container registry:

    • User credentials. Choose this option if a user name and password is required. In the Username and Password fields, enter valid user credentials for authenticating to the container registry.

    • Kubernetes secret. Choose this option if a stable authentication secret is required. In the Kubernetes Secret Name field, enter the name of an existing Kubernetes Secret that contains the credentials for authenticating to the container registry .

    • None. Choose this option if no authentication is required to connect to the container registry.

    Tags

    Optionally, you can use this section to tag the container registry with any meaningful text strings for ease of organization and identification.

    To add a tag, enter a string in the Tag field and then click Add Tag.

    The tag is added to the Tags list.

    If you want to remove a tag that you added, click the tag's removal icon.

  2. Click Finish.

    DataEngine is now enabled on the tenant with a compute cluster and a container registry. Proceed to provisioning users.