guarzo/seat-wanderer-sync

Sync SeAT roles to Wanderer ACLs

Maintainers

Package info

github.com/guarzo/seat-wanderer-sync

Type:seat-plugin

pkg:composer/guarzo/seat-wanderer-sync

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.0 2026-04-21 13:28 UTC

This package is auto-updated.

Last update: 2026-04-21 15:29:21 UTC


README

A SeAT plugin that synchronizes SeAT roles to Wanderer access control lists (ACLs).

This is a fork of recursivetree/seat-wanderer-access-sync with reliability, safety, and maintainability improvements, published under a new package name to avoid conflicts with the upstream.

Installation

Follow the standard SeAT community-package installation steps.

The package name is guarzo/seat-wanderer-sync.

Configuration

Optional overrides in your SeAT .env or Laravel config:

Setting Default Description
wanderer-sync.timeout 10 HTTP timeout (seconds) per Wanderer API call.
wanderer-sync.retry_total 3 Retries on transient failures.
wanderer-sync.retry_backoff 0.5 Backoff factor; delay = backoff * 2^n.
wanderer-sync.retry_status_codes [500, 502, 503, 504, 429] Statuses that trigger a retry.
wanderer-sync.acl_name_cache_ttl 600 Seconds to cache the Wanderer ACL name lookup for the settings UI.

Usage

Navigate to Settings → Wanderer Sync in your SeAT UI:

  1. Add one or more Wanderer access lists (URL + ACL UUID + token).
  2. Map SeAT roles to access lists. Any SeAT user assigned to a mapped role has all their authorized characters synced to the corresponding Wanderer ACL once per hour.

Tokens are write-only: to rotate a token, delete and re-create the access list.

Why not use seat-connector?

See the upstream README. In short: Wanderer's ACL model is per-character (not per-registered-user), which doesn't fit cleanly into the seat-connector driver contract.

Development

Requires PHP 8.1+ and Composer.

composer install
vendor/bin/phpunit
vendor/bin/phpstan analyse
composer validate --strict