diff --git a/docs/hardware/aperture/about.md b/docs/hardware/aperture/about.md index ffe29a92..46c33fb1 100644 --- a/docs/hardware/aperture/about.md +++ b/docs/hardware/aperture/about.md @@ -6,7 +6,7 @@ tags: - aperture - hardware created: 2022-05-16T01:44:40 -modified: 2024-03-13T04:49:14 +modified: 2026-06-06T04:49:14 title: About Aperture --- @@ -18,55 +18,31 @@ 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) | - -- 2x Ubiquiti USW Pro - `rivendell`, `isengard` -- 1x Ubiquiti UDM Pro - `mordor` - ## Servers -The three servers are named [`glados`](glados.md) , [`wheatley`](wheatley.md) and [`chell`](chell.md). +The three servers are named [`glados`](glados.md), [`wheatley`](wheatley.md) and [`chell`](chell.md). ## Networks -The firewall is called [`mordor`](../network/mordor.md), and the two 24-port switches are called [`rivendell` and `isengard`](../network/switches.md). - -## Networking - -The IP address range for the [`aperture`](index.md) subnet is `10.10.0.0/24`, with `10.10.0.0/16` being used for user VMs. - -| Hostname | Internal Address | External Address | Purpose | -|:-----------:|:----------------:|:----------------:|:--------:| -| `mordor` | 10.10.0.1 | N/A | Firewall | -| `rivendell` | 10.10.0.2 | N/A | Switch | -| `isengard` | 10.10.0.3 | N/A | Switch | -| `glados` | 10.10.0.4 | 136.206.16.4 | Server | -| `wheatley` | 10.10.0.5 | 136.206.16.5 | Server | -| `chell` | 10.10.0.6 | 136.206.16.6 | Server | +The firewall is called [`mordor`](../network/mordor.md), and the two 24-port switches are called [`rivendell`](../network/rivendell.md) and [`isengard`](../network/isengard.md). > [!NOTE] Note! > **Blue** cables are used for **production network**. ## KVM -`nexus` is the name of the KVM switch. It's internal IP address is `10.10.0.10`. +`nexus` is the name of the KVM switch. It's internal IP address is `10.10.0.100`. This is used to directly access the machines from the server room. -[`glados`](glados.md) is connected on port 1, [`wheatley`](wheatley.md) on port 2, and [`chell`](chell.md) on port 3. +> [!ERROR] Note! +> **Red** cables are used for **KVM network**. -> [!WARNING] Note! -> **Yellow** cables are used for **KVM network**. ## IDRAC -The new servers are all equipped with IDRACs. These still need to be configured. +The new servers are all equipped with IDRACs. These are configured for access through the vpn. The ips assigned for these are a bit all over the place +so you need to find it on mordor. -> [!ERROR] Note! -> **Red** cables are used for **IDRAC network**. +> [!WARNING] Note! +> **Yellow** cables are used for **iDRAC network**. ## [Images (click me)](images.md) - -## Switching from the Old Network to the New - -We have two address ranges that come in on a single redundant link, so we're exchanging that redundant link for two separate links, each taking responsibility for an address range (`136.26.15.0/24` and `136.206.16.0/24`). So we're surrendering redundancy to gain uptime/connectivity during the switchover only. Once the new servers are production ready, we can recombine the link to regain the redundancy. diff --git a/docs/hardware/aperture/chell.md b/docs/hardware/aperture/chell.md index 0a47dcc6..77e849ba 100644 --- a/docs/hardware/aperture/chell.md +++ b/docs/hardware/aperture/chell.md @@ -8,7 +8,7 @@ tags: - chell - details created: 2023-12-04T22:28:41 -modified: 2024-03-13T04:49:14 +modified: 2026-06-02T00:00:00 title: Chell --- @@ -17,9 +17,9 @@ title: Chell ## Details - **Type**: Dell R6515 -- **OS**: Debian 11 +- **OS**: Debian 12 - **CPU**: AMD 7302P 3GHz, 16C/32T, 128M, 155W -- **RAM**: 2x 16GB RDIMM, 3200MT/s Dual Rank +- **RAM**: 16x 64GB RDIMM, 3200MT/s Dual Rank - **Storage**: 4x 2TB SATA HDDs (hardware RAID) Part of [aperture](index.md) @@ -27,7 +27,8 @@ Part of [aperture](index.md) ## Where to Find - **Internal**: - - `10.10.0.6` + - `10.10.10.6` + - `10.10.30.6` - **External**: - `136.206.16.6` - `chell.redbrick.dcu.ie` diff --git a/docs/hardware/aperture/glados.md b/docs/hardware/aperture/glados.md index e61c0b12..e1f078f7 100644 --- a/docs/hardware/aperture/glados.md +++ b/docs/hardware/aperture/glados.md @@ -9,7 +9,7 @@ tags: - glados - details created: 2023-12-04T22:28:41 -modified: 2024-03-13T04:49:14 +modified: 2026-06-02T00:00:00 title: GlaDOS --- @@ -18,9 +18,9 @@ title: GlaDOS ## Details - **Type**: Dell R6515 -- **OS**: Debian 11 +- **OS**: Debian 12 - **CPU**: AMD 7302P 3GHz, 16C/32T, 128M, 155W -- **RAM**: 2x 16GB RDIMM, 3200MT/s Dual Rank +- **RAM**: 16x 64GB RDIMM, 3200MT/s Dual Rank - **Storage**: 4x 2TB SATA HDDs (hardware RAID) Part of [aperture](index.md) @@ -28,7 +28,8 @@ Part of [aperture](index.md) ## Where to Find - **Internal**: - - `10.10.0.4` + - `10.10.10.4` + - `10.10.30.4` - **External**: - `136.206.16.4` - `glados.redbrick.dcu.ie` diff --git a/docs/hardware/aperture/johnson.md b/docs/hardware/aperture/johnson.md deleted file mode 100644 index a56c2747..00000000 --- a/docs/hardware/aperture/johnson.md +++ /dev/null @@ -1,43 +0,0 @@ ---- -id: johnson -aliases: - - Johnson -tags: - - aperture - - hardware - - johnson - - details -created: 2023-12-06T01:22:03 -modified: 2024-03-13T04:49:14 -title: Johnson ---- - -# Johnson - -## Details - -Formerly `albus` (in a different life) - -- **Type**: Dell PowerEdge R515 -- **OS**: NixOS -- **CPU**: 2 x Opteron 4334 6 core @ 3.2GHz -- **RAM**: 32GB -- **Storage**: LSI MegaRAID SAS 2108 RAID controller -- **Disks**: 2 x 300gb SAS for boot, 8x 1tb SATA ZFS -- **Drives**: Internal SATA DVD±RW -- **Network**: 4x Onboard Ethernet, 802.3ad bonding -- **iDRAC NIC**: Shared on port 1 - -Part of [aperture](index.md) - -## Where to Find - -- **Internal**: - - `10.10.0.7` -- 2nd NIC is currently unused, would be a good idea to make a bond for more throughput and redundancy on the same ip - -## Services - -- `NFS` for [aperture](index.md) - -![](https://cdn.redbrick.dcu.ie/docs/res/johnson.png) diff --git a/docs/hardware/aperture/wheatley.md b/docs/hardware/aperture/wheatley.md index 86ce2083..9ead777c 100644 --- a/docs/hardware/aperture/wheatley.md +++ b/docs/hardware/aperture/wheatley.md @@ -8,7 +8,7 @@ tags: - wheatley - details created: 2023-12-04T22:28:41 -modified: 2024-03-13T04:49:14 +modified: 2026-06-02T00:00:00 title: Wheatley --- @@ -17,9 +17,9 @@ title: Wheatley ## Details - **Type**: Dell R6515 -- **OS**: Debian 11 +- **OS**: Debian 12 - **CPU**: AMD 7302P 3GHz, 16C/32T, 128M, 155W -- **RAM**: 2x 16GB RDIMM, 3200MT/s Dual Rank +- **RAM**: 16x 64GB RDIMM, 3200MT/s Dual Rank - **Storage**: 4x 2TB SATA HDDs (hardware RAID) Part of [aperture](index.md) @@ -27,7 +27,8 @@ Part of [aperture](index.md) ## Where to Find - **Internal**: - - `10.10.0.5` + - `10.10.10.5` + - `10.10.30.5` - **External**: - `136.206.16.5` - `wheatley.redbrick.dcu.ie` diff --git a/docs/hardware/azazel.md b/docs/hardware/azazel.md deleted file mode 100644 index c1527031..00000000 --- a/docs/hardware/azazel.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: azazel -aliases: - - Azazel -tags: - - login-box - - hardware - - azazel - - details - - debian -created: 2023-12-02T14:18:51 -modified: 2024-03-13T04:49:14 -title: Azazel ---- - -# Azazel - -## Details - -- **Type**: Dell PowerEdge R515 -- **OS**: Debian 12 `bookworm` -- **CPU**: 2 x AMD Opteron 4180 @ 2.6Ghz -- **RAM**: 16GB -- **Storage**: Dell PERC H200 Integrated RAID Controller -- **Disks**: 2 x 146GB 15,000 RPM SAS in RAID 1 -- **DAS**: Worf -- **Drives**: Internal SATA DVD±RW -- **Network**: 2x Onboard Ethernet - -## Where to Find - -- **Internal**: - - `10.5.0.1` -- **External**: - - `136.206.15.24` - -## Services - -- primary ssh login box for users (see [Logging in](../services/servers.md#Logging%20in)) -- jump-box for admins diff --git a/docs/hardware/index.md b/docs/hardware/index.md index 18c4a9d9..2c6b0f57 100644 --- a/docs/hardware/index.md +++ b/docs/hardware/index.md @@ -14,29 +14,30 @@ 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) - -## [NixOS](../procedures/nixos.md) Boxes - -- [**`hardcase`**](nix/hardcase.md) -- [**`motherlode`**](nix/motherlode.md) -- [**`icarus`**](nix/icarus.md) - -- [**`paphos`**](paphos.md) -- [**`zeus`**](zeus.md) +- [**`Callisto`**](login/callisto.md) +- [**`Europa`**](login/europa.md) ## [Aperture](aperture/index.md) - [**`glados`**](aperture/glados.md) - [**`wheatley`**](aperture/wheatley.md) - [**`chell`**](aperture/chell.md) -- [**`johnson`**](aperture/johnson.md) -- [**`bastion-vm`**](../services/bastion-vm.md) + +## Storage Boxes +- [**`Mirage`**](storage/mirage.md) +- [**`Anubis`**](storage/anubis.md) + +## Infrastructure +- [**`Habibi`**](infrastructure/habibi.md) +- [**`Pygmalion`**](infrastructure/pygmalion.md) ## Network Hardware -- [**`arse`**](network/arse.md) -- [**`cerberus`**](network/cerberus.md) - [**`mordor`**](network/mordor.md) -- [**switches**](network/switches.md) +- [**`Isengard`**](network/isengard.md) +- [**`Rivendell`**](network/rivendell.md) +- [**`Arse`**](network/arse.md) + +## Power Hardware +- [**`Applejack`**](power/applejack.md) +- [**`Rainbowdash`**](power/rainbowdash.md) \ No newline at end of file diff --git a/docs/hardware/infrastructure/habibi.md b/docs/hardware/infrastructure/habibi.md new file mode 100644 index 00000000..47b437d5 --- /dev/null +++ b/docs/hardware/infrastructure/habibi.md @@ -0,0 +1,32 @@ +--- +id: habibi +aliases: [] +tags: [] +created: 2026-06-16T19:17:25 +modified: 2026-06-16T19:17:25 +title: Habibi +--- + +# Habibi + +## Details + +- **Type**: Dell R6515 +- **OS**: Debian 12 +- **CPU**: Intel(R) Xeon(R) CPU E5-2687W v3 @ 3.10GHz +- **RAM**: 256GB +- **Storage**: 2x 300GB SATA HDDs (hardware RAID) + +Habibi is one of the machines we had donated to us by susquehana. Currently it just runs DNS but that will eventually be moved to aperture and habibi will be used as a backup / fafo box. + +## Where to Find + +- **Internal**: + - `10.10.10.6` + - `10.10.30.6` +- **External**: + - `136.206.16.6` + - `chell.redbrick.dcu.ie` + - `chell.aperture.redbrick.dcu.ie` + +![](https://cdn.redbrick.dcu.ie/docs/res/chell.png) diff --git a/docs/hardware/infrastructure/pygmalion.md b/docs/hardware/infrastructure/pygmalion.md new file mode 100644 index 00000000..bdebdca7 --- /dev/null +++ b/docs/hardware/infrastructure/pygmalion.md @@ -0,0 +1,33 @@ +--- +id: pygmalion +aliases: + - Pygmalion + - pyg +tags: + - hardware + - pygmalion +created: 2023-12-02T14:18:51 +modified: 2024-03-13T04:49:14 +title: Pygmalion +--- + +# Pygmalion + +Former login box, now used as a fafo box with proxmox + +## Details + +- **Type**: Intel(R) Xeon (R) +- **OS**: Proxmox +- **CPU**: 2x Intel (R) Xeon (R) E5620 2.46GHz +- **RAM**: 24GB +- **Network**: 4x Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet + +## Where to Find + +- **Internal**: + - `10.10.0.25` + +## Services + +- fafo box \ No newline at end of file diff --git a/docs/hardware/login/callisto.md b/docs/hardware/login/callisto.md new file mode 100644 index 00000000..cb341bc3 --- /dev/null +++ b/docs/hardware/login/callisto.md @@ -0,0 +1,41 @@ +--- +id: callisto +aliases: + - Callisto +tags: + - hardware + - login + - details +created: 2026-06-06T00:00:00 +modified: 2026-06-06T00:00:00 +title: Callisto +--- + + +# Callisto + +## Details +![Fastfetch of login box](https://wiki.redbrick.dcu.ie/images/thumb/3/34/Callisto_fetch.png/700px-Callisto_fetch.png) + +**Type**: Dell PowerEdge R730 +**OS**: Debian 13 (trixie) +**CPU**: 2 x Intel(R) Xeon(R) E5-2687W v3 (40) @ 3.50 GHz +**RAM**: 256GB +**Storage**: Onboard RAID controller +**Disks**: 2x 300Gb SAS Disks (RAID 1) +**Network**: 2x Gigabit Ethernet, 2x 10 Gigabit SPF+ + +## Description +One of our new login boxes setup in Summer 2026. Named after the moon of Jupiter. Donated to us by Susquehanna along with 7 other machines in August 2025. + +Callisto is a twin of [Europa](./europa.md). + +## Where to Find +- **Internal**: + - `10.10.20.25` + - `10.10.30.25` +- **External**: + - `136.206.16.25` + + +![Callisto](https://img.redbrick.dcu.ie/1000x200/https://cdn.redbrick.dcu.ie/docs/res/callisto.jpg) \ No newline at end of file diff --git a/docs/hardware/login/europa.md b/docs/hardware/login/europa.md new file mode 100644 index 00000000..ca52e346 --- /dev/null +++ b/docs/hardware/login/europa.md @@ -0,0 +1,41 @@ +--- +id: europa +aliases: + - Europa +tags: + - hardware + - login + - details +created: 2026-06-06T00:00:00 +modified: 2026-06-06T00:00:00 +title: Europa +--- + + +# Europa + +## Details +![Fastfetch of login box](https://wiki.redbrick.dcu.ie/images/thumb/2/20/Europa_fetch.png/700px-Europa_fetch.png) + +**Type**: Dell PowerEdge R730 +**OS**: Debian 13 (trixie) +**CPU**: 2 x Intel(R) Xeon(R) E5-2687W v3 (40) @ 3.50 GHz +**RAM**: 256GB +**Storage**: Onboard RAID controller +**Disks**: 2x 300Gb SAS Disks (RAID 1) +**Network**: 2x Gigabit Ethernet, 2x 10 Gigabit SPF+ + +## Description +One of our new login boxes setup in Summer 2026. Named after the moon of Jupiter. Donated to us by Susquehanna along with 7 other machines in August 2025. + +Europa is a twin of [Callisto](./callisto.md). + +## Where to Find +- **Internal**: + - `10.10.20.24` + - `10.10.30.24` +- **External**: + - `136.206.16.24` + + +![Europa](https://img.redbrick.dcu.ie/1000x200/https://cdn.redbrick.dcu.ie/docs/res/europa.jpg) \ No newline at end of file diff --git a/docs/hardware/login/index.md b/docs/hardware/login/index.md new file mode 100644 index 00000000..4fbcf75d --- /dev/null +++ b/docs/hardware/login/index.md @@ -0,0 +1,30 @@ +--- +id: index +aliases: + - Login +tags: + - login + - details + - getting-started +created: 2022-05-16T01:44:40 +modified: 2024-03-13T04:49:14 +title: Login Boxes +--- + +# Login Boxes + +## What are the login boxes? + +These are the servers that we have open to use for all brickies. You can use them to play games, store files, or do any work that you need a linux system for (like compiling projects). + +## New Login Boxes + +If you need to reset or setup a new login box, there are quite a few things that need to be done. You need: +- Setup NFS mounts to give the login boxes access to both the home and webtree shares from truenas. +- Run the [ansible](../../procedures/ansible.md) scripts for new login boxes. This will install most of the packages you need and load some configs. +- Check that SSSD is working for logins. +- Check that SSSD is correctly mapping ssh keys from LDAP. +- Check that user storage quotas are applied correctly. +- Check that users cannot access or view other user folders (including admin home dirs). +- Check that users can change their own passwords. +- Check that users have permissions for their webtree. \ No newline at end of file diff --git a/docs/hardware/network/arse.md b/docs/hardware/network/arse.md index 783a196d..1d89b665 100644 --- a/docs/hardware/network/arse.md +++ b/docs/hardware/network/arse.md @@ -6,3 +6,5 @@ created: 2024-03-01T21:17:25 modified: 2024-03-01T21:17:25 title: Arse --- + +Fibre splitter. \ No newline at end of file diff --git a/docs/hardware/network/cerberus.md b/docs/hardware/network/cerberus.md deleted file mode 100644 index 0af41a3f..00000000 --- a/docs/hardware/network/cerberus.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -id: cerberus -aliases: - - cerberus - - srx - - SRX -tags: [] -created: 2024-03-01T21:17:25 -modified: 2024-03-01T21:17:25 -title: Cerberus (SRX) ---- diff --git a/docs/hardware/network/index.md b/docs/hardware/network/index.md index d69bbb43..e808164c 100644 --- a/docs/hardware/network/index.md +++ b/docs/hardware/network/index.md @@ -7,3 +7,15 @@ title: Redbrick Network Architecture --- # Redbrick Network Architecture + +## VLANs + +Redbrick has a number of VLANs in use, which are used to separate different types of traffic and to apply different rules to different types of devices. The VLANs in use are: + +- **VLAN 0** (Internal): Used for legacy reasons and for management. +- **VLAN 10** (Internal Prod): Used for production servers that need to be accessible from the rest of the network. +- **VLAN 16** (External Prod): Used for production servers that need to be accessible from the internet. +- **VLAN 20** (Login): Used for login boxes and other devices that need to be accessible from the rest of the network. +- **VLAN 30** (Storage): Used for storage servers to be able to communicate with the rest of the network. +- **VLAN 40** (Management): Used for management of the servers by the sysadmins. +- **VLAN 99**: Void VLAN for unconfigured devices, so that they cannot access anything they shouldn't \ No newline at end of file diff --git a/docs/hardware/network/isengard.md b/docs/hardware/network/isengard.md new file mode 100644 index 00000000..bf17f496 --- /dev/null +++ b/docs/hardware/network/isengard.md @@ -0,0 +1,22 @@ +--- +id: isengard +aliases: + - Isengard +tags: ["network", "hardware", "switch"] +created: 2026-06-02T00:00:00 +modified: 2026-06-02T00:00:00 +title: Isengard +--- + +# Isengard + +## Details + +* **Device**: Ubiquiti UniFi Switch Pro 24 + +## Services + +* Used as a managed switch to create various VLANs and to apply rules in the network. + +## Ip Addresses: +* 10.10.0.3 \ No newline at end of file diff --git a/docs/hardware/network/mordor.md b/docs/hardware/network/mordor.md index da614ae9..f43c6a80 100644 --- a/docs/hardware/network/mordor.md +++ b/docs/hardware/network/mordor.md @@ -34,6 +34,10 @@ The owner account of the unifi equipment is `rbadmins` (email: elected-admins@re There is a "super admin" account that can be used for **local access only**, details are stored in `pwsafe` under `udmpro-super-admin`. +### VPN + +The admin VPN is currently hosted directly on mordor. Wireguard certs for new vpn connections can be created in the settings for the vpn. + ### Updates The UDM Pro should be kept up to date at all times using the web interface. Please ensure there are no breaking changes before updating. diff --git a/docs/hardware/network/rivendell.md b/docs/hardware/network/rivendell.md new file mode 100644 index 00000000..feb397e3 --- /dev/null +++ b/docs/hardware/network/rivendell.md @@ -0,0 +1,22 @@ +--- +id: rivendell +aliases: + - Rivendell +tags: ["network", "hardware", "switch"] +created: 2026-06-02T00:00:00 +modified: 2026-06-02T00:00:00 +title: Rivendell +--- + +# Rivendell + +## Details + +* **Device**: Ubiquiti UniFi Switch Pro 24 + +## Services + +* Used as a managed switch to create various VLANs and to apply rules in the network. + +## Ip Addresses: +* 10.10.0.2 \ No newline at end of file diff --git a/docs/hardware/network/switches.md b/docs/hardware/network/switches.md deleted file mode 100644 index 58134882..00000000 --- a/docs/hardware/network/switches.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -id: switches -aliases: [] -tags: [] -created: 2024-03-01T21:17:25 -modified: 2024-03-01T21:17:25 -title: switches ---- diff --git a/docs/hardware/nix/hardcase.md b/docs/hardware/nix/hardcase.md deleted file mode 100644 index a928e153..00000000 --- a/docs/hardware/nix/hardcase.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -id: hardcase -aliases: - - Hardcase -tags: - - nixos - - hardware - - details - - hardcase -created: 2023-12-04T22:28:41 -modified: 2024-03-13T04:49:14 -title: Hardcase ---- - -# Hardcase - -## Details - -- **Type**: Dell PowerEdge R410 -- **OS**: NixOS -- **CPU**: 2 x Intel Xeon X5570 @ 2.93GHz -- **RAM**: 48GB, incorrectly populated -- **Storage**: LSI Logic SAS1068E "Fake" RAID controller -- **Disks**: 2 x 500GB SATA disks in RAID 1 -- **Drives**: Internal SATA DVD±RW -- **Network**: 2x Onboard Ethernet, 802.3ad bonding -- **iDRAC NIC**: Shared on port 1 -- iDRAC IP is `1.158` - -## Where to Find - -- **Internal**: - - `192.168.0.158` -- **External**: - - `136.206.15.3` - -## Services - -- postgreSQL -- apache -- ~~monitoring~~ -- postfix (SMTP) -- dovecot (IMAP) -- mailman - mailing lists diff --git a/docs/hardware/nix/icarus.md b/docs/hardware/nix/icarus.md deleted file mode 100644 index 8b1d1bf9..00000000 --- a/docs/hardware/nix/icarus.md +++ /dev/null @@ -1,45 +0,0 @@ ---- -id: icarus -aliases: - - Icarus -tags: - - nixos - - hardware - - icarus - - daedalus - - details -created: 2021-06-28T23:17:10 -modified: 2024-03-13T04:49:14 -title: Icarus ---- - -# Icarus - -Daedalus and Icarus ~~are~~ were twins ~~and thus share documentation.~~ - -However, Daedalus is now ***Dead***alus and Icarus lives on *for now* albeit a little sick. - -## Details - -- **Type**: Dell PowerEdge 2950 -- **OS**: NixOS -- **CPU**: 2x Intel Xeon L5335 @ 2.00GHz -- **RAM**: 32GB (Daedalus), 16GB (Icarus) -- **Storage**: Dell Perc 6/i Integrated RAID controller -- **Disks**: - - 2 x 73GB SAS disks in RAID 1 (hardware) - - 3 x 600GB SAS disks in passthrough (3x RAID 0) -- **Drives**: Internal SATA DVD±RW -- **Network**: 2x Onboard Ethernet, 802.3ad bonding -- iDRAC NIC: Shared on port 1 - -## Where to Find - -- **Internal**: - - `192.168.0.150` - -## Services - -- LDAP -- [NFS](../../services/nfs.md), (a.k.a `/storage`) -- GlusterFS, eventually, or some other distributed storage to replace NFS diff --git a/docs/hardware/nix/motherlode.md b/docs/hardware/nix/motherlode.md deleted file mode 100644 index 73743b00..00000000 --- a/docs/hardware/nix/motherlode.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -id: motherlode -aliases: - - Motherlode -tags: - - nixos - - hardware - - motherlode - - details - - qemu - - libvirt -created: 2023-12-04T22:28:41 -modified: 2024-03-13T04:49:14 -title: Motherlode ---- - -# Motherlode - -## Details - -(Something should go here probably) - -## Where to Find - -- **Internal**: - - `192.168.0.130` -- **External**: - - `136.206.15.250` ([dcuclubsandsocs.ie](https://dcuclubsandsocs.ie)) - -## Services - -- hosts the VM for [dcuclubsandsocs.ie](https://dcuclubsandsocs.ie) (`libvirt`/`QEMU`) diff --git a/docs/hardware/paphos.md b/docs/hardware/paphos.md deleted file mode 100644 index f193ddeb..00000000 --- a/docs/hardware/paphos.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -id: paphos -aliases: - - Paphos -tags: - - hardware - - paphos - - details - - dns - - bind - - ubuntu -created: 2023-12-02T14:18:51 -modified: 2024-03-13T04:49:14 -title: Paphos ---- - -# Paphos - -## Details - -- **Type**: Dell PowerEdge R710 -- **OS**: Ubuntu 14.04.5 LTS 😭 -- **CPU**: 2 x Intel Xeon CPU E5620 @ 2.40Ghz -- **RAM**: 16GB -- **Drives**: Internal SATA DVD±RW -- **Network**: NetXtreme II BCM5709 Gigabit Ethernet - -## Where to Find - -- **Internal**: - - `192.168.0.26` - - `192.168.0.4` - - `10.5.0.6` -- **External**: - - `136.206.15.26` - - `136.206.15.52` - - `136.206.15.53` - - `136.206.15.55` - - `136.206.15.57` - - `136.206.15.58` - - `136.206.15.101` - - `136.206.15.54` - - `136.206.15.74` - - `ns1.redbrick.dcu.ie` - -## Services - -- DNS ([bind](../services/bind.md)) diff --git a/docs/hardware/power/applejack.md b/docs/hardware/power/applejack.md new file mode 100644 index 00000000..990e9b63 --- /dev/null +++ b/docs/hardware/power/applejack.md @@ -0,0 +1,21 @@ +--- +id: applejack +aliases: + - Applejack +tags: + - hardware + - power + - details +created: 2026-06-05T00:00:00 +modified: 2026-06-05T00:00:00 +title: Applejack +--- + +# Applejack + +* **Device**: APC Smart UPS SRT 3000 + +### Services +* Used for power and power redundancy for the servers and network hardware in the server room. + +![](https://cdn.redbrick.dcu.ie/docs/res/APC_UPS.jpg) \ No newline at end of file diff --git a/docs/hardware/power/rainbowdash.md b/docs/hardware/power/rainbowdash.md new file mode 100644 index 00000000..4ecc6640 --- /dev/null +++ b/docs/hardware/power/rainbowdash.md @@ -0,0 +1,21 @@ +--- +id: rainbowdash +aliases: + - Rainbowdash +tags: + - hardware + - power + - details +created: 2026-06-05T00:00:00 +modified: 2026-06-05T00:00:00 +title: Rainbowdash +--- + +# Rainbowdash + +* **Device**: APC Smart UPS SRT 3000 + Network Management Card + +### Services +* Used for power and power redundancy for the servers and network hardware in the server room. + +![](https://cdn.redbrick.dcu.ie/docs/res/APC_UPS.jpg) \ No newline at end of file diff --git a/docs/hardware/sewer/donatello.md b/docs/hardware/sewer/donatello.md new file mode 100644 index 00000000..d3feb6af --- /dev/null +++ b/docs/hardware/sewer/donatello.md @@ -0,0 +1,36 @@ +--- +id: donatello +aliases: + - Donatello +tags: + - hardware + - sewer + - details +created: 2026-06-06T00:00:00 +modified: 2026-06-06T00:00:00 +title: Donatello +--- + + +# Donatello + +## Details +**Type**: Dell PowerEdge R730 +**OS**: Debian 13 (trixie) +**CPU**: 2 x Intel(R) Xeon(R) E5-2637 v3 (16) @ 3.60 GHz +**RAM**: 128GB +**Storage**: Onboard RAID controller +**Disks**: 2x 300Gb SAS Disks (RAID 1) +**Network**: 2x Gigabit Ethernet, 2x 10 Gigabit SPF+ + +## Description +Part of our new dev cluster, setup in Summer 2026. Donated to us by Susquehanna along with 7 other machines in August 2025. + +Donatello is part of the [sewer cluster](./index.md). + +## Where to Find +- **Internal**: + - `10.10.10.44` + - `10.10.30.44` +- **External**: + - `136.206.16.44` diff --git a/docs/hardware/sewer/index.md b/docs/hardware/sewer/index.md new file mode 100644 index 00000000..40a11267 --- /dev/null +++ b/docs/hardware/sewer/index.md @@ -0,0 +1,29 @@ +--- +id: sewer +aliases: + - Sewer +tags: + - sewer + - details + - getting-started +created: 2022-05-16T01:44:40 +modified: 2024-03-13T04:49:14 +title: Sewer Cluster +--- + +# Sewer Cluster + +## What is the Sewer Cluster? + +The sewer cluster is a trio of systems named after the teenage mutant ninja turtles. They make up redbricks dev cluster. + +## What does it do? + +The sewer cluster is hooked up with nomad and consul just like aperture, so it's the perfect place to test new services. The sewer cluster boxes also +have GPUs in them, which lets them run AI workloads. Anything hosted by redbrick that uses an AI model is hosted here. + +## Hardware + +- [Donatello](./donatello.md) +- [Raphael](./raphael.md) +- [Michelangelo](./michelangelo.md) \ No newline at end of file diff --git a/docs/hardware/sewer/michelangelo.md b/docs/hardware/sewer/michelangelo.md new file mode 100644 index 00000000..1bcc381a --- /dev/null +++ b/docs/hardware/sewer/michelangelo.md @@ -0,0 +1,36 @@ +--- +id: michelangelo +aliases: + - Michelangelo +tags: + - hardware + - sewer + - details +created: 2026-06-06T00:00:00 +modified: 2026-06-06T00:00:00 +title: Michelangelo +--- + + +# Michelangelo + +## Details +**Type**: Dell PowerEdge R730 +**OS**: Debian 13 (trixie) +**CPU**: 2 x Intel(R) Xeon(R) E5-2687W v3 (40) @ 3.50 GHz +**RAM**: 256GB +**Storage**: Onboard RAID controller +**Disks**: 2x 300Gb SAS Disks (RAID 1) +**Network**: 2x Gigabit Ethernet, 2x 10 Gigabit SPF+ + +## Description +Part of our new dev cluster, setup in Summer 2026. Donated to us by Susquehanna along with 7 other machines in August 2025. + +Michelangelo is part of the [sewer cluster](./index.md). + +## Where to Find +- **Internal**: + - `10.10.10.45` + - `10.10.30.45` +- **External**: + - `136.206.16.45` diff --git a/docs/hardware/sewer/raphael.md b/docs/hardware/sewer/raphael.md new file mode 100644 index 00000000..a4634c0b --- /dev/null +++ b/docs/hardware/sewer/raphael.md @@ -0,0 +1,36 @@ +--- +id: raphael +aliases: + - Raphael +tags: + - hardware + - sewer + - details +created: 2026-06-06T00:00:00 +modified: 2026-06-06T00:00:00 +title: Raphael +--- + + +# Raphael + +## Details +**Type**: Dell PowerEdge R730 +**OS**: Debian 13 (trixie) +**CPU**: 2 x Intel(R) Xeon(R) E5-2687W v3 (40) @ 3.50 GHz +**RAM**: 128GB +**Storage**: Onboard RAID controller +**Disks**: 2x 600Gb SAS Disks (RAID 1) +**Network**: 2x Gigabit Ethernet, 2x 10 Gigabit SPF+ + +## Description +Part of our new dev cluster, setup in Summer 2026. Donated to us by Susquehanna along with 7 other machines in August 2025. + +Raphael is part of the [sewer cluster](./index.md). + +## Where to Find +- **Internal**: + - `10.10.10.45` + - `10.10.30.45` +- **External**: + - `136.206.16.45` diff --git a/docs/hardware/storage/anubis.md b/docs/hardware/storage/anubis.md new file mode 100644 index 00000000..ccec0191 --- /dev/null +++ b/docs/hardware/storage/anubis.md @@ -0,0 +1,36 @@ +--- +id: anubis +aliases: + - Anubis +tags: + - hardware + - storage + - details +created: 2026-06-02T00:00:00 +modified: 2026-06-02T00:00:00 +title: Anubis +--- + +# Anubis + +## Details + +- **Type**: PowerEdge R730 +- **OS**: TrueNAS Community (Goldeye) +- **CPU**: 2 x Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GH +- **RAM**: 256GB +- **Storage**: Onboard RAID controller +- **Disks**: 2x 500Gb SAS Disks, 12x 4Tb SAS Disks, 2x 512Gb SAS SSDs, 1x 512Gb SAS Disk +- **Network**: 2x Gigabit Ethernet, 2x 10 Gigabit SPF+ + +## Where to Find + +- **Internal**: + - `10.10.0.10` + - `10.10.30.10` + +## Services + +- Backup server for [mirage](mirage.md) + +![](https://cdn.redbrick.dcu.ie/docs/res/anubis.webp) diff --git a/docs/hardware/storage/mirage.md b/docs/hardware/storage/mirage.md new file mode 100644 index 00000000..d3c7d15a --- /dev/null +++ b/docs/hardware/storage/mirage.md @@ -0,0 +1,37 @@ +--- +id: mirage +aliases: + - Mirage +tags: + - hardware + - storage + - details +created: 2026-06-02T00:00:00 +modified: 2026-06-02T00:00:00 +title: Mirage +--- + +# Mirage + +## Details + +- **Type**: PowerEdge R730 +- **OS**: TrueNAS Community (Goldeye) +- **CPU**: 2 x Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GH +- **RAM**: 256GB +- **Storage**: Onboard RAID controller +- **Disks**: 2x 500Gb SAS Disks, 12x 4Tb SAS Disks, 2x 512Gb SAS SSDs, 1x 1Tb SAS Disk +- **Network**: 2x Gigabit Ethernet, 2x 10 Gigabit SPF+ + +## Where to Find + +- **Internal**: + - `10.10.0.9` + - `10.10.30.9` + +## Services + +- `NFS` for [aperture](../aperture/index.md) +- `NFS` for Login Boxes + +![](https://cdn.redbrick.dcu.ie/docs/res/mirage.webp) diff --git a/docs/hardware/zeus.md b/docs/hardware/zeus.md deleted file mode 100644 index 10125477..00000000 --- a/docs/hardware/zeus.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -id: zeus -aliases: - - Zeus -tags: - - hardware - - zeus - - details - - docker - - ubuntu -created: 2023-12-02T14:18:51 -modified: 2024-03-13T04:49:14 -title: Zeus ---- - -# Zeus - -## Details - -- **Type**: Dell PowerEdge R410 -- **OS**: Ubuntu 18.04 -- **CPU**: 2x Intel(R) Xeon (R) x5570 @ 2.93 GHz -- **RAM**: 32GB -- **Network**: 2x NetXtreme II BCM5716 Gigabit Ethernet - -## Where to Find - -- **Internal**: - - `192.168.0.131` -- **External**: - - `136.206.15.31` - -## Services - -- [Wetty](../services/servers.md#Logging%20in%20to%20Wetty) at: [wetty.redbrick.dcu.ie](https://wetty.redbrick.dcu.ie) -- [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/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 diff --git a/docs/procedures/post-powercut.md b/docs/procedures/post-powercut.md index 95f2e09f..ca0678e9 100644 --- a/docs/procedures/post-powercut.md +++ b/docs/procedures/post-powercut.md @@ -6,38 +6,97 @@ tags: - powercut - todo created: 2023-12-05T01:36:11 -modified: 2024-09-30T19:24:57 +modified: 2026-06-18T13:24:57 title: Post-powercut Todo List --- -# Post-powercut Todo List +# Post-Powercut Verification Checklist A list of things that should be done/checked immediately after a power cut: -- Ensure the [`aperture`](../hardware/aperture/index.md) servers have the correct IP addresses: - - `eno1` should have the internal IP address (`10.10.0.0/24`) - this should be reserved by DHCP on [`mordor`](../hardware/network/mordor.md) - - `eno2` should have *no IP address* - - `br0` should have the external IP address (`136.206.16.0/24`) - this should also be reserved by DHCP on [`mordor`](../hardware/network/mordor.md) -- If the [`bastion-vm`](../services/bastion-vm.md) fails to start, check: - - `/storage` is mounted `rw` on each [`aperture`](../hardware/aperture/index.md) server - - `br0` is present and configured on each [`aperture`](../hardware/aperture/index.md) server - - `vm-resources.service.consul` is running and `http://vm-resources.service.consul:8000/bastion/bastion-vm-latest.qcow2` is accessible - - if the `latest` symlink points to a corrupted image, `ln -sf` it to an earlier one -- All the [`nixos`](..//procedures/nixos.md) boxes rely on [`DNS`](..//services/bind.md) for [`LDAP`](../services/ldap.md) and [`NFS`](../services/nfs.md): - - Make sure bind is running on [`paphos`](../hardware/paphos.md) - - mount `/storage` - - `systemctl restart` `httpd`, `php-fpm-rbusers-*` and `ldap` -- Apache on [`hardcase`](../hardware/nix/hardcase.md) sometimes tries to start before networking is finished starting. To fix it, disable/re-enable it a few times. This usually makes it turn on. -- Mailman on [`hardcase`](../hardware/nix/hardcase.md) has a lock file at `/var/lib/mailman/lock/master.lck`. If it doesn't shut down correctly, this lock file will block mailman from starting up. Remove it with: +> [!NOTE] Note! +> An announcement should be made in the Redbrick Discord server to notify members that a power cut has occurred and that the team is working on restoring services. +## 1. Network & VLAN Verification + +Run these baseline commands on each [`aperture`](../hardware/aperture/index.md) server to refresh the network states and make sure that all bridges are up and running correctly: +```bash +sudo systemctl daemon-reload +sudo systemctl restart networking +``` + +### IP Address & Bridge Validation +Ensure all [`aperture`](../hardware/aperture/index.md) servers have their correct IP addresses across **vlan16**, **vlan10**, **vlan30**, and **vlan40**. + +#### For [`glados`](../hardware/aperture/glados.md): +* Verify `br0` is up. +* Verify `br0` holds the vlan16 IP: `136.206.16.4` +* Verify `br0` holds the Keepalived IP: `136.206.16.50` + +### Troubleshooting Network Bridges + +* **If `br0` is down**, force the link: + ```bash + sudo ip link set vlan16 master br0 + ``` + +* **Verify VM communication** link by checking if `br0` is linked to `vnet0` and `vlan16`: + ```bash + sudo brctl show br0 + ``` + +* **If `br0` lacks a link to `vnet0`**, manually bridge them: + ```bash + sudo brctl addif br0 vnet0 + ``` + **Note:** You must restart any VMs running on that host after running this command to restore their connectivity. + +--- + +## 2. Storage Mounts + +Verify that shared storage is attached before checking any Nomad jobs. + +1. Access each [`aperture`](../hardware/aperture/index.md) server. +2. Force mount all entries: + ```bash + sudo mount -a + ``` +3. Confirm `/storage` is mounted correctly. +4. *If mounting fails, inspect `/etc/fstab` for issues.* + +--- + +## 3. Nomad Workloads + +If Nomad jobs started while `/storage` was unmounted, they will be in a broken state and must be restarted. + +Run this loop script to automatically reschedule and fix all active Nomad jobs on the host: ```bash -rm /var/lib/mailman/lock/master.lck +for job in \$(nomad job status | awk 'NR>1 {print \$1}'); do + echo "Rescheduling job to fix storage: \$job" + nomad job restart -reschedule "\$job" +done ``` -- [`paphos`](../hardware/paphos.md) is old and sometimes its time will become out of sync. To make sure its time is accurate, run: +--- + +## 4. System Time Verification + +Ensure you have the correct time on each server. + +* Check current system time: + ```bash + date + ``` + +## 5. Debug current services. + +Some services might be in a corrupted or unstable state, especially if they are running with databases like PostgreSQL. Check the status of all services and restart any that are not running correctly. + +One useful step is to run pg_resetwal on those databases to reset the write-ahead log and restore them to a consistent state. This should be done with caution and ideally after taking a backup of the database. ```bash -sudo service ntp restart +sudo docker run --rm -u -v "$(pwd)/db:/var/lib/postgresql/data" postgres:17-alpine pg_resetwal -f /var/lib/postgresql/data ``` -and ensure you have the correct time with `date` diff --git a/docs/services/api.md b/docs/services/api.md index 4191557b..1ea6cf4e 100644 --- a/docs/services/api.md +++ b/docs/services/api.md @@ -7,21 +7,21 @@ tags: - api - ldap created: 2021-08-13T23:28:49 -modified: 2024-03-31T18:48:31 +modified: 2026-08-18T10:01:49 title: Admin API --- # Redbrick Administrative Web API -The source code for the API can be found [here](https://github.com/redbrick/api/). +The source code for the API can be found [here](https://github.com/redbrick/api/). The repository is private and accessible only to committee. The Redbrick web API serves as an easy interface to carry out administrator tasks *(mainly LDAP related)*, and for use in automation. This saves time instead of accessing machines, and formulating and executing manual LDAP queries or scripts. -The server code for the API is hosted on [`aperture`](../hardware/aperture/index.md) in a docker container deployed with [`nomad`](nomad.md), the job file for which is [here](https://github.com/redbrick/nomad/blob/master/jobs/services/api.hcl). It is written in Python with [FastAPI](https://fastapi.tiangolo.com/). This container is then served to the public using [`traefik`](traefik.md). +The API is hosted on [`aperture`](../hardware/aperture/index.md) in a docker container deployed with [`nomad`](nomad.md), the job is deployed automatically by github workflows and to trigger redeployment the action needs to be re-run. It is written in Python with [FastAPI](https://fastapi.tiangolo.com/). This container is then served to the public using [`traefik`](traefik.md). ## Nomad Job File -The [nomad job for Redbrick's API](https://github.com/redbrick/nomad/blob/master/jobs/services/api.hcl) is similar to most other web servers for the most part. As always, all secrets are stored in [`consul`](consul.md). Some things to watch out for are: +The [nomad job for Redbrick's API](https://github.com/redbrick/nomad/blob/master/jobs/services/api.hcl) is used as a template for deployment by github workflows and attempting to deploy the template directly **will not work.** This uses a similar system to [atlas](https://docs.redbrick.dcu.ie/webgroup/atlas/) and [blockbot](https://docs.redbrick.dcu.ie/webgroup/blockbot/). To redeploy the API you need to trigger the deployment workflow. The production deployment workflow will run if it's triggered in the master branch, and the review deployment will run in any other branch. - The docker image on ghcr.io is private and therefore requires credentials to access. @@ -33,33 +33,28 @@ auth { ``` ```hcl title="Nomad" -template { - data = <' -} - -response = requests.request("GET", url, headers=headers) - -print(response.text) ``` - -- `PUT` a user's LDAP data to change their `loginShell` to `/usr/local/shells/zsh` - -```python -import requests -import json - -url = "https://api.redbrick.dcu.ie/users/USERNAME_HERE" -payload = json.dumps({ - "ldap_key": "loginShell", - "ldap_value": "/usr/local/shells/zsh" -}) -headers = { - 'Authorization': 'Basic ', - 'Content-Type': 'application/json' -} - -response = requests.request("GET", url, headers=headers, data=payload) - -print(response.text) +Select a task to start your session. + +Customize your command, then hit ‘return’ to run. + +$ nomad alloc exec -i -t -task api b8395f6f /bin/sh +/usr/src # python -m app account -h +Usage: + python -m app account register + python -m app account delete + python -m app account list + python -m app account permission add + python -m app account permission remove + python -m app account permission list + +Example: + python -m app account permission add blockbot admin:getuser,admin:updateuser +/usr/src # ``` -## Important Notes and Caveats - -As the FastAPI server for the API is hosted inside of a Docker container, there are limitations to the commands we can execute that affect the "outside" world. - -*This is especially important with commands that rely on LDAP.* +Valid permissions include `admin:getuser` for the admin get user endpoints, `admin:updateuser` for any endpoints that modify user LDAP data, `admin:registeruser` for creating new LDAP users and `admin:deleteuser` for deleting LDAP users. Any of the commands that take permissions as an input support comma seperated lists of permissions for bulk operations. -For example inside the `ldap-register.sh` script used by the `/register` endpoint. -- Commands like `chown` which require a user group or user to be passed to them will not work because they cannot access these users/groups in the container. - -- This is prevalent in our implementation of the API that creates and modifies users' `webtree` directory. - -*How do we fix this?* - -Instead of relying on using users/group names for the `chown` command, it is advisable to instead use their unique id's. - -```bash -# For example, the following commands are equivalent. -chown USERNAME:member /storage/webtree/U/USERNAME - -chown 13371337:103 /storage/webtree/U/USERNAME -# Where 13371337 is userid and 103 is the id for the 'member' group. -``` +## Important Notes and Caveats -> Note that `USERNAME` can be used to refer to the user's web directory here since it is the name of the directory and doesn't refer to the user object. +While the API can be used to change a users name on LDAP, it is not recommended to do so. This has caused issues in the past, so the better way is to simply delete the users old account and make a new one, and manually move the old home and webtree directories. \ No newline at end of file diff --git a/docs/services/bastion-vm.md b/docs/services/bastion-vm.md deleted file mode 100644 index 2614cd40..00000000 --- a/docs/services/bastion-vm.md +++ /dev/null @@ -1,36 +0,0 @@ ---- -id: bastion-vm -aliases: - - Bastion VM -tags: - - aperture - - services - - nomad - - vm - - ingress -created: 2024-01-23T15:43:40 -modified: 2024-04-02T00:12:41 -title: Bastion VM ---- - -# Bastion VM - -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 [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. - -![Ingress Topology with Bastion VM](https://cdn.redbrick.dcu.ie/docs/res/ingress-topology.png) - -`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. - -The base image that the VM uses is a Debian 12 qcow file. After all configuration was done, the size of the image is `~3.2GB`. The image can be used to create replicas of the ingress on other external IP addresses, creating more availability if needed. - -## Steps to Deploy - -You'll need to ensure the hosts have a bridge device configured to ensure that the networking aspect of the VM can function. See the[`redbrick/nomad`](https://github.com/redbrick/nomad) repo for more information about the steps needed for that. - -You'll need a webserver to serve the `cloud-init` configs. There may be another solution to this in the near future, but for now, `wheatley:/home/mojito/tmp/serve` contains the configurations. - -Plan the Nomad job and wait for the allocation to be created. If you used the correct image (for example a backup of the qcow file) the virtual machine should be configured and should connect as normal to the Consul and Nomad clusters and become eligible for allocations. If you started from scratch, then use the `ansible/redbrick-ansible.yml` playbook in the [`redbrick/nomad`](https://github.com/redbrick/nomad) repo and ensure that the `hosts` file is up to date. - -For security's sake, there is no root login and no user accounts on the bastion VM. This is an attempt to make the node more secure. If you need to make changes, you should change the base image and apply that. The less vulnerabilities that are discovered on the bastion VM, the happier we can keep ISS and the safer Redbrick will be.