Skip to content

Update installation and other-notes pages against the Postal 3.3.7 source - #93

Open
benrfairless wants to merge 7 commits into
postalserver:mainfrom
benrfairless:docs/corrections-installation-other
Open

benrfairless wants to merge 7 commits into
postalserver:mainfrom
benrfairless:docs/corrections-installation-other

Conversation

@benrfairless

Copy link
Copy Markdown
Contributor

Reviews the Welcome, Getting Started and Other Notes sections against the Postal source at tag 3.3.7 (and the postalserver/install helper repo) and brings them in line with current behaviour.

Changes

Page Key changes
Configuration Documents POSTAL_CONFIG_FILE_PATH and the $config-file-root placeholder, the GROUP_KEY environment-variable naming rule and that env vars take precedence over the file, the process-specific variables (PORT, BIND_ADDRESS, HEALTH_SERVER_*, SILENCE_POSTAL_CONFIG_MESSAGES), the smtp_relays URL format and ssl_mode values, trusted_proxies. Completes the v1 → v2 legacy key mapping (four mappings were missing: general.exception_url, message_db.prefix, logging.rails_log, smtp_server.log_connect).
Upgrading Describes what postal upgrade actually does (it runs git pull itself), version pinning, postal version, rollback caveats.
Pre-requisites Mail server databases are named {prefix}-server-{id}, not postal-*; adds an example GRANT.
Feature list Webhook history is 10 days not 7; "thread checking" → threat; adds rspamd, OIDC, Prometheus, signed webhooks, relays.
Auto-Responders & Bounces Return path address format and the custom psrp. return path, how bounces are matched via X-Postal-MsgID, what happens to unmatched bounces, and that incoming bounces do not populate the suppression list.
Our container image In-image postal CLI commands, env-var-only configuration, amd64-only image, proxy protocol, HTTP WAIT_FOR_TARGETS, migration_waiter.
Wildcards & Address Tags Exact-name routes take precedence over *; additional endpoints on wildcard routes must be HTTP; tag is preserved in rcpt_to.
Debugging Logs, health endpoints, the message Activity tab, postal test-app-smtp, host authorization errors.

Claims I could not verify from the codebase were left as-is (MariaDB "10.6 or higher", "MySQL not supported" – note upstream CONTRIBUTING.md actually says MySQL – and the client library list).

Stacked on #90, #91 and #92 (cross-links). pnpm generate passes on this branch (177 routes prerendered, no 404s from the link crawler).

New feature pages written from the 3.3.7 source:
- Routing incoming e-mail: MX vs forwarding address, route name rules,
  the five route modes and their SMTP-time behaviour, additional
  endpoints, processing order, HTTP/SMTP/address endpoint options
  (including the STARTTLS/STARTLS mismatch), retries and bounces
- Mail server settings: Live/Development, retention behaviour and
  defaults, send limits (rolling hour, 90% warning, hourly notices),
  every reason a message can be held and whether release bypasses it,
  suppression list rules, advanced/admin-only settings, suspension,
  deletion
- Sending domains: org vs server domains, DNS and e-mail verification,
  the four DNS checks with exact expected records and statuses, DKIM
  signing and fallback, custom return path for DMARC alignment,
  use_for_any
Documents the install-repo helper script: run/setup/tool commands,
flags, override files and hooks.
Generated from doc/config/yaml.yml at the 3.3.7 tag (111 options across
17 sections) with environment variable names derived using the GROUP_KEY
convention, plus cross-references to the relevant feature pages.
- Webhooks: document the {event,timestamp,uuid,payload} envelope, request
  signing headers and JWKS verification, retry schedule, 10-day history,
  SendLimit* events
- HTTP payloads: correct status-code handling (5xx retries, 429/4xx hard
  fail), per-endpoint timeout, missing payload keys, SSRF blocked ranges
  and allowed_request_destinations
- API: expand into a full reference for all four legacy endpoints,
  including parameter-error status, error codes and response shapes
- OIDC: correct user matching order (UID first, then e-mail), note that
  linking removes the local password, document manual endpoints
- Spam & virus: add rspamd and ClamAV sections, correct threshold
  semantics, document X-Postal-* headers and outbound inspection
- SMTP auth/TLS: username handling per mechanism, SMTP-IP matching,
  response table, STARTTLS-only, certificate chains
- Click tracking, health metrics, IP pools, logging: fill in behaviour
  from source (DNS OK requirement, metric list, priority weighting,
  rule matching, log options)
- Configuration: document POSTAL_CONFIG_FILE_PATH, $config-file-root,
  env var naming rules and precedence, process-specific variables, SMTP
  relay URL format and ssl_mode values, trusted proxies; complete the
  v1 -> v2 legacy key mapping
- Upgrading: describe what postal upgrade actually does, version pinning
- Prerequisites: correct message database naming (postal-server-<id>)
- Feature list: 10-day webhook history, threat checking, rspamd, OIDC,
  Prometheus, signed webhooks
- Bounces: return path address format, X-Postal-MsgID detection,
  unmatched bounce handling, bounces Postal generates
- Containers: in-image CLI commands, env-only configuration, amd64 only,
  proxy protocol, HTTP wait targets, migration waiter
- Wildcards: exact-match precedence, additional endpoint restriction
- Debugging: logs, health checks, activity tab, test-app-smtp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant