Repository navigation
Releases: pregene/autobricks-log
Release list
Autobricks True Log Client 0.3.62 — macOS arm64 / x86_64
Autobricks True Log Client 0.3.62 — macOS arm64 / x86_64
This release provides macOS installer packages for ab-truelog-cli. The client
sends logs to a Linux True Log server and queries stored WORM file metadata.
WORM storage remains on Linux; only the client is installed on macOS.
Use a Linux True Log server 0.3.61 or later supporting write and info.
Linux server and client packages
are available in a separate release.
Downloads
| File | Target |
|---|---|
autobricks-truelog-cli-0.3.62-macos-arm64.pkg |
Apple Silicon |
autobricks-truelog-cli-0.3.62-macos-x86_64.pkg |
Intel Mac |
SHA256SUMS |
Package SHA-256 checksums |
Requires macOS 13 or later.
Installation
-
Download the
.pkgmatching your Mac's architecture andSHA256SUMS. -
Verify the checksum in the download directory:
shasum -a 256 -c SHA256SUMS --ignore-missing
Confirm that the downloaded package reports
OK. -
Open the
.pkgin Installer and install on the running system volume. -
Open Terminal and run initial setup:
sudo /usr/local/bin/ab-truelog-cli setup
-
Complete the curses configuration screen:
Autobricks True Log Client - macOS setup > SERVER ADDRESS [logs.example.test] PORT [5544] MODE (Space toggles) [mtls] CLIENT HOSTNAME [example-client] CLI USER [the local user running sudo] PAIRING CODE [*********] Tab/Up/Down: move Enter: Register and start Esc: CancelSERVER ADDRESS is the actual Linux server IP address or DNS name. PORT
defaults to 5544; change it if the server uses another port. MODE defaults
to mTLS; use Space or Left/Right to toggle TCP/mTLS. CLIENT HOSTNAME identifies
the client in server-side log paths. CLI USER is the existing local account
allowed to write and query logs, defaulting to the account runningsudo.
PAIRING CODE is the server-issued eight-digit code, required only for mTLS and
masked on screen.Use Tab/Up/Down to move, Backspace to edit, Enter to register and start, and
Esc to cancel. The terminal must have at least 64 columns and 14 rows. Setup
uses macOS's built-in curses library and requires no Python or Homebrew. -
In mTLS mode, setup enrolls certificates using the server's Pairing Code and
checks an authenticated connection. Enrollment, writes and queries all use
the same configured port. TCP skips enrollment and requires a trusted network. -
After successful registration, setup saves protected settings and certificates,
registers the system launchd service and starts it. The service runs as a
dedicated unprivileged account and starts automatically at boot.
First installation does not start an unconfigured service. Cancellation and
enrollment failures preserve existing connection settings. Activation failures
attempt to restore the previous configuration and service. Setup does not delete
server data.
Usage as a regular user
Administrator privileges are needed only for installation and initial system
setup. Run these commands as the account selected in setup, without sudo or
repeated --host/--port arguments:
/usr/local/bin/ab-truelog-cli --version
/usr/local/bin/ab-truelog-cli --help
# Send one log record to the Linux server.
/usr/local/bin/ab-truelog-cli write --service example-service --data 'application started'
# Query stored metadata for a server-side WORM file.
/usr/local/bin/ab-truelog-cli info --file example-files/example.logIf /usr/local/bin is on PATH, use ab-truelog-cli directly.
write returns the server's before/after checksum receipt after its configured
durability boundary completes. info returns stored WORM metadata as JSON; it
does not read log contents or rehash the entire file. Use the actual server-side
WORM file path or a path relative to the WORM mount, replacing the example with
the file to query. Existing server authorization and path restrictions apply.
Reconfiguration, upgrades and diagnostics
# Edit saved connection settings.
sudo /usr/local/bin/ab-truelog-cli setup
# Inspect the service.
sudo launchctl print system/com.autobricks.truelog.clientmTLS reconfiguration currently requires the Pairing Code again for enrollment.
Installing a newer .pkg preserves settings and certificates and restarts an
already configured service.
Configuration is stored in /etc/autobricks-truelog-cli/client.toml. Private keys
are kept in protected certificate generation directories under the same directory.
The daemon runs as _abtruelog, owns its local socket and grants access to the
selected CLI user. The socket is not world-writable.
The server firewall must allow access to its configured RPC TCP port from the
intended client network. The client package does not modify the server firewall.
Autobricks True Log 0.3.61 — Ubuntu 22.04 / 24.04 (amd64, arm64)
Autobricks True Log 0.3.61
Changes
- Add
ab-truelog-cli info --file FILEPATHto query a server-side WORM file's stored metadata through the existing client daemon and RPC gateway. Directly created WORM files do not need True Log registration. - Accept the full mount path, a mount-relative path with a leading slash, and a mount-relative path without a leading slash. All forms resolve inside the configured WORM mount.
- Return the stored metadata fields as JSON, including the committed byte offset, checksum, retention fields, and SHA-256 checkpoint state. The query does not rehash file contents or modify storage; hidden metadata remains hidden.
- Standardize server, gateway, and client help layouts and provide client/gateway version output.
- Complete all eight packages before finalizing the package matrix and its checksum manifest.
ab-truelog-cli info --file /mnt/worm-storage/example-files/example.log
ab-truelog-cli info --file /example-files/example.log
ab-truelog-cli info --file example-files/example.logInstallation, debconf reconfiguration, service definitions, remove, and purge scripts are unchanged. Existing WORM append, retention, receipt, and checksum-chain behavior is preserved.
Update the server and client together. Running server, RPC, and client processes must be restarted to use the new request type.
Packages
Eight Debian packages are provided: server (autobricks-truelog) and client (autobricks-truelog-cli) for Ubuntu 22.04 and 24.04, each in amd64 and arm64 variants. Verify downloads against SHA256SUMS.
Validation
- 38 Rust tests passed; the mount-dependent FUSE test was not run.
- 11 lifecycle/package-finalization fixture tests passed.
- All three file-path forms returned identical metadata through the running client and server on Ubuntu 22.04 amd64. Path traversal was rejected.
- Package contents, architecture, GLIBC requirements, and SHA-256 checksums were checked. Packaged amd64 help/version commands were checked on their compatible Ubuntu environments.
- ARM64 packages were cross-compiled in amd64 Docker containers; ARM64 execution and end-to-end mTLS testing were not performed.
This release provides binary packages. Application source is not included in the public release assets.
Autobricks True Log 0.3.55 — Ubuntu 22.04 / 24.04 (amd64, arm64)
Autobricks True Log 0.3.55 — Installation and Usage
Applies to autobricks-truelog and autobricks-truelog-cli 0.3.55.
Product overview · Download True Log 0.3.55
Autobricks Log users should follow Log installation and Log usage. This guide covers True Log's own server, client, commands, and services.
Choose your True Log setup
| Use case | Required components | Follow these sections |
|---|---|---|
| Collect local syslog messages on a server | True Log server; RPC can be none |
Server installation → Local syslog integration |
| Submit records from a remote application | True Log server with TCP/mTLS; client on the application machine | Server installation → Client installation → Client writes |
| Submit records from Express | Same server/client setup; authorize the Node.js runtime account | Client installation → Express integration |
| Inspect stored chains | Administrator access to the True Log server | Server-side inspection |
The server stores records and maintains checksum chains. The client forwards requests over a persistent TCP or mTLS connection and returns the server's write receipt.
Application → ab-truelog-cli → local client daemon → TCP/mTLS
→ ab-truelog-rpc.service → ab-truelog.service → WORM storage
Select and verify packages
Select packages for each machine's Ubuntu release and architecture. The server and client may run on different machines and architectures.
. /etc/os-release
printf '%s\n' "$VERSION_ID"
dpkg --print-architecture| Ubuntu | Architecture | Server | Client |
|---|---|---|---|
| 22.04 | amd64 | autobricks-truelog-0.3.55-ubuntu-22.04-amd64.deb |
autobricks-truelog-cli-0.3.55-ubuntu-22.04-amd64.deb |
| 22.04 | arm64 | autobricks-truelog-0.3.55-ubuntu-22.04-arm64.deb |
autobricks-truelog-cli-0.3.55-ubuntu-22.04-arm64.deb |
| 24.04 | amd64 | autobricks-truelog-0.3.55-ubuntu-24.04-amd64.deb |
autobricks-truelog-cli-0.3.55-ubuntu-24.04-amd64.deb |
| 24.04 | arm64 | autobricks-truelog-0.3.55-ubuntu-24.04-arm64.deb |
autobricks-truelog-cli-0.3.55-ubuntu-24.04-arm64.deb |
amd64 means x86-64; arm64 means AArch64. Download the required packages and SHA256SUMS from the release. The automatically generated source archives contain this distribution repository's documents and do not replace the installable packages.
For the 22.04 amd64 example, verify the files you downloaded:
grep -F ' autobricks-truelog-0.3.55-ubuntu-22.04-amd64.deb' SHA256SUMS | sha256sum -c -
grep -F ' autobricks-truelog-cli-0.3.55-ubuntu-22.04-amd64.deb' SHA256SUMS | sha256sum -c -Each downloaded file must report OK. If you download all eight packages, run sha256sum -c SHA256SUMS.
Install the True Log server
Run this section on the storage server. It installs autobricks-truelog, not the client. For an existing Autobricks Log installation, read transition guidance first.
From the download directory, install dependencies and the server package. Replace the filename for other platforms.
sudo apt-get update
sudo apt-get install -y rsyslog fuse3 debconf systemd openssl python3
sudo dpkg -i ./autobricks-truelog-0.3.55-ubuntu-22.04-amd64.debdpkg does not download missing dependencies. If it reports an unmet dependency, install it with APT and rerun the package installation.
Server installation questions
| Question | Value |
|---|---|
| SOURCE path | Absolute path for private WORM backing data, for example /var/lib/autobricks-log-source. It must differ from the mount path. |
| Retention days | One retention period for the complete storage mount. Programs cannot override it. |
| RPC support | none for local-only use, or tcp / mtls for client connections. |
| Bind address | Local address on which the RPC server listens. |
| Server address | IP address or DNS name clients will actually use. Also used for the mTLS server certificate. |
| Port | RPC TCP port; default 5544. |
| Certificate fields | In mTLS mode, supply the country, region, organization, and other requested certificate information. |
Values such as 192.0.2.10 and app01.example.test are examples. Replace them with your deployment values. A wildcard bind address such as 0.0.0.0 is not a client destination. Allow the selected port between client and server through your network controls.
For mTLS, record the Pairing Code shown on the installation-complete screen and use it during client installation. Treat it as an enrollment credential. In this version it has no automatic expiry or use-count limit; enrolled clients receive shared client certificate material rather than distinct per-client certificates.
Check the server
sudo ab-truelog check
systemctl status ab-truelog.service --no-pager
findmnt /mnt/worm-storageIf TCP or mTLS is enabled:
systemctl status ab-truelog-rpc.service --no-pager
sudo ss -ltnpab-truelog.service manages WORM and logging together. Do not start an additional standalone WORM service. RPC runs separately as ab-truelog-rpc.service.
Install the True Log client
Run this section on the application machine. It installs autobricks-truelog-cli. The server must already be reachable in the selected TCP/mTLS mode.
Run installation through sudo as the user who will send initial test messages:
sudo apt-get update
sudo apt-get install -y debconf systemd acl
sudo dpkg -i ./autobricks-truelog-cli-0.3.55-ubuntu-22.04-amd64.debClient installation questions
| Question | Value |
|---|---|
| Connection mode | tcp or mtls, matching the server. |
| Client hostname | Hostname recorded in forwarded logs. Defaults to the application machine's hostname; this is not the server address. |
| Server address | Reachable server IP address or DNS name. |
| RPC port | The server's configured port; default 5544. |
| Pairing Code | mTLS only: the eight-digit code displayed by the server. |
Pairing Code input is visible. Both 12345678 and 1234-5678 formats are accepted, and whitespace is ignored. These are format examples; enter the actual code from your server.
First-time mTLS enrollment requires a code. Leave it blank only to reuse existing client certificates for the same server during an upgrade or reconfiguration. TCP mode skips enrollment and certificates; it provides no TLS encryption or certificate authentication.
Client settings are stored in /etc/autobricks-truelog-cli/client.toml, with certificates under /etc/autobricks-truelog-cli/clients/. After configuration and any required enrollment succeed, installation enables and starts the client service.
systemctl status ab-truelog-cli.service --no-pagerRetry a failed Pairing Code or enrollment
If installation stops because the code is missing, malformed, rejected, or enrollment fails:
sudo dpkg --configure autobricks-truelog-cliThe installer asks for the Pairing Code again. Replace the previous entry with the correct eight digits and complete configuration. Other saved answers are retained. Purge and reinstallation are not required to correct the code.
If the correct code still fails, check server availability, connection mode, address, and port.
Change a configured client's settings
For an already configured package:
sudo dpkg-reconfigure autobricks-truelog-cliThis reopens the mode, hostname, server address, port, and mTLS code questions. Enter a code to enroll again, or leave it blank to reuse certificates for the same server. Completing configuration restarts the client. Use dpkg --configure for an installation that is still incomplete.
Write records through the client
Run this section on the application machine, after client installation. The sudo-invoking installation user receives immediate socket access through an ACL without a new login.
ab-truelog-cli write --service example-service \
--data '{"event_id":"example-event-001","action":"policy-update"}'Do not add sudo or --hostname to application writes. The client daemon inserts its configured hostname. --service identifies the program's log chain; it is not a path or an authorization setting. Keep the service name fixed by deployment configuration.
The response contains:
hostname, service
before.file, before.filesize, before.checksum
after.file, after.filesize, after.checksum
The before and after fields are consistent checkpoints for that write. Store the complete receipt with the application event ID. The server returns success after its configured storage durability boundary; merely connecting to the local socket is not proof of storage.
A timeout, disconnect, or error exit may leave the result uncertain: the server could have committed the record before the response was lost. The client has no durable retry queue or automatic deduplication and does not replay uncertain writes. Preserve the event ID and reconcile before retrying. A business database transaction and a True Log write are not one atomic transaction.
New daily files are created on the server:
/mnt/worm-storage/example-service/truelog-YYYY-MM-DD.log
The first received message creates the file. Trusted server receive time determines the daily filename. Applications do not write directly to SOURCE or the WORM mount.
Express and Node.js integration
Install the True Log clien...
Autobricks Log 0.2.31 (linux)
Autobricks Log stores selected rsyslog messages as daily log files on the
Autobricks WORM filesystem.
Packages
Choose the package matching the Ubuntu release and CPU architecture:
- Ubuntu 22.04 amd64
- Ubuntu 22.04 arm64
- Ubuntu 24.04 amd64
- Ubuntu 24.04 arm64
Installation
Download the matching .deb file and install it with APT:
sudo apt-get update
sudo apt-get install ./autobricks-log-0.2.31-ubuntu-24.04-amd64.debDuring installation, select:
- the private
SOURCEdirectory used for WORM backing data; - the system-wide retention period in days.
The package installs /usr/bin/ablog and enables ab-worm.service and
autobricks-log.service. The fixed WORM mount is /mnt/worm-storage.
Verify the installation:
sudo ablog check
systemctl status ab-worm.service autobricks-log.service rsyslog.service
findmnt /mnt/worm-storageRoute program logs
Applications continue to use the normal syslog API. Configure rsyslog to send
only selected program names to Autobricks Log. For example, an rsyslog omprog
action for example-service uses:
if $programname == "example-service" then {
action(
type="omprog"
binary="/usr/bin/ablog ingest example-service"
confirmMessages="on"
action.resumeRetryCount="-1"
queue.type="Disk"
queue.filename="autobricks_log"
queue.saveOnShutdown="on"
)
}
Use the complete template and queue configuration in HOWTO.md. Validate and
restart rsyslog after making changes:
sudo rsyslogd -N1
sudo systemctl restart rsyslog.serviceSend a test message:
logger --tag example-service --priority local0.notice \
"policy decision completed"The daily file is created as:
/mnt/worm-storage/example-service/ablog-YYYY-MM-DD.log
Verify stored files with:
sudo ablog verify example-serviceSee INSTALL.md, HOWTO.md, and README.md for the complete installation,
sshd-only routing, storage, retention, and removal instructions.