* Remove _build folders for umbrella apps
For umbrella apps everything goes into /_build directory so there no need to ignore directories that should never be created
* Change mix aliases to be more aligned with what OS community would expect
1. We want ecto.create and ecto.migrate to be run on each tests, this will simplify setup steps (no need to run migrations manually)
2. ecto.remigrate is not needed because now you can just run ecto.drop and on tests migrations would be executed anyways.
* Rename docker-compose step name in CONTRIBUTING.md
The step was renamed here: dd67baf629 (diff-67a4805fdcc6145d7b3ada2a6099a9b2e91c9d0fd108c22f95d2f01d219793d1R10)
* Remove .devcontainer
This an is opinionated change. Right now devcontainer doesn't work but should be easy to fix (with renaming step name), but at the same time it forces developers that use VS code to have unified development environment (including plugins for the editor itself).
I feel like it's not a good path to go for OS and for small team - everyone should be allowed to use setup they like. Especially for people like me that tend to recompile ls-elixir for Elixir plugin from master branch.
Plus it's yet another thing to maintain while nobody on the team is using it, which means it will be always causing issues.
* Make fz_http mix.exs aliases aligned with umbrella app ones
* Redirect stderr to stdout in a command called from dev.exs
Otherwise I'm getting this on my MacOS (that has a `route` implementation that doesn't show interfaces) when `mix phx.server` is executed:
```
usage: route [-dnqtv] command [[modifiers] args]
```
* Fix race condition due to static device field values
Both public_key and name are unique and we should not use static values for field covered by unique index, otherwise deadlocks and slow tests are expected.
* Remove unwanted transaction block
The changeset code doesn't have any code that accesses the database and individual Ecto.SQL commands are already wrapped in transactions by default, so there is no need to start it manually and hold for longer than expected (while irrelevant Elixir code is running).
* Use netstat to identify egress interface on MacOS
* Rename uninstall.sh to omnibus-uninstall.sh
* Fix uninstall path in omnibus_build.yml
* fix: use caddy in host network_mode and make sure urls have a scheme
* fix: remove unnecesary exposed ports
* fix: remove support for hostnames begining with // since caddy doesn't support it
* Fix schemeless external URLs; error on invalid ones (#1090)
* Fix schemeless external URLs; error on invalid ones
* use different dockerfile for linux vs non-linux
* Use conditional EXTERNAL_URL defaults
* suppress empty warning
* postgres volume location
* Use inline Caddyfile
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
* 0.6.0
* Make OIDC and SAML user provisioning configurable per-provider (#1015)
* Got ugly migration to work
* Move auto_create_users to per-provider config
* Update deps to bust cache
* Update Process sleep
* Update docs with Auto create users
* working migration script (#1013)
* Add telem for Docker and SAML (#1020)
* Add telem for Docker and SAML
* Omit unneeded format
* Test docker prod build in CI
* Need uses
* Set build-args
* Split builds
* Fix build-args format
* wtf
* hmmm
* Jeebus
* build version based on drafted release
* Build multi-platform images
* Only build for supported platforms
* Use newer OTP fingers crossed
* Use OTP 24 for arm64
* Finalize test build of Docker image
* Update comment
* Bump to OTP 25.1
* Use proper ver
* D'oh proper sha
* Use OTP 24 and install python for node build
* Use new Docker base
* Use python3
* Use newly-built base images with other platform support
* Don't build for ppc64le and s390x
* Build only for amd64/arm64
* Don't rebuild on publish; simply copy
* See where the image is being pushed
* Remove echo
* Add docker updates
* Match platforms from base image
* Use docker-compose over docker compose
* Use our own base
* we need python3
* use consistent service name
* trim trailing slash from external_url
* Build for latest tag in staging
* Update install script to setup and install firezone from cloudsmith repo
* silence source repo file not found when removing
* Update docs with cloudsmith repo instructions, add feedback message to uninstall
* Fix supported platforms link
* add upgrade note to post install pkg script & only grep config file for check if it exists
* Clean up install server doc links
* use apt-get instead of apt, add RHEL 7,8,9 & OLS 7,8,9
* Use more cross platform compatible terminal text styles
* checkpoint
* Docker dev environment final root cause analysis
* Update CONTRIBUTING.md
* Update apps/fz_common/lib/fz_net.ex
Co-authored-by: Po Chen <chenpaul914@gmail.com>
Co-authored-by: Po Chen <chenpaul914@gmail.com>
* issue-187: getting some POC in for feedback 🐼
* updating install script
* install condition for dep|rpm 🐉🔧
* ci checks looks like whitespace :ruby: :police:
* linter hrm maybe I run that locally
* :retab and match file extensions with neiborhing scripts
* using hostnamectl data to help determine which release to download
* self review
* testing on ubuntu reveals some logic to fix
* not sure if wireguard is on any of these images using this find process
* changes based on testing feedback
* using curl over wget to download the package
* applying changes from the test branch
* updating kernel check logic
* removing debugging code
* adding -r option when displaying kernal info
* Add install script polish (#493)
* Add install script polish
* don't remove firewall table
Co-authored-by: Debian <admin@ip-172-31-5-138.us-west-2.compute.internal>
Co-authored-by: Rob Ortiz <rob@dragonwrench.com>
Co-authored-by: Ubuntu <ubuntu@ip-172-31-1-124.us-west-2.compute.internal>
Co-authored-by: Rob Ortiz <robert.ortiz@gmail.com>
Co-authored-by: Rob Ortiz <robert.a.ortiz@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)