Aster
Aster is a programming language that's designed to make configuration management more fun.
Example
server web
default-instance-vars
var username root
var ssh-port 22
configure
run upgrade-ubuntu.sh
exec sudo reboot
exec sudo apt-get install nginx
run create-admin-user.aster
config-set username admin
config-set ssh-port 2222
upload sample.conf /etc/conf
add-remote-file-runner .rb
exec `which ruby`
file hostname.rb
require 'rubygems'
puts `hostname`.strip
file database.yml
---
production:
adapter: mysql2
username: root
password: 00000000
file sample.conf xml
<xml>
<var val="test" />
</xml>
function hostname
exec-script hostname.ruby
create-server-instance web
configure-instance {{instance.id}}
Install
gem install aster
Usage
Aster is not a configuration management application. Right now it is an experimental language that supports other languages embedded within .aster
files.