1.2.0
🎉 Octyne 1.2 introduces a brand new Unix socket API which makes the new octynectl
CLI tool for managing Octyne possible! It also:
- adds comments to the configuration file;
- marks servers for deletion when removed from config (instead of simply killing them);
- tracks users.json so users that are deleted can no longer use Octyne's API;
- overhauls the compression API with tar.gz/xz/bz2 support, ability to set
basePath
and async compression (so no more HTTP timeouts when compressing lots of files!); - The API documentation is also fully complete now, along with advice on reverse proxying and security measures to take! Errors are still not fully documented, though, but this is something that can be safely put on the backburner.
v1.2 also ships some bug fixes (e.g. better handling of when gracefully stopped, concurrent safety bugs fixed) which make it highly recommended to upgrade.
Minor Changes
- Implement Unix socket API for local actions: #14
- Support changing group ownership of Unix socket: b0ecf0d
- Support comments in config.json w/ hujson: c57f8f7
- Mark process for deletion, not killing on reload: 4ac4d17
- Stabilise extrainfo API, use object response: 82a80bc
- Invalidate tokens of deleted users: b26d929
- Add API to rename accounts: 372ea55
- Add missing API endpoints, version info to docs: f5277ae
- Add lines between endpoints, descriptions to docs: c0d486b
- Document more endpoints, reverse proxying: c712742
- Finish documenting all endpoints incl files: b85ef9a
- Document advice for account renaming API: 3be6959
- Fix documentation error, note security practices: 2df5b08
- Add tar archive de/compression support to API: c04ce2c
- Add /compress/v2 API endpoint to help clients: 30f9c99
- Add new basePath query param to compression API: 1bbfd2a
- Add new async compression API: c69506b
Patches
- Handle SIGINT/SIGTERM, gracefully stop correctly: 5d28b75
- Disable authentication endpoints over UDS: 8b5f031
- Update README, fix config reload w/ comments: 5155a07
- Fix JSON comments being stripped by PATCH /config: d8079d4
- Yay, concurrent safe
process
properties now. How these flew under the radar, I have no idea, since I tested Octyne with the Golang race detector before too, but well: a56a2ff - Store users.json in memory instead: c665136
- Rename online to status in /servers?extrainfo=true: 78ee131
- Set Content-Type on HTTP JSON responses (fix #16): 1b107cd
- Fix zip vuln, prepare for tar archive support: 2197a47
- Fix broken Redis authentication: 78177cc
x86_64 and 64-bit ARMv8 binaries can be downloaded below for Windows, macOS and Linux (built on Ubuntu 20.04), as well as a 32-bit ARMv6 Linux build. Octyne can also be compiled for other architectures like s390x, PowerPC and i386, and other Unix-like OSes supported by Golang (untested, but if you run into issues, let me know!).