Skip to content

Instantly share code, notes, and snippets.

View ryan-lane's full-sized avatar

Ryan Lane ryan-lane

  • PayPay Japan
  • San Francisco
View GitHub Profile
{% set a = 'world' %}
{% set b = 'hello-{test}' %}
test:
file.touch:
- name: /tmp/{{ b.format(test=a) }}
@ryan-lane
ryan-lane / Calling salt-call with environment variables
Last active May 24, 2022 06:52
Using an environment variable in a state file
MYENVVAR="world" salt-call state.template test.sls
@ryan-lane
ryan-lane / gist:2c4bed05542b1d088bc4
Last active January 11, 2020 22:54
Environment example
{% if pillar.environment == 'production' %}
Ensure instance1 is configured:
file.managed:
- name /var/local/instance1/context.xml
- source: salt://instance.xml.tmpl
- template: jinja
- context:
somesetting: testme
{% else %}
Ensure instance1 is configured:
saltmastertest_role:
boto_iam_role.present:
- name: saltmastertest
- region: us-east-1
- policies:
saltmastertest:
Version: '2012-10-17'
Statement:
- Action:
- 'ec2:*'
@ryan-lane
ryan-lane / init.sls
Last active January 11, 2020 22:54
Context example
Ensure instance1 is configured:
file.managed:
- name /var/local/instance1/context.xml
- source: salt://instance.xml.tmpl
- template: jinja
- context:
var1: some content
var2: more content
Ensure instance2 is configured:
@ryan-lane
ryan-lane / pillar
Last active January 11, 2020 22:54
user state example
users:
testuser:
full_name: Test User
id: 1001
disabled: False
base:
'*':
- base
- service-common
- order: 1
{% for root in opts['pillar_roots']['base'] -%}
{% set service_group_sls = '{0}/{1}.sls'.format(root, grains['service_group']) -%}
{% if salt['file.file_exists'](service_group_sls) %}
'service_group:{{ grains["service_group"] }}':
- match: grain
@ryan-lane
ryan-lane / gist:b23c4536f1a8eeac69a6050601429f77
Created June 20, 2017 21:25
example confidant config file
default:
url: https://confidant.example.com
auth_key: alias/confidant-production
auth_context:
# from context will be auto-set
to: confidant-production
user_type: user
token_cache_file: '/Users/myhomedir/.confidant_token'
region: us-east-1
@ryan-lane
ryan-lane / asg.sls
Last active June 3, 2017 02:45
Example override for scaling policy
Ensure {{ grains.workers.web.cluster_name }} asg exists:
boto_asg.present:
- name: {{ grains.workers.web.cluster_name }}
- launch_config_name: {{ grains.workers.web.cluster_name }}
- launch_config:
- image_id: {{ pillar.ec2_ami.iad.ubuntu14.hvm_ssd }}
- key_name: sshunusablekey
- security_groups:
- {{ grains.service_name }}
- instance_profile_name: {{ grains.workers.web.cluster_name }}
@ryan-lane
ryan-lane / elb.sls
Last active May 27, 2017 03:12
Resource managing sub-resource example
Ensure {{ grains.workers.web.cluster_name }} elb exists:
boto_elb.present:
- name: {{ grains.workers.web.cluster_name }}
- listeners:
- elb_port: 80
instance_port: 80
elb_protocol: HTTP
- elb_port: 443
instance_port: 80
elb_protocol: HTTPS