Skip to content

Commit 75749d4

Browse files
authored
Merge pull request #2 from GhostofGoes/more-doc-improvements
More doc improvements
2 parents fbb281c + 3c5e9ef commit 75749d4

File tree

7 files changed

+445
-190
lines changed

7 files changed

+445
-190
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
_site/

01-cluster.md

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ The headnode is the computer where experiment management tools are installed. Vi
1717

1818
### *Software Requirements*
1919

20-
1. Ubuntu 20.04
21-
- Ubuntu 20.04 is a Debian-based Linux operating system.
22-
- Project home: [https://www.ubuntu.com/](https://www.ubuntu.com/)
20+
1. Ubuntu 20.04 LTS or 22.04 LTS
21+
- Ubuntu is a Debian-based Linux operating system.
22+
- Ubuntu Project home: [https://www.ubuntu.com/](https://www.ubuntu.com/)
23+
- Server or Desktop distributions work, though Server is recommended.
2324
2. [phēnix](https://phenix.sceptre.dev)
2425
- phēnix is a Sandia-developed tool that manages the creation, configuration, and deployment of experiments. It only needs to be installed on the headnode.
2526
3. [minimega](04-minimega.md)
@@ -33,17 +34,18 @@ The headnode is the computer where experiment management tools are installed. Vi
3334
The compute node is the computer where virtual machines run. For a minimal SCEPTRE system, you only need one compute node. However, you can use as many compute nodes as you wish in the cluster.
3435

3536
### *Minimum Specifications*
36-
37+
3738
- Server
3839
- 8 CPU
3940
- 24G RAM
4041
- 2 NICs
4142

4243
### *Software Requirements*
4344

44-
1. Ubuntu 20.04
45-
- Ubuntu 20.04 is a Debian-based Linux operating system.
46-
- Project home: [https://www.ubuntu.com/](https://www.ubuntu.com/)
45+
1. Ubuntu 20.04 LTS or 22.04 LTS
46+
- Ubuntu is a Debian-based Linux operating system.
47+
- Ubuntu Project home: [https://www.ubuntu.com/](https://www.ubuntu.com/)
48+
- Server or Desktop distributions work, though Server is recommended.
4749
2. [QEMU](glossary.md#acronyms)
4850
- To launch virtual machines, minimega uses Quick Emulator (QEMU) as the hypervisor.
4951
- Project home: [http://wiki.qemu-project.org/Main_Page](http://wiki.qemu-project.org/Main_Page)
@@ -78,7 +80,7 @@ To allow all physical hosts access to the base KVM images, a Network File System
7880
Instead of creating a KVM image for every virtual machine in an experiment (which could use a lot of disk space), SCEPTRE uses a virtualization technology called snapshots to create custom virtual machines that share a common base image. A snapshot is a small image file containing any changes from the base image that can be used to launch a virtual machine. Multiple snapshot files created from the same base image can all turn into custom virtual machines, but they all share a common parent image. Using this technology greatly reduces the amount of storage requirements for KVM images.
7981

8082
#### Example
81-
A base image called `bennu.qc2` is a plain Ubuntu 16.04 Linux operating system image with [bennu](10-bennu.md) installed. When an experiment is deployed, several snapshots are created from the single 'sceptre' base image. Each of these snapshots becomes a specific simulated SCEPTRE device in a deployed experiment, such as an [RTU](glossary.md#acronyms).
83+
A base image called `bennu.qc2` is a plain Ubuntu 16.04 Linux operating system image with [bennu](10-bennu.md) installed. When an experiment is deployed, several snapshots are created from the single 'sceptre' base image. Each of these snapshots becomes a specific simulated SCEPTRE device in a deployed experiment, such as an [RTU](glossary.md#acronyms).
8284

8385
![](img/setup/base-image.png)
8486

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
source "https://rubygems.org"
2+
3+
gem "github-pages", group: :jekyll_plugins

Gemfile.lock

Lines changed: 289 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,289 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
specs:
4+
activesupport (7.1.5)
5+
base64
6+
benchmark (>= 0.3)
7+
bigdecimal
8+
concurrent-ruby (~> 1.0, >= 1.0.2)
9+
connection_pool (>= 2.2.5)
10+
drb
11+
i18n (>= 1.6, < 2)
12+
logger (>= 1.4.2)
13+
minitest (>= 5.1)
14+
mutex_m
15+
securerandom (>= 0.3)
16+
tzinfo (~> 2.0)
17+
addressable (2.8.7)
18+
public_suffix (>= 2.0.2, < 7.0)
19+
base64 (0.2.0)
20+
benchmark (0.4.0)
21+
bigdecimal (3.1.8)
22+
coffee-script (2.4.1)
23+
coffee-script-source
24+
execjs
25+
coffee-script-source (1.12.2)
26+
colorator (1.1.0)
27+
commonmarker (0.23.10)
28+
concurrent-ruby (1.3.4)
29+
connection_pool (2.4.1)
30+
csv (3.3.0)
31+
dnsruby (1.72.3)
32+
base64 (~> 0.2.0)
33+
simpleidn (~> 0.2.1)
34+
drb (2.2.1)
35+
em-websocket (0.5.3)
36+
eventmachine (>= 0.12.9)
37+
http_parser.rb (~> 0)
38+
ethon (0.16.0)
39+
ffi (>= 1.15.0)
40+
eventmachine (1.2.7)
41+
execjs (2.10.0)
42+
faraday (2.12.1)
43+
faraday-net_http (>= 2.0, < 3.5)
44+
json
45+
logger
46+
faraday-net_http (3.4.0)
47+
net-http (>= 0.5.0)
48+
ffi (1.17.0)
49+
ffi (1.17.0-arm64-darwin)
50+
ffi (1.17.0-x86_64-darwin)
51+
forwardable-extended (2.6.0)
52+
gemoji (4.1.0)
53+
github-pages (232)
54+
github-pages-health-check (= 1.18.2)
55+
jekyll (= 3.10.0)
56+
jekyll-avatar (= 0.8.0)
57+
jekyll-coffeescript (= 1.2.2)
58+
jekyll-commonmark-ghpages (= 0.5.1)
59+
jekyll-default-layout (= 0.1.5)
60+
jekyll-feed (= 0.17.0)
61+
jekyll-gist (= 1.5.0)
62+
jekyll-github-metadata (= 2.16.1)
63+
jekyll-include-cache (= 0.2.1)
64+
jekyll-mentions (= 1.6.0)
65+
jekyll-optional-front-matter (= 0.3.2)
66+
jekyll-paginate (= 1.1.0)
67+
jekyll-readme-index (= 0.3.0)
68+
jekyll-redirect-from (= 0.16.0)
69+
jekyll-relative-links (= 0.6.1)
70+
jekyll-remote-theme (= 0.4.3)
71+
jekyll-sass-converter (= 1.5.2)
72+
jekyll-seo-tag (= 2.8.0)
73+
jekyll-sitemap (= 1.4.0)
74+
jekyll-swiss (= 1.0.0)
75+
jekyll-theme-architect (= 0.2.0)
76+
jekyll-theme-cayman (= 0.2.0)
77+
jekyll-theme-dinky (= 0.2.0)
78+
jekyll-theme-hacker (= 0.2.0)
79+
jekyll-theme-leap-day (= 0.2.0)
80+
jekyll-theme-merlot (= 0.2.0)
81+
jekyll-theme-midnight (= 0.2.0)
82+
jekyll-theme-minimal (= 0.2.0)
83+
jekyll-theme-modernist (= 0.2.0)
84+
jekyll-theme-primer (= 0.6.0)
85+
jekyll-theme-slate (= 0.2.0)
86+
jekyll-theme-tactile (= 0.2.0)
87+
jekyll-theme-time-machine (= 0.2.0)
88+
jekyll-titles-from-headings (= 0.5.3)
89+
jemoji (= 0.13.0)
90+
kramdown (= 2.4.0)
91+
kramdown-parser-gfm (= 1.1.0)
92+
liquid (= 4.0.4)
93+
mercenary (~> 0.3)
94+
minima (= 2.5.1)
95+
nokogiri (>= 1.16.2, < 2.0)
96+
rouge (= 3.30.0)
97+
terminal-table (~> 1.4)
98+
webrick (~> 1.8)
99+
github-pages-health-check (1.18.2)
100+
addressable (~> 2.3)
101+
dnsruby (~> 1.60)
102+
octokit (>= 4, < 8)
103+
public_suffix (>= 3.0, < 6.0)
104+
typhoeus (~> 1.3)
105+
html-pipeline (2.14.3)
106+
activesupport (>= 2)
107+
nokogiri (>= 1.4)
108+
http_parser.rb (0.8.0)
109+
i18n (1.14.6)
110+
concurrent-ruby (~> 1.0)
111+
jekyll (3.10.0)
112+
addressable (~> 2.4)
113+
colorator (~> 1.0)
114+
csv (~> 3.0)
115+
em-websocket (~> 0.5)
116+
i18n (>= 0.7, < 2)
117+
jekyll-sass-converter (~> 1.0)
118+
jekyll-watch (~> 2.0)
119+
kramdown (>= 1.17, < 3)
120+
liquid (~> 4.0)
121+
mercenary (~> 0.3.3)
122+
pathutil (~> 0.9)
123+
rouge (>= 1.7, < 4)
124+
safe_yaml (~> 1.0)
125+
webrick (>= 1.0)
126+
jekyll-avatar (0.8.0)
127+
jekyll (>= 3.0, < 5.0)
128+
jekyll-coffeescript (1.2.2)
129+
coffee-script (~> 2.2)
130+
coffee-script-source (~> 1.12)
131+
jekyll-commonmark (1.4.0)
132+
commonmarker (~> 0.22)
133+
jekyll-commonmark-ghpages (0.5.1)
134+
commonmarker (>= 0.23.7, < 1.1.0)
135+
jekyll (>= 3.9, < 4.0)
136+
jekyll-commonmark (~> 1.4.0)
137+
rouge (>= 2.0, < 5.0)
138+
jekyll-default-layout (0.1.5)
139+
jekyll (>= 3.0, < 5.0)
140+
jekyll-feed (0.17.0)
141+
jekyll (>= 3.7, < 5.0)
142+
jekyll-gist (1.5.0)
143+
octokit (~> 4.2)
144+
jekyll-github-metadata (2.16.1)
145+
jekyll (>= 3.4, < 5.0)
146+
octokit (>= 4, < 7, != 4.4.0)
147+
jekyll-include-cache (0.2.1)
148+
jekyll (>= 3.7, < 5.0)
149+
jekyll-mentions (1.6.0)
150+
html-pipeline (~> 2.3)
151+
jekyll (>= 3.7, < 5.0)
152+
jekyll-optional-front-matter (0.3.2)
153+
jekyll (>= 3.0, < 5.0)
154+
jekyll-paginate (1.1.0)
155+
jekyll-readme-index (0.3.0)
156+
jekyll (>= 3.0, < 5.0)
157+
jekyll-redirect-from (0.16.0)
158+
jekyll (>= 3.3, < 5.0)
159+
jekyll-relative-links (0.6.1)
160+
jekyll (>= 3.3, < 5.0)
161+
jekyll-remote-theme (0.4.3)
162+
addressable (~> 2.0)
163+
jekyll (>= 3.5, < 5.0)
164+
jekyll-sass-converter (>= 1.0, <= 3.0.0, != 2.0.0)
165+
rubyzip (>= 1.3.0, < 3.0)
166+
jekyll-sass-converter (1.5.2)
167+
sass (~> 3.4)
168+
jekyll-seo-tag (2.8.0)
169+
jekyll (>= 3.8, < 5.0)
170+
jekyll-sitemap (1.4.0)
171+
jekyll (>= 3.7, < 5.0)
172+
jekyll-swiss (1.0.0)
173+
jekyll-theme-architect (0.2.0)
174+
jekyll (> 3.5, < 5.0)
175+
jekyll-seo-tag (~> 2.0)
176+
jekyll-theme-cayman (0.2.0)
177+
jekyll (> 3.5, < 5.0)
178+
jekyll-seo-tag (~> 2.0)
179+
jekyll-theme-dinky (0.2.0)
180+
jekyll (> 3.5, < 5.0)
181+
jekyll-seo-tag (~> 2.0)
182+
jekyll-theme-hacker (0.2.0)
183+
jekyll (> 3.5, < 5.0)
184+
jekyll-seo-tag (~> 2.0)
185+
jekyll-theme-leap-day (0.2.0)
186+
jekyll (> 3.5, < 5.0)
187+
jekyll-seo-tag (~> 2.0)
188+
jekyll-theme-merlot (0.2.0)
189+
jekyll (> 3.5, < 5.0)
190+
jekyll-seo-tag (~> 2.0)
191+
jekyll-theme-midnight (0.2.0)
192+
jekyll (> 3.5, < 5.0)
193+
jekyll-seo-tag (~> 2.0)
194+
jekyll-theme-minimal (0.2.0)
195+
jekyll (> 3.5, < 5.0)
196+
jekyll-seo-tag (~> 2.0)
197+
jekyll-theme-modernist (0.2.0)
198+
jekyll (> 3.5, < 5.0)
199+
jekyll-seo-tag (~> 2.0)
200+
jekyll-theme-primer (0.6.0)
201+
jekyll (> 3.5, < 5.0)
202+
jekyll-github-metadata (~> 2.9)
203+
jekyll-seo-tag (~> 2.0)
204+
jekyll-theme-slate (0.2.0)
205+
jekyll (> 3.5, < 5.0)
206+
jekyll-seo-tag (~> 2.0)
207+
jekyll-theme-tactile (0.2.0)
208+
jekyll (> 3.5, < 5.0)
209+
jekyll-seo-tag (~> 2.0)
210+
jekyll-theme-time-machine (0.2.0)
211+
jekyll (> 3.5, < 5.0)
212+
jekyll-seo-tag (~> 2.0)
213+
jekyll-titles-from-headings (0.5.3)
214+
jekyll (>= 3.3, < 5.0)
215+
jekyll-watch (2.2.1)
216+
listen (~> 3.0)
217+
jemoji (0.13.0)
218+
gemoji (>= 3, < 5)
219+
html-pipeline (~> 2.2)
220+
jekyll (>= 3.0, < 5.0)
221+
json (2.8.2)
222+
kramdown (2.4.0)
223+
rexml
224+
kramdown-parser-gfm (1.1.0)
225+
kramdown (~> 2.0)
226+
liquid (4.0.4)
227+
listen (3.9.0)
228+
rb-fsevent (~> 0.10, >= 0.10.3)
229+
rb-inotify (~> 0.9, >= 0.9.10)
230+
logger (1.6.1)
231+
mercenary (0.3.6)
232+
minima (2.5.1)
233+
jekyll (>= 3.5, < 5.0)
234+
jekyll-feed (~> 0.9)
235+
jekyll-seo-tag (~> 2.1)
236+
minitest (5.25.1)
237+
mutex_m (0.2.0)
238+
net-http (0.5.0)
239+
uri
240+
nokogiri (1.16.7-arm64-darwin)
241+
racc (~> 1.4)
242+
nokogiri (1.16.7-x86_64-darwin)
243+
racc (~> 1.4)
244+
nokogiri (1.16.7-x86_64-linux)
245+
racc (~> 1.4)
246+
octokit (4.25.1)
247+
faraday (>= 1, < 3)
248+
sawyer (~> 0.9)
249+
pathutil (0.16.2)
250+
forwardable-extended (~> 2.6)
251+
public_suffix (5.1.1)
252+
racc (1.8.1)
253+
rb-fsevent (0.11.2)
254+
rb-inotify (0.11.1)
255+
ffi (~> 1.0)
256+
rexml (3.3.9)
257+
rouge (3.30.0)
258+
rubyzip (2.3.2)
259+
safe_yaml (1.0.5)
260+
sass (3.7.4)
261+
sass-listen (~> 4.0.0)
262+
sass-listen (4.0.0)
263+
rb-fsevent (~> 0.9, >= 0.9.4)
264+
rb-inotify (~> 0.9, >= 0.9.7)
265+
sawyer (0.9.2)
266+
addressable (>= 2.3.5)
267+
faraday (>= 0.17.3, < 3)
268+
securerandom (0.3.2)
269+
simpleidn (0.2.3)
270+
terminal-table (1.8.0)
271+
unicode-display_width (~> 1.1, >= 1.1.1)
272+
typhoeus (1.4.1)
273+
ethon (>= 0.9.0)
274+
tzinfo (2.0.6)
275+
concurrent-ruby (~> 1.0)
276+
unicode-display_width (1.8.0)
277+
uri (1.0.2)
278+
webrick (1.9.0)
279+
280+
PLATFORMS
281+
arm64-darwin
282+
x86_64-darwin
283+
x86_64-linux
284+
285+
DEPENDENCIES
286+
github-pages
287+
288+
BUNDLED WITH
289+
2.5.23

README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
SCEPTRE documentation.
2+
3+
View the docs here: https://sandialabs.github.io/sceptre-docs/
4+
5+
# Development info
6+
7+
The docs are hosted using GitHub Pages, and use the [Minimal](https://github.com/pages-themes/minimal) Jekyll theme for GitHub pages.
8+
9+
All pages are in Markdown format. Any `.md` files in the root of the repo will be rendered as a page and linked on the sidebar.
10+
11+
## Building locally
12+
13+
To preview changes to the docs locally, run the following commands:
14+
15+
```bash
16+
# Install Ruby
17+
sudo apt update
18+
sudo apt install ruby-full
19+
20+
# NOTE: this may run into proxy issues if you're behind a web interception proxy. If that happens, reach out to a SCEPTRE developer for assistance.
21+
gem install bundler
22+
bundle install
23+
bundle exec jekyll serve
24+
```
25+
26+
Then connect to `localhost:4000`, or in VSCode, CTRL+Click on the URL it prints in the terminal. Changes to the markdown files will be automatically processed and docs will be regenerated in real-time while jekyll is running. However, changes to `_config.yml` and other files will requiring restarting the serve, by CTRL+C then re-running `bundle exec jekyll serve`.

_config.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
title: SCEPTRE
2-
description: An emulation capability for Industrial Control Systems
2+
description: Emulation capability for Industrial Control Systems
33
theme: jekyll-theme-minimal
44
logo: /img/sceptre.png
5-

0 commit comments

Comments
 (0)