From 67aeb009e975ac3ea59c64034594ac80e952d17b Mon Sep 17 00:00:00 2001 From: Thomas Eizinger Date: Tue, 27 Feb 2024 12:12:57 +1100 Subject: [PATCH] chore: move markdown files into `docs/` directory (#3773) Apart from the LICENSE, GitHub supports detecting all of these files also within a `docs/` directory. This includes the README! --- .github/workflows/_static-analysis.yml | 9 +++++++ CODE_OF_CONDUCT.md => docs/CODE_OF_CONDUCT.md | 0 CONTRIBUTING.md => docs/CONTRIBUTING.md | 12 ++++----- MAINTAINERS.md => docs/MAINTAINERS.md | 0 NOTICE.txt => docs/NOTICE.txt | 0 README.md => docs/README.md | 26 +++++++++---------- SECURITY.md => docs/SECURITY.md | 0 elixir/mix.exs | 2 +- .../tunnel/src/device_channel/tun_darwin.rs | 2 +- scripts/README.md | 2 +- .../deploy/security-considerations/readme.mdx | 2 +- website/src/app/docs/readme.mdx | 2 +- website/src/components/FAQ/readme.mdx | 2 +- 13 files changed, 34 insertions(+), 25 deletions(-) rename CODE_OF_CONDUCT.md => docs/CODE_OF_CONDUCT.md (100%) rename CONTRIBUTING.md => docs/CONTRIBUTING.md (95%) rename MAINTAINERS.md => docs/MAINTAINERS.md (100%) rename NOTICE.txt => docs/NOTICE.txt (100%) rename README.md => docs/README.md (89%) rename SECURITY.md => docs/SECURITY.md (100%) diff --git a/.github/workflows/_static-analysis.yml b/.github/workflows/_static-analysis.yml index ba1c788b6..da431ad09 100644 --- a/.github/workflows/_static-analysis.yml +++ b/.github/workflows/_static-analysis.yml @@ -20,6 +20,15 @@ jobs: exit 1 fi + link-check: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 + - uses: lycheeverse/lychee-action@v1.9.0 + with: + fail: true + args: --offline --verbose --no-progress **/*.md + global-linter: runs-on: ubuntu-22.04 steps: diff --git a/CODE_OF_CONDUCT.md b/docs/CODE_OF_CONDUCT.md similarity index 100% rename from CODE_OF_CONDUCT.md rename to docs/CODE_OF_CONDUCT.md diff --git a/CONTRIBUTING.md b/docs/CONTRIBUTING.md similarity index 95% rename from CONTRIBUTING.md rename to docs/CONTRIBUTING.md index aa0da81d0..1f6241094 100644 --- a/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -65,7 +65,7 @@ When you want to test every component together the ideal way to go is to use docker. To do this you first need a seeded database, for that follow the steps on the -[Elixir's README](elixir/readme#running-control-plane-for-local-development). +[Elixir's README](../elixir/README.md#running-control-plane-for-local-development). Then you can do: ```sh @@ -132,7 +132,7 @@ Email: firezone@localhost Password: Firezone1234 ``` -The [`docker-compose.yml`](docker-compose.yml) file configures the Docker +The [`docker-compose.yml`](../docker-compose.yml) file configures the Docker development environment. If you make any changes you feel would benefit all developers, feel free to open a PR to get them merged! @@ -167,7 +167,7 @@ setup properly. While not strictly required, we use [asdf-vm](https://asdf-vm.com) to manage language versions for Firezone. You'll need to install the language runtimes -according to the versions laid out in the [.tool-versions](.tool-versions) file. +according to the versions laid out in the [.tool-versions](../.tool-versions) file. If using asdf, simply run `asdf install` from the project root. @@ -188,17 +188,17 @@ pip: `pip install pre-commit`. ### Elixir Development If you are interested in contributing to the Web Application/API, please read -the detailed info found in the [Elixir Developer Guide](elixir/README.md) +the detailed info found in the [Elixir Developer Guide](../elixir/README.md) ### Rust Development If you are interested in contributing to the Gateway, Relay, or client library, please read the detailed info found in the -[Rust Developer Guide](rust/README.md) +[Rust Developer Guide](../rust/README.md) ### Shell script Development -See [scripts/README](scripts/README.md). +See [scripts/README](../scripts/README.md). ## Reporting Bugs diff --git a/MAINTAINERS.md b/docs/MAINTAINERS.md similarity index 100% rename from MAINTAINERS.md rename to docs/MAINTAINERS.md diff --git a/NOTICE.txt b/docs/NOTICE.txt similarity index 100% rename from NOTICE.txt rename to docs/NOTICE.txt diff --git a/README.md b/docs/README.md similarity index 89% rename from README.md rename to docs/README.md index 70a1fa857..852fa3d8a 100644 --- a/README.md +++ b/docs/README.md @@ -89,21 +89,21 @@ Firezone is **not:** This is a monorepo containing the full Firezone product, marketing website, and product documentation, organized as follows: -- [elixir](./elixir): Control plane and internal Elixir libraries: - - [elixir/apps/web](./elixir/apps/web): Admin UI - - [elixir/apps/api](./elixir/apps/api): API for Clients, Relays and Gateways. -- [rust/](./rust): Data plane and internal Rust libraries: - - [rust/gateway](./rust/gateway): Gateway - Tunnel server based on WireGuard +- [elixir](../elixir): Control plane and internal Elixir libraries: + - [elixir/apps/web](../elixir/apps/web): Admin UI + - [elixir/apps/api](../elixir/apps/api): API for Clients, Relays and Gateways. +- [rust/](../rust): Data plane and internal Rust libraries: + - [rust/gateway](../rust/gateway): Gateway - Tunnel server based on WireGuard and deployed to your infrastructure. - - [rust/relay](./rust/relay): Relay - STUN/TURN server to facilitate + - [rust/relay](../rust/relay): Relay - STUN/TURN server to facilitate holepunching. - - [rust/linux-client](./rust/linux-client): Linux client. - - [rust/windows-client](./rust/windows-client): Windows client. -- [swift/](./swift/apple): macOS / iOS clients. -- [kotlin/](./kotlin/android): Android / ChromeOS clients. -- [website/](./website): Marketing website and product documentation. -- [terraform/](./terraform): Terraform files for our cloud infrastructure: - - [terraform/modules/gateway-google-cloud-compute](./terraform/modules/gateway-google-cloud-compute): + - [rust/linux-client](../rust/linux-client): Linux CLI client. + - [rust/gui-client](../rust/gui-client): Cross-platform GUI client. +- [swift/](../swift/apple): macOS / iOS clients. +- [kotlin/](../kotlin/android): Android / ChromeOS clients. +- [website/](../website): Marketing website and product documentation. +- [terraform/](../terraform): Terraform files for our cloud infrastructure: + - [terraform/modules/gateway-google-cloud-compute](../terraform/modules/gateway-google-cloud-compute): Example Terraform module for deploying a Gateway to a Google Compute Regional Instance Group. diff --git a/SECURITY.md b/docs/SECURITY.md similarity index 100% rename from SECURITY.md rename to docs/SECURITY.md diff --git a/elixir/mix.exs b/elixir/mix.exs index d4fbaacfe..243ddbfe2 100644 --- a/elixir/mix.exs +++ b/elixir/mix.exs @@ -16,7 +16,7 @@ defmodule Firezone.MixProject do ], docs: [ logo: "apps/web/assets/static/images/logo.svg", - extras: ["README.md", "SECURITY.md", "CONTRIBUTING.md"] + extras: ["docs/README.md", "docs/SECURITY.md", "docs/CONTRIBUTING.md"] ], deps: deps(), dialyzer: [ diff --git a/rust/connlib/tunnel/src/device_channel/tun_darwin.rs b/rust/connlib/tunnel/src/device_channel/tun_darwin.rs index ce745d930..262e0156d 100644 --- a/rust/connlib/tunnel/src/device_channel/tun_darwin.rs +++ b/rust/connlib/tunnel/src/device_channel/tun_darwin.rs @@ -93,7 +93,7 @@ impl Tun { // by this point. So instead, we iterate through all file descriptors looking for the one corresponding // to the utun interface we have access to read and write from. // - // Credit to Jason Donenfeld (@zx2c4) for this technique. See NOTICE.txt for attribution. + // Credit to Jason Donenfeld (@zx2c4) for this technique. See docs/NOTICE.txt for attribution. // https://github.com/WireGuard/wireguard-apple/blob/master/Sources/WireGuardKit/WireGuardAdapter.swift for fd in 0..1024 { tracing::debug!("Checking fd {}", fd); diff --git a/scripts/README.md b/scripts/README.md index 28d5ededd..564c490bd 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -23,7 +23,7 @@ shellcheck --severity=warning **/*.sh ``` You can achieve this more easily by using `pre-commit`. See -[CONTRIBUTING](../CONTRIBUTING.md#pre-commit). +[CONTRIBUTING](../docs/CONTRIBUTING.md#pre-commit). ### Editor setup diff --git a/website/src/app/docs/deploy/security-considerations/readme.mdx b/website/src/app/docs/deploy/security-considerations/readme.mdx index 53da23881..2fc19f550 100644 --- a/website/src/app/docs/deploy/security-considerations/readme.mdx +++ b/website/src/app/docs/deploy/security-considerations/readme.mdx @@ -58,4 +58,4 @@ the local authentication method. ## Reporting security issues To report any security-related bugs, see -[our security bug reporting policy ](https://github.com/firezone/firezone/blob/main/SECURITY.md). +[our security bug reporting policy ](https://github.com/firezone/firezone/blob/main/docs/SECURITY.md). diff --git a/website/src/app/docs/readme.mdx b/website/src/app/docs/readme.mdx index 50e110045..c88ddea9a 100644 --- a/website/src/app/docs/readme.mdx +++ b/website/src/app/docs/readme.mdx @@ -51,4 +51,4 @@ These docs explain how to deploy, configure, and use Firezone. We deeply appreciate any and all contributions to the project and do our best to ensure your contribution is included. To get started, see -[CONTRIBUTING.md](https://github.com/firezone/firezone/blob/main/CONTRIBUTING.md). +[CONTRIBUTING.md](https://github.com/firezone/firezone/blob/main/docs/CONTRIBUTING.md). diff --git a/website/src/components/FAQ/readme.mdx b/website/src/components/FAQ/readme.mdx index 7921d1f67..9ff6ac18f 100644 --- a/website/src/components/FAQ/readme.mdx +++ b/website/src/components/FAQ/readme.mdx @@ -229,4 +229,4 @@ remains inaccessible from the internet, with no visible entry points. Firezone helps improve organizations’ cybersecurity posture by offering a modern approach to securing access to sensitive Resources in their private network. -[Read our security disclosure policy](https://github.com/firezone/firezone/blob/main/SECURITY.md) +[Read our security disclosure policy](https://github.com/firezone/firezone/blob/main/docs/SECURITY.md)