Commit Graph

170 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
Andrew Dryga
c9f062c7c7 Remove flow logs from gateway page and some of TODOs (#2662) 2023-11-17 12:10:54 -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
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
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
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
c4a3c2a630 Deploy Metabase and demo instance with access to it (#2606) 2023-11-07 18:09:37 -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
efe54cc2ec DRY resource live controllers (#2570)
I noticed that you still can go to the old resources view from Policies
page and there were two ways to fix that:

1. Change many-to-many connection between sites and resources to
one-to-many, which means we will change domain model and drop multi-site
load balancing feature;

2. Change the templates not to hide the old views but rather make them
complimentary by accepting `site_id` query param, which slightly changed
their behavior, so that it's the same view from sites and policies, just
without a way to access Resources index page (unless future feature flag
is enabled).

This PR implements (2).
2023-11-02 23:11:11 +00:00
Jamil
457845917a Fix logo color, font, size (#2576)
- Make logo square, fix colors
- Capitalize `F` and use brand font `Source Sans Pro`
- Minor tweak to mobile screen sizes' logo
2023-11-02 20:36:55 +00:00
bmanifold
7fa7e85dec Add feature flags for TODOs and Flows (#2542)
Why:

* Some sections of the UI were still displaying `TODO` and needed to be
hidden for beta release, so a feature flag was created. Also, the
'Flows' are not ready to be utilized in the UI at this time, so a
feature flag was created to hide any mention of 'Flows'.
2023-11-01 14:45:49 -04:00
Andrew Dryga
a31e737024 Redirect to client platform callback url when user is already signed in (#2545)
This will fix the issue with shows a dashboard when you sign in and
browser cookie is still fresh
2023-11-01 11:20:20 -06:00
dependabot[bot]
e2f17f05fe build(deps): Bump argon2_elixir from 3.2.1 to 4.0.0 in /elixir (#2547)
Bumps [argon2_elixir](https://github.com/riverrun/argon2_elixir) from
3.2.1 to 4.0.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/riverrun/argon2_elixir/blob/master/CHANGELOG.md">argon2_elixir's
changelog</a>.</em></p>
<blockquote>
<h2>v4.0.0 (2023-10-07)</h2>
<ul>
<li>Enhancements
<ul>
<li>updated default configuration values in line with RFC9106</li>
</ul>
</li>
</ul>
<h2>v3.2.0 (2023-08-26)</h2>
<ul>
<li>Bug fixes
<ul>
<li>fixed Windows build for Erlang 26</li>
</ul>
</li>
</ul>
<h2>v3.1.0 (2021-03-23)</h2>
<ul>
<li>
<p>Enhancements</p>
<ul>
<li>added support for building on SunOS (Illumos / Solaris)</li>
</ul>
</li>
<li>
<p>Changes</p>
<ul>
<li>updated documentation and README</li>
<li>updated dialyxir dependency</li>
</ul>
</li>
</ul>
<h2>v3.0.0 (2021-01-20)</h2>
<ul>
<li>Enhancements
<ul>
<li>updated default memory cost and parallelism values
<ul>
<li>memory cost (m_cost) is now 16 (64 MiB) and parallelism is now
2</li>
</ul>
</li>
</ul>
</li>
<li>Changes
<ul>
<li>moved <code>gen_salt</code> to the <code>Base</code> module</li>
</ul>
</li>
</ul>
<h2>v2.4.1 (2021-01-19)</h2>
<ul>
<li>Changes
<ul>
<li>updated documentation and README</li>
</ul>
</li>
</ul>
<h2>v2.4.0 (2021-01-09)</h2>
<ul>
<li>Enhancements
<ul>
<li>updated Makefile to be more robust, especially for Nerves users</li>
</ul>
</li>
</ul>
<h2>v2.3.0 (2020-03-01)</h2>
<ul>
<li>Changes
<ul>
<li>using Comeonin v5.3, which changes <code>add_hash</code> so that it
does NOT set the password to nil</li>
</ul>
</li>
</ul>
<h2>v2.2.0 (2020-01-15)</h2>
<ul>
<li>Enhancements
<ul>
<li>Updated documentation - in line with updates to Comeonin v5.2</li>
</ul>
</li>
</ul>
<h2>v2.0.0 (2019-02-12)</h2>
<ul>
<li>Enhancements</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7be71a877b"><code>7be71a8</code></a>
feat: update defaults</li>
<li>See full diff in <a
href="https://github.com/riverrun/argon2_elixir/compare/v3.2.1...v4.0.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=argon2_elixir&package-manager=hex&previous-version=3.2.1&new-version=4.0.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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 10:37:39 -06:00
dependabot[bot]
bc2a635b0b build(deps): Bump phoenix_ecto from 4.4.2 to 4.4.3 in /elixir (#2546)
Bumps [phoenix_ecto](https://github.com/phoenixframework/phoenix_ecto)
from 4.4.2 to 4.4.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/phoenixframework/phoenix_ecto/blob/main/CHANGELOG.md">phoenix_ecto's
changelog</a>.</em></p>
<blockquote>
<h2>v4.4.3</h2>
<ul>
<li>Enhancements
<ul>
<li>Support Phoenix.HTML ~&gt; 4.0</li>
</ul>
</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bb07b9f346"><code>bb07b9f</code></a>
Release v4.4.3</li>
<li><a
href="4bab96d4ff"><code>4bab96d</code></a>
Support Phoenix.HTML v4.0</li>
<li><a
href="428fecb8c6"><code>428fecb</code></a>
Update deps, closes <a
href="https://redirect.github.com/phoenixframework/phoenix_ecto/issues/168">#168</a></li>
<li><a
href="ccf253b7cc"><code>ccf253b</code></a>
Fix typo in html.ex (<a
href="https://redirect.github.com/phoenixframework/phoenix_ecto/issues/167">#167</a>)</li>
<li>See full diff in <a
href="https://github.com/phoenixframework/phoenix_ecto/compare/v4.4.2...v4.4.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=phoenix_ecto&package-manager=hex&previous-version=4.4.2&new-version=4.4.3)](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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 10:35:49 -06:00
dependabot[bot]
0351526aeb build(deps-dev): Bump floki from 0.35.1 to 0.35.2 in /elixir (#2548)
Bumps [floki](https://github.com/philss/floki) from 0.35.1 to 0.35.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/philss/floki/blob/main/CHANGELOG.md">floki's
changelog</a>.</em></p>
<blockquote>
<h2>[0.35.2] - 2023-10-25</h2>
<h3>Fixed</h3>
<ul>
<li>Enable usage of IO data by removing a guard for binaries in the main
parser module.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="172c8e3d6a"><code>172c8e3</code></a>
Release v0.35.2</li>
<li><a
href="c2a71bc5ce"><code>c2a71bc</code></a>
Bump dialyxir from 1.4.1 to 1.4.2 (<a
href="https://redirect.github.com/philss/floki/issues/495">#495</a>)</li>
<li><a
href="944c00f290"><code>944c00f</code></a>
Rollback guard that requires only binary for parsing</li>
<li><a
href="03c2b5ac37"><code>03c2b5a</code></a>
Bump ex_doc from 0.30.8 to 0.30.9 (<a
href="https://redirect.github.com/philss/floki/issues/494">#494</a>)</li>
<li><a
href="c611523e78"><code>c611523</code></a>
Bump ex_doc from 0.30.7 to 0.30.8 (<a
href="https://redirect.github.com/philss/floki/issues/493">#493</a>)</li>
<li>See full diff in <a
href="https://github.com/philss/floki/compare/v0.35.1...v0.35.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=floki&package-manager=hex&previous-version=0.35.1&new-version=0.35.2)](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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 10:35:08 -06:00
dependabot[bot]
81b71c6a3d build(deps-dev): Bump dialyxir from 1.4.1 to 1.4.2 in /elixir (#2549)
Bumps [dialyxir](https://github.com/jeremyjh/dialyxir) from 1.4.1 to
1.4.2.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/jeremyjh/dialyxir/blob/master/CHANGELOG.md">dialyxir's
changelog</a>.</em></p>
<blockquote>
<h2>[1.4.2] - 2023-10-21</h2>
<h3>Changed</h3>
<ul>
<li>Revert minimum required Elixir version back to 1.6.</li>
<li>Improved performance in calculating Umbrella dependencies.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="7d4653cf6e"><code>7d4653c</code></a>
Merge pull request <a
href="https://redirect.github.com/jeremyjh/dialyxir/issues/522">#522</a>
from jeremyjh/jh-bump-ver-1.4.2</li>
<li><a
href="fd4edbd6ed"><code>fd4edbd</code></a>
Bump versions &amp; changelog for release.</li>
<li><a
href="e030c51967"><code>e030c51</code></a>
Merge pull request <a
href="https://redirect.github.com/jeremyjh/dialyxir/issues/521">#521</a>
from solar05/patch-1</li>
<li><a
href="2cdb1603ce"><code>2cdb160</code></a>
Update README example</li>
<li><a
href="f15b991d86"><code>f15b991</code></a>
Merge pull request <a
href="https://redirect.github.com/jeremyjh/dialyxir/issues/519">#519</a>
from David-Klemenc/then</li>
<li><a
href="c76d540c5a"><code>c76d540</code></a>
chore: remove then to be compatible with elixir 1.11</li>
<li><a
href="b4167c06e3"><code>b4167c0</code></a>
Merge pull request <a
href="https://redirect.github.com/jeremyjh/dialyxir/issues/518">#518</a>
from peek-travel/deps-tree-perf-improvements</li>
<li><a
href="c407d7c488"><code>c407d7c</code></a>
Improve performance of algorithm to determine project deps</li>
<li>See full diff in <a
href="https://github.com/jeremyjh/dialyxir/compare/1.4.1...1.4.2">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=dialyxir&package-manager=hex&previous-version=1.4.1&new-version=1.4.2)](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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 10:34:54 -06:00
dependabot[bot]
860ced7530 build(deps): Bump flowbite from 1.8.1 to 2.0.0 in /elixir/apps/web/assets (#2550)
Bumps [flowbite](https://github.com/themesberg/flowbite) from 1.8.1 to
2.0.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/themesberg/flowbite/releases">flowbite's
releases</a>.</em></p>
<blockquote>
<h2>v2.0.0</h2>
<p>This update introduces a new instance manager feature that allows you
manage all of the interactive components from a single place. This is
useful if you want to programmatically show or hide a modal, popover, or
tooltip. This also works if you use the data attributes interface.</p>
<p>This change introduces a few breaking changes to the JavaScript API
when creating objects:</p>
<ul>
<li>new <code>$carouselEl</code> HTML element when creating a
<code>Carousel</code> object as the first parameter</li>
<li>new <code>$accordion</code> HTML element when creating a
<code>Accordion</code> object as the first parameter</li>
<li>new <code>$tabsEl</code> HTML element when creating a
<code>Tabs</code> object as the first parameter</li>
</ul>
<p>The breaking changes do not apply to the data attributes interface,
only for objects created programmatically via JavaScript.</p>
<p>Learn more about the new <a
href="https://flowbite.com/docs/getting-started/javascript/">JavaScript
API on the docs</a>.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="59d0bab06a"><code>59d0bab</code></a>
Merge pull request <a
href="https://redirect.github.com/themesberg/flowbite/issues/680">#680</a>
from themesberg/instances</li>
<li><a
href="e195124d91"><code>e195124</code></a>
chore(versioning): bump to <code>v2.0.0</code></li>
<li><a
href="1671b62826"><code>1671b62</code></a>
docs(quickstart): reference JavaScript page in the introduction and
quickstar...</li>
<li><a
href="807cfb4353"><code>807cfb4</code></a>
refactor(instances): automatically override instances with the same ID
when c...</li>
<li><a
href="3c2c5acb08"><code>3c2c5ac</code></a>
chore(package): update Twitter links</li>
<li><a
href="92d61c27e6"><code>92d61c2</code></a>
docs(javascript): update version to <code>2.0</code></li>
<li><a
href="a74ca06424"><code>a74ca06</code></a>
docs(general): fix grammar typo</li>
<li><a
href="4f472b8202"><code>4f472b8</code></a>
docs(general): fix commented previews and update changelog to v2.0</li>
<li><a
href="2d0936908f"><code>2d09369</code></a>
docs(tabs): document the new parameter for the Tabs class</li>
<li><a
href="ac7bac8b89"><code>ac7bac8</code></a>
docs(general): fix milliseconds typo</li>
<li>Additional commits viewable in <a
href="https://github.com/themesberg/flowbite/compare/v1.8.1...v2.0.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=flowbite&package-manager=npm_and_yarn&previous-version=1.8.1&new-version=2.0.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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-01 08:39:58 -07:00
Andrew Dryga
4deb5797ff Try to resolve country coordinates from LB-provided country code and use US as default 2023-10-31 18:50:20 -06:00
Andrew Dryga
835c278a34 Add guide to rotate relay token 2023-10-31 16:10:49 -06:00
Andrew Dryga
d8ceccc40d Show last seen location in the UI 2023-10-31 15:48:14 -06:00
Andrew Dryga
ad26e508ff GeoIP routing and load-balancing for traffic (#2517) 2023-10-31 15:01:37 -06:00
Jamil
2bca378f17 Allow data plane configuration at runtime (#2477)
## Changelog

- Updates connlib parameter API_URL (formerly known under different
names as `CONTROL_PLANE_URL`, `PORTAL_URL`, `PORTAL_WS_URL`, and
friends) to be configured as an "advanced" or "hidden" feature at
runtime so that we can test production builds on both staging and
production.
- Makes `AUTH_BASE_URL` configurable at runtime too
- Moves `CONNLIB_LOG_FILTER_STRING` to be configured like this as well
and simplifies its naming
- Fixes a timing attack bug on Android when comparing the `csrf` token
- Adds proper account ID validation to Android to prevent invalid URL
parameter strings from being saved and used
- Cleans up a number of UI / view issues on Android regarding typos,
consistency, etc
- Hides vars from from the `relay` CLI we may not want to expose just
yet
- `get_device_id()` is flawed for connlib components -- SMBios is rarely
available. Data plane components now require a `FIREZONE_ID` now instead
to use for upserting.


Fixes #2482 
Fixes #2471

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Gabi <gabrielalejandro7@gmail.com>
2023-10-30 23:46:53 -07:00
bmanifold
01f7839d0f Update API Upstream DNS address encoding (#2534)
Why:

* The portal was not able to properly JSON encode the Clients Upstream
DNS struct.
2023-10-31 06:37:07 +00:00
bmanifold
2e55d37b38 Add Sign up ENV flag (#2526)
Why:

* During the beta launch, sign-ups will need to be disabled to make sure
no unexpected accounts are created.
2023-10-31 02:04:32 +00:00
bmanifold
4f3ae5f8fd Update button colors, rounded corners, and code block formatting (#2515)
Purely visual changes in this PR. No functionality is changed, aside
from the code blocks no longer containing html tags when copied using
the "copy to clipboard" icon.

* Button primary color has been updated
* Corner radius on buttons, input fields, etc... has been reduced
* Code blocks have been updated
2023-10-28 23:18:52 -04:00
Andrew Dryga
98383e8622 Introduce Sites (#2516)
Closes #2513
2023-10-27 13:10:36 -06:00
Andrew Dryga
e7084d5bf0 Fix typo and improve clustering logging 2023-10-25 20:03:37 -06:00
Andrew Dryga
677b1b1f40 Do not try to join to a cluster of older versions (#2493) 2023-10-24 17:04:56 +00:00
bmanifold
043cd555aa Update DNS portal config (#2432)
Why:

* After further discussion around the Client DNS settings, it was
decided that keeping both `type` and `address` would be easier to help
with validation and parsing. At the moment, only IP DNS servers are
accepted, but placeholders for `DNS over TLS` and `DNS over HTTPS` have
been created.
2023-10-20 21:16:45 +00:00
Andrew Dryga
8090df3624 Add requires step to Google Workspace provisioning guide 2023-10-19 23:49:15 -06:00
Andrew Dryga
6bfab7e376 Fix outdated examples in elixir's README.md 2023-10-19 23:14:16 -06:00
Andrew Dryga
b84786546b Bump Elixir and Terraform deps (#2431) 2023-10-18 10:27:10 -07:00
dependabot[bot]
d5f76ee63b build(deps): Bump @fontsource/source-sans-pro from 4.5.11 to 5.0.8 in /elixir/apps/web/assets (#2376)
Bumps
[@fontsource/source-sans-pro](https://github.com/fontsource/font-files/tree/HEAD/fonts/google/source-sans-pro)
from 4.5.11 to 5.0.8.
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/fontsource/font-files/commits/HEAD/fonts/google/source-sans-pro">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@fontsource/source-sans-pro&package-manager=npm_and_yarn&previous-version=4.5.11&new-version=5.0.8)](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 this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-10-18 00:19:17 +00:00
bmanifold
c4c1a67d12 DRY up heex templates (#2238)
This PR lays the ground work for making all the liveview pages more
uniform in how they are laid out by creating and updating some of the
liveview components.
2023-10-12 22:17:05 +00:00
Andrew Dryga
0aab4077f8 Fix auth flow state, bump COS to 109, enable fluentbit logging, auto-remove docker registry artifacts (#2315) 2023-10-11 16:19:47 -06:00
bmanifold
8dc869909a Update web signup page and add tests (#2305)
Why:

* The signup page was failing to allow signups due to a change in one of
the domain functions. This happened due to the UI not having tests for
the sign up page. The sign up page has been updated to use the new
domain function signature and has also had some tests added to hopefully
prevent regressions.

Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-10-11 15:16:35 -07:00
Jamil
44d14823e5 Use cached compiled deps for Elixir (#2272)
- Remove unused deps from lockfile with `mix deps.clean --unused
--unlock`
- Conditionally run `mix deps.compile` since it takes around a minute even cached
(~20s on my M1) 
- Add `mix deps.unlock --check-unused` to check for unused deps


### With `mix deps.compile`

<img width="1059" alt="Screenshot 2023-10-07 at 12 46 14 PM"
src="https://github.com/firezone/firezone/assets/167144/7a075d20-4fce-4545-b4a1-b8d57f5af06a">


```
mix deps.compile --skip-umbrella-children  2.98s user 1.83s system 27% cpu 17.252 total
```

### Without `mix deps.compile`

<img width="1046" alt="Screenshot 2023-10-07 at 3 09 23 PM"
src="https://github.com/firezone/firezone/assets/167144/060eb9d1-0e4c-42cc-9379-985a86ce383e">

---------

Co-authored-by: Andrew Dryga <andrew@dryga.com>
2023-10-10 04:17:24 +00:00
Jamil
d0d1c095c3 Fix spelling typos (#2289)
Fixes failing checks in #2284
2023-10-09 18:32:24 -07:00
Andrew Dryga
a61560701c Show flow actors (#2268)
It was hard to tell who exactly was authorized during a flow without
clicking around:
<img width="1465" alt="Screenshot 2023-10-06 at 15 53 43"
src="https://github.com/firezone/firezone/assets/1877644/26f7c865-714e-40fc-95d5-1b67e2de16cf">

Now it's possible:
<img width="1462" alt="Screenshot 2023-10-06 at 15 53 38"
src="https://github.com/firezone/firezone/assets/1877644/d4ddfd95-fa94-47a0-a73b-b3cdd31994a7">
2023-10-09 22:57:09 +00:00
Andrew Dryga
42bbafc04d Merge firezone/containers into elixir/Dockerfile for better reuse and maintainability (#2267)
Upsides:
1. We don't need to maintain a separate repo and Dockerfile just for
Elixir image (permissions, runner labels, etc)
2. No need to push intermediate images to the container registry
3. No need to copy-paste alpine/erlang/elixir version and hashes from
`firezone/containers` to `elixir/dockerfile` every time they change
4. No need to cross-compile for local dev environments, better
experience building with slow internet connection
5. One command to test if our code works on our containers but a
different alpine/erlang/elixir version

Downsides:
1. Locally devs will need to compile Erlang at least once per version,
but the whole build takes ~6 minutes on my M1 Max. It also takes only 8
minutes on the free GitHub Actions runner without any cache.
2. Worse experience on slow machines

FYI: there is no performance penalty once we have cache layers, still
takes 30 seconds on CI.
2023-10-06 15:34:47 -06:00
Andrew Dryga
c5ccef88f7 Copy entire project sooner 2023-10-06 14:17:17 -06:00
Andrew Dryga
5cd1465f85 Copy web/lib for the assets pipeline 2023-10-06 14:08:40 -06:00