Required for deployments with the ai installation scenario enabled. These secrets handle model pulls and data encryption for AI agents.
NGC API Key: Required for pulling NVIDIA NIM models.
HuggingFace access token: Optional. Required only if you pull models from HuggingFace. Available starting in Hybrid Manager (HM) 2026.4 (Innovation Release) and 1.4 (LTS).
Fernet key: Used for symmetric encryption of sensitive data within the GenAI stack.
Object storage: Requires S3-compatible buckets (AWS, GCS, etc.) for the DataLake.
Creating GenAI Builder secrets
Note
Required for deployments with the ai installation scenario enabled. This scenario is included by default unless it's manually excluded via the scenarios configuration (spec.scenarios in the HybridControlPlane CR).
One of the secrets you create requires an NGC API key. Create one following the NVIDIA NGC documentation to enable model image pulls.
You can create a Fernet key secret and NGC key secrets using the
edbctlCLI.For manual installations, run this command and follow the interactive prompts:
edbctl hybrid-manager create-install-secrets --version <version> --scenario ai
If you're running the installation via a CI/CD pipeline, you must suppress interactive prompts. The method for achieving this depends on your
edbctlversion:Ensure the NGC API key you created above is available as a variable.
Configure
edbctlfor non-interactive behavior:edbctl config set interactive_mode off edbctl config set confirm_mode off
Run the setup command:
edbctl hybrid-manager create-install-secrets --version <version> --scenario ai
This creates the Fernet key secret, as well as
nvidia-nim-secretsandngc-credsecrets in thedefaultnamespace with the appropriate replication annotations.Note
Fernet is a cryptographic library used by Python. It provides symmetric encryption/decryption and is required to store secret data.
If you plan to pull models from HuggingFace, create a
hf-secretcontaining your HuggingFace access token:EDB_AI_HF_TOKEN='<your-huggingface-token>' \ edbctl hybrid-manager create-install-secrets --version <version> --scenario ai
This is optional — if no token is provided, the
hf-secretis skipped and HuggingFace-hosted models aren't available.The HM administrator must keep the Fernet key safe and back it up. Retrieve the secret, which is stored in the
defaultnamespace:kubectl get secret langflow-secret -n default -o yaml
Store the key safely.
Configure DataLake object storage for GenAI builder by creating a DataLake bucket in the object storage you're using for your HM deployment. GenAI Builder uses it to store structures, tools, and indexed data.
aws s3 mb s3://<your-datalake-bucket-name> –region <your-region>
gsutil mb -l <your-region> gs://<your-datalake-bucket-name>
Use your provider’s management console or CLI to create a bucket with a unique name for your DataLake bucket.
Capture the following information for your bucket. You will need it later when you first use the GenAI launchpad application. The console will prompt you for your DataLake bucket configuration, which requires:
DATA_LAKE_ROOT_BUCKET: The name of the bucket for use with DataLake.DATA_LAKE_S3_ACCESS_KEY: The access_key used to connect to the DataLake bucket.DATA_LAKE_S3_SECRET_ACCESS_KEY: The secret_access_key used to connect to the DataLake bucket.DATA_LAKE_S3_ENDPOINT_UR: The endpoint URL used to connect to the DataLake bucket.
Update the bucket's settings with the cross-origin resource sharing (CORS) configuration:
Update the bucket's settings to have the following CORS configuration:
[ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "PUT", "POST", "DELETE", "GET", "HEAD" ], "AllowedOrigins": [ "https://${PORTAL_DOMAIN_NAME}" ], "ExposeHeaders": [] } ]Where
https://${PORTAL_DOMAIN_NAME}is the domain configured for your HM.The S3 interoperability layer in GCS allows GenAI Builder to use GCS as an S3-compatible object store.
In the GCS console, under Settings, turn on the s3 interoperability.
Update or create a service account with the Storage Admin and Service Account Token Creator roles.
Create an HMAC key pair for the service account.
Create a config file with a CORS configuration that points at the HM endpoint:
cat cors-config.json [ { "origin": ["https://${PORTAL_DOMAIN_NAME}"], "method": ["GET", "PUT", "POST", "DELETE", "HEAD"], "responseHeader": ["*"], "maxAgeSeconds": 3600 } ]Where
https://${PORTAL_DOMAIN_NAME}is the domain configured for your HM.Apply the CORS configuration to the previously created bucket:
gsutil cors set cors-config.json gs://<bucket name>
Use your provider’s management console or CLI to configure CORS with HM.