summaryrefslogtreecommitdiff
path: root/doc/examples
diff options
context:
space:
mode:
Diffstat (limited to 'doc/examples')
-rw-r--r--doc/examples/cloud-config-datasources.txt7
-rw-r--r--doc/examples/cloud-config-lxd.txt28
-rw-r--r--doc/examples/cloud-config-mount-points.txt2
-rw-r--r--doc/examples/cloud-config-power-state.txt9
-rw-r--r--doc/examples/cloud-config-reporting.txt17
-rw-r--r--doc/examples/cloud-config-rh_subscription.txt49
-rw-r--r--doc/examples/cloud-config-rsyslog.txt46
-rw-r--r--doc/examples/cloud-config-seed-random.txt32
-rw-r--r--doc/examples/cloud-config-user-groups.txt6
-rw-r--r--doc/examples/cloud-config.txt6
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