Re: ARK/Arusha Core Competence

Jonathan Hogg <[email protected]> Fri, 8 Jun 2001 08:28:58 +0100
Newsgroups gmane.comp.sysutils.ark.devel
Message-ID <[email protected]>
On 7/6/01 23:13, Steve Traugott wrote (edited):

>Which of the following problem
>domains do you see Arusha addressing more directly?  
>
>	- third-party package builds and deployment, like LUDE
>
>	- operating system configuration, like cfengine
>
>	- operating system completion and maintenance, like RedHat
>
>	- bare-disk, initial formatting and installation of an [OS]
>
>I've tried to arrange these in higher-to-lower-level order.
>
>I have a guess as to where in this spectrum Arusha lives, but what are
>your opinions about where its core competence lies?  

Will would call it a framework, but I find it useful to think of Arusha 
as more like a systems administration programming language that just 
happens to borrow syntax from XML, Python, and sh.

It really could be any and all of the above, as it can wield the tools 
for any and all of the above. It should be useful for any system that can 
be described as a bunch of things with some associated information and 
commands, especially if the system can be broken down into "x and y are 
sort-of like z, but with differences".

If you take the sidai team from Arusha, you can think of it as a 
particular "program" written by the Arusha developers that manages 
Solaris and Linux boxen in a particular way: packages built from source 
and deployed using a mixture of link and copy; services configured by 
executing templates and copying the output into /etc; and so on.

The object-oriented shape of Arusha allows you to borrow large parts of 
this development effort and re-use them, or you can write your own 
programs from scratch to do things a completely different way.

In fact, while sidai is a useful exercise for those of us who re-use 
parts of it and documents our general thoughts on sysadmin, it tends to 
obscure the core of Arusha and make people think that it only works that 
way. I'm sure Will would love to see someone develop a whole new team 
using different ideas - e.g., using cfengine to do configuration and 
deployment instead of 'ssh sudo cp'.

The bare disk problem is a challenge but one that Arusha could also help 
with. I was reading the other day about the Linux From Scratch project, 
which is basically a document explaining how to roll your own Linux 
distribution. It goes through a list of packages explaining how to build 
and cross install each onto new media, then how to setup basic init 
scripts and config files.

My first thought was: this could all be written as an Arusha team that 
could build a new Linux OS. If the last package to be installed was 
Arusha itself plus the team config files, and your media was a disk 
image, you could build a CD for bootstrapping new boxes...


Later, Steve wrote:

><shameless plug> Not that it will pay you anything directly, but for
>those lower-level layers you might want to take a look at
>Infrastructures.Org, specifically
>http://www.infrastructures.org/papers/bootstrap/bootstrap.html.  There
>appears to be some shared philosophy between Arusha and the
>Infrastructures.Org group.  </shameless plug> 

I think this paper was required reading by Will for the early developers 
;-)

Jonathan


-- 
jonathan hogg, one good idea ltd, 131 queen margaret dr., glasgow g20 8pd
http://www.onegoodidea.com/ tel:+44-(0)7976-614338 fax:+44-(0)7970-537451