--- # file: defaults/main.yml # cloud-init config hosts_cloudinit_config: users: - default disable_root: true mount_default_fields: [~, ~, 'auto', 'defaults,nofail', '0', '2'] resize_rootfs_tmp: /dev ssh_pwauth: 0 preserve_hostname: false datasource_list: - Ec2 datasource: Ec2: metadata_urls: - 'http://169.254.169.254' timeout: 5 max_wait: 10 cloud_init_modules: - migrator - seed_random - bootcmd - write-files - growpart - resizefs - disk_setup - mounts - set_hostname - update_hostname - update_etc_hosts - resolv_conf - ca-certs - rsyslog - users-groups - ssh cloud_config_modules: - ssh-import-id - locale - set-passwords - apk-configure - ntp - timezone - disable-ec2-metadata - runcmd cloud_final_modules: - package-update-upgrade-install - puppet - chef - mcollective - salt-minion - rightscale_userdata - scripts-vendor - scripts-per-once - scripts-per-boot - scripts-per-instance - scripts-user - ssh-authkey-fingerprints - keys-to-console - phone-home - final-message - power-state-change system_info: distro: alpine default_user: name: alpine lock_passwd: True gecos: alpine Cloud User groups: [adm, sudo] sudo: ["ALL=(ALL) NOPASSWD:ALL"] shell: /bin/ash paths: cloud_dir: /var/lib/cloud/ templates_dir: /etc/cloud/templates/ ssh_svcname: sshd # enable cloud-init hosts_cloudinit_enable: false # packages to install/remove hosts_packages: [] # packages common to all distributions hosts_packages_common: - { "name": "bash", "state": "present" } - { "name": "ca-certificates", "state": "present" } - { "name": "curl", "state": "present" } - { "name": "git", "state": "present" } - { "name": "htop", "state": "present" } - { "name": "less", "state": "present" } - { "name": "lsof", "state": "present" } - { "name": "make", "state": "present" } - { "name": "rsync", "state": "present" } - { "name": "screen", "state": "present" } - { "name": "tmux", "state": "present" } - { "name": "tzdata", "state": "present" } # packages specific to a distribution hosts_packages_distro: [] # services to enable/disable hosts_services: - { "name": "ansible", "state": "stopped", "enabled": "no" } - { "name": "zram", "state": "stopped", "enabled": "no" } # list of urls to get public keys to add to ~/.ssh/authorized_keys hosts_ssh_authorized_keys: "{{ lookup('env','ANSIBLE_SSH_AUTHORIZED_KEYS').split(' ') }}" # hostname of myos-bastion to add in ~/.ssh/myos/config hosts_ssh_bastion_hostname: "{{ lookup('env','ANSIBLE_SSH_BASTION_HOSTNAME') }}" # username of myos-bastion to add in ~/.ssh/myos/config hosts_ssh_bastion_username: "{{ lookup('env','ANSIBLE_SSH_BASTION_USERNAME') or ansible_user }}" # ip range proxyfied through myos-bastion to add in ~/.ssh/myos/config hosts_ssh_private_ip_range: "{{ lookup('env','ANSIBLE_SSH_PRIVATE_IP_RANGE') }}" # list of SSH private keys to copy hosts_ssh_private_keys: "{{ lookup('env','ANSIBLE_SSH_PRIVATE_KEYS').split(' ') }}" # list of public hosts to add to known_hosts hosts_ssh_public_hosts: "{{ lookup('env','ANSIBLE_SSH_PUBLIC_HOSTS').split(' ') }}" # remote ssh user hosts_ssh_username: "{{ lookup('env','ANSIBLE_SSH_USERNAME') or ansible_user }}" # list of environment variables to write to user ~/.env hosts_user_env: [] # run specific functions on user login hosts_user_rc_enable: false # list of rc functions to call at user connection hosts_user_rc_functions: - { "path": "10_prompt_set", "state": "touch" } - { "path": "10_ps1_set", "state": "touch" } - { "path": "30_pfetch", "state": "touch" } - { "path": "40_ssh_add", "state": "touch" }