Skip to content

Enable netapi_enable_clients in salt_master role (fix 400 Client disabled)#596

Merged
hellodk merged 3 commits into
masterfrom
fix/netapi-enable-clients
Jun 7, 2026
Merged

Enable netapi_enable_clients in salt_master role (fix 400 Client disabled)#596
hellodk merged 3 commits into
masterfrom
fix/netapi-enable-clients

Conversation

@hellodk

@hellodk hellodk commented Jun 7, 2026

Copy link
Copy Markdown
Owner

Closes #595.

Root cause (verified live on mm1)

Salt 3006+ disables all netapi clients by default. With valid creds:

  • POST /login (krisalt/PAM) → 200 + token
  • POST /run (runner test.ping) → 400 Client disabled: 'runner'. Add to 'netapi_enable_clients'

kri's salt_master role never set netapi_enable_clients, so salt-api's control plane (wheel key ops, runner status, local exec) is dead on every master kri provisions.

Fix

kri-master.conf.j2 now enables exactly the clients kri uses: local, local_async, runner, wheel. The external_auth ACL continues to scope the actual functions (least privilege).

Tests

  • test_netapi_enable_clients_595.py — asserts the four required clients are enabled and no extras.
  • test_salt_master_playbook.py still passes.

Operational follow-up (mm1, one-time, out of scope)

Re-run the role — scripts/kri saltmaster install 192.168.1.64 — or add the key to /etc/salt/master.d/kri.conf on mm1 and restart salt-api.

🤖 Generated with Claude Code

Salt 3006+ disables all netapi clients by default, so salt-api returns
"400 Client disabled: 'runner'" for every /run call even with valid PAM
auth — breaking kri's salt-api control plane on every master it provisions.
Enable exactly the clients kri uses (local, local_async, runner, wheel);
external_auth still scopes the functions. Closes #595.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@github-actions github-actions Bot added test Test coverage improvement frontend Frontend / React changes labels Jun 7, 2026
@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown

Coverage Report

83.7% on fleet_platform/services/ (gate: 80%)

Gate passed

@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown

Coverage Report

83.7% on fleet_platform/services/ (gate: 80%)

Gate passed

@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown

Coverage Report

83.7% on fleet_platform/services/ (gate: 80%)

Gate passed

@hellodk
hellodk merged commit f8e0abf into master Jun 7, 2026
10 checks passed
@hellodk
hellodk deleted the fix/netapi-enable-clients branch June 7, 2026 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

frontend Frontend / React changes test Test coverage improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

salt_master role: enable netapi_enable_clients (Salt 3006+ disables local/runner/wheel by default)

1 participant