Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial documentation for the Condenser platform #1

Merged
merged 79 commits into from
Jan 14, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
79 commits
Select commit Hold shift + click to select a range
c01ebd2
change the theme and add navigation
cdkharris Dec 9, 2024
56ac61a
Initial tos based on RC T&Cs
cdkharris Dec 9, 2024
137f01c
small tweaks
cdkharris Dec 9, 2024
c5646b3
add stuff to ignore
cdkharris Dec 9, 2024
e264086
typo
cdkharris Dec 9, 2024
b232087
an initial front page for Condenser
cdkharris Dec 9, 2024
470d065
add markdown rules
cdkharris Dec 9, 2024
d830c03
line length
cdkharris Dec 9, 2024
f103787
correct mdl
cdkharris Dec 9, 2024
2ccfd70
change title
cdkharris Dec 9, 2024
0138488
copyright and desc
cdkharris Dec 9, 2024
260eebd
Add a README
cdkharris Dec 17, 2024
9fef271
initial navigation
cdkharris Dec 17, 2024
5d48cd6
terminology service -> platform
cdkharris Dec 17, 2024
4375daa
changed the name of the venv
cdkharris Dec 17, 2024
95fd5b3
typo
cdkharris Dec 17, 2024
581e3e4
tweak titles
cdkharris Dec 17, 2024
f2ea2cc
boilerplate pages
cdkharris Dec 17, 2024
7aaf496
add a page for examples
cdkharris Dec 17, 2024
c58fe9b
typo
cdkharris Dec 17, 2024
c442dd2
reorganize files
cdkharris Dec 18, 2024
1a36bbf
add a page about kubeconfig
cdkharris Dec 18, 2024
6b5cae3
don't include stubs in the navigation
cdkharris Dec 18, 2024
6170bff
we don't need to list the toc, it's fine to infer it
cdkharris Dec 18, 2024
4fcee0c
use index.md to put getting started at the top of the navigation for …
cdkharris Dec 18, 2024
79d6d2c
use index.md to put getting started at the top of the navigation for …
cdkharris Dec 18, 2024
640b690
add links to the repo and aspirational url
cdkharris Dec 18, 2024
0288c55
move the deployment pages
cdkharris Dec 18, 2024
0e879c1
configure the theme
cdkharris Dec 18, 2024
068e5c9
create a stub about kubeconfig
cdkharris Dec 18, 2024
beda09f
write an about page
cdkharris Dec 18, 2024
85d03a4
Brian's ingress document from BoC c162092
cdkharris Dec 18, 2024
fe161c0
tweaking doc ingress in progress
cdkharris Dec 18, 2024
4e044f3
switch to material theme
cdkharris Dec 18, 2024
beedbe5
list indents
cdkharris Dec 18, 2024
483fbc3
still need admonition
cdkharris Dec 18, 2024
0aae325
add a helpful link
cdkharris Dec 18, 2024
2032b49
reverting some formatting
cdkharris Dec 18, 2024
69de4f1
rewording the about page
cdkharris Jan 2, 2025
7184c09
line length and newlines
cdkharris Jan 2, 2025
cab254e
mkdocs/material is smart enough to handle duped headings
cdkharris Jan 2, 2025
549797a
fix a link
cdkharris Jan 2, 2025
7a1b914
add a page for ssh access
cdkharris Jan 2, 2025
f26e0c9
rename the web ingress page to be more specific
cdkharris Jan 2, 2025
2fa10ff
capitalization
cdkharris Jan 2, 2025
46c3ea0
initial content written by BM
cdkharris Jan 2, 2025
8d806c3
formatting code blocks
cdkharris Jan 2, 2025
13bf22c
initial content via cdkh
cdkharris Jan 2, 2025
de75c30
updating the instructions for Rancher
cdkharris Jan 2, 2025
96a6aaa
separate the long list into sections
cdkharris Jan 2, 2025
7693d56
fix the Navigate section
cdkharris Jan 2, 2025
8c9e066
formatting the lists
cdkharris Jan 2, 2025
948e346
start updating ssh access page
cdkharris Jan 2, 2025
db0fa06
UCL VPN is sufficient now
cdkharris Jan 2, 2025
47c8738
frmatting
cdkharris Jan 2, 2025
5830ea8
clarify kc file
cdkharris Jan 2, 2025
21d5e0f
create instructions for deploying via tf
cdkharris Jan 2, 2025
0842a6e
Start a list of public example deployments
cdkharris Jan 2, 2025
a85b631
Instructions for configuring SSH access in general
cdkharris Jan 2, 2025
9cba621
add a link to ci, and fix some typos
cdkharris Jan 3, 2025
da4cf9d
massaging some links
cdkharris Jan 3, 2025
7ff9c22
organizing headings and admonitions
cdkharris Jan 3, 2025
b9edb82
brief intro for deploying with Terraform
cdkharris Jan 3, 2025
2b4328e
add an intro, tweak some typos
cdkharris Jan 3, 2025
2a80e1c
will work on this later
cdkharris Jan 3, 2025
ed3a453
note about username
cdkharris Jan 3, 2025
ec103c7
overview of developing on condenser
cdkharris Jan 3, 2025
b135dca
expanding on end users vs developers
cdkharris Jan 3, 2025
0c3b753
Don't publish any T&Cs for now
cdkharris Jan 3, 2025
77c6b10
Update README.md
cdkharris Jan 3, 2025
67b3492
bump the copyright
cdkharris Jan 3, 2025
04605f7
typos and format
cdkharris Jan 3, 2025
a1acb90
update gitignore
cdkharris Jan 7, 2025
2b0c6f2
add requirements.txt
cdkharris Jan 14, 2025
7488ddb
try a workflow
cdkharris Jan 14, 2025
9add662
zero fetch depth
cdkharris Jan 14, 2025
a0a180d
bump checkout
cdkharris Jan 14, 2025
7d6f24a
some breaking changes to see what the action looks like
cdkharris Jan 14, 2025
1a1cde6
Revert "some breaking changes to see what the action looks like"
cdkharris Jan 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/build_mkdocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Build with MkDocs-Material

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/[email protected]
with:
fetch-depth: '0'

