Sign Up

SecretService

Service for managing organization-scoped Daytona Secrets.

Secrets can be created, listed, retrieved, updated, and deleted, and referenced when creating a Sandbox via the secrets field on the create-sandbox parameters. The plaintext value is write-only and is never returned by the API; the Sandbox only ever sees the Secret's opaque placeholder, and the real value is substituted at the network egress layer for the Secret's allowed hosts.

Methods

create()

public Secret create(CreateSecretParams params)

Creates a new Secret.

Parameters:

  • params CreateSecretParams - creation parameters; name must match ^[a-zA-Z_][a-zA-Z0-9_-]*$ and be unique within the organization

Returns:

  • Secret - created Secret (without the plaintext value)

Throws:

  • io.daytona.sdk.exception.DaytonaConflictException - if a Secret with the same name already exists
  • io.daytona.sdk.exception.DaytonaException - if creation fails

list()

public ListSecretsResponse list()

Lists Secrets in the organization one page at a time, using default query parameters.

try (Daytona daytona = new Daytona()) {
ListSecretsResponse page = daytona.secret().list();
System.out.printf("Fetched %d of %d secrets%n", page.getItems().size(), page.getTotal());
for (var secret : page.getItems()) {
System.out.println(secret.getName() + " (" + secret.getId() + ")");
}
}

Returns:

  • ListSecretsResponse - page of Secrets; nextCursor is null when there are no more pages

Throws:

  • io.daytona.sdk.exception.DaytonaException - if the API request fails

list()

public ListSecretsResponse list(ListSecretsQuery query)

Lists Secrets in the organization one page at a time. Pass the nextCursor from a previous response as the query cursor to fetch the next page.

try (Daytona daytona = new Daytona()) {
ListSecretsQuery query = new ListSecretsQuery();
query.setLimit(50);

while (true) {
ListSecretsResponse page = daytona.secret().list(query);
System.out.printf("Fetched %d of %d secrets%n", page.getItems().size(), page.getTotal());
for (var secret : page.getItems()) {
System.out.println(secret.getName() + " (" + secret.getId() + ")");
}
if (page.getNextCursor() == null) {
break;
}
query.setCursor(page.getNextCursor());
}
}

Parameters:

  • query ListSecretsQuery - optional filter, sort, and pagination parameters; may be null

Returns:

  • ListSecretsResponse - page of Secrets; nextCursor is null when there are no more pages

Throws:

  • io.daytona.sdk.exception.DaytonaException - if the API request fails

get()

public Secret get(String secretId)

Retrieves a Secret by ID.

Parameters:

  • secretId String - Secret identifier

Returns:

  • Secret - matching Secret

Throws:

  • io.daytona.sdk.exception.DaytonaNotFoundException - if no Secret with the given ID exists
  • io.daytona.sdk.exception.DaytonaException - if the request fails

update()

public Secret update(String secretId, UpdateSecretParams params)

Updates an existing Secret. Omitted (null) fields are left unchanged.

Parameters:

  • secretId String - Secret identifier
  • params UpdateSecretParams - fields to update

Returns:

  • Secret - updated Secret

Throws:

  • io.daytona.sdk.exception.DaytonaNotFoundException - if no Secret with the given ID exists
  • io.daytona.sdk.exception.DaytonaException - if the request fails

delete()

public void delete(String secretId)

Deletes a Secret by ID.

Parameters:

  • secretId String - Secret identifier

Throws:

  • io.daytona.sdk.exception.DaytonaNotFoundException - if no Secret with the given ID exists
  • io.daytona.sdk.exception.DaytonaException - if deletion fails