Commit Graph

32 Commits

Author SHA1 Message Date
Jamil
57133122e0 feat(ci): Architect e2e test suite (#3043)
Adds an overview document with a proposed plan and test bed architecture
for e2e testing the clients.

Drivers are available for [each platform using
Appium](https://appium.io/docs/en/2.3/ecosystem/drivers/).
2024-01-02 16:07:13 +00:00
Jamil
d2c5968217 refactor(portal): Remove Dashboard, Landing pages and use sign_in for unauthenticated landing (#2175)
Fixes #2062
Fixes #2064 
Fixes #2063 


<img width="573" alt="Screenshot 2023-09-27 at 1 53 15 PM"
src="https://github.com/firezone/firezone/assets/167144/3e487475-4e63-4aa0-8614-57579bb4aa95">
2023-09-29 02:28:59 +00:00
Gabi
eb5fc34f35 CI: add a flow that test client to resource ping (#1729)
This PR fixes a bunch of small things to allow a new flow to test
clients pinging a resource within docker compose.

Masquerade/Forwarding is enabled directly in the container for now, this
might change in the future.

Also added a README to be able to run this locally.

---------

Signed-off-by: Gabi <gabrielalejandro7@gmail.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-07-05 03:17:26 +00:00
bmanifold
d5d39b9c35 CONTRIBUTING.md updates (#1704)
**Update CONTRIBUTING.md**

Why:

* The CONTRIBUTING.md doc seems to have fallen slightly out of date with
      how Firezone now works.  This commit updates the doc to provide a
quick start guide for getting all of the various Firezone components
up and running as quick as possible. The doc then links to the more
      specific `Elixir` and `Rust` README.md files in the respective
      directories to help developers who would like to contribute.
      
**Update docker-compose vault health check**

 Why:

* The current Vault health check listed in the docker-compose file does
not seem to be working when using `localhost` in the `wget` command.
      Updating the URL to use `127.0.0.1` seems to have fixed it.

---------

Signed-off-by: bmanifold <bmanifold@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-06-27 19:10:12 -07:00
Andrew Dryga
d9eb2d18df Deployment for the cloud version (#1638)
TODO:
- [x] Cluster formation for all API and web nodes
- [x] Injest Docker logs to Stackdriver
- [x] Fix assets building for prod

To finish later:
- [ ] Structured logging:
https://issuetracker.google.com/issues/285950891
- [ ] Better networking policy (eg. use public postmark ranges and deny
all unwanted egress)
- [ ] OpenTelemetry collector for Google Stackdriver
- [ ] LoggerJSON.Plug integration

---------

Signed-off-by: Andrew Dryga <andrew@dryga.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-06-06 15:03:26 -06:00
Jamil
643330fcbe Merge blog site into docs, serve at subpaths (#1419)
- [x] Move all docs to be served under `/docs` prefix
- [x] Merge blog articles and serve under `/blog` prefix
- [x] Remove docs side bar for blog content
- [x] Remake marketing site pages in markdown/react
- [x] Serve marketing site under root path
- [x] Update all old links and paths to use new prefixes
2023-02-15 16:52:16 -08:00
Jamil
1de24ff77e REST API (#1155)
### TODO

- [x] "/v0"
- [x] Double-check migration order; re-timestamp if necessary
- [x] Move `sites` fields to `configurations` so they can be updated
from API
- [x] #1240 -- it introduces possible race conditions for API requests
- [x] #1249 
- [ ] #1008 
- [ ] Final review

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Andrew Dryga <andrew@dryga.com>
2022-12-31 12:58:11 -06:00
Jamil
de3919fb69 Add SupportOptions component and utm_source for links (#1219)
This PR also moves to `yarn` for docs package management for improved
speed, security, and developer experience. Docusaurus prefers yarn.

Refs firezone/marketing#126
2022-12-24 16:16:55 -06:00
Andrew Dryga
28fe571543 Small improvements to make setup process easier for OS contributors (#1171)
* 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
2022-12-06 15:07:45 -08:00
Jamil
2720200b68 Update CONTRIBUTING.md
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
2022-10-21 10:51:31 -07:00
Jamil
dd11c728b0 Better validate OIDC and SAML configs (#1026)
* Bump postgres to release; Note on Caddy cert

* default auto_create_users

* Validate SAML and OIDC configs better

* Fix failing test
2022-10-15 18:33:32 -07:00
Gabi
23db81fae5 Build/729/different reverse proxy (#795)
* Removes disabling SSL and adds remote_ip lib

* Fix to use remote_ip when not proxy

* Add trusted_proxy to config

* Add proxy_forwarded prameter to config and improve logging

* Fix trusted_proxy list parsing

* Fix ip formatting

* Expect JSON array for trusted_proxy

* fix proxied-related plug loading runtime

* fix typo

* checkpoint

* add traefik draft

* add logging

* woops

* adding logging for debug

* rollback debugging logs

* docs refinement

* Fix markdown lints

* remove disabling proxy_forwarded option for prod

* rename, improve docs and add clients config

* change dev_secure to secure_cookies

* Set proxy_forwarded as true by default

* remove proxy_forwarded in favor of nil trusted_proxies

* renaming and doc improvement

* build fix

* jamilbk changes

Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com>
2022-07-25 11:47:58 -07:00
Jamil
2de119a49e Docker dev polish (#803)
* 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>
2022-07-25 11:47:58 -07:00
Po Chen
bfbb671d32 Docker DEV (#737) 2022-07-25 11:47:58 -07:00
Gabi
463f13877b Fix migrations and expand CONTRIBUTING.md docs (#661) 2022-05-31 07:41:42 -07:00
Po Chen
b993584496 Update CONTRIBUTING.md (#577)
* Update CONTRIBUTING.md

* Update CONTRIBUTING.md
2022-05-05 16:54:30 -07:00
Jamil
4acd54b050 Fixes for local development (#562)
* Fixes for local development

A few issues that I ran into getting this up on my local machine.
I also made sure it works now properly on Github Codespaces which
will hopefully make it easier for devs to get started.

- Username/Pass docs updated to correct values
- Add runtime.exs and migrate releases.exs over to it as recommended by
Elixir 1.11 release notes
- Update Endpoint to allow for proxy passed headers if enabled with
PROXY_FORWARDED
- Add missing .env file section to CONTRIBUTION
- Add a sample .env file (.env.sample) to help getting started
- Update docs to show how to use Github Codespaces with an external
URL.
- Remove unused alias from dev (which I think doesn't work anyway due to
compile time restrictions, only in runtime or releases.exs)
- Ensure pre-commit is in path and available on devcontainer
- Simplify some docker commands, remove unneeded ports.

* Update runtime.exs with resolved conflicts

Co-authored-by: Mark Percival <m@mdp.im>
2022-04-29 08:23:20 -07:00
Mark Percival
04ad5d5134 Add devcontainer, update dev setup (#554)
- Add a devcontainer to allow development on Codespaces
  - Dockerfile for the dev environment
  - docker-compose for postgres service
  - Use .tool-version and asdf to setup docker dev
- Update dev instructions to fix issue where tests fail when seed is
run before tests, causing certain tests to fail (mostly next ip tests)
2022-04-26 10:38:25 -07:00
Jamil
150fd5fc03 Minor docs fixes (#505)
* Minor docs fixes

* MD012 fix

Co-authored-by: Jason Gong <jason@firez.one>
2022-03-15 20:32:22 -05:00
Jamil Bou Kheir
57d92f2fd1 SSO lead gen 2022-01-26 08:46:53 -08:00
Jamil Bou Kheir
c6e06f15ea contributing guide 2021-09-25 14:25:52 -07:00
Jamil Bou Kheir
fe02faa91e install/uninstall better instructions 2021-09-23 23:36:40 -07:00
Jamil Bou Kheir
5b93332453 Remove unneeded trademark symbol from WireGuard mark 2021-09-22 16:44:45 +00:00
Jamil Bou Kheir
3759f6d65d Rename instances 2021-07-10 06:29:16 -07:00
Jamil Bou Kheir
cdb719fe74 Rename fireguard -> cloudfire 2021-06-28 08:44:03 -07:00
Jamil Bou Kheir
f170ff6f5c Disable signup implies only one user 2021-03-10 11:14:55 -08:00
Jamil Bou Kheir
a2c3620ee0 Docs Update 2020-10-22 08:54:17 -05:00
Jamil Bou Kheir
b31244637f Unicode 2020-05-04 17:20:59 -07:00
Jamil Bou Kheir
455086499f Fix guide 2020-05-04 17:19:10 -07:00
Jamil Bou Kheir
046b2e04fe markdown 2020-05-04 17:12:03 -07:00
Jamil Bou Kheir
984610dc48 Markdown anyone? 2020-05-04 17:09:08 -07:00
Jamil Bou Kheir
8fabf24026 Add CONTRIBUTING.md 2020-05-04 17:07:04 -07:00