diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 1677d602..68eb583f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -4,13 +4,26 @@ on:
branches:
- master
- main
+permissions:
+ contents: write
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
- - uses: actions/setup-python@v2
+ - uses: actions/checkout@v4
+ - name: Configure Git Credentials
+ run: |
+ git config user.name github-actions[bot]
+ git config user.email 41898282+github-actions[bot]@users.noreply.github.com
+ - uses: actions/setup-python@v5
with:
python-version: 3.x
- - run: pip install mkdocs-material mkdocs-git-revision-date-localized-plugin mkdocs-awesome-pages-plugin mkdocs-callouts material-plausible-plugin
+ - run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
+ - uses: actions/cache@v4
+ with:
+ key: mkdocs-material-${{ env.cache_id }}
+ 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: mkdocs gh-deploy --force
diff --git a/docs/.pages b/docs/.pages
index b5ce5f03..91c0086d 100644
--- a/docs/.pages
+++ b/docs/.pages
@@ -1,8 +1,7 @@
nav:
- index.md
-- contact.md
- procedures
-- aperture
- hardware
- services
+- contact.md
diff --git a/docs/aperture/.pages b/docs/aperture/.pages
deleted file mode 100644
index a0d8b67c..00000000
--- a/docs/aperture/.pages
+++ /dev/null
@@ -1,11 +0,0 @@
-nav:
-
-- index.md
-- about.md
-- ansible.md
-- nomad.md
-- bastion-vm.md
-- firewall.md
-- icecast.md
-- vpn.md
-- images.md
diff --git a/docs/aperture/images.md b/docs/aperture/images.md
deleted file mode 100644
index 5299b60c..00000000
--- a/docs/aperture/images.md
+++ /dev/null
@@ -1,25 +0,0 @@
-# Images
-
-## Servers
-
-![distro hanging cables](../res/distro-hanging-cables.jpg)
-
-![new installed servers](../res/new-installed-servers.jpg)
-
-![inside of server](../res/inside-of-server.jpg)
-
-## Networking
-
-![isengard](../res/isengard.jpg)
-
-![mordor and rivendell](../res/mordor-and-rivendell.jpg)
-
-![labelled cables for mordor and rivendell](../res/labelled-cables-for-mordor-and-rivendell.jpg)
-
-![labelled cables for isengard](../res/labelled-cables-for-isengard.jpg)
-
-![tidy cables for glados, wheatley and chell](../res/cables-glados-wheatley-chell.jpg)
-
-## Some Dancing for Good Measure
-
-[dancing.mp4](https://media.discordapp.net/attachments/846341782966632468/1004129108529254613/20220802_215014.mp4)
diff --git a/docs/aperture/socs.md b/docs/aperture/socs.md
deleted file mode 100644
index a05fc802..00000000
--- a/docs/aperture/socs.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Socs
-
-DCUfm - Icecast
diff --git a/docs/aperture/about.md b/docs/hardware/aperture/about.md
similarity index 77%
rename from docs/aperture/about.md
rename to docs/hardware/aperture/about.md
index dbbc2353..be488e3a 100644
--- a/docs/aperture/about.md
+++ b/docs/hardware/aperture/about.md
@@ -4,7 +4,7 @@ Aperture is Redbrick's fleet of hardware that was installed in May 2022 by `dist
It consists of:
-- 3x Dell R6515 - [`glados`](../hardware/aperture/glados.md), [`wheatley`](../hardware/aperture/wheatley.md), [`chell`](../hardware/aperture/chell.md)
+- 3x Dell R6515 - [`glados`](glados.md), [`wheatley`](wheatley.md), [`chell`](chell.md)
| CPU | RAM | Storage |
|:-----------------------------------------:|:---------------------------------:|:--------------------------------:|
@@ -15,11 +15,11 @@ It consists of:
## Servers
-The three servers are named [`glados`](../hardware/aperture/glados.md) , [`wheatley`](../hardware/aperture/wheatley.md) and [`chell`](../hardware/aperture/chell.md).
+The three servers are named [`glados`](glados.md) , [`wheatley`](wheatley.md) and [`chell`](chell.md).
## Networks
-The firewall is called [`mordor`](firewall.md), and the two 24-port switches are called [`rivendell` and `isengard`](switches.md).
+The firewall is called [`mordor`](../network/mordor.md), and the two 24-port switches are called [`rivendell` and `isengard`](../network/switches.md).
## Networking
@@ -41,7 +41,7 @@ The IP address range for the [`aperture`](index.md) subnet is `10.10.0.0/24`, wi
`nexus` is the name of the KVM switch. It's internal IP address is `10.10.0.10`.
-[`glados`](../hardware/aperture/glados.md) is connected on port 1, [`wheatley`](../hardware/aperture/wheatley.md) on port 2, and [`chell`](../hardware/aperture/chell.md) on port 3.
+[`glados`](glados.md) is connected on port 1, [`wheatley`](wheatley.md) on port 2, and [`chell`](chell.md) on port 3.
> [!WARNING] Note!
> **Yellow** cables are used for **KVM network**.
diff --git a/docs/hardware/aperture/chell.md b/docs/hardware/aperture/chell.md
index dd8a77e9..49ceb2c5 100644
--- a/docs/hardware/aperture/chell.md
+++ b/docs/hardware/aperture/chell.md
@@ -8,7 +8,7 @@
- **RAM**: 2x 16GB RDIMM, 3200MT/s Dual Rank
- **Storage**: 4x 2TB SATA HDDs (hardware RAID)
-Part of [aperture](../../aperture/index.md)
+Part of [aperture](index.md)
## Where to Find
diff --git a/docs/hardware/aperture/glados.md b/docs/hardware/aperture/glados.md
index 4084fcfb..c69a58fe 100644
--- a/docs/hardware/aperture/glados.md
+++ b/docs/hardware/aperture/glados.md
@@ -8,7 +8,7 @@
- **RAM**: 2x 16GB RDIMM, 3200MT/s Dual Rank
- **Storage**: 4x 2TB SATA HDDs (hardware RAID)
-Part of [aperture](../../aperture/index.md)
+Part of [aperture](index.md)
## Where to Find
diff --git a/docs/hardware/aperture/images.md b/docs/hardware/aperture/images.md
new file mode 100644
index 00000000..85a70d15
--- /dev/null
+++ b/docs/hardware/aperture/images.md
@@ -0,0 +1,25 @@
+# Images
+
+## Servers
+
+![distro hanging cables](../../res/distro-hanging-cables.jpg)
+
+![new installed servers](../../res/new-installed-servers.jpg)
+
+![inside of server](../../res/inside-of-server.jpg)
+
+## Networking
+
+![isengard](../../res/isengard.jpg)
+
+![mordor and rivendell](../../res/mordor-and-rivendell.jpg)
+
+![labelled cables for mordor and rivendell](../../res/labelled-cables-for-mordor-and-rivendell.jpg)
+
+![labelled cables for isengard](../../res/labelled-cables-for-isengard.jpg)
+
+![tidy cables for glados, wheatley and chell](../../res/cables-glados-wheatley-chell.jpg)
+
+## Some Dancing for Good Measure
+
+[dancing.mp4](https://media.discordapp.net/attachments/846341782966632468/1004129108529254613/20220802_215014.mp4)
diff --git a/docs/aperture/index.md b/docs/hardware/aperture/index.md
similarity index 86%
rename from docs/aperture/index.md
rename to docs/hardware/aperture/index.md
index 29ce7e82..41d3f4db 100644
--- a/docs/aperture/index.md
+++ b/docs/hardware/aperture/index.md
@@ -17,5 +17,5 @@ If you're a new admin, this is a cheat sheet for you. In order to get broadly up
So, you've hit a problem. Here's some quicklinks to some common problems:
-- [I can't connect to Aperture](vpn.md)
-- [Ansible is running into an error](ansible.md#common-errors)
+- [I can't connect to Aperture](../../procedures/vpn.md)
+- [Ansible is running into an error](../../procedures/ansible.md#common-errors)
diff --git a/docs/hardware/aperture/johnson.md b/docs/hardware/aperture/johnson.md
index 0faa3a84..ab9d2d5f 100644
--- a/docs/hardware/aperture/johnson.md
+++ b/docs/hardware/aperture/johnson.md
@@ -14,7 +14,7 @@ Formerly `albus` (in a different life)
- **Network**: 4x Onboard Ethernet, 802.3ad bonding
- **iDRAC NIC**: Shared on port 1
-Part of [aperture](../../aperture/index.md)
+Part of [aperture](index.md)
## Where to Find
@@ -24,6 +24,6 @@ Part of [aperture](../../aperture/index.md)
## Services
-- `NFS` for [aperture](../../aperture/index.md)
+- `NFS` for [aperture](index.md)
![](../../res/johnson.png)
diff --git a/docs/hardware/aperture/wheatley.md b/docs/hardware/aperture/wheatley.md
index e45e0d6e..75d37ba1 100644
--- a/docs/hardware/aperture/wheatley.md
+++ b/docs/hardware/aperture/wheatley.md
@@ -8,7 +8,7 @@
- **RAM**: 2x 16GB RDIMM, 3200MT/s Dual Rank
- **Storage**: 4x 2TB SATA HDDs (hardware RAID)
-Part of [aperture](../../aperture/index.md)
+Part of [aperture](index.md)
## Where to Find
diff --git a/docs/hardware/index.md b/docs/hardware/index.md
index c079163e..9b73e593 100644
--- a/docs/hardware/index.md
+++ b/docs/hardware/index.md
@@ -4,21 +4,29 @@ Here is a list of current hardware in Redbrick's suite of servers, switches and
## [Login](../services/servers.md#Logging%20in) Boxes
-- [**azazel**](azazel.md)
-- [**pygmalion**](pygmalion.md)
+- [**`azazel`**](azazel.md)
+- [**`pygmalion`**](pygmalion.md)
## [NixOS](../procedures/nixos.md) Boxes
-- [**hardcase**](nix/hardcase.md)
-- [**motherlode**](nix/motherlode.md)
-- [**icarus**](nix/icarus.md)
+- [**`hardcase`**](nix/hardcase.md)
+- [**`motherlode`**](nix/motherlode.md)
+- [**`icarus`**](nix/icarus.md)
-- [**paphos**](paphos.md)
-- [**zeus**](zeus.md)
+- [**`paphos`**](paphos.md)
+- [**`zeus`**](zeus.md)
-## [Aperture](../aperture/index.md)
+## [Aperture](aperture/index.md)
-- [**glados**](aperture/glados.md)
-- [**wheatley**](aperture/wheatley.md)
-- [**chell**](aperture/chell.md)
-- [**johnson**](aperture/johnson.md)
+- [**`glados`**](aperture/glados.md)
+- [**`wheatley`**](aperture/wheatley.md)
+- [**`chell`**](aperture/chell.md)
+- [**`johnson`**](aperture/johnson.md)
+- [**`bastion-vm`**](../services/bastion-vm.md)
+
+## Network Hardware
+
+- [**`arse`**](network/arse.md)
+- [**`cerberus`**](network/cerberus.md)
+- [**`mordor`**](network/mordor.md)
+- [**switches**](network/switches.md)
diff --git a/docs/hardware/network/arse.md b/docs/hardware/network/arse.md
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/docs/hardware/network/arse.md
@@ -0,0 +1 @@
+
diff --git a/docs/hardware/network/cerberus.md b/docs/hardware/network/cerberus.md
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/docs/hardware/network/cerberus.md
@@ -0,0 +1 @@
+
diff --git a/docs/aperture/firewall.md b/docs/hardware/network/mordor.md
similarity index 93%
rename from docs/aperture/firewall.md
rename to docs/hardware/network/mordor.md
index be1f1f97..d8a58a08 100644
--- a/docs/aperture/firewall.md
+++ b/docs/hardware/network/mordor.md
@@ -1,4 +1,4 @@
-# Firewall
+# Mordor
@@ -36,7 +36,7 @@ The UDM Pro should be kept up to date at all times using the web interface. Plea
SSH is enabled to allow for rollbacks in case of a bad update *(I warned you!)*.
-Remote access is disabled as it should not be needed, the admin [`VPN`](./vpn.md) should provide enough access for you. If it is enabled in future, please update these docs with your reasons.
+Remote access is disabled as it should not be needed, the admin [`VPN`](../../procedures/vpn.md) should provide enough access for you. If it is enabled in future, please update these docs with your reasons.
### Backups
diff --git a/docs/hardware/network/switches.md b/docs/hardware/network/switches.md
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/docs/hardware/network/switches.md
@@ -0,0 +1 @@
+
diff --git a/docs/index.md b/docs/index.md
index fe424cbc..498d2248 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -11,6 +11,8 @@ This is mostly intended for admins, future admins, webmasters, and everybody els
- [Redbrick Website](https://redbrick.dcu.ie)
- [SSH help](https://docs.redbrick.dcu.ie/services/servers/#logging-in)
+## Webgroup
+
## New Admins
So, you want to become an admin. Brave of you. Here's some stuff you should probably read:
diff --git a/docs/overrides/main.html b/docs/overrides/main.html
new file mode 100644
index 00000000..3cf042d3
--- /dev/null
+++ b/docs/overrides/main.html
@@ -0,0 +1,11 @@
+{% extends "base.html" %}
+
+{% block footer %}
+
+{% endblock %}
diff --git a/docs/aperture/ansible.md b/docs/procedures/ansible.md
similarity index 100%
rename from docs/aperture/ansible.md
rename to docs/procedures/ansible.md
diff --git a/docs/procedures/index.md b/docs/procedures/index.md
index 42ea5d72..9e9698f9 100644
--- a/docs/procedures/index.md
+++ b/docs/procedures/index.md
@@ -4,6 +4,10 @@ Here you can find a list of various procedures useful for the day-to-day running
### [New elected admins](new-admins.md)
+### [Admin VPN](vpn.md)
+
+### [Ansible](ansible.md)
+
### [Post-powercut Todo List](post-powercut.md)
### [NixOS](nixos.md)
diff --git a/docs/aperture/vpn.md b/docs/procedures/vpn.md
similarity index 100%
rename from docs/aperture/vpn.md
rename to docs/procedures/vpn.md
diff --git a/docs/res/logo.png b/docs/res/logo.png
index f04a1418..2f0aff02 100644
Binary files a/docs/res/logo.png and b/docs/res/logo.png differ
diff --git a/docs/aperture/bastion-vm.md b/docs/services/bastion-vm.md
similarity index 81%
rename from docs/aperture/bastion-vm.md
rename to docs/services/bastion-vm.md
index 5964b557..93813f76 100644
--- a/docs/aperture/bastion-vm.md
+++ b/docs/services/bastion-vm.md
@@ -2,7 +2,7 @@
This VM is an ephemeral machine that can be placed on any nomad client that has the qemu driver enabled.
-It acts as the point of ingress for Aperture, with ISS and our [firewall](firewall.md) allowing traffic to reach it's IP address externally. The VM is configured as a Nomad client itself, in the `ingress` node pool to ensure that only ingress-type allocations are placed there (like [traefik](../services/traefik.md)). Those services can proxy requests from the Bastion VM to internal services using consul's service DNS resolution, it's service mesh, or by plain IP and port.
+It acts as the point of ingress for Aperture, with ISS and our [mordor](../hardware/network/mordor.md) allowing traffic to reach it's IP address externally. The VM is configured as a Nomad client itself, in the `ingress` node pool to ensure that only ingress-type allocations are placed there (like [traefik](./traefik.md)). Those services can proxy requests from the Bastion VM to internal services using consul's service DNS resolution, it's service mesh, or by plain IP and port.
`cloud-init` is given a static address during the initialisation phase to configure the interface. This ensures that, even if it is replanned, it will be able to accept traffic.
diff --git a/docs/aperture/consul.md b/docs/services/consul.md
similarity index 100%
rename from docs/aperture/consul.md
rename to docs/services/consul.md
diff --git a/docs/services/exposed.md b/docs/services/exposed.md
index 512b426d..6a23cdef 100644
--- a/docs/services/exposed.md
+++ b/docs/services/exposed.md
@@ -3,7 +3,7 @@
Firstly, it's important to mention that Redbrick is currently split in 2 parts:
- Redbrick 2.0 *a.k.a. "old redbrick"* (on `136.206.15.0/24`)
-- [Aperture](../aperture/index.md) *a.k.a. "new redbrick"* (on `136.206.16.0/24`)
+- [Aperture](../hardware/aperture/index.md) *a.k.a. "new redbrick"* (on `136.206.16.0/24`)
## Old Redbrick
@@ -47,9 +47,9 @@ Firstly, it's important to mention that Redbrick is currently split in 2 parts:
- **Services**:
- DNS ([bind](bind.md))
-## [Aperture](../aperture/index.md)
+## [Aperture](../hardware/aperture/index.md)
-In aperture, things are done a little differently than on the other network. Instead of having a single host per service, aperture is configured to allow services to be allocated dynamically across all 3 servers using [nomad](../aperture/nomad.md), [consul](../aperture/consul.md) and [traefik](traefik.md).
+In aperture, things are done a little differently than on the other network. Instead of having a single host per service, aperture is configured to allow services to be allocated dynamically across all 3 servers using [nomad](nomad.md), [consul](consul.md) and [traefik](traefik.md).
- [glados](../hardware/aperture/glados.md) - `136.206.16.4`
- [wheatley](../hardware/aperture/wheatley.md) - `136.206.16.5`
diff --git a/docs/aperture/icecast.md b/docs/services/icecast.md
similarity index 100%
rename from docs/aperture/icecast.md
rename to docs/services/icecast.md
diff --git a/docs/services/index.md b/docs/services/index.md
index b131c81b..de224841 100644
--- a/docs/services/index.md
+++ b/docs/services/index.md
@@ -1,15 +1,16 @@
# Preface
-Here you will find a list of all the services Redbrick runs, along with some configs and some important information
-
-surrounding them.
+Here you will find a list of all the services Redbrick runs, along with some configs and some important information surrounding them.
- [api](api.md)
+- [bastion-vm](bastion-vm.md)
- [bind](bind.md)
- [codimd](codimd.md)
+- [consul](consul.md)
- [gitea](gitea.md)
- [irc](irc.md)
- [nfs](nfs.md)
+- [nomad](nomad.md)
- [traefik](traefik.md)
- [znapzend](znapzend.md)
diff --git a/docs/aperture/nomad.md b/docs/services/nomad.md
similarity index 94%
rename from docs/aperture/nomad.md
rename to docs/services/nomad.md
index a92ef24f..7d53aa54 100644
--- a/docs/aperture/nomad.md
+++ b/docs/services/nomad.md
@@ -1,3 +1,13 @@
+---
+title: Nomad on Aperture
+author:
+- distro
+- wizzdom
+tags:
+- nomad
+- aperture
+---
+
# Nomad on Aperture - `distro`, `wizzdom`
> Adapted from [redbrick/nomad README](https://github.com/redbrick/nomad/README.md)
@@ -23,7 +33,7 @@ The terminology used here is explained [here](https://developer.hashicorp.com/no
git clone git@github.com:redbrick/nomad.git
```
-- Connect to the [admin VPN](vpn.md)
+- Connect to the [admin VPN](../procedures/vpn.md)
- Set the `NOMAD_ADDR` environment variable:
```bash
diff --git a/docs/services/socs.md b/docs/services/socs.md
new file mode 100644
index 00000000..ae6af893
--- /dev/null
+++ b/docs/services/socs.md
@@ -0,0 +1,7 @@
+# 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
+-
diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css
index ba65314a..47a055f4 100644
--- a/docs/stylesheets/extra.css
+++ b/docs/stylesheets/extra.css
@@ -5,3 +5,7 @@
--md-text-font: "Myriad Pro", sans-serif;
--md-code-font: "Fira Code", monospace;
}
+
+[data-md-color-scheme="slate"] * {
+ --md-typeset-a-color: #d62e2e;
+}
diff --git a/mkdocs.yml b/mkdocs.yml
index d3a14abc..eef1deee 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -15,40 +15,93 @@ theme:
- navigation.instant
- navigation.tracking
- navigation.indexes
+ - content.code.copy
+ - content.code.annotate
palette:
- # Palette toggle for dark mode
- - scheme: slate
+ - media: "(prefers-color-scheme)"
toggle:
- icon: material/brightness-4
+ icon: material/link
name: Switch to light mode
-
- # Palette toggle for light mode
- - scheme: default
+ - media: "(prefers-color-scheme: light)"
+ scheme: default
+ primary: indigo
+ accent: indigo
toggle:
- icon: material/brightness-7
+ icon: material/toggle-switch
name: Switch to dark mode
+ - media: "(prefers-color-scheme: dark)"
+ scheme: slate
+ primary: black
+ accent: red
+ toggle:
+ icon: material/toggle-switch-off
+ name: Switch to system preference
plugins:
- awesome-pages
- callouts
+ - glightbox
- search
- material-plausible
- git-revision-date-localized:
type: timeago
+ - redirects:
+ redirect_maps:
+ 'aperture/index.md': 'hardware/aperture/index.md'
+ 'aperture/about.md': 'hardware/aperture/about.md'
+ 'aperture/chell.md': 'hardware/aperture/chell.md'
+ 'aperture/glados.md': 'hardware/aperture/glados.md'
+ 'aperture/images.md': 'hardware/aperture/images.md'
+ 'aperture/johnson.md': 'hardware/aperture/johnson.md'
+ 'aperture/wheatley.md': 'hardware/aperture/wheatley.md'
+ 'aperture/vpn.md': 'procedures/vpn.md'
+ 'aperture/nomad.md': 'services/nomad.md'
+ 'aperture/bastion-vm.md': 'services/bastion-vm.md'
+ 'aperture/ansible.md': 'procedures/ansible.md'
+ 'aperture/firewall.md': 'hardware/network/mordor.md'
+ 'aperture/icecast.md': 'services/icecast.md'
+
markdown_extensions:
- attr_list
- abbr
- nl2br
+ - meta
- admonition
- pymdownx.snippets
- pymdownx.details
- pymdownx.tabbed
- pymdownx.superfences
- pymdownx.tilde
+ - pymdownx.highlight:
+ anchor_linenums: true
+ line_spans: __span
+ pygments_lang_class: true
+
+copyright: Redbrick Docs
extra:
github_org: https://github.com/redbrick
+ manifest: manifest.webmanifest
+ social:
+ - icon: fontawesome/solid/globe
+ link: https://redbrick.dcu.ie
+ name: Redbrick Website
+ - icon: fontawesome/brands/github
+ link: https://github.redbrick.dcu.ie
+ name: Github
+ - icon: fontawesome/brands/x-twitter
+ link: https://twitter.redbrick.dcu.ie
+ name: Twitter
+ - icon: fontawesome/brands/instagram
+ link: https://instagram.redbrick.dcu.ie
+ name: Instagram
+ - icon: fontawesome/brands/linkedin
+ link: https://linkedin.redbrick.dcu.ie
+ name: LinkedIn
+ - icon: fontawesome/brands/discord
+ link: https://discord.redbrick.dcu.ie
+ name: Discord
analytics:
provider: plausible
domain: docs.redbrick.dcu.ie
@@ -69,6 +122,5 @@ extra:
Thanks for your feedback! Help us improve this page by
contacting us!
-
extra_css:
- stylesheets/extra.css