changelog shortlog graph tags branches changeset files revisions annotate raw help

Mercurial > org > docs / infra/quickstart.org

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