Skip to content

You are viewing documentation for Instruqt 2.0 Labs which is in Beta currently. Official release date - 29 September, 2026. For Tracks documentation, please visit docs.instruqt.com.

Secrets


Secrets store sensitive values – credentials, API tokens, passwords – securely at the team level, so labs can use them without the values ever appearing in lab configuration or content.

Secrets are write-only: once saved, the value can’t be read back by anyone. Labs reference a secret by name, and the platform resolves the value at runtime.

Team Owners create and manage secrets. Content creators use them in labs.

In the sidebar, click Building blocksSecrets.

The table shows each secret’s name, when it was last modified, who modified it, and where it’s used – never the value.

  1. In the sidebar, click Building blocksSecrets.
  2. Click Create.
  3. In the Name field, enter the secret’s name. Names accept letters, numbers, and underscores (for example MY_API_KEY).
  4. In the Description field, describe what the secret is for. Keep it brief but clear – this is what tells content creators how to use it.
  5. In the Value field, enter the secret value.
  6. Click Save changes.
  1. In the sidebar, click Building blocksSecrets.
  2. Click ••• on the secret and select Update.
  3. Enter the new value – the value is always required when updating. To change only the description, re-enter the current value.
  4. Click Save changes.
  1. In the sidebar, click Building blocksSecrets.
  2. Click ••• on the secret and select Delete.
  3. Click Confirm.

A lab references a secret by name through a secret resource. In the lab editor, open the Dynamic values tab, add a Secret, give it an internal name, and pick the team secret from the list. The lab stores a reference to the secret, not its value.

In lab configuration, the same looks like this:

resource "secret" "api_key" {
reference = "MY_API_KEY"
}
resource "container" "app" {
image {
name = "myapp:latest"
}
environment = {
API_KEY = resource.secret.api_key.value
}
}

For all fields and more examples – injecting secrets into containers, exec scripts, and private registry credentials – see the Secret resource reference and Dynamic values.