All notable changes to this project will be documented in this file automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY! This project adheres to Semantic Versioning.
- Api: Remove references to
is_web_accessible
device attr [Will Boyce]
- Logging: Fix a few incomplete log messages [Will Boyce]
- Lint: Enforce
prettier
coding standards [Will Boyce] - Api: Use balenaAPI v5 endpoint [Will Boyce]
- Rename: Tidy up some remaining resin references [Will Boyce]
- Core: Update npm dependencies [Will Boyce]
- Open-sourcing: Prepare for open-sourcing repository [Will Boyce]
- Update to open-balena-base 5.0.0, including nodejs 10 [Pagan Gazzard]
- Rename: Rename remaining
RESIN_
variables toBALENA_
[Will Boyce]
- Base: Update resin-base version to autoset subdomain envvars [Heds Simons]
- Dockerfile: Use
balena/open-balena-base
base image [Will Boyce]
- Open-balena: Remove CircleCI config [Will Boyce]
- Open-balena: Remove analytics scripts [Will Boyce]
- Open-balena: Rename services, scripts, etc [Will Boyce]
- Confd: Fix confd env var naming [Will Boyce]
- Logging: Configure winston log transports [Will Boyce]
- Api: Pass authorisation details using headers, not querystring [Will Boyce]
- Connect-proxy: Send logs to console (and journal) [Will Boyce]
- Config: Move openvpn secrets (certs, etc) from repo (into confd) [Will Boyce]
- Disable express' x-powered-by header [Pagan Gazzard]
- Connect-proxy: Use canAccess endpoint to authenticate tunnel requests [Will Boyce]
- Deps: Update node-tunnel to 2.x [Will Boyce]
- Connect-proxy: Authenticate API service using API or VPN keys [Will Boyce]
- Service: Fix
wrap
function not sending heartbeats [Will Boyce]
- Dns: Ensure DNS is prioritised over MDNS [Heds Simons]
- Logging: Enable logging output to also go to console [Heds Simons]
- Update to resin-base 4.3.0 [Pagan Gazzard]
- Circleci: Only deploy to staging when committer is "Resin CI" [Will Boyce]
- Bluebird: Update to 3.5.2 which includes memory fix [Will Boyce]
- Add AGPL 3.0 LICENSE and preamble/headers [Will Boyce]
- Add .resinci.yml [Jack Brown]
- Update mocha #133 [Pagan Gazzard]
- Update to pinejs-client 5.x #132 [Pagan Gazzard]
- Update to typescript 3 #132 [Pagan Gazzard]
- Run typescript validation as part of the build #129 [Will Boyce]
- Remove usage of (leaky)
Raven.requestHandler
#123 [Will Boyce]
- Convert remaining coffee src + tests to typescript #92 [Will Boyce]
- Move to latest version of
resin-base
to include MDNS support. #121 [Heds Simons]
- Remove haproxy-specific rsyslog configuration #119 [Will Boyce]
- Sync confd env backend configuration #117 [Michael Angelos Simos]
- Add confd envvar backend configuration. #105 [Michael Angelos Simos]
- Move to using
balena-root-ca.service
unit file inresin-base
to handle self-signed CAs. #111 [Heds Simons]
- Use resin-api v4 endpoints #109 [Will Boyce]
- Expose addition healthcheck service accepting PROXY #108 [Will Boyce]
- Update haproxy PROXY configuration (default: false) #106 [Will Boyce]
- Further haproxy config updates + opimisations #107 [Will Boyce]
- Update haproxy and optimise configuration #103 [Will Boyce]
- Update libnss-openvpn fixing file descriptor leak #102 [Will Boyce]
- Update base image to
resin-base:v3.3.0
#100 [Will Boyce]
- Accept ProxyProtocol in haproxy and log IP mappings #95 [Will Boyce]
- Suppress openvpn timestamps (as to avoid duplicates) #94 [Will Boyce]
- Explicitly set
compress
algorithm tolzo
#93 [Will Boyce]
- Remove deprecated options from openvpn config #88 [Will Boyce]
- Improve netmask splitting and related tests #91 [Will Boyce]
- Vertical scaling of resin-vpn and openvpn services #40 [Will Boyce]
- Report version on startup (and fix sentry release tracking) #90 [Will Boyce]
- Log device state when successfully updated #86 [Will Boyce]
- Allow override of OpenVPN keepalive values via env #84 [Will Boyce]
- Update OpenVPN (2.4) and OpenSSL (1.0.2) #82 [Will Boyce]
- Use clustering in connect proxy #79 [Will Boyce]
- Rewrite connect proxy in typescript and update node-tunnel #77 [Will Boyce]
- Log uuid of device when auth fails #78 [Will Boyce]
- Use
typed-error
for custom Error classes #75 [Will Boyce]
- Avoid flooding API with requests when many devices (dis)connect #73 [John (Jack) Brown]
- Auto-deploy master branch builds to staging #72 [Will Boyce]
- Add ability to use trusted self-signed root CAs in the VPN service, for the OnPrem solution. #66 [Heds Simons]
- Do not report
HandledTunnelingError
to Sentry #70 [Will Boyce]
- Rotate openvpn keys; add Makefile for key management #67 [John (Jack) Brown]
- Update base image to
resin-base:v2.9.2
#63 [Will Boyce]
- Update to pinejs-client ^4.2.3 #62 [Pagan Gazzard]
- Simplify errors.ts #60 [Pagan Gazzard]
captureException
should use pre-configuredRaven
#58 [Will Boyce]- Add tslint and fix lint errors #58 [Will Boyce]
- Remove GET /api/v1/clients endpoint #54 [Will Boyce]
- Report errors to sentry #38 [Will Boyce]
- Start the typescript conversion; convert src/libs/post-pool to typescript #57 [Pagan Gazzard]
- Add
Restart=always
directive to [email protected] #51 [Will Boyce] - Set "max locked memory" limit to unlimited for openvpn service #51 [Will Boyce]
- Remove jenkins scripts [Will Boyce]
- Update
resin-lint
and fix lint errors [Will Boyce]
- Add PR template [Kostas Lekkas]
- Pull device information from the API using the v2 endpoint [Ariel Flesler]
- Remove reset-all, register service on API, include service ID on connect & disconnect requests [Ariel Flesler]
- Add circle ci config [Will Boyce]
- Lint the code only on prepush hook, before running the tests [Ariel Flesler]
- Change base image to resin-base:2, remove resin-jwt dependency and use api key-based authentication [Kostas Lekkas]
- Hotfix: resolve promise chain before recursing [Petros Angelatos]
- Update openvpn config [Will Boyce]
- Add a Promise.timeout for connect/disconnect events [Pagan Gazzard]
- Implement linting on precommit and fast tests on prepush [Ariel Flesler]
- Revert "apply fix for small sndbuf/rcvbuf in openvpn" [Will Boyce]
- Apply fix for small sndbuf/rcvbuf in openvpn [Will Boyce]
- Changed the queuing logic so that it is per device, and will only send the latest state. [Internal] [Page]
- Removed reset-all when updating device state fails, just retry until it succeeds. [Internal] [Page]
- Fixed a
TypeError: Cannot read property 'statusCode' of undefined
error. [Internal] [Page]
- Defined timeouts on all requests, to help with hung connections. [Internal] [Page]
- Decreased amount of times to retry a request, so it doesn't retry essentially forever. [Internal] [Page]
- Increased max clients to 32768 [Internal] [Page]
- Fix unused and undefined variables [Internal] [Kostas]
- Added bw_by_user.sh script for calculating the bandwidth used by user's devices on VPN [Internal] [Praneeth]
- Update to [email protected] - Fix eternal FIN-WAIT-2 by dropping support for half-closed connections [External][Kostas]
- Improved tunneling error logging [Internal] [Kostas]
- Use forked libnss-openvpn to fix leaked file descriptors. [Internal] [Aleksis]
- Whitelist device port 22222 for proxy api key [External] [Kostas]
- Remove legacy activePort so that resin-vpn can safely be restarted. [Internal] [Aleksis]
- Use resin-lint [Internal] [Kostas]
- Remove device port 4200 from web access whitelist [External] [Kostas]
- Updated dependencies [Internal] [Page]
- Reduce noise in logs [Internal] [Kostas]
- Always restart resin-vpn.service if process exits or is killed. [Internal] [Kostas]
- Wait a while after starting VPN to do the reset-all, to reduce the number of devices that appear offline during the mass reconnect. [Internal] [Page]
- Fixed client events http status code check. [Internal] [Aleksis]
- Update pinejs-client to include the escaping fix. [Internal] [Page]
- Updated to the new resin-base. [Internal] [Page]
- Use the uuid to connect to the device, rather than relying on the api reported vpn_address which may be incorrect. [Internal] [Page]
- Updated the vpn server certificate for another two years, to
Nov 23 16:10:32 2017 GMT
[Internal] [Page] - Switched to a purely etcd backed confd. [Internal] [Page]
- Updated resin-base to include nodejs v4. [Internal] [Page]
- Removed reverse-proxy as it's going to continue living in resin-proxy with fixes. [Internal] [Page]
- Allow connecting to devices via uuid rather than ip, using
${uuid}.vpn
[Internal] [Page] - Fix the grammar of the proxy error pages. [Page]
- Added winston logging module and improved logging on tunnel requests.
- Fixed an rsyslogd infinite restart loop when there is no logentries token. [Page]
- Use JWT to authenticate requests from the API. [Aleksis]
- Try to populate the docker cache before building. [Page]
- Switched to using a tagged version of resin-base. [Page]
- Added a /ping endpoint. [Aleksis]
- Switched to http/1.0 for the reverse proxy - necessary for some nc versions (eg OSX). [Aleksis]
- Always used the short commit hash for tagging. [Petros]
- Improved test script. [Aleksis]
- Switched logentries to TLS. [Petros]
- Switched to using some published modules. [Aleksis]
- Added VPN reverse proxy. [Aleksis]
- Report additional data on auth fail. [Lorenzo]
- Changed to support newer resin-base with confd 0.10.0 [Page]
- Added VPN proxy. [Aleksis]
- Cleaned up openvpn-nc. [Aleksis]
- Disable autogeneration of openvpn services. [Petros]
- Fix reset-all error handler [Aleksis]
- Fix VPN race condition causing incorrect online/offline state [petrosagg]
- Use less aggressive keepalive settings [petrosagg]
v0.1.1
- Request API to reset all clients state when VPN starts and on event message failure. [Aleksis]
- Fix race condition of /dev/net/tun device node creation [petrosagg]
- Fix typo in client authentication [Page]
v0.1.0
- Switched to using resin-base. [Aleksis]
- Improved tests and made them able to be run by jenkins. [Aleksis]