Skip to content

Instantly share code, notes, and snippets.

View juliedavila's full-sized avatar
🎃
Content

Julie Davila juliedavila

🎃
Content
View GitHub Profile
@juliedavila
juliedavila / template_url.py
Last active August 29, 2015 14:24
Point to a template url for ansible < 2
## usage lookup('template_url', 'https://myserver/template.j2')
import urllib2
import tempfile
import os
from ansible import utils
from ansible.module_utils.urls import open_url, ConnectionError, SSLValidationError
from ansible.utils.unicode import to_unicode
from glob import glob
@juliedavila
juliedavila / report.yml
Created September 7, 2015 14:15
sample stig report
## DISA STIG For RHEL6 Revision 8 Version 1
- name: Category 1 Results
rule_results:
- vuln_id: V-38476
rule_id: SV-50276r3_rule
stig_id: RHEL-06-00000
rule_title: Vendor-provided cryptographic certificates must be installed to verify the integrity of system software.
result: FAIL
@juliedavila
juliedavila / labdemo.py
Created October 15, 2015 17:41
Training Solution
#!/usr/bin/python
import urllib
import os
GH_URL = 'https://raw.githubusercontent.com/jsmartin/lightbulb/master/lessons/common_role/roles/apache/templates/index.html.j2'
def download(module, url, destination):
opener = urllib.URLopener()
opener.retrieve(url, destination)
@juliedavila
juliedavila / nameoflookup.py
Created October 16, 2015 15:12
Lookup plugin boilerplate
class LookupModule(object):
def __init__(self, basedir=None, **kwargs):
self.basedir = basedir
def run(self, terms, inject=None, **kwargs):
if isinstance(terms, basestring):
terms = [ terms ]
ret = []
@juliedavila
juliedavila / filtersample.py
Created October 16, 2015 16:48
Boiler plate for filter plugin
from jinja2 import contextfilter
class FilterModule(object):
''' Extra filters '''
def filters(self):
return {
'nameoffilter': self.name_of_method,
}
import os
def main():
module = AnsibleModule(
argument_spec = dict(
state = dict(required=True, choices=['present', 'absent']),
name = dict(required=True),
content = dict(required=True)
),
@juliedavila
juliedavila / rotation.yml
Created November 12, 2015 23:16
key rotation for autologic_users
- name: Move original key
command: mv files/sshkeys/{{item.value.username}}.priv files/sshkeys/{{item.value.username}}.priv.last
args:
removes: files/sshkeys/{{item.value.username}}.priv
delegate_to: localhost
with_dict: autologic_system_users
run_once: yes
when: rotate
- name: Move old pub key
@juliedavila
juliedavila / sample_module.py
Last active November 30, 2017 13:05
New Ansible Module Boilerplate
#!/usr/bin/python
# libraries you import here, must be present on the target node.
import os
# You can defined other functions up here to make your code more modular.
# These functions will need to be called from main(), either directly or through N number of other functions
# that eventually lead back to main()
def main():
@juliedavila
juliedavila / myfilters.py
Created December 19, 2015 03:46
Ansible Filter plugin for ansible <2.0 that reverses a string
from jinja2 import contextfilter
class FilterModule(object):
''' Extra filters '''
def filters(self):
return {
'reverse': self.reverse_string,
}
@juliedavila
juliedavila / hasher.py
Created December 19, 2015 03:50
Sample module that returns a string hashed in various ways
#!/usr/bin/python
import hashlib
def main():
module = AnsibleModule(
argument_spec = dict(
string = dict(required=True)
),