Skip to content

Commit

Permalink
add QoL features: tags, social embed, better search, improved toc (#29)
Browse files Browse the repository at this point in the history
* mkdocs: add various quality of life features

* add frontmatter, tags, fix links

* fix excess newlines

* tags.md: add comment on why it exists
  • Loading branch information
wizzdom authored Mar 13, 2024
1 parent d71d839 commit 43acb3b
Show file tree
Hide file tree
Showing 27 changed files with 225 additions and 43 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,5 @@ jobs:
path: .cache
restore-keys: |
mkdocs-material-
- run: pip install mkdocs-material mkdocs-git-revision-date-localized-plugin mkdocs-awesome-pages-plugin mkdocs-callouts material-plausible-plugin mkdocs-glightbox mkdocs-redirects
- run: pip install -r requirements.txt
- run: mkdocs gh-deploy --force
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
site/
docs/.obsidian/workspace.json
docs/.obsidian/graph.json
.cache/
venv/
13 changes: 10 additions & 3 deletions docs/hardware/aperture/about.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: About Aperture
tags:
- aperture
- hardware
---

# About Aperture

Aperture is Redbrick's fleet of hardware that was installed in May 2022 by `distro`, `pints`, `skins`, `cawnj`, `ymacomp` and `arkues`.
Expand All @@ -6,9 +13,9 @@ It consists of:

- 3x Dell R6515 - [`glados`](glados.md), [`wheatley`](wheatley.md), [`chell`](chell.md)

| CPU | RAM | Storage |
|:-----------------------------------------:|:---------------------------------:|:--------------------------------:|
| AMD 7302P 3GHz, 16C/32T, 128M, 155W, 3200 | 2x 16GB RDIMM, 3200MT/s Dual Rank | 4x 2TB SATA HDDs (hardware RAID) |
| CPU | RAM | Storage |
| ----------------------------------------- | --------------------------------- | -------------------------------- |
| AMD 7302P 3GHz, 16C/32T, 128M, 155W, 3200 | 2x 16GB RDIMM, 3200MT/s Dual Rank | 4x 2TB SATA HDDs (hardware RAID) |

- 2x Ubiquiti USW Pro - `rivendell`, `isengard`
- 1x Ubiquiti UDM Pro - `mordor`
Expand Down
9 changes: 9 additions & 0 deletions docs/hardware/aperture/chell.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
---
title: Chell
tags:
- hardware
- aperture
- chell
- details
---

# Chell

## Details
Expand Down
9 changes: 9 additions & 0 deletions docs/hardware/aperture/glados.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
---
title: Glados
tags:
- hardware
- aperture
- glados
- details
---

# Glados

## Details
Expand Down
9 changes: 9 additions & 0 deletions docs/hardware/aperture/images.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
---
title: Images
tags:
- hardware
- aperture
- install
- images
---

# Images

## Servers
Expand Down
8 changes: 8 additions & 0 deletions docs/hardware/aperture/index.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
---
title: Aperture
tags:
- aperture
- details
- getting-started
---

# Aperture

## What is Aperture?
Expand Down
9 changes: 9 additions & 0 deletions docs/hardware/aperture/johnson.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
---
title: Johnson
tags:
- aperture
- hardware
- johnson
- details
---

# Johnson

## Details
Expand Down
9 changes: 9 additions & 0 deletions docs/hardware/aperture/wheatley.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
---
title: Wheatley
tags:
- aperture
- hardware
- wheatley
- details
---

# Wheatley

## Details
Expand Down
10 changes: 10 additions & 0 deletions docs/hardware/azazel.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
---
title: Azazel
tags:
- login-box
- hardware
- azazel
- details
- debian
---

# Azazel

## Details
Expand Down
9 changes: 9 additions & 0 deletions docs/hardware/nix/hardcase.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
---
title: Hardcase
tags:
- nixos
- hardware
- details
- hardcase
---

# Hardcase

## Details
Expand Down
10 changes: 10 additions & 0 deletions docs/hardware/nix/icarus.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
---
title: Icarus
tags:
- nixos
- hardware
- icarus
- daedalus
- details
---

# Icarus

Daedalus and Icarus ~~are~~ were twins ~~and thus share documentation.~~
Expand Down
11 changes: 11 additions & 0 deletions docs/hardware/nix/motherlode.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
---
title: Motherlode
tags:
- nixos
- hardware
- motherlode
- details
- qemu
- libvirt
---

# Motherlode

## Details
Expand Down
11 changes: 11 additions & 0 deletions docs/hardware/paphos.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
---
title: Paphos
tags:
- hardware
- paphos
- details
- dns
- bind
- ubuntu
---

# Paphos

## Details
Expand Down
9 changes: 9 additions & 0 deletions docs/hardware/pygmalion.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
---
title: Pygmalion
tags:
- login-box
- hardware
- pygmalion
- ubuntu
---

# Pygmalion

## Details
Expand Down
12 changes: 11 additions & 1 deletion docs/hardware/zeus.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
---
title: Zeus
tags:
- hardware
- zeus
- details
- docker
- ubuntu
---

# Zeus

## Details
Expand All @@ -21,5 +31,5 @@
- [Admin API](../services/api.md) at: [api.redbrick.dcu.ie](https://api.redbrick.dcu.ie)
- brickbot2
- Secretary's email generator at: [generator.redbrick.dcu.ie](https://generator.redbrick.dcu.ie)
- [CodiMD](../services/codimd.md) at: [md.redbrick.dcu.ie](https://md.redbrick.dcu.ie)
- [CodiMD](../services/md.md) at: [md.redbrick.dcu.ie](https://md.redbrick.dcu.ie)
- all of this is routed through [traefik](../services/traefik.md) as a reverse proxy
7 changes: 7 additions & 0 deletions docs/services/api.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
---
title: API
tags:
- services
- api
---

# API

## Redbrick Administrator Web API
Expand Down
10 changes: 10 additions & 0 deletions docs/services/bastion-vm.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
---
title: Bastion VM
tags:
- aperture
- services
- nomad
- vm
- ingress
---

# Bastion VM

This VM is an ephemeral machine that can be placed on any nomad client that has the qemu driver enabled.
Expand Down
10 changes: 10 additions & 0 deletions docs/services/bind.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
---
title: Bind9
tags:
- services
- dns
author:
- distro
- ylmcc
---

# Bind9 - `distro`, `ylmcc`

Bind9 is our DNS provider. Currently it runs on [`paphos`](../hardware/paphos.md), but this may change in the near future.
Expand Down
11 changes: 10 additions & 1 deletion docs/services/exposed.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
---
title: Services Exposed to the Internet
author:
- wizzdom
tags:
- services
- exposed
---

# Services Exposed to the Internet - `wizzdom`

Firstly, it's important to mention that Redbrick is currently split in 2 parts:
Expand Down Expand Up @@ -40,7 +49,7 @@ Firstly, it's important to mention that Redbrick is currently split in 2 parts:
- [Wetty](servers.md#Logging%20in%20to%20Wetty) at: [wetty.redbrick.dcu.ie](https://wetty.redbrick.dcu.ie)
- [Admin API](api.md) at: [api.redbrick.dcu.ie](https://api.redbrick.dcu.ie)
- Secretary's email generator at: [generator.redbrick.dcu.ie](https://generator.redbrick.dcu.ie)
- [CodiMD](codimd.md) at: [md.redbrick.dcu.ie](https://md.redbrick.dcu.ie)
- [CodiMD](md.md) at: [md.redbrick.dcu.ie](https://md.redbrick.dcu.ie)
- all of this is routed through [traefik](traefik.md) as a reverse proxy
- [paphos](../hardware/paphos.md) - `136.206.15.53`
- **OS**: Ubuntu 14.04 LTS
Expand Down
2 changes: 1 addition & 1 deletion docs/services/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Here you will find a list of all the services Redbrick runs, along with some con
- [api](api.md)
- [bastion-vm](bastion-vm.md)
- [bind](bind.md)
- [codimd](codimd.md)
- [md](md.md)
- [consul](consul.md)
- [gitea](gitea.md)
- [irc](irc.md)
Expand Down
44 changes: 12 additions & 32 deletions docs/services/irc.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,64 +2,44 @@

## Redbrick InspIRCd

In 2016/2017 we began work to move to InspIRCd. This was due to the complications in ircd-hybrid and how old it was.
These complications stopped new netsocs joining us so we all agreed to move irc. $ 4 years later after multiple attempts
we had not migrated. Until TCD decided to shutdown their server breaking the network.
In 2016/2017 we began work to move to InspIRCd. This was due to the complications in ircd-hybrid and how old it was. These complications stopped new netsocs joining us so we all agreed to move irc. $ 4 years later after multiple attempts we had not migrated. Until TCD decided to shutdown their server breaking the network.

We run Inspircd v3 on Metharme. InspIRCd's docs can be found [here](https://docs.inspircd.org/) for configuration specifics.

IRC is available at `irc.redbrick.dcu.ie` on port `6697`. SSL is required for connection, we do not support non-SSL.
IRC is available at `irc.redbrick.dcu.ie` on port `6697`. SSL is required for connection, we do not support non-SSL. When connecting from a redbrick server a user will be automatically logged in. If connecting from an external server a user must pass their password on login.

When connecting from a redbrick server a user will be automatically logged in. If connecting from an external server a
user must pass their password on login.

For the purpose of external peering of other servers the port `7001` is expose as well. Similarly to clients we only
support SSL on this port.
For the purpose of external peering of other servers the port `7001` is exposed as well. Similarly to clients we only support SSL on this port.

For docs on connecting and using an IRC client please refer to the [wiki](https://wiki.redbrick.dcu.ie/index.php/IRC).

## Installation

InspIRCd is installed with Nix. There is no Nix package for InspIRCd so we compile a specific git tag from source. See
[Nix package](https://github.com/redbrick/nix-configs/tree/master/packages/inspircd) for details on how it is compiled.

Given we only support SSL and require LDAP, we need to enable both at compile time.
InspIRCd is installed with Nix. There is no Nix package for InspIRCd so we compile a specific git tag from source. See [Nix package](https://github.com/redbrick/nix-configs/tree/master/packages/inspircd) for details on how it is compiled. Given we only support SSL and require LDAP, we need to enable both at compile time.

## Configuration

InspIRCd's configuration is in Nix [here](https://github.com/redbrick/nix-configs/blob/master/services/ircd/inspircd/conf.nix).
This config will be converted to xml on disc.
InspIRCd's configuration is in Nix [here](https://github.com/redbrick/nix-configs/blob/master/services/ircd/inspircd/conf.nix). This config will be converted to xml on disc.

### Important Configuration

_oper_ is a list of admin users on the irc server. Their `OPER` password will need to be manually hashed with
`hmac-sha256`, and placed in a secret on the server to be read in by inspircd.

_ldapwhitelist_ is a list of cidr addresses that do no require authentication. The list consists of Redbrick public and
private addresses as well as `oldsoc`.

_link_ is a list of all servers we peer with including the anope services server that runs on the same box.
- _oper_ is a list of admin users on the irc server. Their `OPER` password will need to be manually hashed with `hmac-sha256`, and placed in a secret on the server to be read in by inspircd.
- _ldapwhitelist_ is a list of cidr addresses that do no require authentication. The list consists of Redbrick public and private addresses as well as `oldsoc`.
- _link_ is a list of all servers we peer with including the anope services server that runs on the same box.

### oldsoc.net

`oldsoc.net` is a server run by old TCD netsocers. All the users on it are the remaining TCD associates following the
shutdown of TCD IRCd. This server is maintained by its own users and has explicit permission to join IRC without LDAP auth.
`oldsoc.net` is a server run by old TCD netsocers. All the users on it are the remaining TCD associates following the shutdown of TCD IRCd. This server is maintained by its own users and has explicit permission to join IRC without LDAP auth.

## Anope

Redbrick runs Anope services for the entire network. As with
[inspircd we compile](https://github.com/redbrick/nix-configs/tree/master/packages/inspircd) from source. Refer to anopes
[github docs](https://github.com/anope/anope/tree/2.0/docs) for configuration specifics.
Redbrick runs Anope services for the entire network. As with [inspircd we compile](https://github.com/redbrick/nix-configs/tree/master/packages/inspircd) from source. Refer to anopes [github docs](https://github.com/anope/anope/tree/2.0/docs) for configuration specifics.

Our current Anope is configured with standard mods of chanserv, nickserv and operserv. All config is in [here](https://github.com/redbrick/nix-configs/tree/master/services/ircd/anope/confs).

Anope stores all info in a custom db file on disk.

## Discord Bridge - `butlerx`

We run a [bridge](https://github.com/qaisjp/go-discord-irc) between the Redbrick Discord and irc. The configuration for
this is [here](https://github.com/redbrick/nix-configs/tree/master/services/ircd/discord/conf.nix).
We run a [bridge](https://github.com/qaisjp/go-discord-irc) between the Redbrick Discord and irc. The configuration for this is [here](https://github.com/redbrick/nix-configs/tree/master/services/ircd/discord/conf.nix).

The bridge adds all users from discord with the suffix `_d2` and all irc users appear as them self but tagged as a bot
in discord. Not all discord channels are on IRC, the config above contains a mapping of irc channels to discord channels
id's. This needs to be manually updated to add more channels.
The bridge adds all users from discord with the suffix `_d2` and all irc users appear as them self but tagged as a bot in discord. Not all discord channels are on IRC, the config above contains a mapping of irc channels to discord channels id's. This needs to be manually updated to add more channels.
7 changes: 3 additions & 4 deletions docs/services/socs.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# Socs Using Redbrick Infrastructure

- MPS/DCUfm - [`icecast`](icecast.md)
- MPS/TheCollegeView - https://thecollegeview.ie - `wordpress`
- DCU Style - https://thelookonline.dcu.ie - `wordpress`
- DCU Solar Racing - https://solarracing.ie
-
- MPS/TheCollegeView - [TheCollegeView](https://thecollegeview.ie) - `wordpress`
- DCU Style - [The Look](https://thelookonline.dcu.ie) - `wordpress`
- DCU Solar Racing - [Solarracing.ie](https://solarracing.ie)
12 changes: 12 additions & 0 deletions docs/stylesheets/extra.css
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,15 @@
[data-md-color-scheme="slate"] * {
--md-typeset-a-color: #d62e2e;
}

@keyframes logo {
0%, 40%, 80%, 100% {
transform: scale(1);
}
20%, 60% {
transform: scale(1.5);
}
}
.md-logo {
animation: logo 1000ms 1;
}
3 changes: 3 additions & 0 deletions docs/tags.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

<!--Do not remove this file-->
<!--This is required for mkdocs to generate a tags page-->
Loading

0 comments on commit 43acb3b

Please sign in to comment.