{% extends "config/base.html" %} {% import "site_shell/_macros.html" as ui %} {% block title %}Enrollment Tokens - Pychestrate Configuration{% endblock %} {% block content %} {% if minted is defined and minted %}
Token {{ ui.truncate_id(minted.token_id, 8) }} minted for pod "{{ minted.pod_name }}" in project "{{ minted.project_label }}"

Shown once — save it now. The secret cannot be retrieved again.

{% for warning in minted.warnings | default([]) %}

{{ warning }}

{% endfor %}

Enrollment token secret:

{{ minted.secret }}

Next steps — on the client machine, enroll and then start the runtime:

{{ minted.enroll_command }}
{{ minted.run_command }}

Do not reload this page: it would send the form again. If you do, no second token is made.

Setting up a new machine? The pod guide covers installing the client, running it as a service, upgrading it, and what its errors mean.

{% endif %}

Mint New Token

{% if project_choices %} {{ ui.field_error(errors, 'project_id') }}

The project whose jobs the enrolled client will run.

{% else %}

There are no projects yet. Create a project first, then come back to mint a token for it.

{% endif %}
{{ ui.field_error(errors, 'pod_name') }}

The label the client enrolls under — the value it passes as --name. The token only enrolls a client with this label.

Optional. Blank defaults to {{ default_ttl_seconds }} seconds.

{% for token in tokens %} {% else %} {{ ui.empty_state("No enrollment tokens found", colspan=7) }} {% endfor %}
Token ID Project Pod label Status Issued Expires Actions
{{ ui.truncate_id(token.token_id, 8) }} {% if token.project_id in project_labels %}{{ project_labels[token.project_id] }}{% else %}{{ ui.truncate_id(token.project_id) }}{% endif %} {{ token.pod_name }} {{ ui.status_badge(token.status) }} {% if token.redeemed_by_client_id %}
by client {{ ui.truncate_id(token.redeemed_by_client_id, 8) }}{% if token.redeemed_at %} on {{ token.redeemed_at | local_datetime(false, '—') }}{% endif %}
{% endif %}
{{ token.issued_at | local_datetime(false, '—') }} {{ token.expires_at | local_datetime(false, '—') }} {% if token.status.value == 'PENDING' %}
{% else %} - {% endif %}

{% set token_count = tokens | length %}Total: {{ token_count }} token{{ '' if token_count == 1 else 's' }}

{% include "site_shell/_local_times.html" %} {% include "site_shell/_copy_buttons.html" %} {% endblock %}