From 594ceff673a9dee4434e0533c76d2989639fa0e8 Mon Sep 17 00:00:00 2001 From: core Date: Thu, 27 Jul 2023 17:20:54 -0400 Subject: [PATCH] some minor documentation improvements --- README.md | 4 +++- docs/tfclient/index.md | 17 ++++++++++++++++- docs/tfclient/untested_os.md | 6 ++++-- index.md | 19 +++---------------- 4 files changed, 26 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 446a0b7..f44cf1c 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,9 @@ The API implementation is tested with the official dnclient implementaiton, and # Documentation -Documentation work is underway. You can find a link to all documentation on the main project page [here](https://hub.e3t.cc/~core/trifid). +You can find the documentation [here](https://man.e3t.cc/~core/trifid_docs) + +Documentation work is underway. Parts of the documentation may be broken or unfinished. # Supported Platforms diff --git a/docs/tfclient/index.md b/docs/tfclient/index.md index 4777063..e9542b8 100644 --- a/docs/tfclient/index.md +++ b/docs/tfclient/index.md @@ -1,3 +1,18 @@ # tfclient - a Rust DNClient alternative -TODO \ No newline at end of file +tfclient is an open-source Rust client for the Defined Networking "Managed Nebula" product. It is compatible with third-party servers and can be used in all the ways that normal dnclient can be used. + +## Platform support + +tfclient is supported on [most platforms](https://hub.e3t.cc/~core/trifid/#supported-platforms). tfclient is broken up into two "support tiers": + +- 'Tier 1' platforms have full support, including linking to and managing the nebula binary. No extra work is required on these platforms - just install tfclient and run! +- 'Tier 2' platforms cannot link to the nebula-ffi CGo binary due to platform limitations. On these platforms, tfclient must be compiled in [Tier 2 mode](docs/tfclient/tier-2-building.md), and the user is responsible for managing the Nebula binary and ensuring it points to the tfclient-managed config file. Documentation on how to use tfclient on Tier 2 platforms can be found [here](docs/tfclient/tier-2-building.md) + +On platforms marked 'untested', the trifid maintainers were unable to test tfclient on that platform. Help is wanted to test tfclient on as many platforms as possible! + +tfclient [should work on most platforms](docs/tfclient/why_not_this_os.md), but the authors of tfclient don't have every device and OS combo in the world. + +If you are willing to run untested software on your machine to contribute to trifid, consider [testing tfclient on your device](docs/tfclient/untested_os.md) and [reporting your findings back to us](https://lists.e3t.cc/~core/trifid-devel). This is super helpful to us and helps us maintain trifid for more platforms when we have users willing to test the latest versions and report bugs to us. If you are interested, please see [this page](docs/tfclient/untested_os.md). + +Unfortunately, [tfclient won't work everywhere](docs/tfclient/why_not_this_os.md). See [here](docs/tfclient/why_not_this_os.md) for details. diff --git a/docs/tfclient/untested_os.md b/docs/tfclient/untested_os.md index 8685001..3560ea5 100644 --- a/docs/tfclient/untested_os.md +++ b/docs/tfclient/untested_os.md @@ -6,8 +6,10 @@ There are [lots](index.md#where-does-trifid-work) of operating systems in which Notice: While tfclient is almost always perfectly safe, there are always risks to running untested software on production machines. Be careful out there! +If you aren't able to get tfclient to compile with nebula-ffi, consider trying it as a [Tier 2 platform](docs/tfclient/tier-2-building.md). Documentation on how to do this can be found [here](docs/tfclient/tier-2-building.md). + Any findings, positive or negative, can be posted straight to [trifid-devel](https://lists.e3t.cc/~core/trifid-devel). -Thanks! +Thanks! We really appreciate it. -[Return home](index.md) \ No newline at end of file +[Return home](docs/tfclient/index.md) diff --git a/index.md b/index.md index 5460e67..1e33a30 100644 --- a/index.md +++ b/index.md @@ -6,6 +6,8 @@ It includes a reimplementation of the [API Server](https://api.defined.net), the We also include a Rust library for interacting with keys and certificates in the Nebula PKI. Find it in `trifid-pki/`, or on crates.rs as `trifid-pki`. +In addition, a command-line interface for the Defined Networking management API is included, `tfcli`. + Want to make your own Defined Networking client? Check out `dnapi-rs`! `dnapi-rs` is a Rust port of the official `dnapi` Go library, to allow for easy interactions with Defined Networking-compatible API servers. Find it in `dnapi-rs/`, or on crates.rs as `dnapi-rs`. The API implementation is tested with the official dnclient implementation, and the dnclient implementation is tested with the official API server, to ensure complete feature parity between the two. @@ -34,22 +36,7 @@ The API implementation is tested with the official dnclient implementation, and # Where does trifid work? -| Operating System | trifid-api? | -|-------------------------|-----------------------------------------------------------------------------------------| -| Windows amd64 | [Yes](docs/tfclient/index.md) [(untested - help wanted!)](docs/tfclient/untested_os.md) | -| Windows arm64 | [Yes](docs/tfclient/index.md) [(untested - help wanted!)](docs/tfclient/untested_os.md) | -| Darwin (macOS) | [Yes](docs/tfclient/index.md) [(untested - help wanted!)](docs/tfclient/untested_os.md) | -| FreeBSD amd64 | [Yes](docs/tfclient/index.md) [(untested - help wanted!)](docs/tfclient/untested_os.md) | -| Linux i386 | [Yes](docs/tfclient/index.md) | -| Linux amd64 | [Yes](docs/tfclient/index.md) | -| Linux armv5 | [Yes](docs/tfclient/index.md) | -| Linux armv6 | [Yes](docs/tfclient/index.md) | -| Linux armv7 | [Yes](docs/tfclient/index.md) | -| Linux aarch64 | [Yes](docs/tfclient/index.md) | -| Android | Almost [(help wanted!)](docs/trifid_mobile/help.md) | -| iOS | Almost [(help wanted!)](docs/trifid_mobile/help.md) | -| Other operating systems | No, and [likely never will be](docs/tfclient/why_not_this_os.md) | - +See the [main trifid project page](https://hub.e3t.cc/~core/trifid) for an up-to-date platform support table. # Get in touch