- name: Set up Python
uses: actions/[email protected]
with:
python-version: "3.10"

- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi

- name: Run a command
run: |
mkdocs build
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# ignore a python virtual environment
/env-material**

# ignore the built site
/site**

.DS_Store
5 changes: 5 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"MD025": {"front_matter_title": ""},
"MD007": {"indent": 4},
"MD024": {"siblings_only": true}
}
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# condenser-mkdocs

Documentation for the Condenser platform at UCL.

> [!IMPORTANT]
> The information in this repository may be incomplete or under review. It should
> not be considered authoritative until it is published.

## Contributing

We welcome contributions in the form of additions to the list of [example deployments](/docs/developer_guide/examples.md)
and corrections. Please fork the repository, make your changes, and create a pull
request to contribute.

Please do not make requests for support through this repository.

To format the documentation pages, please refer to the [Material for Mkdocs documentation](https://squidfunk.github.io/mkdocs-material/reference/).
19 changes: 19 additions & 0 deletions docs/about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: About the platform
---

# About the Platform

Condenser is a private cloud platform for research computing at UCL. It provides
a cost-effective, private alternative to public cloud platforms. The platform is
developed and maintained by the [Advanced Research Computing Centre](https://www.ucl.ac.uk/advanced-research-computing/).
All hardware resides in UCL facilities.

## Tenancy

Access to Condenser is organized in tenant groups. Tenants are responsible for
managing their users and virtual resources. Members of a tenancy are provided with
access to a [Kubernetes](https://kubernetes.io/docs/home/)
cluster. Members can deploy virtual machines and related cloud-computing resources
with [Harvester](https://docs.harvesterhci.io). [Rancher](https://rancher.com/docs/)
is used to provide access to the cluster. Resource quotas are applied to the tenancy.
86 changes: 86 additions & 0 deletions docs/developer_guide/deploying_resources/deploying_rancher.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
title: Deploying with the Rancher GUI
---

# Deploying with the Rancher GUI

Condenser consists of several [Harvester](https://docs.harvesterhci.io/v1.2/) clusters.
Harvester runs on [Kubernetes](https://kubernetes.io/); therefore each cluster is
a specialized Kubernetes cluster. [Rancher](https://www.rancher.com/) is used to
control access to the clusters, and provides a GUI which is accessible within the
UCL network.

This tutorial demonstrates how to use the GUI to launch a VM on Condenser which
is accessible by SSH.

## Navigate to the cluster where your tenancy is assigned

1. Enable the UCL VPN
2. Navigate to the Rancher GUI for Condenser: `https://rancher.condenser.arc.ucl.ac.uk`
3. Click on **Log in with AzureAD** to log in with your UCL credentials
4. Begin at the Home page: `https://rancher.condenser.arc.ucl.ac.uk/dashboard/home`
5. Open the navigation at left (≡) and click on **Virtualization Management**
under **Global Apps**
6. From the list of Harvester clusters, click on the name of the cluster you
wish to access, e.g. `sl-p01`

## Register your SSH key

1. On your local computer, generate a SSH key pair if you do not already have one
with a passphrase
2. Copy the contents of your public key onto your clipboard
3. In the Rancher GUI, from the menu at left, select **Advanced** > **SSH Keys**
4. On the **SSH Keys** page, click on **Create** in the upper right
5. Select your tenancy namespace
6. Enter an appropriate name for your SSH key
7. Paste the contents of your public key into the text box under **Basics**
8. Click **Create** in the lower right to register the SSH key

## Launch a Virtual Machine

1. From the menu at left, select **Virtual Machines**
2. Click **Create** in the upper right
3. Select your tenancy namespace
4. Name the VM
5. In the VM submenu, select **Networks**
6. From the **Network** drop-down menu, select your tenancy network
7. In the VM submenu, select **Volumes**
8. Select the appropriate image (e.g., `harvester-public/almalinux-9.4-20240805`)
9. Increase the **Size** to 50 GB
10. In the VM submenu, select **Basics**
11. Increase the **CPU** setting to 2
12. Increase the **Memory** to 8 GiB
13. Select your SSH Key
14. Click **Create** in the lower right to launch the VM

!!! note
Occasionally the VM creation form will clear entries even though they
appear to have been properly configured. This will cause errors to appear
when you click **Create**. Re-enter them, wait for the **Create** button
to reappear, and try again. It sometimes helps to focus the cursor out
of the form fields after you configure a setting.

## Save a VM configuration as a template

1. From the menu at left, select **Virtual Machines**
2. Tick the box next to the VM
3. From the menu at right (⋮), select **Generate Template**
4. Name the template
5. To launch a VM from a template, in the VM creation form tick the **Use VM Template**
box and select the appropriate template

## Log in to the VM with SSH

1. From the menu at left, select **Virtual Machines**
2. Identify the VM that you just launched in the list
3. Wait for the IP address to appear, then copy it. The IP address will begin with
`10.134`.
4. Follow these instructions to [access the VM with SSH](../../end_user_guide/ssh.md).
For VMs created from an Almalinux image, the username will be `almalinux`.

## Change a VM's state

1. From the menu at left, select **Virtual Machines**
2. Tick the box next to the VM
3. Click **Stop**, **Restart**, **Start**, or **Delete** at the top of the table
of VMs
Loading
Loading