From 6b173610f8d5d4f582a394b09dd6f04b3eaf51f9 Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Wed, 21 Aug 2024 22:48:06 +0100 Subject: [PATCH 1/7] dic: add page on gpg keys --- src/skynet/gpg.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/skynet/gpg.md diff --git a/src/skynet/gpg.md b/src/skynet/gpg.md new file mode 100644 index 0000000..f13856a --- /dev/null +++ b/src/skynet/gpg.md @@ -0,0 +1,28 @@ +# GPG Keys +GPG keys are a way to verify who you are online. +They can be integrated with git and dev tools such as Jetbrain's IDE's + +## Using Keys +### Command Line +This site is a good site for info. https://gock.net/blog/2020/gpg-cheat-sheet + +### GUI tools +I use Kleopatra as a GUI tool. +It has Windows and Linux versions (including NixOS) + +### Security +{Add section on keeping keys secure ehre, such as only using subkeys on devices} + +## Open Governance Signing +{add stuff about open governance signing here} + +## Troubleshooting +### Forgejo GPG verification failure +If you are trying to verify a gpg key on Forgejo and it keeps failing it may be because your key has more than one subkey. +The solution is: + +01. Make a backup of your gpg key. +02. Delete all but one subkey + * This key must be a signing key +03. Run the command Forgejo gives ye +04. Restore the original key (if ye desire) \ No newline at end of file From 85da87e6b252e3e775e1e33ff2fef3215c6fecd0 Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Wed, 21 Aug 2024 23:23:04 +0100 Subject: [PATCH 2/7] nix: since dev and build were using teh same packages --- flake.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/flake.nix b/flake.nix index 586c0a0..c5d2d21 100644 --- a/flake.nix +++ b/flake.nix @@ -8,24 +8,25 @@ outputs = { self, nixpkgs, utils, }: utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages."${system}"; + + # find these here https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=python312Packages.mkdocs + packages = with pkgs.python3Packages; [ + mkdocs + mkdocs-material + ]; + in { defaultPackage = pkgs.stdenv.mkDerivation { name = "skynet-wiki"; src = self; - buildInputs = [ - pkgs.python3Packages.mkdocs - pkgs.python3Packages.mkdocs-material - ]; + buildInputs = packages; buildPhase = "mkdocs build"; installPhase = "mkdir -p $out; cp -R site/* $out;"; }; devShells.default = pkgs.mkShell { name = "Skynet Wiki env"; - packages = [ - pkgs.python3Packages.mkdocs - pkgs.python3Packages.mkdocs-material - ]; + packages = packages; }; } ); From b8d88954579ca31841ba5d90a5433baa9bbeb595 Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Wed, 21 Aug 2024 23:35:58 +0100 Subject: [PATCH 3/7] chore: organise teh support pages into a single folder --- src/index.md | 2 +- src/{ => support}/migration.md | 0 src/{ => support}/migration/img.png | 0 src/{ => support}/migration/img_1.png | 0 src/{ => support}/migration/img_2.png | 0 src/{ => support}/recovery.md | 0 src/{ => support}/renew.md | 14 +++++++------- src/{ => support}/renewal/renew1.jpg | 0 src/{ => support}/renewal/renew2.png | 0 src/{ => support}/renewal/renew3.png | 0 src/{ => support}/renewal/renew4.png | 0 src/{ => support}/renewal/renew5.jpg | 0 src/{ => support}/renewal/renew6.jpg | 0 src/{ => support}/renewal/renew7.png | 0 14 files changed, 8 insertions(+), 8 deletions(-) rename src/{ => support}/migration.md (100%) rename src/{ => support}/migration/img.png (100%) rename src/{ => support}/migration/img_1.png (100%) rename src/{ => support}/migration/img_2.png (100%) rename src/{ => support}/recovery.md (100%) rename src/{ => support}/renew.md (94%) rename src/{ => support}/renewal/renew1.jpg (100%) rename src/{ => support}/renewal/renew2.png (100%) rename src/{ => support}/renewal/renew3.png (100%) rename src/{ => support}/renewal/renew4.png (100%) rename src/{ => support}/renewal/renew5.jpg (100%) rename src/{ => support}/renewal/renew6.jpg (100%) rename src/{ => support}/renewal/renew7.png (100%) diff --git a/src/index.md b/src/index.md index f97dcd4..6343f05 100644 --- a/src/index.md +++ b/src/index.md @@ -1,3 +1,3 @@ -# Skynet Wiki +# Welcome Here you can find useful information about the Skynet Cluster \ No newline at end of file diff --git a/src/migration.md b/src/support/migration.md similarity index 100% rename from src/migration.md rename to src/support/migration.md diff --git a/src/migration/img.png b/src/support/migration/img.png similarity index 100% rename from src/migration/img.png rename to src/support/migration/img.png diff --git a/src/migration/img_1.png b/src/support/migration/img_1.png similarity index 100% rename from src/migration/img_1.png rename to src/support/migration/img_1.png diff --git a/src/migration/img_2.png b/src/support/migration/img_2.png similarity index 100% rename from src/migration/img_2.png rename to src/support/migration/img_2.png diff --git a/src/recovery.md b/src/support/recovery.md similarity index 100% rename from src/recovery.md rename to src/support/recovery.md diff --git a/src/renew.md b/src/support/renew.md similarity index 94% rename from src/renew.md rename to src/support/renew.md index 6aa970a..4cef1ce 100644 --- a/src/renew.md +++ b/src/support/renew.md @@ -69,11 +69,11 @@ If you are paying online you can only pay for one year's membership. You may want to ping @committee on [our discord][discord]. -[0]: renewal/renew1.jpg -[1]: renewal/renew2.png -[2]: renewal/renew3.png -[3]: renewal/renew4.png -[4]: renewal/renew5.jpg -[5]: renewal/renew6.jpg -[6]: renewal/renew7.png +[0]: ./renewal/renew1.jpg +[1]: ./renewal/renew2.png +[2]: ./renewal/renew3.png +[3]: ./renewal/renew4.png +[4]: ./renewal/renew5.jpg +[5]: ./renewal/renew6.jpg +[6]: ./renewal/renew7.png [discord]: https://discord.skynet.ie diff --git a/src/renewal/renew1.jpg b/src/support/renewal/renew1.jpg similarity index 100% rename from src/renewal/renew1.jpg rename to src/support/renewal/renew1.jpg diff --git a/src/renewal/renew2.png b/src/support/renewal/renew2.png similarity index 100% rename from src/renewal/renew2.png rename to src/support/renewal/renew2.png diff --git a/src/renewal/renew3.png b/src/support/renewal/renew3.png similarity index 100% rename from src/renewal/renew3.png rename to src/support/renewal/renew3.png diff --git a/src/renewal/renew4.png b/src/support/renewal/renew4.png similarity index 100% rename from src/renewal/renew4.png rename to src/support/renewal/renew4.png diff --git a/src/renewal/renew5.jpg b/src/support/renewal/renew5.jpg similarity index 100% rename from src/renewal/renew5.jpg rename to src/support/renewal/renew5.jpg diff --git a/src/renewal/renew6.jpg b/src/support/renewal/renew6.jpg similarity index 100% rename from src/renewal/renew6.jpg rename to src/support/renewal/renew6.jpg diff --git a/src/renewal/renew7.png b/src/support/renewal/renew7.png similarity index 100% rename from src/renewal/renew7.png rename to src/support/renewal/renew7.png From 37eaed93e766b4482be6860de247d3c2ac9bca65 Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Wed, 21 Aug 2024 23:43:55 +0100 Subject: [PATCH 4/7] chore: remove teh older frontmatter --- src/support/migration.md | 7 +------ src/support/recovery.md | 7 +------ src/support/renew.md | 7 +------ 3 files changed, 3 insertions(+), 18 deletions(-) diff --git a/src/support/migration.md b/src/support/migration.md index 255cf6d..a62cbf3 100644 --- a/src/support/migration.md +++ b/src/support/migration.md @@ -1,9 +1,4 @@ -+++ -title = 'Wolves Account Migration' -date = 2024-06-17 -slug = 'migration' -+++ - +# Wolves Account Migration In order to keep the same Wolves account a few simple steps must be followed to migrate it away from your studentmail. This is especially important if you have a Skynet account linked with your wolves account. diff --git a/src/support/recovery.md b/src/support/recovery.md index 6b58973..032836d 100644 --- a/src/support/recovery.md +++ b/src/support/recovery.md @@ -1,9 +1,4 @@ -+++ -title = 'Skynet Account Recovery' -date = 2024-12-27 -slug = 'recovery' -+++ - +# Skynet Account Recovery ## Jan 2023 Downtime & Account Recovery In Jan 2023 we had extended downtime, for more information checkout [this link][0]. The next section will outline the changes that have been made in the last year while the subsequent one will deal with Account Recovery. diff --git a/src/support/renew.md b/src/support/renew.md index 4cef1ce..3f00760 100644 --- a/src/support/renew.md +++ b/src/support/renew.md @@ -1,9 +1,4 @@ -+++ -title = 'Skynet Alumni Renewal' -date = 2020-08-17 -slug = 'renew' -+++ - +# Alumni Renewal ## How to renew your Skynet membership! ### Dear Alumnus; welcome, From c65d46803214f3668623d70892e46727de7ca1a2 Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Wed, 21 Aug 2024 23:45:11 +0100 Subject: [PATCH 5/7] doc: start teh nix documentation --- src/skynet/nix.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 src/skynet/nix.md diff --git a/src/skynet/nix.md b/src/skynet/nix.md new file mode 100644 index 0000000..71fb71a --- /dev/null +++ b/src/skynet/nix.md @@ -0,0 +1,3 @@ +# Nix/NixOS + +{add warnign that git and git-lfs should also need to be in teh path} \ No newline at end of file From 08862ebe5dbbd02b83596edfd05810a965fa668d Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Thu, 22 Aug 2024 18:02:14 +0100 Subject: [PATCH 6/7] chore: bump nixpkgs Was on an old version of nixpkgs, from 2023-09-27 --- flake.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/flake.lock b/flake.lock index 128e4d5..bfd457f 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1695837737, - "narHash": "sha256-KcqmJ5hNacLuE7fkz5586kp/vt4NLo6+Prq3DMgrxpQ=", + "lastModified": 1724300212, + "narHash": "sha256-x3jl6OWTs+L9C7EtscuWZmGZWI0iSBDafvg3X7JMa1A=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "517501bcf14ae6ec47efd6a17dda0ca8e6d866f9", + "rev": "4de4818c1ffa76d57787af936e8a23648bda6be4", "type": "github" }, "original": { From 39c216bc6c9c3a8b1be076e683caac23e338f1af Mon Sep 17 00:00:00 2001 From: Brendan Golden Date: Mon, 26 Aug 2024 00:19:40 +0100 Subject: [PATCH 7/7] feat: added info on the user facing services that Skynet provides Closes #24 --- src/skynet/services/account.md | 49 +++++++++++++++++ src/skynet/services/discord.md | 11 ++++ src/skynet/services/email.md | 33 +++++++++++ src/skynet/services/forgejo.md | 15 +++++ src/skynet/services/gitlab.md | 19 +++++++ src/skynet/services/nextcloud.md | 12 ++++ src/skynet/services/skynet.md | 94 ++++++++++++++++++++++++++++++++ 7 files changed, 233 insertions(+) create mode 100644 src/skynet/services/account.md create mode 100644 src/skynet/services/discord.md create mode 100644 src/skynet/services/email.md create mode 100644 src/skynet/services/forgejo.md create mode 100644 src/skynet/services/gitlab.md create mode 100644 src/skynet/services/nextcloud.md create mode 100644 src/skynet/services/skynet.md diff --git a/src/skynet/services/account.md b/src/skynet/services/account.md new file mode 100644 index 0000000..70a2710 --- /dev/null +++ b/src/skynet/services/account.md @@ -0,0 +1,49 @@ +# Skynet account +A Skynet account provides access to all the services listed in this wiki. + +To manage the account we have a self-service way to sign up for an account, change password, add ssh keys and more. + +## Committee/Admins +Committee and Skynet Admins are required to have a Skynet account in order to have access to internal materials. + +## Sign up +#### + +A Computer Society member is able to use this page to sign up for a Skynet account. +By entering the email address used for Wolves they will be sent a mail with instructions on how to proceed. + +## Modify +Various aspects of the account can be modified, such as: + +### Password +#### +If you know your existing password it can be changed here. + +### SSH Keys +#### +SSH keys are used for accessing the [Skynet Webserver](./skynet.md). +If you are on campus they are also usable for the [Forgejo instance](./forgejo.md). + +You can have multiple keys associated with your account. + +### User Information +#### +On Signup details such as email, first name and surname are pulled from UL Wolves, which itself pulls (for students) from UL. +This means that for some members their names does not match reality and this allows them to correct that. + +It also allows members upon graduation to switch to their own email address for Wolves instead of the UL provided email. + +## Recovery +Shit happens, memory fades, bits flip and ye find yourself unable to login. + +### Username +#### +If you have forgotten your username a reminder can be sent to the email linked to your account. + +### Password +#### +If you forget your password a reset link can be sent to the email linked to your account. + + + + diff --git a/src/skynet/services/discord.md b/src/skynet/services/discord.md new file mode 100644 index 0000000..bae47a6 --- /dev/null +++ b/src/skynet/services/discord.md @@ -0,0 +1,11 @@ +# Discord +### + +While we dont host our Discord server it is one fo the services we have for members. + +We used to have an [IRC](https://en.wikipedia.org/wiki/IRC) server, however that had a high onboarding cost for users and it was shut down a few years ago. +The modern equivalent would be Matrix, of which we could have a Discord bridge to keep the two communities connected. + +## Bot +### +We have a discord bot to manage membership on the discord, as well as manage the Minecraft Whitelist. diff --git a/src/skynet/services/email.md b/src/skynet/services/email.md new file mode 100644 index 0000000..b3f758f --- /dev/null +++ b/src/skynet/services/email.md @@ -0,0 +1,33 @@ +# Email + +Skynet offers an email to all members. +It is ``username@skynet.ie`` + +## Login +### Roundcube +#### +Use your Skynet ``username@skynet.ie`` and ``password`` to login. + +### Nextcloud +#### +Our [Nextcloud instance](./nextcloud.md) has an inbuilt mail module. +See [Nextcloud](./nextcloud.md) page for more info on logging in. + +### Thunderbird +#### +Thunderbird is an email client made by Mozilla. +Honestly it is one of the best email clients out there. + +They are working on exchange (Outlook/Office 365) support so ye will be able to use it for your UL email. +This work is being done with Rust. + +Use your Skynet ``username@skynet.ie`` and ``password`` to login. + +## Sieve Scripts +Sieve scripts allow you to sort and manage yer email in a programmatic way. + +Recommended tool: +Small tutorial will follow later. + +### Committee/Admins +There is an inbuilt sieve script that passes mail from committee/admin addresses into a folder in their Skynet inbox. diff --git a/src/skynet/services/forgejo.md b/src/skynet/services/forgejo.md new file mode 100644 index 0000000..caf0dde --- /dev/null +++ b/src/skynet/services/forgejo.md @@ -0,0 +1,15 @@ +# Forgejo +### + +Forgejo is an online git repo host. +Like [Gitlab](./gitlab.md) it is self hostable meaning that Skynet has its own instance of it. +Structure wise it has more in common with Github with teh flatter ``owner/repo`` structure as well as being compatible with Github Actions + +Honestly I (@silver) just love the slogan of Forgejo: +> Beyond coding. We Forge. + +## Login +Use your Skynet ``username`` and ``password`` to login. + +## Administration +Skynet Admins are automatically granted admin rights on Forgejo, this is done via LDAP \ No newline at end of file diff --git a/src/skynet/services/gitlab.md b/src/skynet/services/gitlab.md new file mode 100644 index 0000000..00e04fa --- /dev/null +++ b/src/skynet/services/gitlab.md @@ -0,0 +1,19 @@ +# Gitlab +### + +Gitlab is an online git repo hosting service. +Access to these repos is provided via SSH and HTTP (Although only HTTP is available off campus). +It has a solid CI/CD platform which uses its own YAML based config system. +Finally it has "folders" such as ``owner/folder/repo`` and ``owner/as/many/folders/as/ye/want/repo`` which allows for hierarchical grouping of repos. + +## Depreciation +Skynet currently hosts a Gitlab instance, however it is currently being depreciated in favor of [Forgejo](./forgejo.md). + +This is largely due to the administrative overhead involved in running a Gitlab CE instance. +Much of the LDAP based tools are locked behind the Enterprise (EE) licence. +These tools come automatically with Forgejo. + +Forgejo has another advantage of being able to use Github actions, which more folks are familiar with over Gitlab. + +One final reason is that the resources required to host Forgejo and its runner are far less than what are required to host Gitlab and its runner. + diff --git a/src/skynet/services/nextcloud.md b/src/skynet/services/nextcloud.md new file mode 100644 index 0000000..8a67b51 --- /dev/null +++ b/src/skynet/services/nextcloud.md @@ -0,0 +1,12 @@ +# Nextcloud +#### + +Nextcloud is ``What if Google but not Evil?``. +It consists of file storage, email client, web documents and more. + +## Login +Use your Skynet ``username`` and ``password`` to login. + + +## Committee/Admins +Committee and Admins have access to group folders which contain our long term data storage. \ No newline at end of file diff --git a/src/skynet/services/skynet.md b/src/skynet/services/skynet.md new file mode 100644 index 0000000..739ab3e --- /dev/null +++ b/src/skynet/services/skynet.md @@ -0,0 +1,94 @@ +# Skynet + +We provide a linux webserver webserver for member use. +It could be considered akin to the [Tildeverse](https://tildeverse.org/), named as such for the way each member's site was displayed (``https://skynet.ie/~username``). +Now that will redirect to ``https://username.users.skynet.ie`` we home to have preserved the same vibe. + +## Name +The main user facing server of the cluster has always been called Skynet, the cluster is named after this server. +You can find more of the history here: + +## Login +Login is done via ssh and ssh keys. + +### Create SSH key +First we set up the ssh folder and create a skynet folder within it for neatness +```bash +mkdir -f -p ~/.ssh/skynet +cd ~/.ssh/skynet +``` +Now we will create the ssh key itself. +Location: ``username``, your skynet username. +Password: Press Enter twice for no password on the key. +```bash +ssh-keygen -t ed25519 -C "" +``` +It will create two files: ``username`` and ``username.pub`` + +### SSH Key +Head over to [adding ssh keys](./account.md#ssh-keys) to find information on adding ssh keys to your skynet account. + +it is the ``username.pub`` that you will be adding to your account. +To get the contents of the file do this. +```bash +cat username.pub +``` + +### SSH Config +Back up to the ``.ssh`` folder. +```bash +cd ../ +``` + +Now we have to create the config file. +Notice how it has no extension. +#### Windows +```powershell +"" > config +``` +Open it up in any text editor available to you. + +#### Linux +```bash +touch config +``` +You can edit it from command line using nano + +```bash +nano config +``` +Or open up in a text editor. + + +-------------------------------------- + +Windows and Linux pop this into the file and save it +``` +Host *.skynet.ie + User %r + IdentityFile ~/.ssh/skynet/%r + IdentitiesOnly yes +``` + +### Logging in +In any terminal do this: + +```bash +ssh username@skynet.skynet.ie +``` +And you will be in! + +## Website +In your home folder follow these commands to create the folder that can be used to host a website + +```bash +mkdir ~/public_html +chmod 711 ~ +chmod -R 755 ~/public_html +cd ~/public_html +``` + +See below for an easy way to upload files to this folder. + +## More info +There is a slideshow that might be of use to you: \ No newline at end of file