changelog shortlog graph tags branches changeset files file revisions raw help

Mercurial > org > docs / annotate infra/quickstart.org

changeset 32: f3811af6b10d
parent: a0017112db77
child: aefeb7103fb8
author: Richard Westhaver <ellis@rwest.io>
date: Sun, 16 Jun 2024 22:16:34 -0400
permissions: -rw-r--r--
description: fix
28
a0017112db77 style update
Richard Westhaver <ellis@rwest.io>
parents: 23
diff changeset
1
 #+title: infra/quickstart
a0017112db77 style update
Richard Westhaver <ellis@rwest.io>
parents: 23
diff changeset
2
 #+author: Richard Westhaver
a0017112db77 style update
Richard Westhaver <ellis@rwest.io>
parents: 23
diff changeset
3
 #+email: ellis@rwest.io
a0017112db77 style update
Richard Westhaver <ellis@rwest.io>
parents: 23
diff changeset
4
 #+description: Infra Quickstart Guide
22
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
5
 #+property: header-args :dir /home/ellis/comp/infra/
28
a0017112db77 style update
Richard Westhaver <ellis@rwest.io>
parents: 23
diff changeset
6
 #+setupfile: ../../clean.theme
20
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
7
 - *Host Requirements*
19
Richard Westhaver <ellis@rwest.io>
parents: 18
diff changeset
8
   - x86_64 4 core CPU
Richard Westhaver <ellis@rwest.io>
parents: 18
diff changeset
9
   - 8G RAM
Richard Westhaver <ellis@rwest.io>
parents: 18
diff changeset
10
   - 32G Disk Space
20
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
11
   - Linux kernel
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
12
 
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
13
 - *Minimum Dependencies*
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
14
   - mercurial
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
15
   - git
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
16
   - zstd
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
17
 
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
18
 * TODO check.sh
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
19
 Check that the current host is a qualified builder.
19
Richard Westhaver <ellis@rwest.io>
parents: 18
diff changeset
20
 
20
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
21
 This will interrogate the system, checking for minimum
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
22
 requirements. If any requirement isn't met an error is
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
23
 signaled. Environment variables are also reported here, but not
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
24
 set. On completion, the file =host.sxp= is written to the current
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
25
 directory.
16
ellis <ellis@rwest.io>
parents: 15
diff changeset
26
 
20
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
27
 The minimum software dependencies above should be installed via your
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
28
 system's package manager. The remaining dependencies are installed via
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
29
 the =install.sh= script.
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
30
 
15
963aeb8cf382 added meta docs
ellis <ellis@rwest.io>
parents:
diff changeset
31
 #+begin_src shell
20
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
32
 ./check.sh
15
963aeb8cf382 added meta docs
ellis <ellis@rwest.io>
parents:
diff changeset
33
 #+end_src
18
b6889b8a2f83 core/notes
Richard Westhaver <ellis@rwest.io>
parents: 17
diff changeset
34
 
22
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
35
 #+RESULTS:
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
36
 | STASH=          |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
37
 | STORE=          |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
38
 | DIST=           |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
39
 | PACKY_URL=      |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
40
 | VC_URL=         |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
41
 | INSTALL_PREFIX= |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
42
 | CC=             |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
43
 | AR=             |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
44
 | HG=             |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
45
 | GIT=            |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
46
 | LISP=           |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
47
 | RUST=           |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
48
 | LD=             |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
49
 | SHELL=/bin/bash |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
50
 | DEV=            |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
51
 | DEV_HOME=       |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
52
 | ID=             |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
53
 | WORKER=         |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
54
 | WORKER_ID=      |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
55
 | WORKER_HOME=    |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
56
 | CARGO_HOME=     |
889970442a12 docs bump
Richard Westhaver <ellis@rwest.io>
parents: 20
diff changeset
57
 | RUSTUP_HOME=    |
20
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
58
 
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
59
 * TODO bootstrap.sh
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
60
 Bootstrap the core.
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
61
 
23
411eeaebc6d2 doc updates
Richard Westhaver <ellis@rwest.io>
parents: 22
diff changeset
62
 - download and prepare target-specific dependencies
411eeaebc6d2 doc updates
Richard Westhaver <ellis@rwest.io>
parents: 22
diff changeset
63
 - install the latest =sk= binary from https://packy.compiler.company
411eeaebc6d2 doc updates
Richard Westhaver <ellis@rwest.io>
parents: 22
diff changeset
64
   to the stash
20
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
65
 - compile and load =bootstrap.lisp=
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
66
 
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
67
 Upon completion a local =stash= directory is provisioned. At this
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
68
 point we no longer need to depend on shell scripting as we have a
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
69
 fully interactive Lisp environment to hack on our builds with.
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
70
 
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
71
 From here, you may run =skel inspect= to inspect the infra =skelfile=
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
72
 and select a target to build on your machine or in a container. Use
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
73
 =skel --help= for a list of other commands.
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
74
 
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
75
 * TODO deploy.lisp
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
76
 Deploy =infra= builds to a remote.
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
77
 
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
78
 Deployment involves 'packing' a target found in =stash=, archiving it,
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
79
 compressing it, and sending it to a remote location possibly with a
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
80
 signature, checksum, or other metadata, and possibly encrypted. A
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
81
 'package' may also be a raw directory of plain-text files. It's a very
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
82
 loose term. Where the package ends up and how it is packed depends on
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
83
 the build-config and skelfile slots.
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
84
 
6932edcf60ec update infra/quickstart
Richard Westhaver <ellis@rwest.io>
parents: 19
diff changeset
85
 Production deployments end up at https://packy.compiler.company.
23
411eeaebc6d2 doc updates
Richard Westhaver <ellis@rwest.io>
parents: 22
diff changeset
86
 
411eeaebc6d2 doc updates
Richard Westhaver <ellis@rwest.io>
parents: 22
diff changeset
87
 
411eeaebc6d2 doc updates
Richard Westhaver <ellis@rwest.io>
parents: 22
diff changeset
88
 * TODO install.lisp
411eeaebc6d2 doc updates
Richard Westhaver <ellis@rwest.io>
parents: 22
diff changeset
89
 Install core packages locally.