97 Commits

Author SHA1 Message Date
Thomas Eizinger
fb418e51b3 chore: track pnpm and prettier in .tool-versions (#10926) 2025-11-22 07:39:46 +00:00
Thomas Eizinger
32df4b399a chore: modularize .tool-versions (#10919)
Not all tools are needed for all parts of the codebase. In order to avoid installing all tools, we create nested `.tool-versions` files that list the specific dev-tools needed for a certain part of the product.
2025-11-21 08:28:05 +11:00
Thomas Eizinger
8eb84f28f8 chore(kotlin): format generated sources (#10664)
When viewing the generated sources, code is a lot easier to follow if it
is properly formatted. For this, we need to install the `ktlint` tool.
2025-10-22 01:40:17 +00:00
Thomas Eizinger
a59f7ee2e2 chore: install JDK via .tool-versions (#10663)
For working on the Android app, we need an installation of the JDK.
Currently, that is being installed separately in CI. We already have
`.tool-versions` which is designed to take care of this so we add
OpenJDK 17 to the list of required tools and remove the dedicated CI
step.
2025-10-21 03:13:03 +00:00
Jamil
79a4aeb3a8 chore(website): add eslint (#9560)
- [x] Add eslint configured for NextJS
- [x] Add lint before build
- [x] Fix errors
2025-10-16 16:39:16 +00:00
Jamil
37472fee49 build(deps): Bump nodejs to 22 (#10586)
Bumps node from the now-unsupported 20 LTS to the currently active 22
LTS which fixes a few compile warnings for the website.
2025-10-16 08:01:59 +00:00
Thomas Eizinger
1317bbb9e2 refactor(gui-client): replace tslink with tauri-specta (#10031)
Despite still being in development, the `tauri-specta` project already
proves to be quite useful. It allows us to generate TypeScript bindings
for our commands and events, creating a type-safe contract between the
frontend and the backend.

For example, this ensures that the TypeScript code calls a command
actually with the required parameters and thus avoids runtime failures.

Similarly, the frontend can listen on type-safe events without having to
use any magic strings.
2025-07-28 21:37:24 +00:00
Jamil
9badf1fe7c chore(portal): bump elixir 1.18.4, otp 27.3.4.1 (#9673) 2025-06-25 18:39:20 +00:00
Jamil
1e94afdb98 chore: move terraform/ to private repo (#9421)
Since we'll be adding ops playbooks and other things here, it makes
sense to separate infra from product source.

---------

Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-05 19:24:06 +00:00
Jamil
a93f40befd chore(portal): Bump elixir to 1.18.2 (#8009)
This is mostly to stay up to date with current Elixir and benefit from
the new included [JSON parser](https://hexdocs.pm/elixir/JSON.html).

Removing `Jason` in favor of the embedded `JSON` parser is saved for a
[future PR](https://github.com/firezone/firezone/issues/8011).

It found a couple type violations which were simple to fix, and some
formatting changes.
2025-02-05 23:52:58 +00:00
Jamil
9838cd99c9 chore(portal): Bump erlang to 27.2.1 (#8008)
In preparation for upgrading to Elixir 1.18.
2025-02-03 21:46:00 +00:00
Jamil
6c2181d850 chore(infra): Bump terraform to 1.10 (#7751)
Caught some [weird CI
errors](https://github.com/firezone/firezone/actions/runs/12754884373/job/35551006515)
about terraform 1.9.8 cache being corrupted, so I thought I'd go ahead
and bump TF to the latest stable version.
2025-01-13 23:02:12 +00:00
Jamil
a1f4eaf5d3 fix(ci): Bump terraform to fix CI (#7012)
The versions used in CI and in our config need to match.
2024-10-11 14:49:38 -10:00
Reactor Scram
df94750d4a chore(asdf-vm): add shfmt in .tool-versions (#7006)
This is used for pre-commit so the version should be specified here

Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
2024-10-11 14:49:14 +00:00
Andrew
2291c566a6 Bump Terraform version in asdf 2024-09-18 13:47:19 -06:00
Andrew Dryga
835fc4c8eb chore(portal): Bump all deps related to portal (#6445) 2024-08-28 10:40:02 -06:00
Andrew Dryga
52d1b07a2a chore(portal): Bump Alpine to 3.20, Erlang/OTP to 27 and Elixir to 1.17 (#5349)
Two blocking issues:
-
57470a1229
to be released (its used by WorkOS package; I think in future we should
contribute to them replacing that with Finch or Req);
- https://github.com/elixir-cldr/cldr_calendars/issues/19
2024-06-24 12:27:19 -06:00
Jamil
56a8f3c974 chore(ci): Bump CI tool versions (#5285)
Bumps the tool versions that fall through the Dependabot cracks.
2024-06-10 16:13:28 +00:00
Andrew Dryga
f3c8c734ab feat(portal): Filtering, Fulltext Search, Pagination, Preloads (#3751)
On the domain side this PR extends `Domain.Repo` with filtering,
pagination, and ordering, along with some convention changes are
removing the code that is not needed since we have the filtering now.
This required to touch pretty much all contexts and code, but I went
through all public functions and added missing tests to make sure
nothing will be broken.

On the web side I've introduced a `<.live_table />` which is as close as
possible to being a drop-in replacement for the regular `<.table />`
(but requires to structure the LiveView module differently due to
assigns anyways). I've updated all the listing tables to use it.
2024-03-16 13:27:48 -06:00
Andrew Dryga
b4ccec12d0 Bump prod terraform version and re-init modules 2024-03-16 12:45:32 -06:00
Reactor Scram
2d21b73397 chore(asdf-vm): add shellcheck version (#3823)
asdf was throwing an error about this.
2024-03-01 18:31:21 +00:00
Jamil
2098060dcc feat(ci): Standardize matrix job names to prevent dupes, move jobs to macos-14 (#3447)
This should be faster than the Intel runners. Seems to be at least twice
as fast for uncached builds compared to `ubuntu-22.04`.

- [x] ~~Move elixir checks to `macos-14`~~ can't; Depends on `docker`
and `erlef/setup-beam`
- [x] Add macOS targets to rust checks
- [x] Move swift build to macos-14
- [x] Move kotlin build to macos-14
- [x] Name all jobs that are required for merge group to not depend on
job config
- [x] Update PR branch protection rules
2024-01-31 22:12:23 +00:00
Jamil
4c837afc2a chore(docs): bump deps, minor grammar fixes (#3011) 2023-12-25 22:24:42 -06:00
Andrew Dryga
af7730337c Fix service account tokens and unifile deployment scripts (#2900) 2023-12-13 14:45:59 -06:00
Andrew Dryga
52b284abd9 Terraform improvements for production (#2873) 2023-12-11 19:41:01 -06:00
Andrew Dryga
66302a5063 Production environment (#2449) 2023-10-19 19:20:51 -06:00
Andrew Dryga
b84786546b Bump Elixir and Terraform deps (#2431) 2023-10-18 10:27:10 -07:00
Andrew Dryga
24aaa4fb7e Bump tool versions to correspond to our dockerfiles 2023-10-06 15:48:54 -06:00
Andrew Dryga
77a1fedc60 Bump terraform version 2023-09-28 21:46:10 -06:00
Andrew Dryga
6750f6fd65 Enable IPv6, shield VMs, bump Terraform version 2023-09-07 23:45:18 -06:00
Andrew Dryga
8539543d3d Bump Elixir/OTP versions (#1730) 2023-07-03 23:11:47 +00:00
Andrew Dryga
e7d5d0579b Authentication for the live app (#1674)
Co-authored-by: Jamil <jamilbk@users.noreply.github.com>
2023-06-27 13:11:36 -06:00
Andrew Dryga
a7274fa671 Continuous delivery to staging (#1655) 2023-06-12 12:15:55 -06: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
0647eeebca 1.0 views (part 1) (#1599)
# Todo
- [x] Users
- [x] Groups
- [x] Devices
- [x] Gateways
2023-05-22 17:09:41 -07:00
Andrew Dryga
c5615060b4 Remove fz_vpn, fz_wall, Omnibus and start restructuring apps 2023-03-31 09:51:40 -06:00
Jamil
69335153ce Remove docs.firezone.dev CNAME (#1418)
This corresponds to step (1) of #1417
2023-02-09 15:19:19 -08:00
Jamil
49d4040b60 Add version tag to migrate script (#1400)
* Add new `VERSION` to `docker_migrate.sh` script
* Add missing `SAML_KEYFILE_PATH` and `SAML_CERTFILE_PATH` env vars to
migrate script
* Add missing `PHOENIX_PORT` var
* Bump Elixir to 1.14.3
* Bump Erlang to 25.2.1
* Update docs to document new VERSION var in docker-compose.yml upgrade
mechanism

Fixes #1395
2023-02-01 19:38:55 -08:00
Jamil
5be9b2003b Bump Elixir to 1.14.2, OTP to 25.1.2 (#1129)
* Bump Elixir to 1.14.2, OTP to 25.1.2

* bump tool versions
2022-11-18 09:55:54 -08:00
Jamil
a64d3f8c98 Bump OTP (#1028) 2022-10-16 15:36:21 -07:00
Jamil
d963929c07 0.6.0 (#1004)
* 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
2022-10-13 15:22:53 -07:00
Jamil
dd67baf629 Build docker image in build workflow; Update automatic install to use Docker (#983)
* 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
2022-09-29 08:20:32 -05:00
Jamil
7861977379 (Supercedes #950) Bump elixir (#953)
* Bump elixir to 1.14.0

* gen_env -> compile_env

* Update Dockerfiles

* Update software
2022-09-12 14:40:16 -07:00
Jamil
ea67535f9a Bump runtimes; deps; postgres 13.5 -> 13.8 (#944)
* Bump deps; runtimes; pg to 13.8

* bump npm deps

* Bump nginx

* Use PCRE over PCRE2
2022-09-01 21:08:37 -07:00
Po Chen
2a5466a0fb bumps and dev tweaks (#886) 2022-08-02 18:11:28 -07:00
Andrew
9eefca1de5 Bump nodejs to 16 lts (#772) 2022-07-25 11:47:58 -07:00
Jamil
bb0d653a2d Bump OTP to 25.0.1 (#692) 2022-06-09 15:01:29 -07:00
Jamil
f56f6b4c16 Revert to OTP 24 (#664)
* Revert to OTP 24 :-(

* Bust build cache

* Bump ICU
2022-05-31 19:37:41 -07:00
Jamil
4da7fd5a88 Cache deps for static analysis tools (#654) 2022-05-27 19:07:59 -07:00
Jamil
500faf813a Bump all runtimes; use simpler version function for app version (#634) 2022-05-19 07:38:16 -07:00