Skip to content

Commit a67c46d

Browse files
authored
prepare for public release, add licence (#136)
1 parent 4fd64fa commit a67c46d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+1848
-2246
lines changed

LICENSE

Lines changed: 373 additions & 0 deletions
Large diffs are not rendered by default.

Makefile

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
#
2+
# Copyright 2024 Oxide Computer Company
3+
#
14

25
TOP = $(PWD)
36

@@ -23,6 +26,13 @@ gmakecheck:
2326
exit 1; \
2427
fi
2528

29+
.PHONY: cargocheck
30+
cargocheck:
31+
@if ! cargo --version >/dev/null 2>&1; then \
32+
printf ' You must install Rust before continuing.\n' >&2; \
33+
exit 1; \
34+
fi
35+
2636
#
2737
# Run a "quick" build of illumos for development:
2838
#
@@ -47,7 +57,7 @@ setup: gmakecheck $(HELIOS_BUILD)
4757
@printf '\n'
4858

4959
.PHONY: $(HELIOS_BUILD)
50-
$(HELIOS_BUILD):
60+
$(HELIOS_BUILD): cargocheck
5161
@if [[ $$(/usr/bin/uname -o) != illumos ]]; then \
5262
printf 'ERROR: must be built on illumos\n' >&2; \
5363
exit 1; \

README.md

Lines changed: 168 additions & 91 deletions
Large diffs are not rendered by default.

config/projects.toml

Lines changed: 37 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
1+
#
2+
# Copyright 2024 Oxide Computer Company
3+
#
4+
15
[project.illumos]
26
github = "oxidecomputer/illumos-gate"
37
rev = "stlouis"
48
unless_env = "BUILD_OS"
59

610
[project.omnios-build]
711
github = "oxidecomputer/helios-omnios-build"
12+
rev = "helios2"
813
unless_env = "BUILD_OS"
9-
use_ssh = true
14+
use_ssh = false
1015
site_sh = true
1116

1217
[project.omnios-extra]
1318
github = "oxidecomputer/helios-omnios-extra"
19+
rev = "helios2"
1420
unless_env = "BUILD_OS"
15-
use_ssh = true
21+
use_ssh = false
1622
site_sh = true
1723

1824
[project.pinprick]
@@ -22,14 +28,38 @@ cargo_build = true
2228

2329
[project.phbl]
2430
github = "oxidecomputer/phbl"
25-
use_ssh = true
31+
use_ssh = false
32+
33+
[project.image-builder]
34+
github = "illumos/image-builder"
35+
use_ssh = false
36+
cargo_build = true
37+
use_debug = true
38+
auto_update = true
39+
40+
[project.bootserver]
41+
github = "oxidecomputer/boot-image-tools"
42+
use_ssh = false
43+
cargo_build = true
44+
auto_update = true
45+
46+
#
47+
# -----------------------------------------------------------------------------
48+
# NOTE: Repositories below this comment are all still private.
49+
#
50+
# If you do not have access to private repositories in the "oxidecomputer"
51+
# GitHub organisation, set "OXIDE_STAFF=no" in your environment to skip
52+
# cloning them.
53+
# -----------------------------------------------------------------------------
54+
#
2655

2756
[project.amd-host-image-builder]
2857
github = "oxidecomputer/amd-host-image-builder"
2958
use_ssh = true
3059
cargo_build = true
3160
use_debug = true
3261
auto_update = true
62+
unless_env = "OXIDE_STAFF"
3363

3464
[[project.amd-host-image-builder.fixup]]
3565
#
@@ -43,28 +73,18 @@ to_branch = "main"
4373
github = "oxidecomputer/amd-firmware"
4474
use_ssh = true
4575
auto_update = true
46-
47-
[project.bootserver]
48-
github = "oxidecomputer/boot-image-tools"
49-
use_ssh = true
50-
cargo_build = true
51-
auto_update = true
52-
53-
[project.image-builder]
54-
github = "illumos/image-builder"
55-
use_ssh = false
56-
cargo_build = true
57-
use_debug = true
58-
auto_update = true
76+
unless_env = "OXIDE_STAFF"
5977

6078
[project.chelsio-t6-roms]
6179
github = "oxidecomputer/chelsio-t6-roms"
6280
use_ssh = true
6381
cargo_build = false
6482
auto_update = true
83+
unless_env = "OXIDE_STAFF"
6584

6685
[project.pilot]
67-
github = "oxidecomputer/compliance-pilot"
86+
github = "oxidecomputer/pilot"
6887
use_ssh = true
6988
cargo_build = true
7089
auto_update = true
90+
unless_env = "OXIDE_STAFF"

image/mkcpio.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
#!/bin/bash
2+
#
3+
# Copyright 2024 Oxide Computer Company
4+
#
25

36
set -o errexit
47
set -o pipefail

image/templates/files/bootparams.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
#!/bin/bash
2+
#
3+
# Copyright 2024 Oxide Computer Company
4+
#
25

36
prtconf -v /devices | awk -v want="$1" "
47
/name='/ && /type=string/ && /items=1/ {

image/templates/files/compliance-beacon.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
#!/bin/bash
2+
#
3+
# Copyright 2024 Oxide Computer Company
4+
#
25

36
set -o errexit
47
set -o pipefail

image/templates/files/compliance-beacon.xml

Lines changed: 43 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,52 @@
11
<?xml version="1.0"?>
22
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
3+
<!--
4+
Copyright 2024 Oxide Computer Company
5+
-->
36

47
<service_bundle type='manifest' name='site-compliance-beacon'>
58

69
<service name='site/compliance/beacon' type='service' version='1'>
7-
<create_default_instance enabled='true' />
8-
9-
<!-- Wait for multi-user... -->
10-
<dependency name='multi-user-server' grouping='require_all' restart_on='none'
11-
type='service'>
12-
<service_fmri value='svc:/milestone/multi-user-server' />
13-
</dependency>
14-
15-
<!-- ... and make sure we run after the T6 has been configured. -->
16-
<dependency name='t6init' grouping='require_all' restart_on='none'
17-
type='service'>
18-
<service_fmri value='svc:/system/t6init' />
19-
</dependency>
20-
21-
<!-- ... and after our postboot script. -->
22-
<dependency name='after-postboot' grouping='require_all' restart_on='none'
23-
type='service'>
24-
<service_fmri value='svc:/site/postboot' />
25-
</dependency>
26-
27-
<exec_method type='method' name='start'
28-
exec='/usr/lib/compliance-beacon' timeout_seconds='30' />
29-
30-
<exec_method type='method' name='stop' exec=':kill' timeout_seconds='30' />
31-
32-
<property_group name='startd' type='framework'>
33-
<propval name='duration' type='astring' value='child' />
34-
</property_group>
35-
36-
<stability value='Unstable' />
37-
38-
<template>
39-
<common_name>
40-
<loctext xml:lang='C'>compliance multicast beacon</loctext>
41-
</common_name>
42-
<description>
43-
<loctext xml:lang='C'>sends multicast discovery announcements</loctext>
44-
</description>
45-
</template>
10+
<create_default_instance enabled='true' />
11+
12+
<!-- Wait for multi-user... -->
13+
<dependency name='multi-user-server' grouping='require_all'
14+
restart_on='none' type='service'>
15+
<service_fmri value='svc:/milestone/multi-user-server' />
16+
</dependency>
17+
18+
<!-- ... and make sure we run after the T6 has been configured. -->
19+
<dependency name='t6init' grouping='require_all' restart_on='none'
20+
type='service'>
21+
<service_fmri value='svc:/system/t6init' />
22+
</dependency>
23+
24+
<!-- ... and after our postboot script. -->
25+
<dependency name='after-postboot' grouping='require_all' restart_on='none'
26+
type='service'>
27+
<service_fmri value='svc:/site/postboot' />
28+
</dependency>
29+
30+
<exec_method type='method' name='start'
31+
exec='/usr/lib/compliance-beacon' timeout_seconds='30' />
32+
33+
<exec_method type='method' name='stop' exec=':kill' timeout_seconds='30' />
34+
35+
<property_group name='startd' type='framework'>
36+
<propval name='duration' type='astring' value='child' />
37+
</property_group>
38+
39+
<stability value='Unstable' />
40+
41+
<template>
42+
<common_name>
43+
<loctext xml:lang='C'>compliance multicast beacon</loctext>
44+
</common_name>
45+
<description>
46+
<loctext xml:lang='C'>sends multicast discovery announcements
47+
</loctext>
48+
</description>
49+
</template>
4650
</service>
4751

4852
</service_bundle>
49-
<!-- vim: set ts=2 sts=2 sw=2 et: -->

image/templates/files/compliance-dump.xml

Lines changed: 36 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,45 @@
11
<?xml version="1.0"?>
22
<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
3+
<!--
4+
Copyright 2024 Oxide Computer Company
5+
-->
36

47
<service_bundle type='manifest' name='site-compliance-dump'>
58

69
<service name='site/compliance/dump' type='service' version='1'>
7-
<create_default_instance enabled='false' />
8-
9-
<!-- Wait for local file systems, like dumpadm does: -->
10-
<dependency name='local-filesystems' grouping='require_all' restart_on='none'
11-
type='service'>
12-
<service_fmri value='svc:/system/filesystem/local'/>
13-
</dependency>
14-
15-
<!-- Hold dumpadm back until we've had a chance to look around: -->
16-
<dependent name='compliance-dump-dumpadm' restart_on='none'
17-
grouping='optional_all'>
18-
<service_fmri value='svc:/system/dumpadm'/>
19-
</dependent>
20-
21-
<exec_method type='method' name='start'
22-
exec='/usr/bin/pilot gimlet dump setup' timeout_seconds='600' />
23-
24-
<exec_method type='method' name='stop' exec=':kill' timeout_seconds='30' />
25-
26-
<property_group name='startd' type='framework'>
27-
<propval name='duration' type='astring' value='transient' />
28-
</property_group>
29-
30-
<stability value='Unstable' />
31-
32-
<template>
33-
<common_name>
34-
<loctext xml:lang='C'>compliance ad hoc dump setup</loctext>
35-
</common_name>
36-
<description>
37-
<loctext xml:lang='C'>sets up a ZFS pool and dump device</loctext>
38-
</description>
39-
</template>
10+
<create_default_instance enabled='false' />
11+
12+
<!-- Wait for local file systems, like dumpadm does: -->
13+
<dependency name='local-filesystems' grouping='require_all'
14+
restart_on='none' type='service'>
15+
<service_fmri value='svc:/system/filesystem/local'/>
16+
</dependency>
17+
18+
<!-- Hold dumpadm back until we've had a chance to look around: -->
19+
<dependent name='compliance-dump-dumpadm' restart_on='none'
20+
grouping='optional_all'>
21+
<service_fmri value='svc:/system/dumpadm'/>
22+
</dependent>
23+
24+
<exec_method type='method' name='start'
25+
exec='/usr/bin/pilot gimlet dump setup' timeout_seconds='600' />
26+
27+
<exec_method type='method' name='stop' exec=':kill' timeout_seconds='30' />
28+
29+
<property_group name='startd' type='framework'>
30+
<propval name='duration' type='astring' value='transient' />
31+
</property_group>
32+
33+
<stability value='Unstable' />
34+
35+
<template>
36+
<common_name>
37+
<loctext xml:lang='C'>compliance ad hoc dump setup</loctext>
38+
</common_name>
39+
<description>
40+
<loctext xml:lang='C'>sets up a ZFS pool and dump device</loctext>
41+
</description>
42+
</template>
4043
</service>
4144

4245
</service_bundle>
43-
<!-- vim: set ts=2 sts=2 sw=2 et: -->

image/templates/files/compliance-hostname.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
#!/bin/bash
2+
#
3+
# Copyright 2024 Oxide Computer Company
4+
#
25

36
set -o errexit
47
set -o pipefail

0 commit comments

Comments
 (0)