* Minor typo fixes
* cache node deps
* Remove unneeded script
* Remove unneeded script
* Remove redundant lint-docs step...
* Cache nodejs for static anal
* npm ci before use
* limit markdownlint to docs for now
* Move markdownlint config to root
* rename dockerfile
* use renamed dockerfile
* add Dockerfile.prod
* digest
* add publish image workflow
* add helper scripts
* start example docker compose
* fix workflow
* stage
* chmod
* stage
* nft
* must be root
* create path
* list address
* try alpine again
* remove nobody
* fix shared lib
* set wireguard endpoint
* config interface and route before starting server
* fix env var name
* move env var defaults into dockerfile
* persist private key
* migrate on start
* add create-or-reset-admin
* link env values
* clean up
* fix permission
* rename service
* add deploy
* persist pg data
* build version
* set version on build
* add gen_secrets
* fix typo
* move version to the end
* move up a little
* use map_join
* remove gen_secrets
* add gen-env
* cat
* gen more
* add telemetry
* Don't install erlang/elixir to embedded path; only used for build
* bump deps
* Use custom path
* More efforts to shrink final package size
* Change prefix
* fix path
* Use release drafter resolved version
* Publish to drafted release on merges to master
* see if this works
* underscore -> hyphen
Co-authored-by: Po Chen <chenpaul914@gmail.com>
* Found endpoint empty bug
* Fix use_site_ bugs
* Generate private keys client-side instead of on the Firezone server (#451)
* Rename events; add crypto lib
* seemingly working keygen
* Checkpoint
* Remove private key from devices; make tests pass
* Refactor auth to use simplified new router helper
* Fix js bundle
* Refactor event listeners into their own file
* Refactor settings
* Fix JS
* Working live views in unprivileged sections
* Rough draft working
* Checkpoint before fixing tests
* Tests passing
* Max devices per user configuration option (#471)
* Max tunnels per user configuration option
* Clean up remaining tunnel references
* Replace local auth system with Ueberauth / Guardian (#475)
* Checkpoint working authentication
* Working admin and unprivileged auth using Guardian
* Remove Sessions cruft
* More cleanup
* load new secrets
* Remove firezone tmp dirs
* Okta and Google Oauth (#485)
* working oauth!
* Remove keycloak; working google
* Ensure nil to_s
* Passing tests
* Add compile-time prod config
* Fix live_view typo
* Revert key_ttl to vpn_session_duration
* print logs after first configure
* Use get_env/1 for fetching optional config vars
* Disable telemetry from config
* miss the to_s
* Fix sign in page
* add tunnel admin guide
* auth path
* Fix tests
* Device editing no more (#491)