Skip to content

Install instructions for an A* working directory

This is an A* working directory containing a collection of A* components, e.g a-tmg or talk-microgrids-alaska. This document is the starting place for the technical use of A*, in particular:

  1. Browse A* components.
  2. Create a new A* working directory.
  3. Import components from an A* server.
  4. Build and run components using components.
  5. How to locally modify components and update components.

This document also links to detailed documents describing the installation process on different platforms.

This document is kept in the a-start-overview component.

End State: a working A* directory suitable for installation and development.

Preparation:

  1. Prepare a machine for installation using one of the instructions in platform-* noting:
    • Since this will have access consider platform security.
    • Confirm that no other users have access.
    • For Microsoft confim that there is NO remote backup.
    • Install needs to have gmake and tclsh8.6 installed.
  2. Consider using a large (~1TiB) external USB drive.
  3. Ensure you have enough diskspace to install everything. This is around 10GiB as of 2025-11.

You will need a username/password from a-core to access the component list with a web browser at http://a-star-microgrid.com/a-team/COMPONENTS/. This provides a list of all the components, e.g.

A* component index

The components are using ’-’ separated keywords and can be searched directly, e.g.

A* component index

For this example we will use an OpenBSD laptop or embedded controller installed using `platform-openbsd-install. This describes installation a either a laptop, embedded controller or virtual machine.

  1. Get a username/password pair from a-core (phil,gavin):
  • Username should be the same as the USER name on the installation target.
  • A password following xkcd, i.e. 4 or more words. The password is fixed for this version but can be updated by a-core.
  • Note that each user has different permissions/capabilties, e.g.
    • Read only
    • Project Manager
    • Developer
    • Admin
  1. Test the username/password pair on the server by visting the A* component directory in secure web browser. Note that the same password is for access to the site and for each component. Saving these passwords is useful for making it easier.

FILE NOT FOUND: /Users/david/a-team/platform-a-star-install/https:/a-star-microgrid.com/a-team/COMPONENTS 3. fossil needs to be installed locally via your local package manager noting that our the default platform-*-install instructions or images already do this. 4. Update your user system configuration in ~/.bashrc or it equivelant.

export ASTAR=$HOME/a-team
export CDPATH=$ASTAR:.
export PATH=$ASTAR/bin:$PATH
export MANPATH=$ASTAR/share/man:$ASTAR/man:/usr/share/man:/usr/X11R6/man:/usr/local/man
export MANPATH=$MANPATH:/usr/local/lib/tcl/tcl8.6/man
export MANPATH=$MANPATH:/usr/local/lib/tcl/tk8.6/man
export LD_LIBRARY_PATH=$ASTAR/lib:$LD_LIBRARY_PATH/lib
  1. Use fossil itself to clone the a-tool. Replace pjm with you username.
% fossil clone https://pjm@a-star-microgrid.com/a-team/COMPONENTS/a-clone
password for https://pjm@a-star-microgrid.com/a-team/COMPONENTS/a-clone:
remember password (Y/n)?
Encrypted HTTPS authorization required by
https://pjm@a-star-microgrid.com/a-team/COMPONENTS/a-clone
Use Fossil username and password (y/N)? y
Remember Basic Authorization credentials (Y/n)?
Round-trips: 3 Artifacts sent: 0 received: 58
Clone done, wire bytes sent: 1489 received: 70521 remote: 59.167.103.184
Rebuilding repository meta-data...
100.0% complete...
Extra delta compression... none found
Vacuuming the database...
project-id: 6da19fd7295b877b3c0f9a7f9e004b5a312d180f
server-id: 974071bd9d0ac576213cbeff97e5dabafa8cfb1c
admin-user: pjm (password is "YTnXLGjdu5")
opening the new ./a-clone.fossil repository in directory ./a-clone...
COPYRIGHT
KEYWORDS
LICENSE
Makefile
README.md
a-clone
main.bib
main.md
project-name: a-clone
repository: /home/pjm/a-new/a-clone.fossil
local-root: /home/pjm/a-new/a-clone/
config-db: /home/pjm/.config/fossil.db
project-code: 6da19fd7295b877b3c0f9a7f9e004b5a312d180f
checkout: 0fb0a77d500d2d3a9a4fbac23719e032028fc1f2 2025-10-24 09:55:38 UTC
parent: ab83ca92e78c73aac056c74b9b9363bc2038e35f 2025-09-11 05:23:53 UTC
tags: trunk
comment: Added tclsh version (user: pjm)
check-ins: 11

How to import components from an A* server

Section titled “How to import components from an A* server”

Components are downloaded with a-clone which was installed by the previous step.

% ./a-clone a-make
password for pjm at https://a-star-microgrid.com/a-team/COMPONENTS:
Round-trips: 3 Artifacts sent: 0 received: 76
Clone done, wire bytes sent: 1202 received: 83487 remote: 59.167.103.184
Rebuilding repository meta-data...
0.0% complete...
39.1% complete...
97.8% complete...
100.0% complete...
Extra delta compression... none found
Vacuuming the database... COPYRIGHT
KEYWORDS
LICENSE
Makefile
README.md
a-make
a-make.mk
main.bib
main.md
manifest.short
talk.md
project-name: a-make
repository: /home/pjm/a-new/a-make.fossil
local-root: /home/pjm/a-new/a-make/
config-db: /home/pjm/.config/fossil.db
project-code: 965a3c4f5821e21db66a263dfa127f59091e3be1
checkout: 97727249921a1e22aa2b0dd82db9ad8832dfbe58 2025-10-26 22:07:00 UTC
parent: 257e62e5b1bc57423314e5633e044bb05f4587cb 2025-10-08 06:59:18 UTC
tags: trunk
comment: Added creation of bin,... directories (user: pjm)
check-ins: 16
project-id: 965a3c4f5821e21db66a263dfa127f59091e3be1
server-id: 4e0d919717cf15a1d1715f02ade9dc9102c60ce5
admin-user: pjm (password is "Uuex3SCGEb")
opening the new ./a-make.fossil repository in directory a-make...

Note that a-clone takes a list of glob/wildcards so that you can download all component licenses using:

% a-clone license-\*

Finally the build process for each component will download its components automatically

How to build and run components using components

Section titled “How to build and run components using components”

\appendix

Any user with a login can see the names and descriptions for all components.

Each component has its own set of username and permissions which give differing access. These are described in Capabilities and are setup for each user on the server.

The current setup is:

  1. nobody - without a login no access
  2. anonymous
  3. reader
  4. developer

TBA but mostly about the access to local data and append only. Probably bit abouthow this all compares.

To be reviewed.

export AUTOMAKE_VERSION=1.17
export AUTOCONF_VERSION=2.72
export EDITOR=mg
alias make=gmake
alias f=fossil
alias c="fossil commit"
alias d="fossil gdiff"
alias u="fossil update"
alias e="emacs"
alias w="ungoogle-chromium"
alias l="ls"
alias sudo="doas"
#eval `ssh-agent`
# shell prompt
case `whoami` in
root|toor)
PS1="# "
;;
pjm)
PS1="% "
;;
*)
PS1="`whoami` % "
;;
esac
PS1=`echo -ne "\[\033]0;\\w \\$(ts-status)\007\]\[\033[01;92m\]$PS1\[\033[0m\]"`

FILE NOT FOUND: /Users/david/a-team/platform-a-star-install/SECURITY.md