require_relative '../lib/dsl' desc 'Set up wireguard mesh' task :wireguard do configure do # p option :verbose # dump_config given { hostname is :earth } file '/tmp/test/wg/wg0.conf' do manage directory from template 'the content is here and the result is <%= 1 + 2 %>' end file '/tmp/test/wg/wg1.conf' do manage directory from sourcefile './Rakefile' end end end desc 'Set up the /etc/hosts file' task :hosts do configure do given { hostname is :earth } file '/etc/hosts.test' do line '192.168.1.101 foo' end end end desc 'foo' task :foo do configure do file '/tmp/foo.txt' do line 'foo' requires file '/tmp/bar.txt' end file '/tmp/bar.txt' do 'bar' end end end