Merge pull request #117 from andrew-vant/cloud-templates-redirect
Added pillar option to redirect profile and map folders.
This commit is contained in:
commit
15e63e8fd0
@ -78,13 +78,16 @@ salt:
|
||||
# salt cloud config
|
||||
cloud:
|
||||
master: salt
|
||||
folders:
|
||||
- cloud.providers.d/key
|
||||
- cloud.profiles.d
|
||||
- cloud.maps.d
|
||||
providers:
|
||||
- ec2
|
||||
- gce
|
||||
|
||||
# You can take profile and map templates from an alternate location
|
||||
# if you want to write your own.
|
||||
template_sources:
|
||||
providers: salt://salt/files/cloud.providers.d
|
||||
profiles: salt://salt/files/cloud.profiles.d
|
||||
maps: salt://salt/files/cloud.maps.d
|
||||
|
||||
# These settings are used by the default provider templates and
|
||||
# only need to be set for the ones you're using.
|
||||
aws_key: AWSKEYIJSHJAIJS6JSH
|
||||
aws_secret: AWSSECRETYkkDY1iQf9zRtl9+pW+Nm+aZY95
|
||||
gce_project: test
|
||||
|
@ -32,49 +32,40 @@ salt-cloud:
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% for folder in salt_settings.cloud.folders %}
|
||||
{{ folder }}:
|
||||
file.directory:
|
||||
- name: /etc/salt/{{ folder }}
|
||||
- user: root
|
||||
- group: root
|
||||
- file_mode: 744
|
||||
- dir_mode: 755
|
||||
- makedirs: True
|
||||
{% endfor %}
|
||||
|
||||
{% for cert in pillar.get('salt_cloud_certs', {}) %}
|
||||
{% for type in ['pem'] %}
|
||||
cloud-cert-{{ cert }}-pem:
|
||||
file.managed:
|
||||
- name: /etc/salt/cloud.providers.d/key/{{ cert }}.pem
|
||||
- name: /etc/salt/pki/cloud/{{ cert }}.pem
|
||||
- source: salt://salt/files/key
|
||||
- template: jinja
|
||||
- user: root
|
||||
- group: root
|
||||
- mode: 600
|
||||
- makedirs: True
|
||||
- defaults:
|
||||
key: {{ cert }}
|
||||
type: {{ type }}
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
|
||||
{% for providers in salt_settings.cloud.providers %}
|
||||
salt-cloud-profiles-{{ providers }}:
|
||||
file.managed:
|
||||
- name: /etc/salt/cloud.profiles.d/{{ providers }}.conf
|
||||
{%- for dir, templ_path in salt_settings.cloud.template_sources.items() %}
|
||||
salt-cloud-{{ dir }}:
|
||||
file.recurse:
|
||||
- name: /etc/salt/cloud.{{ dir }}.d
|
||||
- source: {{ templ_path }}
|
||||
- template: jinja
|
||||
- source: salt://salt/files/cloud.profiles.d/{{ providers }}.conf
|
||||
- makedirs: True
|
||||
{%- endfor %}
|
||||
|
||||
salt-cloud-providers-{{ providers }}:
|
||||
file.managed:
|
||||
- name: /etc/salt/cloud.providers.d/{{ providers }}.conf
|
||||
- template: jinja
|
||||
- source: salt://salt/files/cloud.providers.d/{{ providers }}.conf
|
||||
|
||||
salt-cloud-maps-{{ providers }}:
|
||||
file.managed:
|
||||
- name: /etc/salt/cloud.maps.d/{{ providers }}.conf
|
||||
- template: jinja
|
||||
- source: salt://salt/files/cloud.maps.d/{{ providers }}.conf
|
||||
{% endfor %}
|
||||
salt-cloud-providers-permissions:
|
||||
file.directory:
|
||||
- name: /etc/salt/cloud.providers.d
|
||||
- user: root
|
||||
- group: root
|
||||
- file_mode: 600
|
||||
- dir_mode: 700
|
||||
- recurse:
|
||||
- user
|
||||
- group
|
||||
- mode
|
||||
|
@ -23,3 +23,9 @@ salt:
|
||||
install_from_source: True
|
||||
gitpython:
|
||||
install_from_source: False
|
||||
|
||||
cloud:
|
||||
template_sources:
|
||||
providers: salt://salt/files/cloud.providers.d
|
||||
profiles: salt://salt/files/cloud.profiles.d
|
||||
maps: salt://salt/files/cloud.maps.d
|
||||
|
@ -2,13 +2,13 @@
|
||||
{% set cloud = salt['pillar.get']('salt:cloud', {}) -%}
|
||||
ec2_ubuntu_public:
|
||||
minion:
|
||||
master: {{ cloud['master'] }}
|
||||
master: {{ cloud.get('master', 'salt') }}
|
||||
grains:
|
||||
test: True
|
||||
ssh_interface: public_ips
|
||||
id: {{ cloud['aws_key'] }}
|
||||
key: '{{ cloud['aws_secret'] }}'
|
||||
private_key: /etc/salt/cloud.providers.d/key/key.pem
|
||||
id: {{ cloud.get('aws_key', 'DEFAULT') }}
|
||||
key: '{{ cloud.get('aws_secret', 'DEFAULT') }}'
|
||||
private_key: /etc/salt/pki/cloud/ec2.pem
|
||||
keyname: keyname
|
||||
location: eu-west-1
|
||||
availability_zone: eu-west-1a
|
||||
|
@ -1,11 +1,11 @@
|
||||
# This file managed by Salt, do not edit by hand!!
|
||||
{% set cloud = salt['pillar.get']('salt:cloud', {}) -%}
|
||||
gce:
|
||||
project: "{{ cloud['gce_project'] }}"
|
||||
service_account_email_address: "{{ cloud['gce_service_account_email_address'] }}"
|
||||
service_account_private_key: "/etc/salt/cloud.providers.d/key.pem"
|
||||
project: "{{ cloud.get('gce_project', 'DEFAULT') }}"
|
||||
service_account_email_address: "{{ cloud.get('gce_service_account_email_address', 'DEFAULT') }}"
|
||||
service_account_private_key: "/etc/salt/pki/cloud/gce.pem"
|
||||
minion:
|
||||
master: {{ cloud['master'] }}
|
||||
master: {{ cloud.get('master', 'salt') }}
|
||||
grains:
|
||||
test: True
|
||||
provider: gce
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
rsos_{{ region|lower }}:
|
||||
minion:
|
||||
master: {{ cloud['master'] }}
|
||||
master: {{ cloud.get('master', 'salt') }}
|
||||
grains:
|
||||
region: {{ region|lower }}
|
||||
|
||||
@ -15,7 +15,7 @@ rsos_{{ region|lower }}:
|
||||
protocol: ipv4
|
||||
compute_region: {{ region }}
|
||||
provider: openstack
|
||||
user: {{ cloud['rsos_user'] }}
|
||||
tenant: {{ cloud['rsos_tenant'] }}
|
||||
apikey: {{ cloud['rsos_apikey'] }}
|
||||
user: {{ cloud.get('rsos_user', 'DEFAULT') }}
|
||||
tenant: {{ cloud.get('rsos_tenant', 'DEFAULT') }}
|
||||
apikey: {{ cloud.get('rsos_apikey', 'DEFAULT') }}
|
||||
{% endfor %}
|
||||
|
@ -1,5 +1,8 @@
|
||||
# This file is managed by Salt via {{ source }}
|
||||
|
||||
{% set cloud = salt['pillar.get']('salt:cloud', {}) -%}
|
||||
|
||||
saltify:
|
||||
provider: saltify
|
||||
minion:
|
||||
master: {{ cloud['master'] }}
|
||||
master: {{ cloud.get('master', 'salt') }}
|
||||
|
Loading…
Reference in New Issue
Block a user