diff options
Diffstat (limited to 'doc/examples')
-rw-r--r-- | doc/examples/cloud-config-datasources.txt | 7 | ||||
-rw-r--r-- | doc/examples/cloud-config-lxd.txt | 28 | ||||
-rw-r--r-- | doc/examples/cloud-config-mount-points.txt | 2 | ||||
-rw-r--r-- | doc/examples/cloud-config-power-state.txt | 9 | ||||
-rw-r--r-- | doc/examples/cloud-config-reporting.txt | 17 | ||||
-rw-r--r-- | doc/examples/cloud-config-rh_subscription.txt | 49 | ||||
-rw-r--r-- | doc/examples/cloud-config-rsyslog.txt | 46 | ||||
-rw-r--r-- | doc/examples/cloud-config-seed-random.txt | 32 | ||||
-rw-r--r-- | doc/examples/cloud-config-user-groups.txt | 6 | ||||
-rw-r--r-- | doc/examples/cloud-config.txt | 6 |
10 files changed, 197 insertions, 5 deletions
diff --git a/doc/examples/cloud-config-datasources.txt b/doc/examples/cloud-config-datasources.txt index 3bde4aac..2651c027 100644 --- a/doc/examples/cloud-config-datasources.txt +++ b/doc/examples/cloud-config-datasources.txt @@ -51,12 +51,19 @@ datasource: policy: on # [can be 'on', 'off' or 'force'] SmartOS: + # For KVM guests: # Smart OS datasource works over a serial console interacting with # a server on the other end. By default, the second serial console is the # device. SmartOS also uses a serial timeout of 60 seconds. serial_device: /dev/ttyS1 serial_timeout: 60 + # For LX-Brand Zones guests: + # Smart OS datasource works over a socket interacting with + # the host on the other end. By default, the socket file is in + # the native .zoncontrol directory. + metadata_sockfile: /native/.zonecontrol/metadata.sock + # a list of keys that will not be base64 decoded even if base64_all no_base64_decode: ['root_authorized_keys', 'motd_sys_info', 'iptables_disable'] diff --git a/doc/examples/cloud-config-lxd.txt b/doc/examples/cloud-config-lxd.txt new file mode 100644 index 00000000..b9bb4aa5 --- /dev/null +++ b/doc/examples/cloud-config-lxd.txt @@ -0,0 +1,28 @@ +#cloud-config + +# configure lxd +# default: none +# all options default to none if not specified +# lxd: config sections for lxd +# init: dict of options for lxd init, see 'man lxd' +# network_address: address for lxd to listen on +# network_port: port for lxd to listen on +# storage_backend: either 'zfs' or 'dir' +# storage_create_device: device based storage using specified device +# storage_create_loop: set up loop based storage with size in GB +# storage_pool: name of storage pool to use or create +# trust_password: password required to add new clients + +lxd: + init: + network_address: 0.0.0.0 + network_port: 8443 + storage_backend: zfs + storage_pool: datapool + storage_create_loop: 10 + + +# The simplist working configuration is +# lxd: +# init: +# storage_backend: dir diff --git a/doc/examples/cloud-config-mount-points.txt b/doc/examples/cloud-config-mount-points.txt index 3b45b47f..aa676c24 100644 --- a/doc/examples/cloud-config-mount-points.txt +++ b/doc/examples/cloud-config-mount-points.txt @@ -42,5 +42,5 @@ mount_default_fields: [ None, None, "auto", "defaults,nobootwait", "0", "2" ] # default is to not create any swap files, because 'size' is set to 0 swap: filename: /swap.img - size: "auto" or size in bytes + size: "auto" # or size in bytes maxsize: size in bytes diff --git a/doc/examples/cloud-config-power-state.txt b/doc/examples/cloud-config-power-state.txt index 8df14366..b470153d 100644 --- a/doc/examples/cloud-config-power-state.txt +++ b/doc/examples/cloud-config-power-state.txt @@ -23,9 +23,18 @@ # message: provided as the message argument to 'shutdown'. default is none. # timeout: the amount of time to give the cloud-init process to finish # before executing shutdown. +# condition: apply state change only if condition is met. +# May be boolean True (always met), or False (never met), +# or a command string or list to be executed. +# command's exit code indicates: +# 0: condition met +# 1: condition not met +# other exit codes will result in 'not met', but are reserved +# for future use. # power_state: delay: "+30" mode: poweroff message: Bye Bye timeout: 30 + condition: True diff --git a/doc/examples/cloud-config-reporting.txt b/doc/examples/cloud-config-reporting.txt new file mode 100644 index 00000000..ee00078f --- /dev/null +++ b/doc/examples/cloud-config-reporting.txt @@ -0,0 +1,17 @@ +#cloud-config +## +## The following sets up 2 reporting end points. +## A 'webhook' and a 'log' type. +## It also disables the built in default 'log' +reporting: + smtest: + type: webhook + endpoint: "http://myhost:8000/" + consumer_key: "ckey_foo" + consumer_secret: "csecret_foo" + token_key: "tkey_foo" + token_secret: "tkey_foo" + smlogger: + type: log + level: WARN + log: null diff --git a/doc/examples/cloud-config-rh_subscription.txt b/doc/examples/cloud-config-rh_subscription.txt new file mode 100644 index 00000000..be121338 --- /dev/null +++ b/doc/examples/cloud-config-rh_subscription.txt @@ -0,0 +1,49 @@ +#cloud-config + +# register your Red Hat Enterprise Linux based operating system +# +# this cloud-init plugin is capable of registering by username +# and password *or* activation and org. Following a successfully +# registration you can: +# - auto-attach subscriptions +# - set the service level +# - add subscriptions based on its pool ID +# - enable yum repositories based on its repo id +# - disable yum repositories based on its repo id +# - alter the rhsm_baseurl and server-hostname in the +# /etc/rhsm/rhs.conf file + +rh_subscription: + username: joe@foo.bar + + ## Quote your password if it has symbols to be safe + password: '1234abcd' + + ## If you prefer, you can use the activation key and + ## org instead of username and password. Be sure to + ## comment out username and password + + #activation-key: foobar + #org: 12345 + + ## Uncomment to auto-attach subscriptions to your system + #auto-attach: True + + ## Uncomment to set the service level for your + ## subscriptions + #service-level: self-support + + ## Uncomment to add pools (needs to be a list of IDs) + #add-pool: [] + + ## Uncomment to add or remove yum repos + ## (needs to be a list of repo IDs) + #enable-repo: [] + #disable-repo: [] + + ## Uncomment to alter the baseurl in /etc/rhsm/rhsm.conf + #rhsm-baseurl: http://url + + ## Uncomment to alter the server hostname in + ## /etc/rhsm/rhsm.conf + #server-hostname: foo.bar.com diff --git a/doc/examples/cloud-config-rsyslog.txt b/doc/examples/cloud-config-rsyslog.txt new file mode 100644 index 00000000..28ea1f16 --- /dev/null +++ b/doc/examples/cloud-config-rsyslog.txt @@ -0,0 +1,46 @@ +## the rsyslog module allows you to configure the systems syslog. +## configuration of syslog is under the top level cloud-config +## entry 'rsyslog'. +## +## Example: +#cloud-config +rsyslog: + remotes: + # udp to host 'maas.mydomain' port 514 + maashost: maas.mydomain + # udp to ipv4 host on port 514 + maas: "@[10.5.1.56]:514" + # tcp to host ipv6 host on port 555 + maasipv6: "*.* @@[FE80::0202:B3FF:FE1E:8329]:555" + configs: + - "*.* @@192.158.1.1" + - content: "*.* @@192.0.2.1:10514" + filename: 01-example.conf + - content: | + *.* @@syslogd.example.com + config_dir: /etc/rsyslog.d + config_filename: 20-cloud-config.conf + service_reload_command: [your, syslog, reload, command] + +## Additionally the following legacy format is supported +## it is converted into the format above before use. +## rsyslog_filename -> rsyslog/config_filename +## rsyslog_dir -> rsyslog/config_dir +## rsyslog -> rsyslog/configs +# rsyslog: +# - "*.* @@192.158.1.1" +# - content: "*.* @@192.0.2.1:10514" +# filename: 01-example.conf +# - content: | +# *.* @@syslogd.example.com +# rsyslog_filename: 20-cloud-config.conf +# rsyslog_dir: /etc/rsyslog.d + +## to configure rsyslog to accept remote logging on Ubuntu +## write the following into /etc/rsyslog.d/20-remote-udp.conf +## $ModLoad imudp +## $UDPServerRun 514 +## $template LogRemote,"/var/log/maas/rsyslog/%HOSTNAME%/messages" +## :fromhost-ip, !isequal, "127.0.0.1" ?LogRemote +## then: +## sudo service rsyslog restart diff --git a/doc/examples/cloud-config-seed-random.txt b/doc/examples/cloud-config-seed-random.txt new file mode 100644 index 00000000..08f69a9f --- /dev/null +++ b/doc/examples/cloud-config-seed-random.txt @@ -0,0 +1,32 @@ +#cloud-config +# +# random_seed is a dictionary. +# +# The config module will write seed data from the datasource +# to 'file' described below. +# +# Entries in this dictionary are: +# file: the file to write random data to (default is /dev/urandom) +# data: this data will be written to 'file' before data from +# the datasource +# encoding: this will be used to decode 'data' provided. +# allowed values are 'encoding', 'raw', 'base64', 'b64' +# 'gzip', or 'gz'. Default is 'raw' +# +# command: execute this command to seed random. +# the command will have RANDOM_SEED_FILE in its environment +# set to the value of 'file' above. +# command_required: default False +# if true, and 'command' is not available to be run +# then exception is raised and cloud-init will record failure. +# Otherwise, only debug error is mentioned. +# +# Note: command could be ['pollinate', +# '--server=http://local.pollinate.server'] +# which would have pollinate populate /dev/urandom from provided server +seed_random: + file: '/dev/urandom' + data: 'my random string' + encoding: 'raw' + command: ['sh', '-c', 'dd if=/dev/urandom of=$RANDOM_SEED_FILE'] + command_required: True diff --git a/doc/examples/cloud-config-user-groups.txt b/doc/examples/cloud-config-user-groups.txt index 31491faf..0e8ed243 100644 --- a/doc/examples/cloud-config-user-groups.txt +++ b/doc/examples/cloud-config-user-groups.txt @@ -15,14 +15,14 @@ users: selinux-user: staff_u expiredate: 2012-09-01 ssh-import-id: foobar - lock-passwd: false + lock_passwd: false passwd: $6$j212wezy$7H/1LT4f9/N3wpgNunhsIqtMj62OKiS3nyNwuizouQc3u7MbYCarYeAHWYPYb2FT.lbioDm2RrkJPb9BZMN1O/ - name: barfoo gecos: Bar B. Foo sudo: ALL=(ALL) NOPASSWD:ALL groups: users, admin ssh-import-id: None - lock-passwd: true + lock_passwd: true ssh-authorized-keys: - <ssh pub key 1> - <ssh pub key 2> @@ -42,7 +42,7 @@ users: # selinux-user: Optional. The SELinux user for the user's login, such as # "staff_u". When this is omitted the system will select the default # SELinux user. -# lock-passwd: Defaults to true. Lock the password to disable password login +# lock_passwd: Defaults to true. Lock the password to disable password login # inactive: Create the user as inactive # passwd: The hash -- not the password itself -- of the password you want # to use for this user. You can generate a safe hash via: diff --git a/doc/examples/cloud-config.txt b/doc/examples/cloud-config.txt index ed4eb7fc..1236796c 100644 --- a/doc/examples/cloud-config.txt +++ b/doc/examples/cloud-config.txt @@ -484,7 +484,9 @@ resize_rootfs: True # final_message # default: cloud-init boot finished at $TIMESTAMP. Up $UPTIME seconds # this message is written by cloud-final when the system is finished -# its first boot +# its first boot. +# This message is rendered as if it were a template. If you +# want jinja, you have to start the line with '## template:jinja\n' final_message: "The system is finally up, after $UPTIME seconds" # configure where output will go @@ -534,6 +536,8 @@ timezone: US/Eastern # # to remedy this situation, 'def_log_file' can be set to a filename # and syslog_fix_perms to a string containing "<user>:<group>" +# if syslog_fix_perms is a list, it will iterate through and use the +# first pair that does not raise error. # # the default values are '/var/log/cloud-init.log' and 'syslog:adm' # the value of 'def_log_file' should match what is configured in logging |