There are two enrollment paths. Both are implemented as bash scripts
shipped inside the Publisher image; the chart picks one viaenrollment.mode.
mode: api (default, recommended)
1 | init container (npa-bootstrap) |
Then the publisher container starts, reads /etc/npa, and connects
to the tenant.
Properties
- Idempotent — re-running the init container on the same
commonNamere-uses the existing Publisher record. - Self-healing — if a node dies, the new pod re-enrolls automatically.
- No persistent state required — the API token is the only persistent
secret. Everything else is regenerated per pod start.
mode: token
1 | init container (npa-enroll) |
When to use
- Air-gapped tenants where the cluster cannot reach the management API.
- Strict change-management environments where token issuance is gated.
Constraint
- Token is consumed on first use. A rescheduled pod cannot re-enroll
with the same token. Pairmode: tokenwithpersistence.enabled: trueso the registered identity survives restarts.