|
| 1 | +# HOW TO Create a new Lab Compute Environment |
| 2 | + |
| 3 | +This guide explains how to create a new compute environment using our automated GitHub workflow. |
| 4 | + |
| 5 | +## Prerequisites |
| 6 | + |
| 7 | +Before you begin, ensure you: |
| 8 | + |
| 9 | +- Have access to the `lftraining` GitHub Organization |
| 10 | +- You are a member of the `lab-authors` team |
| 11 | + |
| 12 | +## Creating a New Compute Environment |
| 13 | +1. Open the lab repository in your browser |
| 14 | +2. Navigate to the Actions tab in the repository |
| 15 | +3. Locate and select the `New Compute Environment` workflow |
| 16 | +4. Click `Run workflow` and fill in the following parameters: |
| 17 | + |
| 18 | +  |
| 19 | + |
| 20 | + |
| 21 | +### Workflow Parameters |
| 22 | + |
| 23 | +- **Environment Template** (required) |
| 24 | + Choose one of the following templates: |
| 25 | + |
| 26 | + - `k8s-single-node`: Single node Kubernetes environment |
| 27 | + - `k8s-multi-node`: Multi-node Kubernetes environment |
| 28 | + - `linux-single`: Single Linux host environment |
| 29 | + - `linux-dual`: Dual Linux host environment |
| 30 | + |
| 31 | +- **Compute Environment** (required) |
| 32 | + - Enter the prefix for your compute environment (e.g., "LFS25800") |
| 33 | + |
| 34 | +- **Use Workstation** (required) |
| 35 | + - Choose whether to include a workstation VM for the student |
| 36 | + - Defaults to `true` |
| 37 | + |
| 38 | +### Template Configurations |
| 39 | + |
| 40 | +Each template creates different VM configurations: |
| 41 | + |
| 42 | +#### k8s-single-node |
| 43 | +- 1 control plane node |
| 44 | +- Optional workstation |
| 45 | + |
| 46 | +#### k8s-multi-node |
| 47 | +- 1 control plane node |
| 48 | +- 1 worker node |
| 49 | +- Optional workstation |
| 50 | + |
| 51 | +#### linux-single |
| 52 | +- 1 Linux host |
| 53 | +- Optional workstation |
| 54 | + |
| 55 | +#### linux-dual |
| 56 | +- 2 Linux hosts |
| 57 | +- Optional workstation |
| 58 | + |
| 59 | +## What Happens Next |
| 60 | + |
| 61 | +After triggering the workflow: |
| 62 | + |
| 63 | +1. A new feature branch is created (`feature/implement-<compute-environment>`) |
| 64 | +2. The necessary template files are generated based on your selection |
| 65 | +3. A draft pull request is automatically created |
| 66 | +4. You can then customize the environment further by working on the created branch |
| 67 | + |
| 68 | +!!!note "Next Steps" |
| 69 | + After the workflow completes, review the generated pull request and make any necessary customizations to the environment configuration. |
| 70 | + |
| 71 | +### Finding Your Pull Request |
| 72 | + |
| 73 | +1. Navigate to the Pull Requests tab in the repository |
| 74 | +2. Look for a PR titled `Implement <your-compute-environment>` |
| 75 | +3. Open the PR to review the generated files |
| 76 | + |
| 77 | +  |
| 78 | + |
| 79 | +### Working on the Environment Locally |
| 80 | + |
| 81 | +1. Navigate to your local repository |
| 82 | +2. In the PR, click the `Code` dropdown button |
| 83 | +3. Copy the command under "Checkout with GitHub CLI" |
| 84 | +4. Paste and run the command in your terminal: |
| 85 | + ```bash |
| 86 | + gh pr checkout <PR-NUMBER> |
| 87 | + ``` |
| 88 | + |
| 89 | +  |
0 commit comments