Browse Source

Added skeletons for many other services and filled in Info

creds
Cameron Weinfurt 2 years ago
parent
commit
2bafd7e455
  1. 5
      docs/services/compute.md
  2. 0
      docs/services/containers.md
  3. 65
      docs/services/networking.md
  4. 17
      docs/services/storage.md
  5. 38
      docs/services/vmhosts.md
  6. 263
      docs/services/vms.md
  7. 7
      mkdocs.yml

5
docs/services/compute.md

@ -0,0 +1,5 @@
# Norm
## Basic Info
## History
## Installation

0
docs/services/containers.md

65
docs/services/networking.md

@ -0,0 +1,65 @@
# Ziltoid
## Basic Info
## History
## Installation
# Talos
## Basic Info
## History
## Installation
# Atlas
## Basic Info
## History
## Installation
# SWF1
## Basic Info
## History
## Installation
# SWF2
## Basic Info
## History
## Installation
# SWM1
## Basic Info
## History
## Installation
# SWM2
## Basic Info
## History
## Installation
# SWM3
## Basic Info
## History
## Installation
# SWM4
## Basic Info
## History
## Installation
# Unifi
## Basic Info
## History
## Installation
# VOIP
## Basic Info
## History
## Installation

17
docs/services/storage.md

@ -0,0 +1,17 @@
# Bacon
## Basic Info
## History
## Installation
# Elephant
## Basic Info
## History
## Installation
# Uncle-Deadly
## Basic Info
## History
## Installation

38
docs/services/vmhosts.md

