Skip to content

Latest commit

 

History

History
71 lines (63 loc) · 2.24 KB

example_edit_name_resolution.markdown

File metadata and controls

71 lines (63 loc) · 2.24 KB
layout title published reviewed reviewed-by
default
Set up name resolution with DNS
true
2013-06-08
atsaloli

There are many ways to configure name resolution. A simple and straightforward approach is to implement this as a simple editing promise for the /etc/resolv.conf file.

body common control
{
  bundlesequence => { "edit_name_resolution" };
}

bundle agent edit_name_resolution
{
  files:
    "/tmp/resolv.conf"   # This is for testing, change to "$(sys.resolv)" to put in production
      comment       => "Add lines to the resolver configuration",
      create        => "true",   # Make sure the file exists, create it if not
      edit_line     => resolver, # Call the resolver bundle defined below to do the editing
      edit_defaults => empty;    # Baseline memory model of file to empty before processing
                                 # bundle edit_line resolver
}

bundle edit_line resolver
{
  insert_lines:
    any::
      # Class/context where you use the below nameservers. Change to appropriate class
      # for your system (if not any::, for example server_group::, ubuntu::, etc.)
      # insert the search domain or name servers we want
      "search mydomain.tld"
        location => start;  # Replace mydomain.tld with your domain name
                            # The search line will always be at the start of the file
      "nameserver 128.39.89.8";
      "nameserver 128.39.74.66";
}

body edit_defaults empty
{
  empty_file_before_editing => "true";
}

body location start
{
  before_after => "before";
}

Example run:

# cf-agent -f unit_edit_name_resolution.cf  # set up resolv.conf
# cat /tmp/resolv.conf # show resolv.conf
search mydomain.tld
nameserver 128.39.89.8
nameserver 128.39.74.66
# echo 'nameserver 0.0.0.0' >> /tmp/resolv.conf  # mess up resolv.conf
# cf-agent -f ./unit_edit_name_resolution.cf -KI  # heal resolv.conf
2013-06-08T18:38:12-0700     info: This agent is bootstrapped to '192.168.183.208'
2013-06-08T18:38:12-0700     info: Running full policy integrity checks
2013-06-08T18:38:12-0700     info: /edit_name_resolution/files/'/tmp/resolv.conf': Edit file '/tmp/resolv.conf'
# cat /tmp/resolv.conf # show healed resolv.conf
search mydomain.tld
nameserver 128.39.89.8
nameserver 128.39.74.66
#