Commit Graph

2967 Commits

Author SHA1 Message Date
Jamil
a5b6929fbf Capitalize logo (#2666)
Forgot to make this consistent. Alternatively we could use a text logo
with the text in-place.
2023-11-18 16:50:29 +00:00
Jeff S
aa29200dea Blog post: secure remote access makes remote work a win-win (#2642)
Review & approve

---------

Signed-off-by: Jeff S. <148512665+jefferenced@users.noreply.github.com>
Co-authored-by: Jamil Bou Kheir <jamilbk@users.noreply.github.com>
2023-11-18 16:13:48 +00:00
Andrew Dryga
b054c88a62 Finish implementing performance testing (#2665) 2023-11-17 20:22:11 -06:00
Andrew Dryga
c9f062c7c7 Remove flow logs from gateway page and some of TODOs (#2662) 2023-11-17 12:10:54 -06:00
Andrew Dryga
c0c8d879d0 Upload perfomance test results 2023-11-17 01:22:11 -06:00
Gabi
aec5b97012 Add performance tests for client-gateway communication (#2655) 2023-11-17 00:32:34 -06:00
Gabi
7528a765fb connlib: fix incorrect assumption for buffer size that was causing panics (#2663)
There was an incorrect assumption with buffer size that was causing a
panic (detected on macos client)
2023-11-17 04:13:45 +00:00
Andrew Dryga
54f83f43a3 Fix typo 2023-11-16 22:13:31 -06:00
Andrew Dryga
091a8ddbc8 Copy major and major-minor containers to prod 2023-11-16 21:17:34 -06:00
Andrew Dryga
61221f3899 Add host.firezone.local to the demo server 2023-11-16 12:16:43 -06:00
Andrew Dryga
1ab3fdd3b5 Ephemeral gateways (#2656)
- [x] Fixed docker run command to mount a volume at `/etc/firezone`
- [x] Fixed systemd unit file to prope setcap, create writeable
`/etc/firezone` directory, use non-root user, etc
- [x] Removed `FIREZONE_ID` from our terraform scripts

Now on Sites index we only show online gateways:
<img width="1728" alt="Screenshot 2023-11-15 at 18 04 12"
src="https://github.com/firezone/firezone/assets/1877644/b532f200-0420-4427-acff-a3b8623560c5">

On the Site view we also show only online ones with a link to see all:
<img width="1728" alt="Screenshot 2023-11-15 at 18 02 33"
src="https://github.com/firezone/firezone/assets/1877644/9774dfac-4340-41d4-8404-586e081505f5">

All can be seen on a separate page:
<img width="1728" alt="Screenshot 2023-11-15 at 18 02 27"
src="https://github.com/firezone/firezone/assets/1877644/5d135f60-c7af-4e48-9ebb-626ff7461316">

Some of the functions I've added are pretty dirty hacks, we really need
to implement filters from #2029 to properly implement those and remove
code duplicates.
2023-11-16 11:17:22 -06:00
Gabi
683723ee17 connlib: fix logging string for macos (#2658)
filter for macos wasn't being applied correctly, this fixes that.
2023-11-16 06:11:42 +00:00
Gabi
bc8f438a56 feat(connlib): directly send wireguard traffic instead of tunneling it through WebRTC datachannels (#2643)
This PR started as part of a degradation in performance for the
gateways.

The way to test performance in a realistic enviroment is using a GCP vm
as a client and an AWS vm as a gateway with a single iperf server behind
the gateway.

Then the `iperf` results with current main:

```
Connecting to host 172.31.92.238, port 5201
Reverse mode, remote host 172.31.92.238 is sending
[  5] local 100.83.194.77 port 58426 connected to 172.31.92.238 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  1.01 MBytes  8.50 Mbits/sec                  
[  5]   1.00-2.00   sec  1.14 MBytes  9.59 Mbits/sec                  
[  5]   2.00-3.00   sec   699 KBytes  5.73 Mbits/sec                  
[  5]   3.00-4.00   sec  1.11 MBytes  9.31 Mbits/sec                  
[  5]   4.00-5.00   sec   664 KBytes  5.44 Mbits/sec                  
[  5]   5.00-6.00   sec   591 KBytes  4.84 Mbits/sec                  
[  5]   6.00-7.00   sec   722 KBytes  5.91 Mbits/sec                  
[  5]   7.00-8.00   sec   833 KBytes  6.83 Mbits/sec                  
[  5]   8.00-9.00   sec   738 KBytes  6.04 Mbits/sec                  
[  5]   9.00-10.00  sec   836 KBytes  6.85 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.06  sec  8.78 MBytes  7.32 Mbits/sec    3             sender
[  5]   0.00-10.00  sec  8.23 MBytes  6.90 Mbits/sec                  receiver

iperf Done.
```

Most of the performance problems were due to using SCTP and DTLS.

So I created a
[fork](https://github.com/firezone/webrtc/tree/expose-new-endpoint) of
webrtc that let us circumvent those, since we don't need them because we
are depending on wireguard for encryption.

With those changes much better throughput is achieved:

```
gabriel@cloudshell:~ (firezone-personal-instances)$ iperf3 -R -c 172.31.92.238
Connecting to host 172.31.92.238, port 5201
Reverse mode, remote host 172.31.92.238 is sending
[  5] local 100.83.194.77 port 51206 connected to 172.31.92.238 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  5.60 MBytes  47.0 Mbits/sec                  
[  5]   1.00-2.00   sec  17.2 MBytes   144 Mbits/sec                  
[  5]   2.00-3.00   sec  15.8 MBytes   132 Mbits/sec                  
[  5]   3.00-4.00   sec  14.8 MBytes   125 Mbits/sec                  
[  5]   4.00-5.00   sec  15.9 MBytes   133 Mbits/sec                  
[  5]   5.00-6.00   sec  15.8 MBytes   133 Mbits/sec                  
[  5]   6.00-7.00   sec  15.3 MBytes   128 Mbits/sec                  
[  5]   7.00-8.00   sec  15.6 MBytes   131 Mbits/sec                  
[  5]   8.00-9.00   sec  15.6 MBytes   131 Mbits/sec                  
[  5]   9.00-10.00  sec  16.0 MBytes   134 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.05  sec   151 MBytes   126 Mbits/sec   74             sender
[  5]   0.00-10.00  sec   148 MBytes   124 Mbits/sec                  receiver

iperf Done
```

However, this is still worse than it was achieved with a previous
commit(`21afdf0a9a113c996d60a63b2e8c8f32d3aeb87`):
```
gabriel@cloudshell:~ (firezone-personal-instances)$ iperf3 -R -c 172.31.92.238
Connecting to host 172.31.92.238, port 5201
Reverse mode, remote host 172.31.92.238 is sending
[  5] local 100.100.68.41 port 49762 connected to 172.31.92.238 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  6.14 MBytes  51.5 Mbits/sec                  
[  5]   1.00-2.00   sec  17.1 MBytes   144 Mbits/sec                  
[  5]   2.00-3.00   sec  22.8 MBytes   191 Mbits/sec                  
[  5]   3.00-4.00   sec  23.5 MBytes   197 Mbits/sec                  
[  5]   4.00-5.00   sec  23.0 MBytes   193 Mbits/sec                  
[  5]   5.00-6.00   sec  22.1 MBytes   185 Mbits/sec                  
[  5]   6.00-7.00   sec  23.0 MBytes   193 Mbits/sec                  
[  5]   7.00-8.00   sec  22.7 MBytes   190 Mbits/sec                  
[  5]   8.00-9.00   sec  21.0 MBytes   176 Mbits/sec                  
[  5]   9.00-10.00  sec  19.9 MBytes   167 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.05  sec   204 MBytes   170 Mbits/sec  127             sender
[  5]   0.00-10.00  sec   201 MBytes   169 Mbits/sec                  receiver
```

My profiling suggested that this is due to reading/writing packets
happening in its own dedicated tasks. So much so that maybe in the
future we should even consider spawning their own dedicated runtime so
that those loops have a dedicated OS thread.

Also, probably using a multi-queue interface will give us huge gains if
we have a dedicated task for each queue(currently the interface is
started as a multi-queue but a single file descriptor is used) for
handling multiple concurrent clients.

However, the changes proposed in this PR are good enough for now as long
as performance don't degrade.

In that line I will create a CI that reports the throughput using the
local `docker-compose.yml` file that we should always check before
merging, that is not the be all end all of the performance story but for
smaller PRs the correlation to real world throughput should be enough.

For bigger PRs we should manually test before merging for now, until we
have a way in CI to spin up some realistic tests(note that vms should be
in separate cloud enviroments, the same-cloud links are so reliable that
we miss actual performance degradation due to dropped packets). On this
note I'll write a small manual on how to conduct those tests with full
current results that we should use always before merging new PRs that
affect the hot-path. cc @thomaseizinger

Finally, when testing these changes I found some flakiness regarding the
re-connection path. So I changed things so that we cleanup connections
only using wireguard's error(connection expiration). This is quite slow
for now (~120 seconds) but in the future we can issue an ice restart
each time wireguard keepalive expires(rekey timeout) so that we can
restart connection each ~30 seconds and we can reduce the keepalive time
out from the portal to accelerate it even more. And in the future we can
get smarter about it.

---------

Co-authored-by: Thomas Eizinger <thomas@eizinger.io>
2023-11-16 02:59:48 +00:00
Andrew Dryga
ce7c5198fa Deploy Metabase to production
Closes https://github.com/firezone/firezone/issues/2527
2023-11-15 17:04:23 -06:00
dependabot[bot]
95bfd5bb02 build(deps): Bump env_logger from 0.10.0 to 0.10.1 in /rust (#2637)
Bumps [env_logger](https://github.com/rust-cli/env_logger) from 0.10.0
to 0.10.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-cli/env_logger/blob/main/CHANGELOG.md">env_logger's
changelog</a>.</em></p>
<blockquote>
<h2>[0.10.1] - 2023-11-10</h2>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="36623f573b"><code>36623f5</code></a>
chore: Release env_logger version 0.10.1</li>
<li><a
href="8a033d8438"><code>8a033d8</code></a>
chore: Fix packaging</li>
<li><a
href="9df7e6c081"><code>9df7e6c</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/env_logger/issues/241">#241</a>
from ChrisDenton/simple-insert</li>
<li><a
href="46ccdd94f5"><code>46ccdd9</code></a>
perf: Replace <code>HashMap</code> with a <code>Vec</code></li>
<li><a
href="bdc96a421f"><code>bdc96a4</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/env_logger/issues/249">#249</a>
from atouchet/v10</li>
<li><a
href="983837c47b"><code>983837c</code></a>
Update links and remove broken badge</li>
<li><a
href="dcd220dfaf"><code>dcd220d</code></a>
Update listed version number</li>
<li><a
href="36b1508ea1"><code>36b1508</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/env_logger/issues/260">#260</a>
from y-yagi/2018-edition</li>
<li><a
href="6f64347c6a"><code>6f64347</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-cli/env_logger/issues/282">#282</a>
from epage/syntax</li>
<li><a
href="b29735781a"><code>b297357</code></a>
chore: Update docs and examples to 2018 edition</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-cli/env_logger/compare/v0.10.0...v0.10.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=env_logger&package-manager=cargo&previous-version=0.10.0&new-version=0.10.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2023-11-15 22:20:01 +00:00
dependabot[bot]
d666cb2b39 build(deps): Bump proptest from 1.3.1 to 1.4.0 in /rust (#2635)
Bumps [proptest](https://github.com/proptest-rs/proptest) from 1.3.1 to
1.4.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="63ef67c71f"><code>63ef67c</code></a>
[Release] 1.4.0 : adds missing changelog entries (<a
href="https://redirect.github.com/proptest-rs/proptest/issues/397">#397</a>)</li>
<li><a
href="3d40220e74"><code>3d40220</code></a>
Merge pull request <a
href="https://redirect.github.com/proptest-rs/proptest/issues/393">#393</a>
from tzemanovic/tomas/compile-fail-must-be-debug</li>
<li><a
href="a9123f3eda"><code>a9123f3</code></a>
Merge pull request <a
href="https://redirect.github.com/proptest-rs/proptest/issues/389">#389</a>
from proptest-rs/tomas/nightly-coroutine-trait</li>
<li><a
href="0a1ba017f8"><code>0a1ba01</code></a>
fix 🤷</li>
<li><a
href="5e17be759b"><code>5e17be7</code></a>
fix nightly build (re: <a
href="https://redirect.github.com/rust-lang/rust/pull/116958">rust-lang/rust#116958</a>)</li>
<li><a
href="6f534cb228"><code>6f534cb</code></a>
Merge pull request <a
href="https://redirect.github.com/proptest-rs/proptest/issues/377">#377</a>
from sameer/master</li>
<li><a
href="d6f95d46e7"><code>d6f95d4</code></a>
Update compiletest_rs requirement from 0.9 to 0.10 (<a
href="https://redirect.github.com/proptest-rs/proptest/issues/383">#383</a>)</li>
<li><a
href="8b0670379b"><code>8b06703</code></a>
Update regex-syntax requirement from 0.7 to 0.8 (<a
href="https://redirect.github.com/proptest-rs/proptest/issues/386">#386</a>)</li>
<li><a
href="f8c489d42b"><code>f8c489d</code></a>
Update message-io requirement from 0.17.0 to 0.18.0 (<a
href="https://redirect.github.com/proptest-rs/proptest/issues/384">#384</a>)</li>
<li><a
href="539bd55416"><code>539bd55</code></a>
Enable Dependabot (<a
href="https://redirect.github.com/proptest-rs/proptest/issues/380">#380</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/proptest-rs/proptest/compare/v1.3.1...v1.4.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=proptest&package-manager=cargo&previous-version=1.3.1&new-version=1.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <dependency name> major version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's major version (unless you unignore this specific
dependency's major version or upgrade to it yourself)
- `@dependabot ignore <dependency name> minor version` will close this
group update PR and stop Dependabot creating any more for the specific
dependency's minor version (unless you unignore this specific
dependency's minor version or upgrade to it yourself)
- `@dependabot ignore <dependency name>` will close this group update PR
and stop Dependabot creating any more for the specific dependency
(unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore <dependency name>` will remove all of the ignore
conditions of the specified dependency
- `@dependabot unignore <dependency name> <ignore condition>` will
remove the ignore condition of the specified dependency and ignore
conditions


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2023-11-15 22:19:43 +00:00
bmanifold
0ddc4825fc Disable signups in prod temporarily (#2649) 2023-11-15 11:28:55 -06:00
Jamil
216eb94bda 1.0 docs structure (#2629)
Refs #2021

---------

Co-authored-by: Brian Manifold <bmanifold@gmail.com>
2023-11-15 16:10:48 +00:00
bmanifold
141d4c801e Update resource index to link to individual site (#2648)
Small bug fix in the Resource index view. All the entries in the `SITES`
column were linking to the sites index, rather than an individual site
show page.

Closes: #2624
2023-11-15 14:44:36 +00:00
Andrew Dryga
d1d07e8401 Hotfix merged typos, Sign In form content, Sign Up email content (#2645)
I fixed a few typos that slipped in in the last UX PR. Also a few minor
changes:

Sign In as a client doesn't show the "client" link in the bottom any
more:
<img width="1728" alt="Screenshot 2023-11-14 at 13 46 24"
src="https://github.com/firezone/firezone/assets/1877644/7226078c-7f66-41b5-9fd4-e6e44b56fd35">

Extra ---or--- separator is removed when there are no recently used
accounts:
<img width="1728" alt="Screenshot 2023-11-14 at 13 46 29"
src="https://github.com/firezone/firezone/assets/1877644/c2463ca5-0967-4fe7-ac60-5f5179ea30d8">

Emails send after you sign up don't include sign in link right away,
just a link to a form so that you won't loose in in future. Addresses
"Session token is expired/incognito windows" in #2631
<img width="1728" alt="Screenshot 2023-11-14 at 14 32 30"
src="https://github.com/firezone/firezone/assets/1877644/4f6d4c79-b5ed-448a-9915-2616ed71c9b9">

I've allowed email token to be used along with magic link when signing
in as @jefferenced requested multiple times:
<img width="1728" alt="Screenshot 2023-11-14 at 14 23 58"
src="https://github.com/firezone/firezone/assets/1877644/8b9b5afe-5c65-4893-b6ef-107a0b683c31">
<img width="1728" alt="Screenshot 2023-11-14 at 14 24 50"
src="https://github.com/firezone/firezone/assets/1877644/c02db5df-5158-4bf3-93ff-80d9d6c82cbe">

Closes #2299
2023-11-14 14:57:16 -06:00
Andrew Dryga
33ab23b636 Cleanup UX and fix a bunch of TODOs (#2641)
This PR cleans up a lot of TODO and some issues I've discovered while
fixing them, there are _a few_ UI changes.

We show `(you)` next to your name on the actor view page, where
`Profile` link goes from the dropdown menu:
<img width="1728" alt="Screenshot 2023-11-13 at 19 05 35"
src="https://github.com/firezone/firezone/assets/1877644/f52b2531-e3be-4d3a-a587-4f9f54ca2c49">

Relays were way behind Gateways in terms of view code, so I changed them
to be exactly the same:
<img width="1728" alt="Screenshot 2023-11-13 at 18 54 39"
src="https://github.com/firezone/firezone/assets/1877644/a9f0905d-80d2-4e91-a744-c4baf7ad4a7c">

We also show authorizations on the Actor page because previously to find
"what this user did" you had to go through all user clients
individually:
<img width="1728" alt="Screenshot 2023-11-13 at 18 54 27"
src="https://github.com/firezone/firezone/assets/1877644/02ada445-e175-427e-99de-f9fa5bdd5aab">

I've noticed there is some confusion around sign-in slugs so I added a
home page where you can use ID or slug to get the in link (not all the
clients will know you need to put that in the URL) and recently used
accounts:
<img width="1728" alt="Screenshot 2023-11-13 at 18 54 06"
src="https://github.com/firezone/firezone/assets/1877644/ccfb9198-ed1f-4b3e-a26f-b76bab24243c">

Buttons to copy the code are more visible now, I've used our accent
color but am open to better ideas:
<img width="1728" alt="Screenshot 2023-11-13 at 19 10 29"
src="https://github.com/firezone/firezone/assets/1877644/a2c0658e-1003-409b-b5ad-d5d3ade60a10">

When code is copied it's also more visible:
<img width="699" alt="Screenshot 2023-11-13 at 19 11 41"
src="https://github.com/firezone/firezone/assets/1877644/62e793d2-d760-4aa7-9a42-92a6bbfcbf52">

We also do not redirect from that page automatically, but the large
button becomes green with the text changed:
<img width="660" alt="Screenshot 2023-11-13 at 19 12 11"
src="https://github.com/firezone/firezone/assets/1877644/780dcde3-8018-4405-91e5-984288431ec1">
2023-11-14 13:02:21 -06:00
Andrew Dryga
c4a44f44fc Show a page suggesting creating a policy after resource is created (#2615) 2023-11-13 13:57:44 -06:00
Andrew Dryga
43a3842b1f Use account slugs as URI param and fix auth redirects bug (#2619)
The only exception for this is IdP redirect URL's that must be
configured on a third-party system, we will keep using ID's for them so
that if slug changes users don't need to go and reconfigured all the
IdPs.
2023-11-13 13:57:25 -06:00
Jamil
299563edb5 Simplify product roadmap (#2626)
Still need to configure the view to show rough dates/times, but this
should suffice for now.

Fixes firezone/gtm#205
2023-11-10 17:03:30 +00:00
Jamil
ce428d6ea7 Add trademark (#2625)
Fixes firezone/gtm#206
2023-11-10 15:51:47 +00:00
Andrew Dryga
93fc55077a Fix gravatar email picking to work with IdPs (#2621) 2023-11-09 15:13:05 -06:00
Andrew Dryga
b8316fb30b Redirect to Sites as default post-login location and move them up to be first in the menu (#2616)
Closes #2584
2023-11-09 14:22:47 -06:00
Roopesh Chander
99bb9c8026 apple: Fix bugs in persisting of settings to the tunnel configuration (#2613)
Fixes #2608.

This PR fixes bugs in persisting settings to the tunnel (so this is a
follow-up to PR #2540).
2023-11-09 17:39:56 +00:00
Andrew Dryga
4eb2c91633 Send welcome emails (#2618)
And block colliding account slugs from being created.

Closes #2599
2023-11-09 11:41:58 -06:00
Andrew Dryga
a7701c07de Override default API url in local/staging envs (#2611) 2023-11-09 11:41:38 -06:00
Andrew Dryga
e89b5339f9 Remove account sign up link on user sign in form (#2617)
This was confusing - people can be thinking that they create a user
account for their organization while IRL they will be creating a
Firezone account.

Closes #2583
2023-11-09 16:34:50 +00:00
Andrew Dryga
8f1d76dde2 Add optional name field to relays (#2544)
The idea is to allow users to explicitly name them so they are easier to
identify in the UI.

@thomaseizinger we will need to add an optional `FIREZONE_NAME`
environment variable for the relays and send it along with other
attributes when you connect to a WebSocket.
2023-11-09 16:34:39 +00:00
Andrew Dryga
216fbde5ba Fix the way how tags list is built 2023-11-08 15:37:16 -06:00
Andrew Dryga
b2895ec7d9 Do not push versioned tags on PR branches 2023-11-08 11:04:33 -06:00
Thomas Eizinger
16b41bf14c refactor(connlib): encapsulate Device (#2591)
We encapsulate the internals of `Device` by providing high-level
functions on `Device` itself and make all the fields private. From the
outside, each consumer this only has an `Arc<Device>` that they can
interact with.

To achieve this, we use the `arc-swap` crate to atomically swap out the
reference to the `Arc<Device>` instead of relying on an `RwLock`. Note
that the _reference_ to this `ArcSwapOption` is also wrapped in an `Arc`
because we need to share this pointer across many `peer_handler`s.

Once we get rid of `Arc<Tunnel>`, this will become a lot simpler.
2023-11-08 06:52:21 +00:00
Andrew Dryga
aa14be0280 Release major.minor container versions 2023-11-07 18:09:54 -06:00
Andrew Dryga
c4a3c2a630 Deploy Metabase and demo instance with access to it (#2606) 2023-11-07 18:09:37 -06:00
Andrew Dryga
04eaeb9041 Concurrency control for release artifacts 2023-11-07 16:53:24 -06:00
Andrew Dryga
28fecca415 Delete stale assets and use gh cli tool 2023-11-07 16:50:57 -06:00
bmanifold
23e8029acc Add traffic filter feature flag (#2568)
Why:

* The traffic filter functionality is not quite ready in the system as a
whole, so the web UI will give the ability to hide the section of the
forms to allow for a better end user experience.
2023-11-07 22:19:28 +00:00
Andrew Dryga
3d44b0e626 Try with a draft: true 2023-11-07 16:14:42 -06:00
Andrew Dryga
0cafa7edbd Try to find a way for action not to create a new release 2023-11-07 15:33:35 -06:00
Andrew Dryga
b1aaa74976 Trim trailing whitespace
My VSCode doesn't want to work properly with Github Action Files.
2023-11-07 14:38:14 -06:00
Andrew Dryga
6fe0bc229e Fix outputs and try both solutions 2023-11-07 14:04:50 -06:00
Andrew Dryga
30aad4e052 Fix gh command 2023-11-07 13:32:39 -06:00
Andrew Dryga
2831405de1 Trim trailing whitespace in cd.yml 2023-11-07 12:32:35 -06:00
Andrew Dryga
627b6c97b6 Try using gh cli to upload the release assets 2023-11-07 11:58:24 -06:00
Andrew Dryga
013c633539 Try a different gh action to upload release asset 2023-11-07 11:49:24 -06:00
Andrew Dryga
cb6f63641f Also release major and major.minor -tagged containers 2023-11-07 10:35:25 -06:00
Andrew Dryga
8c35e3a4fa Deploy a demo instance to staging project 2023-11-07 10:30:09 -06:00