@ -10,15 +10,7 @@ Even though our VM Hosts are powerful, they are still limited. During the Fall o
Hydra is our primary VM host. It is currently running 18.04.03 LTS
## Installation:
### Additional packages:
htop iotop iftop lm_sensors vim sudo qemu libvirtd screen rsync tmux p7zip
### Additional configuration:
## Hardware:
## Basic Info
!!! Danger
The heat sink on CPU0 is not secured completely. This is not from misuse, but still results in the hardware being extra sensitive to a bump leading to the cooler becoming dislodged and rolling around the rack. Servers should always be handled with care regardless of the circumstance, but in this case an effort must be made.
@ -34,6 +26,18 @@ Hydra is our primary VM host. It is currently running 18.04.03 LTS
* 10G Fiber: Mellanox Technologies MT26448 (00:02:c9:51:77:2c)
* Ethernet: Intel Corporation 82576 (0c:c4:7a:c6:e7:88, 0c:c4:7a:c6:e7:89) [Unused]
## History
## Installation:
### Additional packages:
htop iotop iftop lm_sensors vim sudo qemu libvirtd screen rsync tmux p7zip
### Additional configuration:
## Hardware:
## Services:
* anthonyresearch
@ -68,13 +72,7 @@ Hydra is our primary VM host. It is currently running 18.04.03 LTS
Tiamat is the name of our secondary VM host, taking the name of a hydra from DnD to go along with [Hydra](vmhosts.md#hydra). This is a temporary arrangement and will be changed into a compute server once the new VM Host arrives.
## Installation:
### Additional packages:
### Additional configuration:
## Hardware:
## Basic Info
* CPU: 16 Core AMD Opteron 6220
* RAM: 8x8 GB DDR3-1333
@ -90,6 +88,9 @@ Tiamat is the name of our secondary VM host, taking the name of a hydra from DnD
* ac:16:2d:a4:6f:92 [Unused]
* ac:16:2d:a4:6f:93 [Unused]
## History
## Installation
## Services:
* 146-dhcp
@ -103,3 +104,8 @@ Tiamat is the name of our secondary VM host, taking the name of a hydra from DnD
* victim [Inactive]
# Grand-Dad
## Basic Info
## History
## Installation
## Services

263
docs/services/vms.md

@ -0,0 +1,263 @@
# Anthonyresearch
## Basic Info
## History
## Installation
# Atlas
See [*Atlas*](networking.md#atlas)
# Bouncer
## Basic Info
## History
## Installation
# CJSD
## Basic Info
## History
## Installation
# Crow
## Basic Info
## History
## Installation
# Docker [Inactive]
## Basic Info
## History
## Installation
# Docs
## Basic Info
## History
## Installation
# Dubsdot
## Basic Info
## History
## Installation
# Eldoom
## Basic Info
## History
## Installation
# Gitea
## Basic Info
## History
## Installation
# GMy [Inactive]
## Basic Info
## History
## Installation
# Info
The VM that is hosting this site!
info/ itself uses MkDocs to convert Markdown via the Python-Markdown library with various extensions into webcontent. MkDocs includes the ability to host the content it creates, but it is better to point an actual webserver at the content instead. nginx was chosen for this task, and a SSL certificate was obtained from Let's Encrypt via [Certbot](https://certbot.eff.org/). info/ is accesible from both HTTP and HTTPS as configured.
Currently, info/ is using the Cinder theme.
## Basic Info:
* Host: Hydra
* Maintainer: Cameron
* Cores: 1
* RAM: 1G
* Disk: 20 GB
* OS: Arch Linux
* IP: 128.153.145.101
* Technologies: nginx, certbot, mkdocs, sshd
## History
The [previous documentation webservice](vms.md#docs) used to be the place to record documentation and other info about the labs. However, due to the MediaWiki instance becoming unstable and problematic to maintain, a [Gitea](vms.md#gitea) instance was created to replace it. Rather than being a wiki, it was a Git server being used as a way to version control documentation and configuration. [info/](https://info.cosi.clarkson.edu) was created to act as a prettier front-end to the lab's record keeping.
## Installation
Create a lightweight VM on a capable [VM Host](vmhosts.md) and provide it enough resources to run a web server. A single core and 20 GB of disk should suffice. Perform a basic Arch Linux install and install the following additional packages
nginx certbot certbot-nginx python3 python-pip
MkDocs isn't strictly required to be installed on the VM in order for it to work, but it is handy to have it installed. Install the following packages via `pip3`:
mkdocs mkdocs-cinder
### Nginx and Certbot
To make info/ an HTTPS server, we need a SSL certificate. Grab one by running:
sudo certbot certonly --nginx -d info.cosi.clarkson.edu -d info.cslabs.clarkson.edu
You may need to run it a few times until all the keys are obtained. Ensure the `fullchain.pem` and `privkey.pem` files are installed at `/etc/letsencrypt/live/info.cosi.clarkson.edu/` and `/etc/letsencrypt/live/info.cslabs.clarkson.edu/`.
Copy the following config into `/etc/nginx/nginx.conf`:
```
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
ssl_protocols TLSv1.2 TLSv1.3;
server {
listen 80 default_server;
listen [::]:80 default_server;
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name _;
ssl_certificate /etc/letsencrypt/live/info.cosi.clarkson.edu/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/info.cosi.clarkson.edu/privkey.pem;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html/info-slash;
index index.html index.htm;
}
}
}
```
Change the `root` field under `location` to just `/usr/share/nginx/html` since we haven't installed the webcontent yet. Enable and start the nginx systemd service, aptly named "nginx.service". Now would be a good time to configure the firewall to allow traffic on port 80 and 443. Verify that the default nginx webpage is accessible before changing the `root` field back.
### Syncing with Gitea with Systemd
Our Gitea instance houses and version controls both the source and the web content. In the `/usr/share/nginx/html` directory, run `git clone https://gitea.cslabs.clarkson.edu/COSI_Sysadmins/info-slash.git -b gh-pages`. Restart the nginx service and info/ should be available.
Finally, a systemd service and timer needs to be created to handle updating the website periodically. Create the `mkdocs-pull.service` file in `/etc/systemd/system/` directory and copy the following into it:
```
[Unit]
Description=Pulls down most recent changes from Gitea for the MkDocs instance
[Service]
Type=simple
WorkingDirectory=/usr/share/nginx/html/info-slash/
ExecStart=/usr/bin/git pull
```
Create the `mkdocs-pull.timer` service next to it and copy the following into it:
```
Description=Pull down changes for MkDocs periodically
[Timer]
OnActiveSec=1s
OnUnitActiveSec=5m
[Install]
WantedBy=timers.target
```
Finally, enable and start the timer and verify that the service is running periodically. Run `systemctl list-timers` to help debug the timer and `journalctl -xe` for debug logs.
# Library
## Basic Info
## History
## Installation
# Linalg [Inactive]
## Basic Info
## History
## Installation
# Mail [Inactive]
## Basic Info
## History
## Installation
# Nagios [Inactive]
## Basic Info
## History
## Installation
# OpenVPN
## Basic Info
## History
## Installation
# QVM
## Basic Info
## History
## Installation
# ROS-PXE [Inactive]
## Basic Info
## History
## Installation
# Scan2 [Inactive]
## Basic Info
## History
## Installation
# SDR Server [Inactive]
## Basic Info
## History
## Installation
# Seance-PXE
## Basic Info
## History
## Installation
# Tino
## Basic Info
## History
## Installation
# Undocs
## Basic Info
## History
## Installation
# Undocs2 [Inactive]
## Basic Info
## History
## Installation
# Unify Controller
## Basic Info
## History
## Installation
# VOIP
See [*VOIP*](networking.md#voip)

7
mkdocs.yml

@ -2,8 +2,13 @@ site_name: COSI Info/
nav:
- Home: 'index.md'
- Services:
- Services:
- Compute: 'services/compute.md'
- Containers: 'services/containers.md'
- Networking: 'services/networking.md'
- Storage: 'services/storage.md'
- VM Hosts: 'services/vmhosts.md'
- VMs: 'services/vms.md'
markdown_extensions:
- admonition

Loading…
Cancel
Save