Browse Source

(temporarily) remove cruft

Markus Lindenberg 9 years ago
parent
commit
c02a1bf88c
100 changed files with 0 additions and 3022 deletions
  1. 0 39
      .kitchen.yml
  2. 0 128
      .travis.yml
  3. 0 6
      Gemfile
  4. 0 44
      Gemfile.lock
  5. 0 26
      Makefile
  6. 0 46
      Vagrantfile
  7. 0 11
      extensions/setup/python_requirements.txt
  8. 0 50
      extensions/setup/role_update.sh
  9. 0 72
      extensions/setup/setup.sh
  10. 0 52
      extensions/test/check_playbooks.sh
  11. 0 41
      extensions/test/execute_tests.sh
  12. 0 0
      roles/authentication/handlers/main.yml
  13. 0 0
      roles/authentication/tasks/main.yml
  14. 0 0
      roles/batman/defaults/main.yml
  15. 0 0
      roles/batman/tasks/main.yml
  16. 0 0
      roles/batman/tasks/ubuntu.yml
  17. 0 0
      roles/bird/handlers/main.yml
  18. 0 0
      roles/bird/tasks/main.yml
  19. 0 0
      roles/bird/templates/bird.conf.j2
  20. 0 0
      roles/bird/templates/bird6.conf.j2
  21. 0 0
      roles/bird/vars/main.yml
  22. 0 0
      roles/dhcp/handlers/main.yml
  23. 0 0
      roles/dhcp/tasks/main.yml
  24. 0 0
      roles/dhcp/templates/dhcpd.conf.j2
  25. 0 2
      roles/external/dereulenspiegel.fastd/.gitignore
  26. 0 36
      roles/external/dereulenspiegel.fastd/.kitchen.yml
  27. 0 23
      roles/external/dereulenspiegel.fastd/.travis.yml
  28. 0 7
      roles/external/dereulenspiegel.fastd/Gemfile
  29. 0 82
      roles/external/dereulenspiegel.fastd/README.md
  30. 0 1
      roles/external/dereulenspiegel.fastd/meta/.galaxy_install_info
  31. 0 17
      roles/external/dereulenspiegel.fastd/meta/main.yml
  32. 0 2
      roles/external/dereulenspiegel.fastd/test/ansible.cfg
  33. 0 9
      roles/external/dereulenspiegel.fastd/test/application/fastd.yml
  34. 0 42
      roles/external/dereulenspiegel.fastd/test/application/fastd_pkg_vars.yml
  35. 0 9
      roles/external/dereulenspiegel.fastd/test/application/travis-fastd.yml
  36. 0 55
      roles/external/dereulenspiegel.fastd/test/integration/fastd/serverspec/fastd_spec.rb
  37. 0 1
      roles/external/dereulenspiegel.fastd/test/local.ini
  38. 0 17
      roles/external/dereulenspiegel.fastd/test/run_vagrant_kitchen.sh
  39. 0 98
      roles/external/dereulenspiegel.fastd/test/travis_run.py
  40. 0 2
      roles/external/dereulenspiegel.fastd/vars/main.yml
  41. 0 2
      roles/external/jdauphant.nginx/.gitignore
  42. 0 32
      roles/external/jdauphant.nginx/.travis.yml
  43. 0 241
      roles/external/jdauphant.nginx/README.md
  44. 0 19
      roles/external/jdauphant.nginx/Vagrantfile
  45. 0 2
      roles/external/jdauphant.nginx/ansible.cfg
  46. 0 63
      roles/external/jdauphant.nginx/defaults/main.yml
  47. 0 78
      roles/external/jdauphant.nginx/example-vars.yml
  48. 0 30
      roles/external/jdauphant.nginx/handlers/main.yml
  49. 0 1
      roles/external/jdauphant.nginx/meta/.galaxy_install_info
  50. 0 36
      roles/external/jdauphant.nginx/meta/main.yml
  51. 0 45
      roles/external/jdauphant.nginx/tasks/configuration.yml
  52. 0 42
      roles/external/jdauphant.nginx/tasks/installation.packages.yml
  53. 0 16
      roles/external/jdauphant.nginx/tasks/main.yml
  54. 0 18
      roles/external/jdauphant.nginx/tasks/nginx-official-repo.yml
  55. 0 15
      roles/external/jdauphant.nginx/tasks/remove-defaults.yml
  56. 0 31
      roles/external/jdauphant.nginx/tasks/remove-extras.yml
  57. 0 24
      roles/external/jdauphant.nginx/tasks/remove-unwanted.yml
  58. 0 5
      roles/external/jdauphant.nginx/templates/auth_basic.j2
  59. 0 9
      roles/external/jdauphant.nginx/templates/config.conf.j2
  60. 0 33
      roles/external/jdauphant.nginx/templates/nginx.conf.j2
  61. 0 4
      roles/external/jdauphant.nginx/templates/nginx.repo.j2
  62. 0 10
      roles/external/jdauphant.nginx/templates/site.conf.j2
  63. 0 6
      roles/external/jdauphant.nginx/test.yml
  64. 0 8
      roles/external/jdauphant.nginx/vars/main.yml
  65. 0 3
      roles/external/usermanage/.gitignore
  66. 0 78
      roles/external/usermanage/.kitchen.yml
  67. 0 21
      roles/external/usermanage/.travis.yml
  68. 0 9
      roles/external/usermanage/Gemfile
  69. 0 87
      roles/external/usermanage/README.md
  70. 0 35
      roles/external/usermanage/defaults/main.yml
  71. 0 99
      roles/external/usermanage/library/check_users.py
  72. 0 162
      roles/external/usermanage/library/load_user_files.py
  73. 0 247
      roles/external/usermanage/library/usersdb.py
  74. 0 1
      roles/external/usermanage/meta/.galaxy_install_info
  75. 0 11
      roles/external/usermanage/meta/main.yml
  76. 0 46
      roles/external/usermanage/tasks/debug.yml
  77. 0 7
      roles/external/usermanage/tasks/groups.yml
  78. 0 21
      roles/external/usermanage/tasks/main.yml
  79. 0 7
      roles/external/usermanage/tasks/per_user_group.yml
  80. 0 23
      roles/external/usermanage/tasks/sources.yml
  81. 0 31
      roles/external/usermanage/tasks/users.yml
  82. 0 4
      roles/external/usermanage/templates/debug_users.j2
  83. 0 2
      roles/external/usermanage/test/ansible.cfg
  84. 0 13
      roles/external/usermanage/test/application/advanced.yml
  85. 0 31
      roles/external/usermanage/test/application/advanced_var_server_db.yml
  86. 0 49
      roles/external/usermanage/test/application/advanced_var_user_db.yml
  87. 0 27
      roles/external/usermanage/test/application/extra_advanced.yml
  88. 0 31
      roles/external/usermanage/test/application/extra_advanced_var_server_db.yml
  89. 0 60
      roles/external/usermanage/test/application/extra_advanced_var_user_db.yml
  90. 0 26
      roles/external/usermanage/test/application/extra_simple.yml
  91. 0 27
      roles/external/usermanage/test/application/extra_team.yml
  92. 0 21
      roles/external/usermanage/test/application/extra_team_var_team_db.yml
  93. 0 39
      roles/external/usermanage/test/application/extra_var_simple_db.yml
  94. 0 10
      roles/external/usermanage/test/application/group.yml
  95. 0 17
      roles/external/usermanage/test/application/group_var_group_db.yml
  96. 0 15
      roles/external/usermanage/test/application/multi_source_files.yml
  97. 0 12
      roles/external/usermanage/test/application/simple.yml
  98. 0 36
      roles/external/usermanage/test/application/simple_var_user_db.yml
  99. 0 26
      roles/external/usermanage/test/application/source_databag.yml
  100. 0 0
      roles/external/usermanage/test/application/source_files.yml

+ 0 - 39
.kitchen.yml

@@ -1,39 +0,0 @@
----
-driver:
-  name: vagrant
-
-provisioner:
-    name               : ansible_push
-    verbose            : "vvvv"
-    ansible_config     : "test/ansible.cfg"
-    idempotency_test   : False
-    sudo               : True
-    #chef_bootstrap_url : False
-    #extra_vars        : "@kitchen_vars.yml"
-
-platforms:
-    - name: Debian-jessie
-      driver:
-        box: debian/jessie64
-        customize:
-          memory: 128
-    #- name: Debian-wheezy
-    #  driver:
-    #    box: debian/wheezy64
-    #    customize:
-    #      memory: 128
-    - name: Ubuntu-trusty
-      driver:
-        box: ubuntu/trusty64
-        customize:
-          memory: 512
-
-suites:
-  - name: supernode
-    provisioner:
-      playbook: "test/application/supernode.yml"
-      extra_vars: {'kitchen_connection': 'smart'}
-  - name: mapserver
-    provisioner:
-      playbook: "test/application/mapserver.yml"
-      extra_vars: {'kitchen_connection': 'smart'}

+ 0 - 128
.travis.yml

@@ -1,128 +0,0 @@
----
-language: python
-python: "2.7"
-
-before_install:
-  # Make sure everything's up to date.
-  - sudo apt-get update -qq
-  - sudo apt-get install -qq python-apt python-pycurl git python-pip
-
-install:
-  - sudo pip install ansible
-  - sudo mkdir -p /spec
-  - >
-    [ ! -d /spec/ansible-spec ]
-    && sudo git clone https://github.com/ahelal/ansible-spec /spec/ansible-spec && echo "ansible-spec Installing"
-    || echo "ansible-spec allready installed"
-
-script:
-    - cd test
-    - ansible --version
-    ## Group
-    # 1st: check syntax
-    - ansible-playbook -i local.ini application/group.yml --syntax-check
-    # 2nd:  Make sure we run the entire playbook
-    - ansible-playbook -i local.ini application/group.yml --sudo -vvvv
-    # 3rd:  Make sure our playbook is idempotent
-    - >
-      ansible-playbook -i local.ini application/group.yml --sudo -vvvv | tee ansible_output
-      | grep -q 'changed=0.*failed=0'
-      && (echo 'Idempotence test: pass' && exit 0)
-      || (echo 'Idempotence test: fail' && exit 1)
-    # 4th: run test make sure module spit it right data
-    - ansible-playbook -i local.ini application/group_spec.yml --sudo -vvvv -C
-
-    ## Simple
-    # 1st: check syntax
-    - ansible-playbook -i local.ini application/simple.yml --syntax-check
-    # 2nd:  Make sure we run the entire playbook
-    - ansible-playbook -i local.ini application/simple.yml --sudo -vvvv
-    # 3rd:  Make sure our playbook is idempotent
-    - >
-      ansible-playbook -i local.ini application/simple.yml --sudo -vvvv | tee ansible_output
-      | grep -q 'changed=0.*failed=0'
-      && (echo 'Idempotence test: pass' && exit 0)
-      || (echo 'Idempotence test: fail' && exit 1)
-    # 4th: run test make sure module spit it right data
-    - ansible-playbook -i local.ini application/simple_spec.yml --sudo -vvvv -C
-
-    ## Advanced
-    # 1st: check syntax
-    - ansible-playbook -i local.ini application/advanced.yml --syntax-check
-    # 2nd:  Make sure we run the entire playbook
-    - ansible-playbook -i local.ini application/advanced.yml --sudo -vvvv
-    # 3rd:  Make sure our playbook is idempotent
-    - >
-      ansible-playbook -i local.ini application/advanced.yml --sudo -vvvv | tee ansible_output
-      | grep -q 'changed=0.*failed=0'
-      && (echo 'Idempotence test: pass' && exit 0)
-      || (echo 'Idempotence test: fail' && exit 1)
-    # 4th: run test make sure module spit it right data
-    - ansible-playbook -i local.ini application/advanced_spec.yml --sudo -vvvv -C --diff
-
-    ## Source file yaml and json
-    # 1st: check syntax
-    - ansible-playbook -i local.ini application/source_files.yml --syntax-check
-    # 2nd:  Make sure we run the entire playbook
-    - ansible-playbook -i local.ini application/source_files.yml --sudo -vvvv
-    # 3rd:  Make sure our playbook is idempotent
-    - >
-      ansible-playbook -i local.ini application/source_files.yml --sudo -vvvv | tee ansible_output
-      | grep -q 'changed=0.*failed=0'
-      && (echo 'Idempotence test: pass' && exit 0)
-      || (echo 'Idempotence test: fail' && exit 1)
-    # 4th: run test make sure module spit it right data
-    - ansible-playbook -i local.ini application/source_files_specs.yml --sudo -vvvv -C --diff
-
-    ## Source databag
-    # 1st: check syntax
-    - ansible-playbook -i local.ini application/source_databag.yml --syntax-check
-    # 2nd:  Make sure we run the entire playbook
-    - ansible-playbook -i local.ini application/source_databag.yml --sudo -vvvv
-    # 3rd:  Make sure our playbook is idempotent
-    - >
-      ansible-playbook -i local.ini application/source_databag.yml --sudo -vvvv | tee ansible_output
-      | grep -q 'changed=0.*failed=0'
-      && (echo 'Idempotence test: pass' && exit 0)
-      || (echo 'Idempotence test: fail' && exit 1)
-    # 4th: run test make sure module spit it right data
-    - ansible-playbook -i local.ini application/source_databag_spec.yml --sudo -vvvv -C --diff
-
-    ## Mutli Source
-    # 1st: check syntax
-    - ansible-playbook -i local.ini application/multi_source_files.yml --syntax-check
-    # 2nd:  Make sure we run the entire playbook
-    - ansible-playbook -i local.ini application/multi_source_files.yml --sudo -vvvv
-    # 3rd:  Make sure our playbook is idempotent
-    - >
-      ansible-playbook -i local.ini application/multi_source_files.yml --sudo -vvvv | tee ansible_output
-      | grep -q 'changed=0.*failed=0'
-      && (echo 'Idempotence test: pass' && exit 0)
-      || (echo 'Idempotence test: fail' && exit 1)
-    # 4th:
-    - ansible-playbook -i local.ini application/multi_source_specs.yml --sudo -vvvv -C --diff
-
-    ## Team management
-    # 1st: check syntax
-    - ansible-playbook -i local.ini application/team.yml --syntax-check
-    # 2nd:  Make sure we run the entire playbook
-    - ansible-playbook -i local.ini application/team.yml --sudo -vvvv
-    # 3rd:  Make sure our playbook is idempotent
-    - >
-      ansible-playbook -i local.ini application/team.yml --sudo -vvvv | tee ansible_output
-      | grep -q 'changed=0.*failed=0'
-      && (echo 'Idempotence test: pass' && exit 0)
-      || (echo 'Idempotence test: fail' && exit 1)
-    # 4th:
-    - ansible-playbook -i local.ini application/team_spec.yml --sudo -vvvv -C --diff
-
-after_failure:
-    - echo "Failure"
-    - sudo cat ansible_output
-    - sudo netstat -atnlp
-    - sudo cat /home/nexus/sonatype-work/nexus/logs/nexus.log
-    - sudo cat /home/nexus/sonatype-work/nexus/logs/request.log
-    - ansible -i 127.0.0.1, -m setup all -c local
-
-after_success:
-    - echo "Success"

+ 0 - 6
Gemfile

@@ -1,6 +0,0 @@
-source "https://rubygems.org"
-
-gem "test-kitchen"
-gem "kitchen-ansiblepush"
-gem "kitchen-ansible"
-gem "kitchen-vagrant"

+ 0 - 44
Gemfile.lock

@@ -1,44 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    faraday (0.9.1)
-      multipart-post (>= 1.2, < 3)
-    highline (1.7.2)
-    kitchen-ansible (0.0.22)
-      librarian-ansible
-      test-kitchen
-    kitchen-ansiblepush (0.3.5)
-      test-kitchen
-    kitchen-vagrant (0.18.0)
-      test-kitchen (~> 1.4)
-    librarian (0.1.2)
-      highline
-      thor (~> 0.15)
-    librarian-ansible (1.0.6)
-      faraday
-      librarian (~> 0.1.0)
-    mixlib-shellout (2.1.0)
-    multipart-post (2.0.0)
-    net-scp (1.2.1)
-      net-ssh (>= 2.6.5)
-    net-ssh (2.9.2)
-    safe_yaml (1.0.4)
-    test-kitchen (1.4.1)
-      mixlib-shellout (>= 1.2, < 3.0)
-      net-scp (~> 1.1)
-      net-ssh (~> 2.7)
-      safe_yaml (~> 1.0)
-      thor (~> 0.18)
-    thor (0.19.1)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  kitchen-ansible
-  kitchen-ansiblepush
-  kitchen-vagrant
-  test-kitchen
-
-BUNDLED WITH
-   1.10.6

+ 0 - 26
Makefile

@@ -1,26 +0,0 @@
-INVENTORY?=dortmund
-
-ANSIBLE=ansible-playbook -s -i inventories/$(INVENTORY)
-
-.PHONY: setup test update manage-users check-playbooks
-
-setup:
-	./extensions/setup/setup.sh
-
-update:
-	./extensions/setup/role_update.sh
-
-test: check-playbooks
-	./extensions/test/execute_tests.sh
-
-check-playbooks:
-	./extensions/test/check_playbooks.sh
-
-manage-users:
-	$(ANSIBLE) playbooks/manage-users.yml
-
-mapserver:
-	$(ANSIBLE) playbooks/mapserver.yml
-
-supernodes:
-	$(ANSIBLE) playbooks/supernode.yml

+ 0 - 46
Vagrantfile

@@ -1,46 +0,0 @@
-ANSIBLE_INVENTORY_DIR = 'inventories/vagrant'
-
-Vagrant.configure("2") do |config|
-
-  N = 2
-  # box_name = "ARTACK/debian-jessie"
-  box_name = "debian/jessie64"
-  (1..N).each do |machine_id|
-    config.vm.define "snode0#{machine_id}-1.ffdo.de" do |node|
-      node.vm.box = box_name
-      node.vm.hostname = "snode0#{machine_id}-1.ffdo.de"
-      # node.vm.network "private_network", ip: "192.168.77.#{20+machine_id}"
-
-      node.vm.provider :virtualbox do |vb|
-        vb.customize [
-          "modifyvm", :id,
-          "--memory", "128",
-        ]
-      end
-    end
-  end
-
-  config.vm.define "map.ffdo.de" do |node|
-    node.vm.box = box_name
-    node.vm.hostname = "map.ffdo.de"
-    # node.vm.network "private_network", ip: "192.168.77.29"
-
-    node.vm.provider :virtualbox do |vb|
-      vb.customize [
-        "modifyvm", :id,
-        "--memory", "128",
-      ]
-    end
-  end
-
-=begin
-  config.vm.provision :ansible do |ansible|
-    ansible.inventory_path = ANSIBLE_INVENTORY_DIR
-    ansible.groups = {
-      "mapservers" => ["mapserver"],
-      "supernodes" => ["node01", "node02"],
-    }
-    ansible.playbook = "playbooks/supernode.yml"
-  end
-=end
-end

+ 0 - 11
extensions/setup/python_requirements.txt

@@ -1,11 +0,0 @@
-# Required python packages for ansible
-PyYAML
-Jinja2
-httplib2
-
-# Ansible
-ansible
-
-#Other packages
-boto
-netaddr

+ 0 - 50
extensions/setup/role_update.sh

@@ -1,50 +0,0 @@
-#!/bin/bash
-set -e
-#TODO: Support python virtual environments for now global
-
-COLOR_END='\e[0m'
-COLOR_RED='\e[0;31m'
-
-# This current directory.
-DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-ROOT_DIR=$(cd "$DIR/../../" && pwd)
-EXTERNAL_ROLE_DIR="$ROOT_DIR/roles/external"
-ROLES_REQUIREMNTS_FILE="$ROOT_DIR/roles/thirdparty_roles.yml"
-
-# Exit msg
-msg_exit() {
-    printf "$COLOR_RED$@$COLOR_END"
-    printf "\n"
-    printf "Exiting...\n"
-    exit 1
-}
-
-# Trap if ansible-galaxy failed and warn user
-cleanup() {
-    msg_exit "Update failed. Please don't commit or push roles till you fix the issue"
-}
-trap "cleanup"  ERR INT TERM
-
-# Check ansible-galaxy
-[[ -z "$(which ansible-galaxy)" ]] && msg_exit "Ansible is not installed or not in your path."
-
-# Check roles req file
-[[ ! -f "$ROLES_REQUIREMNTS_FILE" ]]  && msg_exit "roles_requirements '$ROLES_REQUIREMNTS_FILE' does not exist or permssion issue.\nPlease check and rerun."
-
-# Remove existing roles
-if [ -d "$EXTERNAL_ROLE_DIR" ]; then
-    cd "$EXTERNAL_ROLE_DIR"
-	if [ "$(pwd)" == "$EXTERNAL_ROLE_DIR" ];then
-	  echo "Removing current roles in '$EXTERNAL_ROLE_DIR/*'"
-	  rm -rf *
-	else
-	  msg_exit "Path error could not change dir to $EXTERNAL_ROLE_DIR"
-	fi
-fi
-
-
-
-# Install roles
-ansible-galaxy install -r "$ROLES_REQUIREMNTS_FILE" --force --no-deps -p "$EXTERNAL_ROLE_DIR"
-
-exit 0

+ 0 - 72
extensions/setup/setup.sh

@@ -1,72 +0,0 @@
-#!/bin/bash
-set -e
-#TODO: Support python virtual environments for now global
-
-COLOR_END='\e[0m'
-COLOR_RED='\e[0;31m' # Red
-COLOR_YEL='\e[0;33m' # Yellow
-# This current directory.
-DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-ROOT_DIR=$(cd "$DIR/../../" && pwd)
-
-PYTHON_REQUIREMNTS_FILE="$DIR/python_requirements.txt"
-GEMFILE="$ROOT_DIR/Gemfile"
-
-msg_exit() {
-    printf "$COLOR_RED$@$COLOR_END"
-    printf "\n"
-    printf "Exiting...\n"
-    exit 1
-}
-
-msg_warning() {
-    printf "$COLOR_YEL$@$COLOR_END"
-    printf "\n"
-}
-# Check your environment 
-system=$(uname)
-
-if [ "$system" == "Linux" ]; then
-    distro=$(lsb_release -i)
-    if [[ $distro == *"Ubuntu"* ]] || [[ $distro == *"Debian"* ]] ;then
-        msg_warning "Your running Debian based linux.\n You might need to install 'sudo apt-get install build-essential python-dev\n."
-        # TODO: check if ubuntu and install build-essential, and python-dev
-    else
-        msg_warning "Your linux system was not tested"
-    fi
-fi
-
-
-# Check if root
-# Since we need to make sure paths are okay we need to run as normal user he will use ansible
-[[ "$(whoami)" == "root" ]] && msg_exit "Please run as a normal user not root"
-
-# Check python
-[[ -z "$(which python)" ]] && msg_exit "Opps python is not installed or not in your path."
-# Check pip
-[[ -z "$(which pip)" ]] && msg_exit "pip is not installed!\nYou can try'sudo easy_install pip'"
-# Check python file
-[[ ! -f "$PYTHON_REQUIREMNTS_FILE" ]]  && msg_exit "python_requirements '$PYTHON_REQUIREMNTS_FILE' does not exist or permssion issue.\nPlease check and rerun."
-# Check for bundler
-[[ -z "$(which bundle)" ]] && msg_exit "Oops you need bundler to install ruby dependencies (http://bundler.io/)"
-
-# Install 
-# By default we upgrade all packges to latest. if we need to pin packages use the python_requirements
-echo "This script install python packages defined in '$PYTHON_REQUIREMNTS_FILE' "
-echo "Since we only support global packages installation for now we need root password."
-echo "You will be asked for your password."
-sudo -H pip install --upgrade --requirement "$PYTHON_REQUIREMNTS_FILE"
-
-echo "This script will now install ruby dependencies via bundler"
-bundle install --gemfile=$GEMFILE
-
-
-#Touch vault password file
-echo "Touching vault password file"
-if [ -w "$ROOT_DIR" ]
-then
-   touch "$ROOT_DIR/.vault-password"
-else
-  sudo touch "$ROOT_DIR/.vault-password"
-fi
-exit 0

+ 0 - 52
extensions/test/check_playbooks.sh

@@ -1,52 +0,0 @@
-#!/bin/bash
-set +e
-
-DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-ROOT_DIR=$(cd "$DIR/../../" && pwd)
-PLAYBOOK_DIR="$ROOT_DIR/playbooks"
-
-COLOR_END='\e[0m'
-COLOR_RED='\e[0;31m' # Red
-COLOR_YEL='\e[0;33m' # Yellow
-COLOR_GREEN='\e[0;32m' # Green
-
-msg_fail() {
-  printf "$COLOR_RED$@$COLOR_END"
-  printf "\n"
-}
-
-msg_ok() {
-  printf "$COLOR_GREEN$@$COLOR_END"
-  printf "\n"
-}
-execute_test() {
-  playbook=$1
-  msg_ok "Testing playbook $playbook"
-  ansible-playbook --syntax-check --list-tasks -i "localhost," $PLAYBOOK_DIR/$playbook
-}
-
-EXIT_RC=0
-FAILED_PLAYBOOKS=()
-cd $ROOT_DIR
-for playbook in $(ls $PLAYBOOK_DIR)
-do
-  if [ "${playbook##*.}" = "yml" ]; then
-    execute_test $playbook
-    RC=$?
-    if [ "$RC" != "0" ]; then
-      FAILED_PLAYBOOKS+=("$playbook")
-      EXIT_RC=$RC
-    fi
-  fi
-done
-
-if [ "$EXIT_RC" != "0" ]; then
-  for playbook in ${FAILED_PLAYBOOKS[@]}
-  do
-    msg_fail "Playbook $playbook failed"
-  done
-else
-  msg_ok "Everything checks out just fine"
-fi
-
-exit $EXIT_RC

+ 0 - 41
extensions/test/execute_tests.sh

@@ -1,41 +0,0 @@
-#!/bin/bash
-set +e
-
-DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-ROOT_DIR=$(cd "$DIR/../../" && pwd)
-ROLE_DIR="$ROOT_DIR/roles/internal"
-
-export CI=true
-
-execute_test() {
-  role=$1
-  echo "Testing role $role"
-  cd $ROLE_DIR/$role
-  env KITCHEN_YAML=.kitchen.travis.yml kitchen test
-}
-
-EXIT_RC=0
-FAILED_ROLES=()
-cd $ROOT_DIR
-for role in $(ls $ROLE_DIR)
-do
-  if [ -d "$ROLE_DIR/$role/test" ]; then
-    execute_test $role
-    RC=$?
-    cd $ROOT_DIR
-    if [ "$RC" != "0" ]; then
-      FAILED_ROLES+=("$role")
-      EXIT_RC=$RC
-    fi
-    sleep 5
-  fi
-done
-
-if [ "$EXIT_RC" != "0" ]; then
-  for role in ${FAILED_ROLES[@]}
-  do
-    echo "Role $role failed"
-  done
-fi
-
-exit $EXIT_RC

roles/internal/ffdo.authentication/handlers/main.yml → roles/authentication/handlers/main.yml


roles/internal/ffdo.authentication/tasks/main.yml → roles/authentication/tasks/main.yml


roles/internal/ffdo.batman/defaults/main.yml → roles/batman/defaults/main.yml


roles/internal/ffdo.batman/tasks/main.yml → roles/batman/tasks/main.yml


roles/internal/ffdo.batman/tasks/ubuntu.yml → roles/batman/tasks/ubuntu.yml


roles/internal/ffdo.bird/handlers/main.yml → roles/bird/handlers/main.yml


roles/internal/ffdo.bird/tasks/main.yml → roles/bird/tasks/main.yml


roles/internal/ffdo.bird/templates/bird.conf.j2 → roles/bird/templates/bird.conf.j2


roles/internal/ffdo.bird/templates/bird6.conf.j2 → roles/bird/templates/bird6.conf.j2


roles/internal/ffdo.bird/vars/main.yml → roles/bird/vars/main.yml


roles/internal/ffdo.dhcp/handlers/main.yml → roles/dhcp/handlers/main.yml


roles/internal/ffdo.dhcp/tasks/main.yml → roles/dhcp/tasks/main.yml


roles/internal/ffdo.dhcp/templates/dhcpd.conf.j2 → roles/dhcp/templates/dhcpd.conf.j2


+ 0 - 2
roles/external/dereulenspiegel.fastd/.gitignore

@@ -1,2 +0,0 @@
-.kitchen/
-secrets

+ 0 - 36
roles/external/dereulenspiegel.fastd/.kitchen.yml

@@ -1,36 +0,0 @@
----
-driver:
-  name: vagrant
-
-provisioner:
-    name               : ansible_push
-    verbose            : "vvvv"
-    ansible_config     : "test/ansible.cfg"
-    idempotency_test   : False
-    sudo               : True
-    #chef_bootstrap_url : False
-    #extra_vars        : "@kitchen_vars.yml"
-
-platforms:
-    - name: Ubuntu-precise
-      driver:
-        box: ubuntu/precise64
-    - name: Debian-jessie
-      driver:
-        box: debian/jessie64
-    - name: Debian-wheezy
-      driver:
-        box: debian/wheezy64
-    - name: Ubuntu-trusty
-      driver:
-        box: ubuntu/trusty64
-
-suites:
-  - name: fastd
-    provisioner:
-      playbook: "test/application/fastd.yml"
-      extra_vars: {'kitchen_connection': 'smart'}
-#  - name            : group
-#    provisioner     :
-#        playbook    : "test/application/group.yml"
-#        extra_vars  : { 'kitchen_connection': 'smart' }

+ 0 - 23
roles/external/dereulenspiegel.fastd/.travis.yml

@@ -1,23 +0,0 @@
----
-language: python
-python: "2.7"
-
-before_install:
-  # Make sure everything's up to date.
-  - sudo apt-get update -qq
-  - sudo apt-get install -qq python-apt python-pycurl git python-pip ruby ruby-dev build-essential autoconf
-  - gem install bundler
-
-install:
-  - sudo pip install ansible
-
-
-script:
-    #- cd test
-    - ansible --version
-    - bundle install
-    - KITCHEN_YAML=.kitchen.travis.yml bundle exec kitchen test travis
-
-
-after_success:
-    - echo "Success"

+ 0 - 7
roles/external/dereulenspiegel.fastd/Gemfile

@@ -1,7 +0,0 @@
-source "https://rubygems.org"
-
-gem "test-kitchen"
-gem "kitchen-ansiblepush"
-gem "kitchen-ansible"
-gem "kitchen-vagrant"
-gem "kitchen-localhost"

+ 0 - 82
roles/external/dereulenspiegel.fastd/README.md

@@ -1,82 +0,0 @@
-fastd [![Build Status](https://travis-ci.org/dereulenspiegel/ansible-fastd.svg?branch=master)](https://travis-ci.org/dereulenspiegel/ansible-fastd)
-=========
-
-This role installs fastd and its dependency (from source if necessary) and is able to configure one or more instances.
-
-Requirements
-------------
-
-Ansible 1.2 and a Debian based OS (this may change in the future)
-
-Role Variables
---------------
-
-### Default variables
-
-Variable | Description | Default
--------- | ----------- | --------
-fastd_repo | If building from source the git repo to checkout from | http://git.universe-factory.net/fastd/
-fastd_repo_tag | If building from source, the git tag or branch to checkout | v17
-fastd_build_dir | If building from source, the directory where the sources are build | /usr/src/fastd-build
-fastd_install_from_source | Wether to build from source, this is set automatically if necessary | false
-fastd_user_name | The user which should be created for fastd | fastd
-fastd_user_shell | Shell for the fastd user | /bin/false
-libsodum_src_url | If building from source, where to find the source tar ball | https://download.libsodium.org/libsodium/releases/libsodium-{{libsodum_version}}.tar.gz
-libsodum_version | If building from source, which version of libsodium to download | 1.0.3
-libsodium_build_dir | If building from source, where should the build happen | /usr/src/
-libuecc_version | If building from source, which git tag or branch to checkout from source repo | v5
-libuecc_repo | If building from source, from which repo to checkout the source | git://git.universe-factory.net/libuecc
-libuecc_repo_dir | If building from source, under which directory should the local clone be created | /usr/src/
-libuecc_build_dir | Where to create the cmake build dir, if building from source | /usr/src/libuecc-build
-
-### Instance variables
-
-This playbook can create configurations for multiple instances running on the same host.
-All instances are defined in an array under `fastd_instances`.
-
-```
-fastd_instances:
-  - name: fast-vpn    # Name of the instance and the config folder under /etc/fastd
-    bind: any:10000 interface "eth0" default ipv4
-    interface: tap00
-    loglevel: info
-    mode: tap
-    method: salsa2012+umac
-    peer_limit: 125
-    mtu: 1280
-    status_socket: /tmp/fastd00.sock
-    on_up_script: |
-      ip link set up $INTERFACE
-      batctl if add $INTERFACE
-    on_verify_script: |
-      /etc/fastd/fastd-blacklist.sh $PEER_KEY
-```
-The secret keys are defined in a seperate variable so you can encrypt them `fastd_instances_secret`.
-
-```
-fastd_instances_secret:
-  - name: fast-vpn
-    secret: 280088c4463559417e9f2daf17babc1db820ab79eb4f79e3718719b2a976e8a8b5e
-```
-
-Dependencies
-------------
-
-no dependencies
-
-Example Playbook
-----------------
-
-TODO
-
-License
--------
-
-MIT
-
-Author Information
-------------------
-
-Till Klocke
-- [Twitter](https://twitter.com/dereulenspiegel)
-- [Github](https://github.com/dereulenspiegel)

+ 0 - 1
roles/external/dereulenspiegel.fastd/meta/.galaxy_install_info

@@ -1 +0,0 @@
-{install_date: 'Mon Jan 11 21:36:13 2016', version: v1.0}

+ 0 - 17
roles/external/dereulenspiegel.fastd/meta/main.yml

@@ -1,17 +0,0 @@
----
-galaxy_info:
-  author: Till Klocke
-  description: Installs fastd
-  company: Freifunk Dortmund
-  license: MIT
-  min_ansible_version: 1.2
-  platforms:
-  - name: Debian
-    versions:
-    - all
-  - name: Ubuntu
-    vesions:
-    - all
-  categories:
-  - networking
-dependencies: []

+ 0 - 2
roles/external/dereulenspiegel.fastd/test/ansible.cfg

@@ -1,2 +0,0 @@
-[defaults]
-roles_path=../:../../:/spec/

+ 0 - 9
roles/external/dereulenspiegel.fastd/test/application/fastd.yml

@@ -1,9 +0,0 @@
----
-- name         : Install and configure fastd
-  hosts        : all
-  gather_facts : yes
-  connection   : "{{ kitchen_connection | default('local') }}"
-  vars_files   :
-                 - "fastd_pkg_vars.yml"
-  roles        :
-                 - "ansible-fastd"

+ 0 - 42
roles/external/dereulenspiegel.fastd/test/application/fastd_pkg_vars.yml

@@ -1,42 +0,0 @@
-fastd_instances:
-  - name: test1
-    bind: any:10000 interface "eth0" default ipv4
-    interface: tap00
-    loglevel: info
-    mode: tap
-    method: salsa2012+umac
-    peer_limit: 125
-    mtu: 1280
-    status_socket: /tmp/fastd00.sock
-    peer_dir: /etc/fastd/test1/dummy
-    on_up_script: |
-      ip link set up $INTERFACE
-      batctl if add $INTERFACE
-    on_verify_script: |
-      /etc/fastd/fastd-blacklist.sh $PEER_KEY
-  - name: test2
-    bind: any:10001 interface "eth0" default ipv4
-    interface: tap01
-    loglevel: info
-    mode: tap
-    method: salsa2012+umac
-    peer_limit: 125
-    mtu: 1280
-    status_socket: /tmp/fastd01.sock
-    on_up_script: |
-      ip link set up $INTERFACE
-      batctl if add $INTERFACE
-    on_verify_script: |
-      /etc/fastd/fastd-blacklist.sh $PEER_KEY
-    peer_dir: "/etc/fastd/test2/peers"
-    peers:
-    - name: test-peer
-      key: "not a valid key"
-      remotes:
-      - 192.0.2.1:10000
-
-fastd_instances_secret:
-  - name: test1
-    secret: 280088c4263359417e9f2daf1771db820ab79eb4f79e3718719b2a976e8a8b5e
-  - name: test2
-    secret: 280088c4263359417e9f2daf1771db820ab79eb4f79e3718719b2a976e8a8b5e

+ 0 - 9
roles/external/dereulenspiegel.fastd/test/application/travis-fastd.yml

@@ -1,9 +0,0 @@
----
-- name         : Install and configure fastd
-  hosts        : localhost
-  gather_facts : yes
-  connection   : "{{ kitchen_connection | default('local') }}"
-  vars_files   :
-                 - "fastd_pkg_vars.yml"
-  roles        :
-                 - "ansible-fastd"

+ 0 - 55
roles/external/dereulenspiegel.fastd/test/integration/fastd/serverspec/fastd_spec.rb

@@ -1,55 +0,0 @@
-require 'serverspec'
-
-# Required by serverspec
-set :backend, :exec
-
-describe file('/etc/fastd') do
-  it { should be_directory }
-end
-
-describe file('/etc/fastd/test1') do
-  it { should be_directory }
-end
-
-describe file('/etc/fastd/test2') do
-  it { should be_directory }
-end
-
-describe file('/etc/fastd/test2/peers') do
-  it { should be_directory}
-end
-
-describe file('/etc/fastd/test2/peers/test-peer') do
-  it { should be_file }
-  it { should be_readable }
-end
-
-describe package('fastd') do
-  it { should be_installed }
-end
-
-if ENV['CI'] != 'true'
-  # Travis doesn't provide the tap module, so our service won't start
-  # Ansible seems to have problems to enable a service. Needs investigation
-  describe service('fastd') do
-    it { should be_running }
-  #  it { should be_enabled }
-  end
-
-  describe process('fastd') do
-    it { should be_running }
-  end
-
-  describe port(10000) do
-    it { should be_listening.with('udp6') }
-  end
-
-  describe port(10001) do
-    it { should be_listening.with('udp6') }
-  end
-end
-
-describe user('fastd') do
-  it { should exist }
-  it { should have_login_shell '/bin/false' }
-end

+ 0 - 1
roles/external/dereulenspiegel.fastd/test/local.ini

@@ -1 +0,0 @@
-localhost ansible_connection='local'

+ 0 - 17
roles/external/dereulenspiegel.fastd/test/run_vagrant_kitchen.sh

@@ -1,17 +0,0 @@
-#!/usr/bin/env bash
-set -e
-echo "**** Box setup ***"
-
-echo "* mkdir /kitchen"
-mkdir -p /kitchen
-
-#echo "* cp -ar /mnt/shared /kitchen"
-#cp -r /mnt/shared/. /kitchen
-echo "* ln -sf /mnt/shared /kitchen"
-ln -sf /mnt/shared/* /kitchen/
-
-echo "* cd /kitchen"
-cd /kitchen/*
-
-echo "* python test/travis_run.py"
-python test/travis_run.py

+ 0 - 98
roles/external/dereulenspiegel.fastd/test/travis_run.py

@@ -1,98 +0,0 @@
-#!/usr/bin/env python
-# https://github.com/ahelal/travis-in-box
-
-import yaml
-import subprocess
-import sys
-import os.path
-
-
-class TravisExec(object):
-    def __init__(self, filename="travis.yml"):
-        self.fail = False
-        stream = open(filename, 'r')
-        yaml_file = yaml.load(stream)
-        # language
-        self.language = yaml_file.get("language", None)
-
-        # Section
-        self.section_before_install = yaml_file.get("before_install", None)
-        self.section_install = yaml_file.get("install", None)
-        self.section_before_script = yaml_file.get("before_script", None)
-        self.section_script = yaml_file.get("script", None)
-
-        #self.section_after_script = yaml_file.get("after_script", None)
-        self.section_after_failure = yaml_file.get("after_failure", None)
-        self.section_after_success = yaml_file.get("after_success", None)
-
-    def _setup(self):
-        if self.language == "python":
-            print "********** Setup Python  **********"
-            print ""
-            # Since we are not using container we have to install various lang our self
-            # So this is probably not the best way to do it
-            self._execute_command(["sudo apt-get install python-setuptools python-pip -y"])
-        else:
-            print "Errors unsupported language {}".format(self.language)
-            exit(1)
-
-    def life_cycle(self):
-        # See http://docs.travis-ci.com/user/build-configuration/
-
-            # 1. setup language
-            self._setup()
-            # 4. Run before_install commands
-            self.run_command("before_install", self.section_before_install, self.section_after_failure)
-            # 5. Run install commands
-            self.run_command("install", self.section_install, self.section_after_failure)
-            # 6. Run before_script commands
-            self.run_command("before_script", self.section_before_script, self.section_after_failure)
-            # 7. Run test script commands
-            self.run_command("script", self.section_script, self.section_after_failure)
-            # 8 . if we reach this point we made it run after_success
-            self.run_command("after_success", self.section_after_success, None)
-
-    @staticmethod
-    def _execute_command(command):
-        new_command = ["echo '> " + item.rstrip('\n') + "' && { " + item.rstrip('\n') + " ; }" for item in command]
-        new_command = " && ".join(new_command)
-
-        p = subprocess.Popen(new_command, shell=True, stderr=subprocess.PIPE)
-        while True:
-            out = p.stderr.read(1)
-            if out == '' and p.poll() is not None:
-                break
-            if out != '':
-                sys.stdout.write(out)
-                sys.stdout.flush()
-        print ""
-        return p.returncode
-
-    def run_command(self, section_name=None, command=None, execute_on_failure=None):
-        if command:
-            print ""
-            print "********** Running '{}' **********".format(section_name)
-            return_code = self._execute_command(command)
-            if return_code != 0:
-                print ""
-                print "********** Failed in '{}' **********".format(section_name)
-                if execute_on_failure:
-                    print ""
-                    print "********** Running after_failure  **********".format(section_name)
-                    self._execute_command(execute_on_failure)
-                    exit(1)
-
-filename = None
-if len(sys.argv) == 1:
-    filename = ".travis.yml"
-elif len(sys.argv) == 2:
-    filename = sys.argv[1]
-else:
-    print "Invalid number of arguments"
-    exit(1)
-
-if os.path.exists(filename):
-    TravisExec(filename).life_cycle()
-else:
-    print "Could not file travis file '{}'".format(filename)
-    exit(1)

+ 0 - 2
roles/external/dereulenspiegel.fastd/vars/main.yml

@@ -1,2 +0,0 @@
----
-# vars file for fastd

+ 0 - 2
roles/external/jdauphant.nginx/.gitignore

@@ -1,2 +0,0 @@
-### Vagrant ###
-.vagrant/

+ 0 - 32
roles/external/jdauphant.nginx/.travis.yml

@@ -1,32 +0,0 @@
----
-language: python
-python: "2.7"
-before_install:
- - sudo apt-get update -qq
- - sudo apt-get install -qq python-apt python-pycurl
-install:
-  - pip install ansible
-  - ansible --version
-script:
-  - echo localhost > inventory
-  - ansible-playbook -i inventory --syntax-check --list-tasks test.yml -e "role_name=ansible-role-nginx" -e "hosts_group=hosts_group"
-  - ansible-playbook -i inventory --connection=local --sudo -vvvv test.yml -u root -e "role_name=ansible-role-nginx" -e "hosts_group=localhost"
-  - >
-      ansible-playbook -i inventory --connection=local --sudo -vvvv test.yml -u root -e "role_name=ansible-role-nginx" -e "hosts_group=localhost"
-      | grep -q 'changed=0.*failed=0'
-      && (echo 'Idempotence test: pass' && exit 0)
-      || (echo 'Idempotence test: fail' && exit 1)
-  - cat /etc/nginx/nginx.conf
-  - cat /etc/nginx/sites-enabled/default.conf
-  - cat /etc/nginx/sites-enabled/foo.conf
-  - cat /etc/nginx/sites-enabled/bar.conf
-  - cat /etc/nginx/conf.d/proxy.conf
-  - cat /etc/nginx/conf.d/upstream.conf
-  - cat /etc/nginx/conf.d/geo.conf
-  - cat /etc/nginx/conf.d/gzip.conf
-  - sudo cat /etc/nginx/auth_basic/demo
-  - sudo nginx -t
-after_script:
-  - ls /etc/nginx/auth_basic/
-  - ls /etc/nginx/conf.d/
-  - ls /etc/nginx/sites-enabled/

+ 0 - 241
roles/external/jdauphant.nginx/README.md

@@ -1,241 +0,0 @@
-nginx
-=====
-
-This role installs and configures the nginx web server. The user can specify
-any http configuration parameters they wish to apply their site. Any number of
-sites can be added with configurations of your choice.
-
-Requirements
-------------
-
-This role requires Ansible 1.4 or higher and platform requirements are listed
-in the metadata file.  
-For FreeBSD a working pkgng setup is required (see: https://www.freebsd.org/doc/handbook/pkgng-intro.html )
-
-Role Variables
---------------
-
-The variables that can be passed to this role and a brief description about
-them are as follows.
-
-```yaml
-# The user to run nginx
-nginx_user: "www-data"
-
-# A list of directives for the events section.
-nginx_events_params:
- - worker_connections 512
- - debug_connection 127.0.0.1
- - use epoll
- - multi_accept on
-
-# A list of hashs that define the servers for nginx,
-# as with http parameters. Any valid server parameters
-# can be defined here.
-nginx_sites:
- default:
-     - listen 80
-     - server_name _
-     - root "/usr/share/nginx/html"
-     - index index.html
- foo:
-     - listen 8080
-     - server_name localhost
-     - root "/tmp/site1"
-     - location / { try_files $uri $uri/ /index.html; }
-     - location /images/ { try_files $uri $uri/ /index.html; }
- bar:
-     - listen 9090
-     - server_name ansible
-     - root "/tmp/site2"
-     - location / { try_files $uri $uri/ /index.html; }
-     - location /images/ {
-         try_files $uri $uri/ /index.html;
-         allow 127.0.0.1;
-         deny all;
-       }
-
-# A list of hashs that define additional configuration
-nginx_configs:
-  proxy:
-      - proxy_set_header X-Real-IP  $remote_addr
-      - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
-  upstream:
-      - upstream foo { server 127.0.0.1:8080 weight=10; }
-  geo:
-      - geo $local {
-          default 0;
-          127.0.0.1 1;
-        }
-  gzip:
-      - gzip on
-      - gzip_disable msie6
-
-# A list of hashs that define user/password files
-nginx_auth_basic_files:
-   demo:
-     - foo:$apr1$mEJqnFmy$zioG2q1iDWvRxbHuNepIh0 # foo:demo , generated by : htpasswd -nb foo demo
-     - bar:$apr1$H2GihkSo$PwBeV8cVWFFQlnAJtvVCQ. # bar:demo , generated by : htpasswd -nb bar demo
-
-```
-
-Examples
-========
-
-1) Install nginx with HTTP directives of choices, but with no sites
-configured and no additionnal configuration:
-
-```yaml
-- hosts: all
-  roles:
-  - {role: nginx,
-     nginx_http_params: ["sendfile on", "access_log /var/log/nginx/access.log"]
-                          }
-```
-
-2) Install nginx with different HTTP directives than previous example, but no
-sites configured and no additionnal configuration.
-
-```yaml
-- hosts: all
-  roles:
-  - {role: nginx,
-     nginx_http_params: ["tcp_nodelay on", "error_log /var/log/nginx/error.log"]}
-```
-
-Note: Please make sure the HTTP directives passed are valid, as this role
-won't check for the validity of the directives. See the nginx documentation
-for details.
-
-3) Install nginx and add a site to the configuration.
-
-```yaml
-- hosts: all
-
-  roles:
-  - role: nginx
-    nginx_http_params:
-      - sendfile "on"
-      - access_log "/var/log/nginx/access.log"
-    nginx_sites:
-      bar:
-        - listen 8080
-        - location / { try_files $uri $uri/ /index.html; }
-        - location /images/ { try_files $uri $uri/ /index.html; }
-    nginx_configs:
-      proxy:
-        - proxy_set_header X-Real-IP  $remote_addr
-        - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
-```
-
-Note: Each site added is represented by list of hashes, and the configurations
-generated are populated in /etc/nginx/site-available/, a link is from /etc/nginx/site-enable/ to /etc/nginx/site-available
-
-The file name for the specific site configurtaion is specified in the hash
-with the key "file_name", any valid server directives can be added to hash.
-Additional configuration are created in /etc/nginx/conf.d/
-
-4) Install Nginx , add 2 sites (different method) and add additional configuration
-
-```yaml
----
-- hosts: all
-  roles:
-    - role: nginx
-      nginx_http_params:
-        - sendfile on
-        - access_log /var/log/nginx/access.log
-      nginx_sites:
-         foo:
-           - listen 8080
-           - server_name localhost
-           - root /tmp/site1
-           - location / { try_files $uri $uri/ /index.html; }
-           - location /images/ { try_files $uri $uri/ /index.html; }
-         bar:
-           - listen 9090
-           - server_name ansible
-           - root /tmp/site2
-           - location / { try_files $uri $uri/ /index.html; }
-           - location /images/ { try_files $uri $uri/ /index.html; }
-      nginx_configs:
-         proxy:
-            - proxy_set_header X-Real-IP  $remote_addr
-            - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
-```
-
-5) Install Nginx , add 2 sites, add additional configuration and an upstream configuration block
-
-```yaml
----
-- hosts: all
-  roles:
-    - role: nginx
-      nginx_http_params:
-        - sendfile on
-        - access_log /var/log/nginx/access.log
-      nginx_sites:
-        foo:
-           - listen 8080
-           - server_name localhost
-           - root /tmp/site1
-           - location / { try_files $uri $uri/ /index.html; }
-           - location /images/ { try_files $uri $uri/ /index.html; }
-        bar:
-           - listen 9090
-           - server_name ansible
-           - root /tmp/site2
-           - if ( $host = example.com ) { rewrite ^(.*)$ http://www.example.com$1 permanent; }
-           - location / { try_files $uri $uri/ /index.html; }
-           - location /images/ { try_files $uri $uri/ /index.html; }
-           - auth_basic            "Restricted"
-           - auth_basic_user_file  auth_basic/demo
-      nginx_configs:
-        proxy:
-            - proxy_set_header X-Real-IP  $remote_addr
-            - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
-        upstream:
-            # Results in:
-            # upstream foo_backend {
-            #   server 127.0.0.1:8080 weight=10;
-            # }
-            - upstream foo_backend { server 127.0.0.1:8080 weight=10; }
-      nginx_auth_basic_files:
-        demo:
-           - foo:$apr1$mEJqnFmy$zioG2q1iDWvRxbHuNepIh0 # foo:demo , generated by : htpasswd -nb foo demo
-           - bar:$apr1$H2GihkSo$PwBeV8cVWFFQlnAJtvVCQ. # bar:demo , generated by : htpasswd -nb bar demo
-```
-
-6) Example to use this role with my ssl-certs role to generate or copie ssl certificate ( https://galaxy.ansible.com/list#/roles/3115 )
-```yaml
- - hosts: all
-   roles: 
-     - jdauphant.ssl-certs
-     - role: jdauphant.nginx
-       nginx_configs: 
-          ssl:
-               - ssl_certificate_key {{ssl_certs_privkey_path}}
-               - ssl_certificate     {{ssl_certs_cert_path}}
-       nginx_sites:
-          default:
-               - listen 443 ssl
-               - server_name _
-               - root "/usr/share/nginx/html"
-               - index index.html
-```
-
-Dependencies
-------------
-
-None
-
-License
--------
-BSD
-
-Author Information
-------------------
-
-- Original : Benno Joy
-- Modified by : DAUPHANT Julien
-

+ 0 - 19
roles/external/jdauphant.nginx/Vagrantfile

@@ -1,19 +0,0 @@
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
-
-# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
-VAGRANTFILE_API_VERSION = "2"
-
-Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
-  # All Vagrant configuration is done here. The most common configuration
-  # options are documented and commented below. For a complete reference,
-  # please see the online documentation at vagrantup.com.
-
-  # Every Vagrant virtual environment requires a box to build off of.
-  config.vm.box = "ubuntu/trusty64"
-
-  config.vm.provision :ansible do |ansible|
-       ansible.playbook = "test.yml"
-       ansible.sudo = true
-  end
-end

+ 0 - 2
roles/external/jdauphant.nginx/ansible.cfg

@@ -1,2 +0,0 @@
-[defaults]
-roles_path = ../

+ 0 - 63
roles/external/jdauphant.nginx/defaults/main.yml

@@ -1,63 +0,0 @@
----
-nginx_redhat_pkg:
-  - nginx
-
-nginx_ubuntu_pkg:
-  - python-selinux
-  - nginx
-
-nginx_freebsd_pkg:
-  - nginx
-
-nginx_suse_pkg:
-  - nginx
-
-yum_epel_repo: epel
-yum_base_repo: base
-
-nginx_official_repo: False
-
-keep_only_specified: False
-
-nginx_installation_type: "packages"
-nginx_binary_name: "nginx"
-nginx_service_name: "{{nginx_binary_name}}"
-nginx_conf_dir: "{% if ansible_os_family == 'FreeBSD' %}/usr/local/etc/nginx{% else %}/etc/nginx{% endif %}"
-
-nginx_user: "{% if ansible_os_family == 'RedHat' or ansible_os_family == 'Suse' %}nginx{% elif ansible_os_family == 'Debian' %}www-data{% elif ansible_os_family == 'FreeBSD' %}www{% endif %}"
-nginx_group: "{{nginx_user}}"
-
-nginx_pid_file: '/var/run/{{nginx_service_name}}.pid'
-
-nginx_worker_processes: "{{ ansible_processor_vcpus }}"
-nginx_worker_rlimit_nofile: 1024
-nginx_log_dir: "/var/log/nginx"
-
-nginx_events_params:
-  - worker_connections {% if nginx_max_clients is defined %}{{nginx_max_clients}}{% else %}512{% endif %}
-
-nginx_http_params:
-  - sendfile "on"
-  - tcp_nopush "on"
-  - tcp_nodelay "on"
-  - keepalive_timeout "65"
-  - access_log "{{nginx_log_dir}}/access.log"
-  - error_log "{{nginx_log_dir}}/error.log"
-  - server_tokens off
-  - types_hash_max_size 2048
-
-nginx_sites:
-  default:
-     - listen 80 default_server
-     - server_name _
-     - root "{% if ansible_os_family == 'FreeBSD' %}/usr/local/www/nginx-dist{% else %}/usr/share/nginx/html{% endif %}"
-     - index index.html
-nginx_remove_sites: []
-
-nginx_configs: {}
-nginx_remove_configs: []
-
-nginx_auth_basic_files: {}
-nginx_remove_auth_basic_files: []
-
-nginx_daemon_mode: "on"

+ 0 - 78
roles/external/jdauphant.nginx/example-vars.yml

@@ -1,78 +0,0 @@
----
-# The user to run nginx
-nginx_user: "www-data"
-
-nginx_hhvm: |
-      add_header X-backend hhvm;
-      try_files $uri $uri/ /index.php?$args;
-      location ~ \.(hh|php)$ {
-        try_files     $uri =404;
-        fastcgi_pass  unix:/var/run/hhvm/sock;
-        fastcgi_index index.php;
-        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
-        include       fastcgi_params;
-      }
-
-# A list of directives for the events section.
-nginx_events_params:
-  - worker_connections 512
-
-# A list of hashs that define the servers for nginx,
-# as with http parameters. Any valid server parameters
-# can be defined here.
-nginx_http_params:
-  - sendfile on
-  - access_log /var/log/nginx/access.log
-
-nginx_sites:
- default:
-     - listen 80
-     - server_name _
-     - root "/usr/share/nginx/html"
-     - index index.html
- foo:
-     - listen 8080
-     - server_name localhost
-     - root "/tmp/site1"
-     - location / { try_files $uri $uri/ /index.html; }
-     - location /images/ { try_files $uri $uri/ /index.html; }
- bar:
-     - listen 9090
-     - server_name ansible
-     - root "/tmp/site2"
-     - location / { try_files $uri $uri/ /index.html; }
-     - location /images/ {
-         try_files $uri $uri/ /index.html;
-         allow 127.0.0.1;
-         deny all;
-       }
-     - auth_basic            "Restricted"
-     - auth_basic_user_file  auth_basic/demo
- hhvm_test:
-     - |
-       listen 80;
-       server_name test_hhvm;
-       root "/tmp/hhvm";
-       {{nginx_hhvm}}
-
-# A list of hashs that define additional configuration
-nginx_configs:
-  proxy:
-      - proxy_set_header X-Real-IP  $remote_addr
-      - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
-  upstream:
-      - upstream foo { server 127.0.0.1:8080 weight=10; }
-  geo:
-      - geo $local {
-          default 0;
-          127.0.0.1 1;
-        }
-  gzip:
-      - gzip on
-      - gzip_disable msie6
-
-# A list of hashs that define uer/password files
-nginx_auth_basic_files:
-   demo:
-     - foo:$apr1$mEJqnFmy$zioG2q1iDWvRxbHuNepIh0 # foo:demo , generated by : htpasswd -nb foo demo
-     - bar:$apr1$H2GihkSo$PwBeV8cVWFFQlnAJtvVCQ. # bar:demo , generated by : htpasswd -nb bar demo

+ 0 - 30
roles/external/jdauphant.nginx/handlers/main.yml

@@ -1,30 +0,0 @@
----
-
-- name: restart nginx
-  debug: msg="checking config first"
-  changed_when: True
-  notify:
-    - check nginx configuration
-    - restart nginx - after config check
-
-- name: reload nginx
-  debug: msg="checking config first"
-  changed_when: True
-  notify:
-    - check nginx configuration
-    - reload nginx - after config check
-
-- name: check nginx configuration
-  shell: "{{ nginx_binary_name }} -t"
-  register: result
-  changed_when: "result.rc != 0"
-  always_run: yes
-  when: nginx_installation_type in nginx_installation_types_using_service
-
-- name: restart nginx - after config check
-  service: name={{ nginx_service_name }} state=restarted
-  when: nginx_installation_type in nginx_installation_types_using_service and nginx_daemon_mode == "on"
-
-- name: reload nginx - after config check
-  service: name={{ nginx_service_name }} state=reloaded
-  when: nginx_installation_type in nginx_installation_types_using_service and nginx_daemon_mode == "on"

+ 0 - 1
roles/external/jdauphant.nginx/meta/.galaxy_install_info

@@ -1 +0,0 @@
-{install_date: 'Mon Jan 11 21:36:16 2016', version: v1.9.1}

+ 0 - 36
roles/external/jdauphant.nginx/meta/main.yml

@@ -1,36 +0,0 @@
----
-galaxy_info:
-  author: "DAUPHANT Julien"
-  license: BSD
-  min_ansible_version: 1.4
-  platforms:
-   - name: EL
-     versions:
-      - 5
-      - 6
-   - name: Fedora
-     versions:
-      - 16
-      - 17
-      - 18
-      - 19
-      - 20
-   - name: opensuse
-     versions:
-      - 13.1
-      - 13.2
-   - name: Ubuntu
-     versions:
-      - precise
-      - quantal
-      - raring
-      - saucy
-      - trusty
-   - name: FreeBSD
-     versions:
-      - 10
-  categories:
-   - web
-allow_duplicates: yes
-dependencies: []
-

+ 0 - 45
roles/external/jdauphant.nginx/tasks/configuration.yml

@@ -1,45 +0,0 @@
----
-- name: Create the directories for site specific configurations
-  file: path={{nginx_conf_dir}}/{{ item }} state=directory owner=root group={{nginx_group}} mode=0755
-  with_items:
-    - "sites-available"
-    - "sites-enabled"
-    - "auth_basic"
-    - "conf.d"
-  tags: [configuration,nginx]
-
-- name: Ensure log directory exist
-  file: path={{ nginx_log_dir }} state=directory owner={{nginx_user}} group={{nginx_group}} mode=0755
-  tags: [configuration,nginx]
-
-- name: Copy the nginx configuration file
-  template: src=nginx.conf.j2 dest={{nginx_conf_dir}}/nginx.conf
-  notify:
-   - restart nginx
-  tags: [configuration,nginx]
-
-- name: Ensure auth_basic files created
-  template: src=auth_basic.j2 dest={{nginx_conf_dir}}/auth_basic/{{ item }} owner=root group={{nginx_group}} mode=0750
-  with_items: nginx_auth_basic_files.keys()
-  tags: [configuration,nginx]
-
-- name: Create the configurations for sites
-  template: src=site.conf.j2 dest={{nginx_conf_dir}}/sites-available/{{ item }}.conf
-  with_items: nginx_sites.keys() | difference(nginx_remove_sites)
-  notify:
-   - restart nginx
-  tags: [configuration,nginx]
-
-- name: Create links for sites-enabled
-  file: state=link src={{nginx_conf_dir}}/sites-available/{{ item }}.conf dest={{nginx_conf_dir}}/sites-enabled/{{ item }}.conf
-  with_items: nginx_sites.keys() | difference(nginx_remove_sites)
-  notify:
-   - reload nginx
-  tags: [configuration,nginx]
-
-- name: Create the configurations for independent config file
-  template: src=config.conf.j2 dest={{nginx_conf_dir}}/conf.d/{{ item }}.conf
-  with_items: nginx_configs.keys()
-  notify:
-   - reload nginx
-  tags: [configuration,nginx]

+ 0 - 42
roles/external/jdauphant.nginx/tasks/installation.packages.yml

@@ -1,42 +0,0 @@
----
-- name: Install the selinux python module
-  yum: name=libselinux-python state=present
-  when: ansible_os_family == "RedHat"
-  tags: [packages,nginx]
-
-- name: Install the epel packages
-  yum: name=epel-release state=present
-  when: nginx_is_el|bool
-  tags: [packages,nginx]
-
-- name: Install the nginx packages
-  yum: name={{ item }} state=present disablerepo='*' enablerepo={{ "nginx," if nginx_official_repo else "" }}{{ yum_epel_repo }},{{ yum_base_repo }}
-  with_items: nginx_redhat_pkg
-  when:  nginx_is_el|bool
-  tags: [packages,nginx]
-
-- name: Install the nginx packages
-  yum: name={{ item }} state=present
-  with_items: nginx_redhat_pkg
-  when: ansible_os_family == "RedHat" and not nginx_is_el|bool
-  tags: [packages,nginx]
-
-- name: Install the nginx packages
-  apt: name={{ item }} state=present
-  with_items: nginx_ubuntu_pkg
-  environment: "{{ nginx_env }}"
-  when: ansible_os_family == "Debian"
-  tags: [packages,nginx]
-
-- name: Install the nginx packages
-  pkgng: name={{ item }} state=present
-  with_items: nginx_freebsd_pkg
-  environment: "{{ nginx_env }}"
-  when: ansible_os_family == "FreeBSD"
-  tags: [packages,nginx]
-
-- name: Install the nginx packages
-  zypper: name={{ item }} state=present 
-  with_items: nginx_suse_pkg
-  when: ansible_os_family == "Suse"
-  tags: [packages,nginx]

+ 0 - 16
roles/external/jdauphant.nginx/tasks/main.yml

@@ -1,16 +0,0 @@
----
-- include: nginx-official-repo.yml
-  when: nginx_official_repo == True
-- include: installation.packages.yml
-  when: nginx_installation_type == "packages"
-- include: remove-defaults.yml
-  when: not keep_only_specified
-- include: remove-extras.yml
-  when: keep_only_specified
-- include: remove-unwanted.yml
-- include: configuration.yml
-
-- name: Start the nginx service
-  service: name={{ nginx_service_name }} state=started enabled=yes
-  when: nginx_installation_type in nginx_installation_types_using_service and nginx_daemon_mode == "on"
-  tags: [service,nginx]

+ 0 - 18
roles/external/jdauphant.nginx/tasks/nginx-official-repo.yml

@@ -1,18 +0,0 @@
----
-- name: Ensure APT official nginx key
-  apt_key: url=http://nginx.org/keys/nginx_signing.key
-  tags: [packages,nginx]
-  when: ansible_os_family == 'Debian'
-
-- name: Ensure APT official nginx repository
-  apt_repository: repo="deb http://nginx.org/packages/{{ ansible_distribution|lower }}/ {{ ansible_distribution_release }} nginx"
-  tags: [packages,nginx]
-  when: ansible_os_family == 'Debian'
-
-- name: Ensure RPM official nginx key
-  rpm_key: key=http://nginx.org/keys/nginx_signing.key
-  when: ansible_os_family == 'RedHat'
-
-- name: Ensure YUM official nginx repository
-  template: src=nginx.repo.j2 dest=/etc/yum.repos.d/nginx.repo
-  when: ansible_os_family == 'RedHat'

+ 0 - 15
roles/external/jdauphant.nginx/tasks/remove-defaults.yml

@@ -1,15 +0,0 @@
----
-- name: Disable the default site
-  file: path={{nginx_conf_dir}}/sites-enabled/default state=absent
-  notify:
-  - reload nginx
-  tags: [configuration,nginx]
-
-- name: Remove the default configuration
-  file: path={{nginx_conf_dir}}/conf.d/default.conf state=absent
-  when: >
-    'default' not in nginx_configs.keys()
-  notify:
-  - reload nginx
-  tags: [configuration,nginx]
-

+ 0 - 31
roles/external/jdauphant.nginx/tasks/remove-extras.yml

@@ -1,31 +0,0 @@
----
-- name: Find enabled sites
-  shell: ls -1 {{nginx_conf_dir}}/sites-enabled
-  register: enabled_sites
-  changed_when: False
-  tags: [configuration,nginx]
-
-- name: Disable unmanaged sites
-  file: path={{nginx_conf_dir}}/sites-enabled/{{ item }} state=absent
-  with_items: enabled_sites.stdout_lines
-  # 'item.conf' => 'item'
-  when: item[:-5] not in nginx_sites.keys()
-  notify:
-   - reload nginx
-  tags: [configuration,nginx]
-
-- name: Find config files
-  shell: ls -1 {{nginx_conf_dir}}/conf.d
-  register: config_files
-  changed_when: False
-  tags: [configuration,nginx]
-
-- name: Remove unmanaged config files
-  file: name={{nginx_conf_dir}}/conf.d/{{ item }} state=absent
-  with_items: config_files.stdout_lines
-  # 'item.conf' => 'item'
-  when: item[:-5] not in nginx_configs.keys()
-  notify:
-   - reload nginx
-  tags: [configuration,nginx]
-

+ 0 - 24
roles/external/jdauphant.nginx/tasks/remove-unwanted.yml

@@ -1,24 +0,0 @@
----
-- name: Remove unwanted sites
-  file: path={{nginx_conf_dir}}/{{ item[0] }}/{{ item[1] }}.conf state=absent
-  with_nested: 
-    - [ 'sites-enabled', 'sites-available']
-    - nginx_remove_sites
-  notify:
-   - reload nginx
-  tags: [configuration,nginx]
-
-- name: Remove unwanted conf
-  file: path={{nginx_conf_dir}}/conf.d/{{ item[1] }}.conf state=absent
-  with_items: nginx_remove_configs
-  notify:
-   - reload nginx
-  tags: [configuration,nginx]
-
-- name: Remove unwanted auth_basic_files
-  file: path={{nginx_conf_dir}}/auth_basic/{{ item[1] }} state=absent
-  with_items: nginx_remove_auth_basic_files
-  notify:
-   - reload nginx
-  tags: [configuration,nginx]
-  

+ 0 - 5
roles/external/jdauphant.nginx/templates/auth_basic.j2

@@ -1,5 +0,0 @@
-#{{ ansible_managed }}
-
-{% for v in nginx_auth_basic_files[item] %}
-{{ v }}
-{% endfor %}

+ 0 - 9
roles/external/jdauphant.nginx/templates/config.conf.j2

@@ -1,9 +0,0 @@
-#{{ ansible_managed }}
-
-{% for v in nginx_configs[item] %}
-{% if v.find('\n') != -1 %}
-{{v}}
-{% else %}
-{% if v != "" %}{{ v.replace(";",";\n   ").replace(" {"," {\n    ").replace(" }"," \n}\n") }}{% if v.find('{') == -1%};
-{% endif %}{% endif %}{% endif %}
-{% endfor %}

+ 0 - 33
roles/external/jdauphant.nginx/templates/nginx.conf.j2

@@ -1,33 +0,0 @@
-#{{ ansible_managed }}
-user              {{ nginx_user }}  {{ nginx_group }};
-
-worker_processes  {{ nginx_worker_processes }};
-
-{% if nginx_pid_file %}
-pid        {{ nginx_pid_file }};
-{% endif %}
-
-worker_rlimit_nofile {{ nginx_worker_rlimit_nofile }};
-
-events {
-{% for v in nginx_events_params %}
-        {{ v }};
-{% endfor %}
-}
-
-
-http {
-
-        include {{ nginx_conf_dir }}/mime.types;
-        default_type application/octet-stream;
-{% for v in nginx_http_params %}
-        {{ v }};
-{% endfor %}
-
-        include {{ nginx_conf_dir }}/conf.d/*.conf;
-        include {{ nginx_conf_dir }}/sites-enabled/*;
-}
-
-{% if nginx_daemon_mode == "off" %}
-daemon off;
-{% endif %}

+ 0 - 4
roles/external/jdauphant.nginx/templates/nginx.repo.j2

@@ -1,4 +0,0 @@
-[nginx]
-name=nginx repo
-baseurl=http://nginx.org/packages/{{"rhel" if ansible_distribution == "RedHat" else "centos"}}/{{ansible_distribution_version.split('.')[0]}}/{{ansible_architecture}}/
-enabled=1

+ 0 - 10
roles/external/jdauphant.nginx/templates/site.conf.j2

@@ -1,10 +0,0 @@
-#{{ ansible_managed }}
-server {
-{% for v in nginx_sites[item] %}
-{% if v.find('\n') != -1 %}
-   {{v.replace("\n","\n   ")}}
-{% else %}
-   {% if v != "" %}{{ v.replace(";",";\n      ").replace(" {"," {\n      ").replace(" }"," \n   }\n") }}{% if v.find('{') == -1%};
-{% endif %}{% endif %}{% endif %}
-{% endfor %}
-}

+ 0 - 6
roles/external/jdauphant.nginx/test.yml

@@ -1,6 +0,0 @@
----
-- hosts: "{{hosts_group|default('all')}}"
-  vars_files:
-    - 'example-vars.yml'
-  roles:
-    - "{{role_name|default('nginx')}}"

+ 0 - 8
roles/external/jdauphant.nginx/vars/main.yml

@@ -1,8 +0,0 @@
----
-
-nginx_env:
- RUNLEVEL: 1
-
-nginx_installation_types_using_service: ["packages", "configuration-only"]
-
-nginx_is_el: "{{ ansible_distribution in ['RedHat', 'CentOS'] }}"

+ 0 - 3
roles/external/usermanage/.gitignore

@@ -1,3 +0,0 @@
-.kitchen/
-.kitchen.local.yml
-test/ansible_output

+ 0 - 78
roles/external/usermanage/.kitchen.yml

@@ -1,78 +0,0 @@
----
-driver                 :
-    # TRAVIS: local 
-    # NO TRAVIS: vagrant
-    name               : <%= if ENV['TRAVIS'] then 'localhost' else 'vagrant' end  %>
-
-provisioner:
-    name               : ansible_push
-    verbose            : "vvvv"
-    ansible_config     : "test/ansible.cfg"
-    idempotency_test   : True
-    # TRAVIS: True
-    # NO TRAVIS: False
-    sudo               : <%= if ENV['TRAVIS'] then 'True' else 'False' end  %>
-
-platforms:
-    # travistravis 
-     - name                      : <%= if ENV['TRAVIS'] then 'travis' else 'ubuntu-14.04' end %>
-       provisioner               :
-         raw_arguments           : <%= if ENV['TRAVIS'] then '-c local' else '' end %>
-       # Should be safily ignored by Travis since connection local
-       driver:
-         box: ubuntu/trusty64
-       customize:
-        cpus   : 2
-        memory : 2048 
-
-
-suites:
-  - name            : group
-    provisioner     :
-        playbook    : "test/application/group.yml"
-        extra_vars  : { 'kitchen_connection': 'smart', 'kitchen_hosts': '<%= if ENV['TRAVIS'] then 'localhost' else 'all' end %>' }
-
-  - name            : simple
-    provisioner     :
-        playbook    : "test/application/simple.yml"
-        extra_vars  : { 'kitchen_connection': 'smart', 'kitchen_hosts': '<%= if ENV['TRAVIS'] then 'localhost' else 'all' end %>' }
-
-  - name            : advanced
-    provisioner     :
-        playbook    : "test/application/advanced.yml"
-        extra_vars  : { 'kitchen_connection': 'smart', 'kitchen_hosts': '<%= if ENV['TRAVIS'] then 'localhost' else 'all' end %>' }
-
-  - name            : source-files
-    provisioner     :
-        playbook    : "test/application/source_files.yml"
-        extra_vars  : { 'kitchen_connection': 'smart', 'kitchen_hosts': '<%= if ENV['TRAVIS'] then 'localhost' else 'all' end %>' }
-
-  - name            : source-databag
-    provisioner     :
-        playbook    : "test/application/source_databag.yml"
-        extra_vars  : { 'kitchen_connection': 'smart', 'kitchen_hosts': '<%= if ENV['TRAVIS'] then 'localhost' else 'all' end %>' }
-
-  - name            : multi-source-files
-    provisioner     :
-        playbook    : "test/application/multi_source_files.yml"
-        extra_vars  : { 'kitchen_connection': 'smart', 'kitchen_hosts': '<%= if ENV['TRAVIS'] then 'localhost' else 'all' end %>' }
-
-  - name            : team
-    provisioner     :
-        playbook    : "test/application/team.yml"
-        extra_vars  : { 'kitchen_connection': 'smart', 'kitchen_hosts': '<%= if ENV['TRAVIS'] then 'localhost' else 'all' end %>' }
-
-  - name            : extra-simple
-    provisioner     :
-        playbook    : "test/application/extra_simple.yml"
-        extra_vars  : { 'kitchen_connection': 'smart', 'kitchen_hosts': '<%= if ENV['TRAVIS'] then 'localhost' else 'all' end %>' }
-
-  - name            : extra-advanced
-    provisioner     :
-        playbook    : "test/application/extra_advanced.yml"
-        extra_vars  : { 'kitchen_connection': 'smart', 'kitchen_hosts': '<%= if ENV['TRAVIS'] then 'localhost' else 'all' end %>' }
-
-  - name            : extra-team
-    provisioner     :
-        playbook    : "test/application/extra_team.yml"
-        extra_vars  : { 'kitchen_connection': 'smart', 'kitchen_hosts': '<%= if ENV['TRAVIS'] then 'localhost' else 'all' end %>' }

+ 0 - 21
roles/external/usermanage/.travis.yml

@@ -1,21 +0,0 @@
----
-language: python
-python: "2.7"
-
-before_install:
-  # Make sure everything's up to date.
-  - sudo apt-get update -qq
-  - sudo apt-get install -qq python-apt python-pycurl git python-pip ruby ruby-dev build-essential autoconf
-  - gem install bundler
-
-install:
-  - sudo pip install ansible
-
-script:
-    - ansible --version
-    - export TRAVIS=True
-    - bundle install
-    - bundle exec kitchen test travis
-
-after_success:
-    - echo "Success"

+ 0 - 9
roles/external/usermanage/Gemfile

@@ -1,9 +0,0 @@
-source 'https://rubygems.org'
-
-
-group :development do
-  gem 'test-kitchen'
-  gem 'kitchen-vagrant'
-  gem 'kitchen-ansiblepush'
-  gem 'kitchen-localhost'
-end

+ 0 - 87
roles/external/usermanage/README.md

@@ -1,87 +0,0 @@
-ansible-usermanage
-===
-
-[![Build Status](https://travis-ci.org/AutomationWithAnsible/ansible-usermanage.svg?branch=master)](https://travis-ci.org/AutomationWithAnsible/ansible-usermanage)
-
-## What
-
-This playbook was developed to manage users, groups, teams and SSH keys in multi node environment.
-It supports two modes *simple and advanced mode*
-
-
-## How
-### Simple Mode
-
-You define your user in a variable *usermanage_usersdb*. You can define that differnetly per host our group.
-
-```yaml
-usermanage_usersdb: 
-  daniels: 
-    comment: "Jack daniels"
-    state: "present"
-    keys: 
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLql1khoXEH/pThpLSDwJNBIEHkjrBggjEvRCqCFYvE1Neavc6iuLSzjLdnj74LNrPEjY+xcjAcPmgwxo8+WKpLL7Iy8e9IGH3lwB05x9jfnw2H1ZRnZZxF+wV/ei/vfCmRyt2cqv+DLomg18RDTnyTk2pvSEvL0xkRn5QRbzxqbnB+9xmItTjdtq/ZDYRgFYn2ZPfokFyyr3KpwpK0gNcpFhCF94CvExKpu6SFPTv+ERnFvHEN9d8SlzwkyCP4yqrfOjFuVUuZf2FtAkDx0d4cXo0i7VUM/hOthUNFpmljZLhkxafPxwp50Q/xRe7MvDQMrEPGPZ/pubOwzqVmMWH"
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxAqbTlltSFlRY+gQyAx3j0W+WDnahZYbECAXiwNqAHG7PP8GSEDVkfZTkJdlu9PoB/B3nW2R/Q3//IxUfzRsUnjUzl0WXbhz331n5bHtgJlg82MGqwbNjN0yMR/GB4pQKeExYOLKi/7jI/wkOAJ4X9Bv9skEK/mHAWWPrBf/5C5qWUOxVC1+he3iaU+LSbiL6uiNs8S49fiGno8tBkBFgth+9gqdCLRAFVe2dzJJK1nSQTffHCs12pJs2S3yBD9KkUQJO51tByP4qO3549iwLo8hQnqtFULMpL+NN5Muk1bFZ2jW+0Sri1bhVS58llZCuoENZsLf/+xejbfwJAk4h"
-        key_options: no-port-forwarding
-  gin: 
-    comment: "Gordons Gin"
-    keys: 
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcoo+eU8+k7QYpKbZwOQwiMpeklQcmEyLTsJr0RLTeqsHkIh8rFWyMZURDZ5pgEGo3iXZD+dqM28agy2Pw68/V0wht/9n0PjmUVZgkWIas162w3vZrJENDi8wAo4ojQJf0lZf63K8AxoB12fF+QdR7jfTLrz2bCxv9XaHKm7nYGtRO0f8ETgvwpIS2jN0mPAD7qnCFvLtbaxd/UzsQS5M8Au42+9zdn78Atm7gtKY9uR5U1Jwrop8KipXf0wAtMo39Xc9P8hGbYGA1jkbcG2x1LI7G9L+PddxeZjpkW2Uv559YJDRjBJfJAfp6K4HGV5uXITSMVDY9KBYvepolrlul"
-    shell: /bin/zsh
-    uid: 2300
-  vodaka: 
-    comment: "Savvy Vodka"
-    state: "absent"
-    keys: 
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2Pq3M7AgeBjmNII6HGsKd2uaXFIfaljpNg1Rf6y3iGP84wC82bMfZTSIhnzJ4qwHj7Bzn8oiMmqtyeGcmEwLXm5f7mk3lj9NmxUEfbuWsPoSX4VHIney0F2cjrYRAHua8vZ50OrqYvRaBNttx+pCsub/Kw/t91PQvz7s5ML12DfhlfbE5f/g+ZrKHBxsn6Vw0VqN1Cx5cecaN+9NbdwTV25/RVsXC6v9TQlIqWR+znt4ZVxUSCTAbGc51tmauoleZee2XBkAO7xmJ7zPQEndhErq/zm0euZGx1xGIjQ7dVBK8t1ah2UdBS4pSHgjhDulo0hr4gIubQ0FSV+8cWCNN"
-```
-
-Basically **usermanage_usersdb** is a dictionary of users each user will accept all options defined in [user ansible module](http://docs.ansible.com/user_module.html)
-
-A special argument **keys** which is a list of keys that will be created for that user, each key can accept all options defined in [authorized key module](http://docs.ansible.com/authorized_key_module.html)
-
-### Group Management
-To manage groups you can define **usermanage_groupsdb** as a **list**. You must define atleast the *name* of group and optional state,gid and system.
-
-```yaml
-usermanage_groupsdb  :
-      - name         : "group1"
-        state        : "present"
-        gid          : "5000"
-        system       : "true"
-
-      - name         : "group2"
-        state        : "present"
-        gid          : "5001"
-        system       : "false"
-
-      - name         : "group3"
-
-      - name         : "group4"
-        state        : "absent"
-```
-
-Some *nix system does not support creating the primary group for each user with the same name. If you want to enable that functionality for systems that does not support it. just enable that flag.
-```yaml
-usermanage_create_per_user_group            : true 
-```
-
-### Users DB Sources
-** TODO **
-
-### Advanced mode
-ToDo document
-
-### teams
-ToDo document
-
-### Private Key
-ToDo document
-
-
-### Contributors
-* [Adham Helal](https://github.com/ahelal)
-* [Till Klocke](https://github.com/dereulenspiegel)
-* [Leon George](https://github.com/yogo1212)
-* [Marc Abramowitz](https://github.com/msabramo)
-

+ 0 - 35
roles/external/usermanage/defaults/main.yml

@@ -1,35 +0,0 @@
----
-# You should override those variables, Have a look at readme.md for examples
-#usermanage_usersdb                          :
-#usermanage_users_publickey                  :
-#usermanage_servers                          :
-#usermanage_teamsdb                          :
-#usermanage_groupsdb                         :
-###
-usermanage_user_source_files                :       # if you want to include a yaml&json/json file or chef databag
-usermanage_user_source_databag              : false # Is this user_source opscode chef user databag
-usermanage_default_home_dir_prefix          : "/home" ## TODO: not working yet
-
-usermanage_create_per_user_group            : false   # Create a group for every user and make that their primary group (Ubuntu does not need that)
-usermanage_default_group                    : false  # If your not creating a per user group and want default primary group. set the group name here i.e. "ops" or "dev"
-
-## WARNING Debug will deploy a text file on target server and dumps variable file
-## /tmp/debugUser.{{inventory_hostname}}-{{item.account}}
-## if you want to use debug use the limit to one server than delete the tempfile
-## for more info look at the debug users task in the role
-usermanage_debug                            : false
-usermanage_debug_level                      : 2  # support 1 or 2 for now
-usermanage_debug_dir                        : /tmp/usermanage_debug/
-# var_dir
-usermanage_source_facts                     : "user_files"
-
-# Temp solution to with_items and when condition issue
-default_temp_solution                       :
-                                               - user: "x"
-
-usermanage_priv_key_suffix                  : ".ssh/id_rsa"
-
-usermanage_check_users                      : false
-
-# Only compile source files without doing any change
-usermanage_compile_sources_only             :  false

+ 0 - 99
roles/external/usermanage/library/check_users.py

@@ -1,99 +0,0 @@
-#!/usr/bin/python
-
-import pwd
-import json
-from ansible.module_utils.basic import *
-
-NOOP_SHELL = [
-  "/usr/sbin/nologin",
-  '/bin/nologin',
-  '/bin/false'
-]
-
-class CheckUsers(object):
-  def __init__(self, module):
-    self.module = module
-    self.cusers = self.module.params["users_var"]
-    self.fail_on_error = self.module["fail_on_error"]
-
-  def main(self):
-    users = pwd.getpwall()
-    count = 0
-    for user in users:
-      name = user.pw_name
-      shell = user.pw_shell
-      uid = user.pw_uid
-      home_dir = user.pw_dir
-
-      if (uid > 999 and self.isValidShell(shell)):
-        if not self.isUserNameInDb(name):
-          self.exitWithResult("User {} not defined by ansible".format(name))
-        else:
-          self.checkUsersKeys(user)
-      count = count + 1
-
-    result = {"changed": False, "msg": "Checked {} user accounts".format(count)}
-    self.module.exit_json(**result)
-
-  def isUserNameInDb(self, name):
-
-    for entry in self.cusers['users_db']:
-      if entry['name'] == name:
-        return True
-
-    return False
-
-  def isValidShell(self, shell):
-    if shell in NOOP_SHELL:
-      return False
-    return True
-
-  def checkUsersKeys(self, user):
-    usersKeys = None
-
-    for keys in self.cusers['key_db']:
-      if keys['user'] == user.pw_name:
-        usersKeys = keys
-        break
-
-    if usersKeys == None:
-      self.exitWithResult("User {} has no ansible defined SSH keys".format(user.pw_name))
-
-    installed_keys = self.loadInstalledAuthorizedKeys(user)
-    configured_keys = []
-    for key in usersKeys['keys']:
-      configured_keys.append(key['key'])
-
-    for key in installed_keys:
-      if not key in configured_keys:
-        self.exitWithResult("User {} has rogue ssh authorized keys".format(user.pw_name))
-
-
-  def loadInstalledAuthorizedKeys(self, user):
-    authorized_keys_file = os.path.join(user.pw_dir,'.ssh','authorized_keys')
-    if not os.path.isfile(authorized_keys_file):
-      self.exitWithResult("Can't load authorized keys from {} for user {}".format(authorized_keys_file, user.pw_name))
-    with open(authorized_keys_file, 'r') as infile:
-      data = infile.read()
-    authorized_keys = data.splitlines()
-    return authorized_keys
-
-  def exitWithResult(self, message):
-    if self.fail_on_error:
-      self.module.fail_json(msg=message)
-    else:
-      self.module.exit_json(msg=message)
-    
-
-def main():
-  module = AnsibleModule(
-      argument_spec=dict(
-          users_var=dict(default=None, required=True, type='dict')
-          fail_on_error=dict(default=True, required=False, type='bool')
-      ),
-      supports_check_mode=False
-  )
-  CheckUsers(module).main()
-
-if __name__ == '__main__':
-    main()

+ 0 - 162
roles/external/usermanage/library/load_user_files.py

@@ -1,162 +0,0 @@
-#!/usr/bin/python
-
-class LoadVarDir(object):
-    def __init__(self, module):
-        self.module = module
-        self.path = self.module.params["path"]
-        self.fact = self.module.params["fact"]
-        self.data_bag = self.module.params["databag"]
-        self.extract_extra_keys = self.module.params["extract_extra_keys"]
-        # Chef => Ansible mapping
-        self.mapping = {"comment": "comment",
-                        "force": "force",
-                        "gid": "group",
-                        "groups": "groups",
-                        "home": "home",
-                        "manage_home": "move_home",
-                        "non_unique": "non_unique",
-                        "password": "password",
-                        "shell": "shell",
-                        "action": "state",
-                        "system": "system",
-                        "uid": "uid",
-                        "ssh_keys":  "keys"
-                        }
-        self.file_data = {}
-
-    def parse_yaml(self, data, path_hint=None):
-        ''' convert a yaml string to a data structure.  Also supports JSON, ssssssh!!!'''
-
-        stripped_data = data.lstrip()
-        loaded = None
-        if stripped_data.startswith("{") or stripped_data.startswith("["):
-            # since the line starts with { or [ we can infer this is a JSON document.
-            try:
-                loaded = json.loads(data)
-            except ValueError as ve:
-                if path_hint:
-                    self.module.fail_json(msg=path_hint + ": " + str(ve))
-                else:
-                    self.module.fail_json(msg=str(ve))
-        else:
-            # else this is pretty sure to be a YAML document
-            loaded = yaml.load(data, Loader=Loader)
-        return loaded
-
-    def parse_yaml_from_file(self, path, vault_password=None):
-        ''' convert a yaml file to a data structure '''
-        data = None
-        try:
-            data = open(path).read()
-        except IOError:
-            self.module.fail_json(msg="file could not read: %s" % path)
-
-        try:
-            return self.parse_yaml(data, path_hint=path)
-        except yaml.YAMLError as exc:
-            self.module.fail_json(msg="Syntax error in yaml file '%s'" % path)
-
-    def main(self):
-        self._check_variable()
-        result = {"changed": False, "msg": "Hi", self.fact: self.file_data}
-        self.module.exit_json(**result)
-
-    def _read_from_file(self, file_path, databag):
-        data = self.parse_yaml_from_file(file_path, vault_password="")
-        if data and type(data) != dict:
-            self.module.fail_json(msg="%s must be stored as a dictionary/hash".format(file_path))
-        elif data is None:
-            data = {}
-
-        if databag:
-            data = self.convert_chef_user_data_bag(data)
-        return data
-
-    def convert_chef_user_data_bag(self, data):
-        print(("data=", data))
-        if len(data) == 0:
-            return data
-        else:
-            new_data = {}
-            user_name = data.pop("id")  # Should fail if no id
-            # Loop and only pick item in our map and translate it to ansible ignore the rest
-            for mapping_key in self.mapping:
-                data_bag_item_value = data.pop(mapping_key, None)
-                if data_bag_item_value:
-                    ansible_key = self.mapping.get(mapping_key)
-                    new_data.update({ansible_key: data_bag_item_value})
-
-            if self.extract_extra_keys:
-                for key, value in data.iteritems():
-                    new_data.update({key: value})
-            # Check for an action
-            chef_action = new_data.get("state", False)
-            if chef_action:
-                if chef_action == "create":
-                    new_data["state"] = "present"
-                elif chef_action == "remove":
-                    new_data["state"] = "absent"
-            chef_groups = new_data.get("groups", False)
-            primary_group = new_data.get("group", False)
-            if primary_group in chef_groups:
-                # Databag issue for smart-os Issue
-                chef_groups = [group_item for group_item in chef_groups if group_item != primary_group]
-            new_data["groups"] = ",".join(chef_groups)
-            return {user_name: new_data}
-
-    def _check_variable(self):
-        for path_item in self.path:
-
-            try:
-                path = path_item.get("path")
-                path = os.path.expanduser(path)
-                databag = path_item.get("databag", self.data_bag)
-                #print "all={} type={} path={} databag={}".format(path_item, type(path_item), path, databag)
-            except Exception as E:
-                self.module.fail_json(msg="Path is a list but is malformed could not get 'path' got '{}'. Error '{}'".
-                                      format(path_item, E))
-            self._follow_path(path, databag)
-
-    def _follow_path(self, path, databag):
-        if os.path.exists(path):
-            if os.path.isdir(path):
-                for root, dirs, files in os.walk(path, topdown=False):
-                    for filename in files:
-                        self.file_data.update(self._read_from_file(path + "/" + filename, databag))
-            else:
-                self.file_data.update(self._read_from_file(path, databag))
-        else:
-            self.module.fail_json(msg="Failed to find path '{}'.".format(path))
-
-
-def main():
-    module = AnsibleModule(
-        argument_spec=dict(
-            name=dict(default=None, aliases=["path"], required=True, type='list'),
-            fact=dict(default="var_dir", required=False),
-            databag=dict(default=False, type='bool'),
-            extract_extra_keys=dict(default=True, required=False)
-        ),
-        supports_check_mode=False
-    )
-    if not ansible_client_found:
-        module.fail_json(msg="Ansible is not installed or ansible python library is not in path. Can't import 'ansible.utils '")
-    LoadVarDir(module).main()
-
-
-# import module snippets
-from ansible.module_utils.basic import *
-
-
-try:
-    import yaml
-except ImportError:
-    ansible_client_found = False
-else:
-    ansible_client_found = True
-    try:
-        from yaml import CSafeLoader as Loader
-    except ImportError:
-        from yaml import SafeLoader as Loader
-
-main()

+ 0 - 247
roles/external/usermanage/library/usersdb.py

@@ -1,247 +0,0 @@
-#!/usr/bin/python
-
-USERVALUES = [ 'append', 'comment', 'createhome', 'expires', 'force', 'generate_ssh_key', 'group', 'groups', 'home',
-               'login_class', 'move_home', 'name', 'non_unique', 'password', 'remove', 'shell', 'skeleton', 'ssh_key_bits',
-               'ssh_key_comment', 'ssh_key_file', 'ssh_key_passphrase', 'ssh_key_type', 'state', 'system', 'uid', 'update_password',
-               'keys']
-
-class UsersDB(object):
-    def __init__(self, module):
-        self.module = module
-        self.users_db = self.module.params["usersdb"]
-        self.source_user_db = self.module.params["source_userdb"]
-        self.extract_extra_keys = self.module.params["extract_extra_keys"]
-        # If we have to userdb and source db lets merge them if not
-        if self.users_db and self.source_user_db:
-            self.users_db.update(self.source_user_db)
-        if self.source_user_db and not self.users_db:
-            self.users_db = self.source_user_db
-        if not self.users_db and not self.source_user_db:
-            self.module.fail_json(msg="Missing argument. You must defined either 'usersdb' or 'source_userdb'.")
-
-        self.teams_db = self.module.params["teamsdb"]
-        self.servers_db = self.module.params["serversdb"]
-        # Databases
-        self.lookup_key_db = {}  # used for quick lookup
-        self.expanded_users_db = []  # Used in simple mode
-        self.expanded_users_key_db = []  # Used in simple mode
-        self.expanded_server_db = []  # Used in advanced mode for merged User + server
-        self.expanded_server_key_db = []  # Used in advanced mode
-        self.extra_users_data = [] # Used for extra data that is not related to user module 
-        self.extra_server_data = [] # Used for extra data that is not related to user module for server mode
-
-    def _concat_keys(self, user_name, user_keys=None, server_keys=None, user_status=False):
-        # Concat keys (if possible) and update username to keys
-        new_user_keys = []
-        if user_keys and server_keys:
-            for user_key in user_keys:
-                new_user_key = dict(user_key, **server_keys)
-                new_user_key.pop("name", None)
-                new_user_key.pop("user", None)
-                if user_status:
-                    new_user_key.update({"state": "absent"})
-                new_user_keys.append(new_user_key)
-        elif server_keys:
-            # server key is dic
-            server_keys.pop("name", None)
-            new_user_keys = [server_keys]
-        elif user_keys:
-            for user_key in user_keys:
-                new_user_key = user_key
-                new_user_key.pop("user", None)
-                new_user_key.pop("name", None)
-                if user_status:
-                    new_user_key.update({"state": "absent"})
-                new_user_keys.append(new_user_key)
-        else:
-            # TODO: Should work without keys
-            # self.module.fail_json(msg="user '{}' list has no keys defined.".format(user_name))
-            pass
-        return new_user_keys
-
-    def _merge_key(self, user_keys, sever_keys, user_name, user_status=False):
-        # Rules ( no real merge happens )
-        # 1- Default use the user key
-        # 2- if server has defined keys then use those instead no merge here
-        if sever_keys:
-            merged_keys = []
-            for server_key in sever_keys:
-                if "user" in server_key:
-                    user = server_key.pop("user", False)
-                    account_key = self.lookup_key_db.get(user)
-                    user_definition = self.users_db.get(user, {})
-                    if user_definition.get("state", "present") in ("absent", "delete", "deleted", "remove", "removed"):
-                        user_status = "absent"
-                    merged_keys += self._concat_keys(user_name, account_key, server_key, user_status=user_status)
-                elif "team" in server_key:
-                    self.module.fail_json(msg="Team key is not yet implemented")
-                elif "key" in server_key:
-                    merged_keys += self._concat_keys(user_name, server_keys=server_key, user_status=user_status)
-                else:
-                    # TODO: Should work without keys
-                    # self.module.fail_json(msg="user '{}' list has no keys defined.".format(user_name))
-                    pass
-            return merged_keys
-        else:
-            return self._concat_keys(user_name, user_keys=user_keys, user_status=user_status)
-
-    def _merge_user(self, user_name, user_server):
-        user_definition = self.users_db.get(user_name, False)
-
-        if not user_definition:
-            self.module.fail_json(msg="'%s' user has no definition" % user_name)
-
-        if user_definition.get("state", "present") in ("absent", "delete", "deleted", "remove", "removed"):
-            user_status = "absent"
-        else:
-            user_status = False
-
-        # Merge User and Server ( Server has precedence in this case )
-        merged_user = dict(user_definition.items() + user_server.items())
-
-        if user_status:
-            merged_user.update({"state": "absent"})
-        user_server = merged_user
-        user_db_key = self.lookup_key_db.get(user_name, None)
-        user_server_keys = self._merge_key(user_db_key, user_server.get("keys", None), user_name, user_status)
-        # In case of team user dict will not be defined so lets just define anyway
-        user_server.update({"user": user_name})
-
-        # Populate DBs
-        user_server.pop("keys", None)  # Get rid of keys
-        user_server.pop("team", None)  # Get rid of team if exists
-        self.expanded_server_db.append(user_server)
-        if len(user_server_keys) > 0:
-            self.expanded_server_key_db.append({"user": user_name, "keys": user_server_keys})
-
-    def expand_servers_extra(self, user_name):
-        ## Add self.extra_server_data
-        extra_user_item = filter(lambda exta_user: exta_user['name'] == user_name,  self.extra_users_data )
-        # not empty than add
-        if extra_user_item != []:
-            # We make a good assumption that we only get one item :( which is somehow true but probably need to check it
-            self.extra_server_data.append(dict(extra_user_item[0]))
-
-    def expand_servers(self):
-        # Advanced mode Merges users and servers data
-        # Expand server will overwrite same attributes defined in user db except for state = "absent"
-        for user_server in self.servers_db:
-            team_name = user_server.get("team", False)
-            user_name = user_server.get("user", False) or user_server.get("name", False)
-
-            if user_name:
-                self._merge_user(user_name, user_server)
-                ## Add self.extra_server_data
-                if self.extract_extra_keys:
-                    self.expand_servers_extra(user_name)
-                
-            elif team_name:
-                team_definition = self.teams_db.get(team_name, False)
-                if not team_definition:
-                    self.module.fail_json(msg="'%s' team has no definition" % team_name)
-                for user_in_team in team_definition:
-                    ## Add self.extra_server_data
-                    if self.extract_extra_keys:
-                        self.expand_servers_extra(user_in_team)
-                    self._merge_user(user_in_team, user_server)
-            else:
-                self.module.fail_json(msg="Your server definition has no user or team. Please check your data type. "
-                                          "for '{}'".format(user_server))
-
-    def expand_keys(self, keys, user):
-        # if len(keys) == 0:
-        #     # TODO: Should work without keys
-        #     self.module.fail_json(msg="user '{}' has no keys defined.".format(user))
-
-        user_keys = []
-        # If key is not a list than its a raw key string
-        if not isinstance(keys, list):
-            user_keys.append({"key": keys})
-        else:
-            for key in keys:
-                # Basic syntax check
-                if isinstance(key, basestring) and "ssh-" in key:
-                    user_keys.append({"key": key})
-                elif "key" not in key and "name" not in key:
-                    # TODO: Should work without keys
-                    # self.module.fail_json(msg="user '{}' list has no keys defined.".format(key.keys()))
-                    pass
-                else:
-                    # All is okay just add the dict
-                    user_keys.append(key)
-        return user_keys
-
-    def expand_users(self):
-        # Get User database which is a dic and create expendaded_user_db and key_db
-        # Put keys in right dictionary format
-        for username, user_options in self.users_db.iteritems():
-            user = {"name": username}  # create the account name
-            
-            # 1-  Check for extra keys that dont translate to ansible user module
-            if self.extract_extra_keys:
-                extra_user_data = None
-                for dic_key in user_options.keys():
-                    if dic_key not in USERVALUES:
-                        # Add user and state
-                        if not extra_user_data:
-                             extra_user_data = dict(user)
-                             extra_user_data.update({ "state": user_options.get("state", "present")})
-
-                        extra_user_data.update({ dic_key: user_options[dic_key] })    
-                        user_options.pop(dic_key, None) # Remove item from user DB
-                # Add extras to a list if any
-                if extra_user_data:
-                    self.extra_users_data.append(dict(extra_user_data))
-            # 2- Convert dic to list (servers_db style)
-            user.update(user_options)  # update all other option
-            # 3- Compile key
-            unformatted_keys = user_options.get("keys", [])
-            keys = self.expand_keys(unformatted_keys, user)
-            # 4- remove keys from userdb if exists
-            user.pop("keys", None)
-            # 5- Populate DBs
-            self.expanded_users_db.append(user)  # Populate new list user db
-            self.expanded_users_key_db.append({"user": username, "keys": keys})
-            if len(keys) > 0:
-                self.lookup_key_db.update({username: keys})  # Populate dict key db
-
-    def main(self):
-        self.expand_users()
-
-        if self.servers_db and len(self.servers_db) > 0:
-            # Advanced mode we have to do merges and stuff :D
-            self.expand_servers()
-            result = {"changed": False, "msg": "",
-                      "users_db": self.expanded_server_db,
-                      "key_db": self.expanded_server_key_db}
-            # Add extras if options for servers
-            if self.extract_extra_keys:
-                result.update({ "extra" : self.extra_server_data })
-        else:
-            # Simple mode no servers db
-            result = {"changed": False, "msg": "",
-                      "users_db": self.expanded_users_db,
-                      "key_db": self.expanded_users_key_db}
-            # Add extras if options
-            if self.extract_extra_keys:
-                result.update({ "extra" : self.extra_users_data })
-
-        self.module.exit_json(**result)
-
-
-def main():
-    module = AnsibleModule(
-        argument_spec=dict(
-            usersdb=dict(default=None, required=False, type="dict"),
-            source_userdb=dict(default=None, required=False, type="dict"),
-            teamsdb=dict(default=None, required=False),  # Should be dict but would break if value is false/none
-            serversdb=dict(default=None, required=False),
-            extract_extra_keys=dict(default=True, required=False),
-        ),
-        supports_check_mode=False
-    )
-    UsersDB(module).main()
-
-# import module snippets
-from ansible.module_utils.basic import *
-main()

+ 0 - 1
roles/external/usermanage/meta/.galaxy_install_info

@@ -1 +0,0 @@
-{install_date: 'Mon Jan 11 21:36:11 2016', version: v1.4.1}

+ 0 - 11
roles/external/usermanage/meta/main.yml

@@ -1,11 +0,0 @@
----
-galaxy_info:
-  author: Adham Helal
-  description: "Manage your Linux user and ssh key account. Accross your infrastructure"
-  min_ansible_version: 1.4
-  platforms:
-  - name: Ubuntu
-    versions:
-    - precise
-  categories:
-  - system

+ 0 - 46
roles/external/usermanage/tasks/debug.yml

@@ -1,46 +0,0 @@
----
-
-- name: debug | Display compiled user
-  debug:
-    var=cuser.users_db
-  sudo: no
-  when: usermanage_debug_level >= 2
-
-- name: debug | Display compiled keys
-  debug:
-    var=cuser.key_db
-  sudo: no
-  when: usermanage_debug_level >= 2
-
-- name: debug | Display Extra
-  debug:
-    var=cuser.extra
-  sudo: no
-  when: usermanage_debug_level >= 2
-
-- name: debug | Display lookup_key_db keys
-  debug:
-    var=cuser.lookup_key_db
-  sudo: no
-  when: usermanage_debug_level >= 3 and cuser.lookup_key_db is defined
-
-- name: debug | Debug directory create
-  file:
-    path={{ usermanage_debug_dir }}
-    state="directory"
-    mode=0700
-    owner=root
-  when: usermanage_debug_level >= 1
-
-- name: debug | Debug Users /tmp/debugUser.{{inventory_hostname}}-{{item.account}}
-  template:
-     src=debug_users.j2
-     dest="{{ usermanage_debug_dir }}/{{ inventory_hostname }}-{{ item.user | default(item.name) }}"
-  with_items: cuser.users_db
-  when: usermanage_debug_level >= 1
-
-- name: debug | Debug usermanage_groupsdb
-  debug:
-    var=usermanage_groupsdb
-  sudo: no
-  when: usermanage_debug_level >= 3 and usermanage_groupsdb is defined

+ 0 - 7
roles/external/usermanage/tasks/groups.yml

@@ -1,7 +0,0 @@
----
-
-- name: groups | Create groups
-  group:
-  args: "{{ item }}"
-  with_items: usermanage_groupsdb | default(default_temp_solution)
-  when: usermanage_groupsdb

+ 0 - 21
roles/external/usermanage/tasks/main.yml

@@ -1,21 +0,0 @@
----
-
-- include: sources.yml
-  when: usermanage_compile_sources_only or not usermanage_compile_sources_only
-  tags: sources
-
-- include: debug.yml
-  when: usermanage_debug and not usermanage_compile_sources_only
-
-- include: per_user_group.yml
-  when: usermanage_create_per_user_group and cuser.users_db is defined and not usermanage_compile_sources_only
-
-- include: groups.yml
-  when: usermanage_groupsdb is defined and usermanage_groupsdb is not none and not usermanage_compile_sources_only
-
-- include: users.yml
-  when: not usermanage_compile_sources_only
-
-- check_users: users_var="{{cuser}}"
-  when: usermanage_check_users and not usermanage_compile_sources_only
-

+ 0 - 7
roles/external/usermanage/tasks/per_user_group.yml

@@ -1,7 +0,0 @@
----
-
-- name: groups | Create per user group
-  group:
-    name="{{ item.name  | default(item.user) }}"
-    state="{{ item.state | default("present") }}"
-  with_items: cuser.users_db

+ 0 - 23
roles/external/usermanage/tasks/sources.yml

@@ -1,23 +0,0 @@
----
-
-- name: sources | Load users db from a path
-  load_user_files:
-  args:
-    path: "{{ usermanage_user_source_files }}"
-    fact: "{{ usermanage_source_facts }}"
-    databag: "{{ usermanage_user_source_databag }}"
-  register: loaded_users_db
-  connection: local
-  sudo: no
-  when: usermanage_user_source_files is defined and usermanage_user_source_files is not none
-
-- name: sources | Compile effective users
-  usersdb:
-    usersdb: "{{ usermanage_usersdb | default(omit) }}"
-    serversdb: "{{ usermanage_servers | default(omit) }}"
-    teamsdb: "{{ usermanage_teamsdb | default(omit) }}"
-    source_userdb: "{{ loaded_users_db[usermanage_source_facts] | default(omit) }}"
-  register: cuser
-  connection: local
-  sudo: no
-  when: usermanage_usersdb is defined or loaded_users_db[usermanage_source_facts] is defined

+ 0 - 31
roles/external/usermanage/tasks/users.yml

@@ -1,31 +0,0 @@
----
-- name: users | Create users
-  user:
-    force=yes
-    append=True
-  args: "{{ item }}"
-  with_items: cuser.users_db | default([])
-  when: cuser.users_db is defined
-
-- name: users | Manage public key for users
-  authorized_key:
-     user="{{ item.0.user | default(item.0.name) }}"
-     manage_dir="yes"
-  args: "{{ item.1 }}"
-  with_subelements:
-      - cuser.key_db | default([])
-      - keys
-  register: keyrc
-  failed_when: "'failed' in keyrc and 'getpwnam' not in keyrc.msg"
-  when: cuser.key_db is defined
-
-- name: users | Manage private key for users
-  copy:
-     content="{{ item.privkey }}"
-     dest="{{ item.home | default(usermanage_default_home_dir_prefix + "/" + item.user ) }}/{{ usermanage_priv_key_suffix}}"
-     mode=0600
-     owner="{{ item.user }}"
-  with_items: usermanage_users_privkey
-  when: usermanage_users_privkey is defined
-#  no_log: True
-

+ 0 - 4
roles/external/usermanage/templates/debug_users.j2

@@ -1,4 +0,0 @@
-inventory_hostname= {{inventory_hostname}}
-------------------------------------------
-
-{{ item | to_nice_yaml }}

+ 0 - 2
roles/external/usermanage/test/ansible.cfg

@@ -1,2 +0,0 @@
-[defaults]
-roles_path=../:../../:/spec/

+ 0 - 13
roles/external/usermanage/test/application/advanced.yml

@@ -1,13 +0,0 @@
----
-- name         : Advanced Mode (1)
-  hosts        : "{{ kitchen_hosts }}"
-  gather_facts : no
-  sudo         : True
-  connection   : "{{ kitchen_connection | default('local') }}"
-  vars         :
-                 usermanage_debug : true
-  vars_files   :
-                 - "advanced_var_user_db.yml"
-                 - "advanced_var_server_db.yml"
-  roles        :
-                 - "ansible-usermanage"

+ 0 - 31
roles/external/usermanage/test/application/advanced_var_server_db.yml

@@ -1,31 +0,0 @@
----
-
-usermanage_servers:
-      #Simplest form (create testuser and push the testuser key defined in the userdb)
-      - user        : "label"
-        groups      : "sudo"
-        uid         : 4000
-
-      - user        : "ops"
-        groups      : "adm"
-        state       : "present"
-        keys        :
-             - user        : 'daniels'
-               state       : 'present'
-               key_options : 'no-port-forwarding'
-             - user        : 'stewart'
-               state       : 'present'
-
-      - user        : "dev"
-        groups      : 'ops,lp'
-        state       : 'present'
-        shell       : '/bin/false'
-        keys        :
-             - user        : 'vodka'
-               state       : 'present'
-               key_options : 'no-port-forwarding'
-             - user        : 'raki'  # should be not there
-               state       : 'present'
-      - user        : tool
-        groups      : 'ops,lp'
-        state       : 'present'

+ 0 - 49
roles/external/usermanage/test/application/advanced_var_user_db.yml

@@ -1,49 +0,0 @@
----
-usermanage_usersdb:
-  daniels:
-    comment: "Jack daniels"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLql1khoXEH/pThpLSDwJNBIEHkjrBggjEvRCqCFYvE1Neavc6iuLSzjLdnj74LNrPEjY+xcjAcPmgwxo8+WKpLL7Iy8e9IGH3lwB05x9jfnw2H1ZRnZZxF+wV/ei/vfCmRyt2cqv+DLomg18RDTnyTk2pvSEvL0xkRn5QRbzxqbnB+9xmItTjdtq/ZDYRgFYn2ZPfokFyyr3KpwpK0gNcpFhCF94CvExKpu6SFPTv+ERnFvHEN9d8SlzwkyCP4yqrfOjFuVUuZf2FtAkDx0d4cXo0i7VUM/hOthUNFpmljZLhkxafPxwp50Q/xRe7MvDQMrEPGPZ/pubOwzqVmMWH daniels1"
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxAqbTlltSFlRY+gQyAx3j0W+WDnahZYbECAXiwNqAHG7PP8GSEDVkfZTkJdlu9PoB/B3nW2R/Q3//IxUfzRsUnjUzl0WXbhz331n5bHtgJlg82MGqwbNjN0yMR/GB4pQKeExYOLKi/7jI/wkOAJ4X9Bv9skEK/mHAWWPrBf/5C5qWUOxVC1+he3iaU+LSbiL6uiNs8S49fiGno8tBkBFgth+9gqdCLRAFVe2dzJJK1nSQTffHCs12pJs2S3yBD9KkUQJO51tByP4qO3549iwLo8hQnqtFULMpL+NN5Muk1bFZ2jW+0Sri1bhVS58llZCuoENZsLf/+xejbfwJAk4h daniels2"
-        key_options: no-port-forwarding
-  gin:
-    comment: "Gordons Gin"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcoo+eU8+k7QYpKbZwOQwiMpeklQcmEyLTsJr0RLTeqsHkIh8rFWyMZURDZ5pgEGo3iXZD+dqM28agy2Pw68/V0wht/9n0PjmUVZgkWIas162w3vZrJENDi8wAo4ojQJf0lZf63K8AxoB12fF+QdR7jfTLrz2bCxv9XaHKm7nYGtRO0f8ETgvwpIS2jN0mPAD7qnCFvLtbaxd/UzsQS5M8Au42+9zdn78Atm7gtKY9uR5U1Jwrop8KipXf0wAtMo39Xc9P8hGbYGA1jkbcG2x1LI7G9L+PddxeZjpkW2Uv559YJDRjBJfJAfp6K4HGV5uXITSMVDY9KBYvepolrlul gin1"
-    shell: /bin/false
-  rum:
-    comment: "Pirates Grog Rum"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC2EAA1ycAADAAAQABABAQCootXD63hexEQnbCmKGC7DjFSWxkqJ2neaC5S6POEdgwo7jQ60JWy0VCm5JS5d2ZNDQh+vi1wZ2cTr6n9X9bAkYhQ/eACmzYBjf8I8AXcqaigAOjRMLADU2qQfZmnRGyOLaGDI/EH52yBjeZHbgQdJOGrB07qgAu2facA2bd6kvI8eLwCx5yjqA+mInYEewRYrr5tUduGFdPhmyoKSGpaEeWWkLhafTj9eGRMSB3unBcMtux+LxXH4TfWgVBmWNVbr2Mcv+M6tYxix/iKniBLBUH/AfM/dTHlk38y2mjemUMUc/HBW+HmH3NXMwOks8po6Iohh8JNhywUlLKN9MvB7 rum1"
-        state: absent
-  stewart:
-    comment: "Daniel Stewart"
-    home: /opt/stewart
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhiDPE4S4K6AGJFRSIB5xVoIlKtgjVUVHK1WhT0hD/I3nZ3AFszqDXUz4eREDlPSfMsvNCuAd1Mxwg2vx1Udbzf0M5OH1DDgYyVeJXXB5/B2rpX7vm0A1Hxx17mMHg9OrCNKNn8B83g6IqAGM6P3VKHqnRQ9kLpPcki65gMx06R2dQ1Dh5kks2yOjyx7Mjut0rL9Ig/b9ysMMC1YjMupC8vb31Dhy8pVi1F/RT/7M6PwM4Kjh3fdzgqvQRxDrmky8kbXJj+TXU6pIM1mZtZyENddUCA0rDNtpi6yIaAR9aJkcPXxPpblkWjYAO++sukz88BKWt0Z+nLx9JUhwXtoW7 stewart1"
-  vodka:
-    comment: "Savvy Vodka"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2Pq3M7AgeBjmNII6HGsKd2uaXFIfaljpNg1Rf6y3iGP84wC82bMfZTSIhnzJ4qwHj7Bzn8oiMmqtyeGcmEwLXm5f7mk3lj9NmxUEfbuWsPoSX4VHIney0F2cjrYRAHua8vZ50OrqYvRaBNttx+pCsub/Kw/t91PQvz7s5ML12DfhlfbE5f/g+ZrKHBxsn6Vw0VqN1Cx5cecaN+9NbdwTV25/RVsXC6v9TQlIqWR+znt4ZVxUSCTAbGc51tmauoleZee2XBkAO7xmJ7zPQEndhErq/zm0euZGx1xGIjQ7dVBK8t1ah2UdBS4pSHgjhDulo0hr4gIubQ0FSV+8cWCNN vodka1"
-    uid: 2300
-  raki:
-    state: "absent"
-    comment: "Yeni Raki"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvy3wrbh9hwSP0WrwXSFW4AujinW+xiDQn7RLJ8UcVZ+Yf4EmV6GTvjjJjIegIKjnH2xiRDjZ1qaSZzxW7/uyVxPrjhGAE8iPQAGcLEEcpg4IwlFpd3+7NgCKLdVHozH6z+h3G95otKQZLmKq9lzkfVyhDzTjU2qsnSQPitDrPY/tngN1gnZHQm2CUh4gamtOfxtPKlOqQ/t0iXJU48QfyN33XWr8M5/2FWP9jDyvxEjpCRW2Qu2+8uQONPOHMtkLW70G2+KVN90fkOXMnDotm+aY1OluUcXgrBakEctHNIWoKSUbcdOw1JkLY3Ojl11lIdXn267A1t70FaEXG8cIf raki1"
-    uid: 2400
-  label:
-    comment: "Black Label"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbakoTSJHYJ88J3//celPFG1kAXv0WvH0o1WkJmrjZe1nWvpHArSv9MmELh3QOu2L3f87Yx8p0kzz0wTQowQisrspFSI6lvIJ+2aapx4J+4O+9IRR+XRcw6giD4OGfTH3af8lgAmVvrcfP41NH4l/jl2Fs+BjeCudTTFemy6L8wlHZPOdsHFs/71aAAcUqpLmrBECHzHBo+LzNZ2ZKy7s+V6RNR5TmWUdupQGsuE6C5yY2AZQ3cFxOmhPJsEVzQSZneCMfNQI3qfAYvXRQNXxQjCaXBJH7S+cCnf8kIrr+Ntfu5A54iyuAZ3SWVCLvym29ZTN0RH8fCvH9zqC5F0r/ label1"
-  ops:
-    comment: "Operations"
-    state: "present"
-    keys:
-      - key: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6b7thDSxav6nzor9k7h1joWT5dQOOBHgvmk82xcR/fRtr5uOGm5YrbRSt5ftiC8+2IdyyAWhy5ur4BIaf4LkKW+Z3db6uN6dkNxE/v+yYH5M2Nsk6LPJ9GyY8Wl15TYHFWyexGXg9n/cSmuzjM2PjAk89DlbQJnbh4iqqCl1D3Taq2CHEqQhJLwL9mgmIeZvlfuHxPxpDLuS5otOqNbBmkbmcpznkBfeyHF7wpauZgl060WxVsVxCtjcczawjBqA1JODImbgBivVw85aGI9PRqdPj25JYeoQWf02jhpNlIt2fULIyUGHNT76oKh7AkRjUwEv1iYX+PzTRtxov6CGr ops1"
-  dev:
-    state: "present"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+CDl3fAHWGS++kVXsWIGkh9yAaO9Nv4XbVX0CsCzIxRd85HS/uOCp5SUtjvTzVjOJu+GKfoNuYwMyGKAJprITVU/lPl9czMySz70BqxDn3yhELWC9GRq+EuZEWasV6xbEeSaUTA0S6614ciBoXSYC7WGYJhnUv59b+yHnQBT7ZDN6MYSWBA9UDFZWE90BxzzjYzJpxY80KOqmfXrMEMbjK31L8dCLHmVKGIYsOJkswLPN7kkxeZxxIpBwo3D9SUYels7sOzXb/G83hxj6NfTVkzcut9GsiQxAPt92RsoMbLqDv6QcwABo4MdOw7wDieoP8I5ftqq76q+GTangM7Sj dev1"
-  tool:
-    state: "present"

+ 0 - 27
roles/external/usermanage/test/application/extra_advanced.yml

@@ -1,27 +0,0 @@
----
-- name         : Extra user info advanced Mode (1)
-  hosts        : "{{ kitchen_hosts }}"
-  gather_facts : no
-  sudo         : True
-  connection   : "{{ kitchen_connection | default('local') }}"
-  vars         :
-                 usermanage_debug : true
-  vars_files   :
-                 - "extra_advanced_var_user_db.yml"
-                 - "extra_advanced_var_server_db.yml"
-  pre_tasks    :
-     - debug: var=kitchen_connection
-  roles        :
-                 - "ansible-usermanage"
-  post_tasks   :
-
-     - name: Print the user db in a yaml file
-       copy:
-         content="{{ cuser.users_db | to_nice_yaml }}"
-         dest="/tmp/extra_advanced_users_db.yaml"
-
-     - name: Print the extra user options in a yaml file
-       copy:
-         content="{{ cuser.extra | to_nice_json }}"
-         dest="/tmp/extra_advanced_extra_db.yaml"
-

+ 0 - 31
roles/external/usermanage/test/application/extra_advanced_var_server_db.yml

@@ -1,31 +0,0 @@
----
-
-usermanage_servers:
-      #Simplest form (create testuser and push the testuser key defined in the userdb)
-      - user        : "label"
-        groups      : "sudo"
-        uid         : 4000
-
-      - user        : "ops"
-        groups      : "adm"
-        state       : "present"
-        keys        :
-             - user        : 'daniels'
-               state       : 'present'
-               key_options : 'no-port-forwarding'
-             - user        : 'stewart'
-               state       : 'present'
-
-      - user        : "dev"
-        groups      : 'ops,lp'
-        state       : 'present'
-        shell       : '/bin/false'
-        keys        :
-             - user        : 'vodka'
-               state       : 'present'
-               key_options : 'no-port-forwarding'
-             - user        : 'raki'  # should be not there
-               state       : 'present'
-      - user        : tool
-        groups      : 'ops,lp'
-        state       : 'present'

+ 0 - 60
roles/external/usermanage/test/application/extra_advanced_var_user_db.yml

@@ -1,60 +0,0 @@
----
-usermanage_usersdb:
-  daniels:
-    comment: "Jack daniels"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLql1khoXEH/pThpLSDwJNBIEHkjrBggjEvRCqCFYvE1Neavc6iuLSzjLdnj74LNrPEjY+xcjAcPmgwxo8+WKpLL7Iy8e9IGH3lwB05x9jfnw2H1ZRnZZxF+wV/ei/vfCmRyt2cqv+DLomg18RDTnyTk2pvSEvL0xkRn5QRbzxqbnB+9xmItTjdtq/ZDYRgFYn2ZPfokFyyr3KpwpK0gNcpFhCF94CvExKpu6SFPTv+ERnFvHEN9d8SlzwkyCP4yqrfOjFuVUuZf2FtAkDx0d4cXo0i7VUM/hOthUNFpmljZLhkxafPxwp50Q/xRe7MvDQMrEPGPZ/pubOwzqVmMWH daniels1"
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxAqbTlltSFlRY+gQyAx3j0W+WDnahZYbECAXiwNqAHG7PP8GSEDVkfZTkJdlu9PoB/B3nW2R/Q3//IxUfzRsUnjUzl0WXbhz331n5bHtgJlg82MGqwbNjN0yMR/GB4pQKeExYOLKi/7jI/wkOAJ4X9Bv9skEK/mHAWWPrBf/5C5qWUOxVC1+he3iaU+LSbiL6uiNs8S49fiGno8tBkBFgth+9gqdCLRAFVe2dzJJK1nSQTffHCs12pJs2S3yBD9KkUQJO51tByP4qO3549iwLo8hQnqtFULMpL+NN5Muk1bFZ2jW+0Sri1bhVS58llZCuoENZsLf/+xejbfwJAk4h daniels2"
-        key_options: no-port-forwarding
-    bla: "xxxx"
-
-  gin:
-    comment: "Gordons Gin"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcoo+eU8+k7QYpKbZwOQwiMpeklQcmEyLTsJr0RLTeqsHkIh8rFWyMZURDZ5pgEGo3iXZD+dqM28agy2Pw68/V0wht/9n0PjmUVZgkWIas162w3vZrJENDi8wAo4ojQJf0lZf63K8AxoB12fF+QdR7jfTLrz2bCxv9XaHKm7nYGtRO0f8ETgvwpIS2jN0mPAD7qnCFvLtbaxd/UzsQS5M8Au42+9zdn78Atm7gtKY9uR5U1Jwrop8KipXf0wAtMo39Xc9P8hGbYGA1jkbcG2x1LI7G9L+PddxeZjpkW2Uv559YJDRjBJfJAfp6K4HGV5uXITSMVDY9KBYvepolrlul gin1"
-    shell: /bin/false
-    extra_xxxx: "xxx"
-
-  rum:
-    comment: "Pirates Grog Rum"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC2EAA1ycAADAAAQABABAQCootXD63hexEQnbCmKGC7DjFSWxkqJ2neaC5S6POEdgwo7jQ60JWy0VCm5JS5d2ZNDQh+vi1wZ2cTr6n9X9bAkYhQ/eACmzYBjf8I8AXcqaigAOjRMLADU2qQfZmnRGyOLaGDI/EH52yBjeZHbgQdJOGrB07qgAu2facA2bd6kvI8eLwCx5yjqA+mInYEewRYrr5tUduGFdPhmyoKSGpaEeWWkLhafTj9eGRMSB3unBcMtux+LxXH4TfWgVBmWNVbr2Mcv+M6tYxix/iKniBLBUH/AfM/dTHlk38y2mjemUMUc/HBW+HmH3NXMwOks8po6Iohh8JNhywUlLKN9MvB7 rum1"
-        state: absent
-  stewart:
-    comment: "Daniel Stewart"
-    home: /opt/stewart
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhiDPE4S4K6AGJFRSIB5xVoIlKtgjVUVHK1WhT0hD/I3nZ3AFszqDXUz4eREDlPSfMsvNCuAd1Mxwg2vx1Udbzf0M5OH1DDgYyVeJXXB5/B2rpX7vm0A1Hxx17mMHg9OrCNKNn8B83g6IqAGM6P3VKHqnRQ9kLpPcki65gMx06R2dQ1Dh5kks2yOjyx7Mjut0rL9Ig/b9ysMMC1YjMupC8vb31Dhy8pVi1F/RT/7M6PwM4Kjh3fdzgqvQRxDrmky8kbXJj+TXU6pIM1mZtZyENddUCA0rDNtpi6yIaAR9aJkcPXxPpblkWjYAO++sukz88BKWt0Z+nLx9JUhwXtoW7 stewart1"
-  vodka:
-    comment: "Savvy Vodka"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2Pq3M7AgeBjmNII6HGsKd2uaXFIfaljpNg1Rf6y3iGP84wC82bMfZTSIhnzJ4qwHj7Bzn8oiMmqtyeGcmEwLXm5f7mk3lj9NmxUEfbuWsPoSX4VHIney0F2cjrYRAHua8vZ50OrqYvRaBNttx+pCsub/Kw/t91PQvz7s5ML12DfhlfbE5f/g+ZrKHBxsn6Vw0VqN1Cx5cecaN+9NbdwTV25/RVsXC6v9TQlIqWR+znt4ZVxUSCTAbGc51tmauoleZee2XBkAO7xmJ7zPQEndhErq/zm0euZGx1xGIjQ7dVBK8t1ah2UdBS4pSHgjhDulo0hr4gIubQ0FSV+8cWCNN vodka1"
-    uid: 2300
-  raki:
-    state: "absent"
-    comment: "Yeni Raki"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvy3wrbh9hwSP0WrwXSFW4AujinW+xiDQn7RLJ8UcVZ+Yf4EmV6GTvjjJjIegIKjnH2xiRDjZ1qaSZzxW7/uyVxPrjhGAE8iPQAGcLEEcpg4IwlFpd3+7NgCKLdVHozH6z+h3G95otKQZLmKq9lzkfVyhDzTjU2qsnSQPitDrPY/tngN1gnZHQm2CUh4gamtOfxtPKlOqQ/t0iXJU48QfyN33XWr8M5/2FWP9jDyvxEjpCRW2Qu2+8uQONPOHMtkLW70G2+KVN90fkOXMnDotm+aY1OluUcXgrBakEctHNIWoKSUbcdOw1JkLY3Ojl11lIdXn267A1t70FaEXG8cIf raki1"
-    uid: 2400
-  label:
-    comment: "Black Label"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDbakoTSJHYJ88J3//celPFG1kAXv0WvH0o1WkJmrjZe1nWvpHArSv9MmELh3QOu2L3f87Yx8p0kzz0wTQowQisrspFSI6lvIJ+2aapx4J+4O+9IRR+XRcw6giD4OGfTH3af8lgAmVvrcfP41NH4l/jl2Fs+BjeCudTTFemy6L8wlHZPOdsHFs/71aAAcUqpLmrBECHzHBo+LzNZ2ZKy7s+V6RNR5TmWUdupQGsuE6C5yY2AZQ3cFxOmhPJsEVzQSZneCMfNQI3qfAYvXRQNXxQjCaXBJH7S+cCnf8kIrr+Ntfu5A54iyuAZ3SWVCLvym29ZTN0RH8fCvH9zqC5F0r/ label1"
-    openvpn: True
-  ops:
-    comment: "Operations"
-    state: "present"
-    openvpn: True
-    keys:
-      - key: "ssh-rsa ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6b7thDSxav6nzor9k7h1joWT5dQOOBHgvmk82xcR/fRtr5uOGm5YrbRSt5ftiC8+2IdyyAWhy5ur4BIaf4LkKW+Z3db6uN6dkNxE/v+yYH5M2Nsk6LPJ9GyY8Wl15TYHFWyexGXg9n/cSmuzjM2PjAk89DlbQJnbh4iqqCl1D3Taq2CHEqQhJLwL9mgmIeZvlfuHxPxpDLuS5otOqNbBmkbmcpznkBfeyHF7wpauZgl060WxVsVxCtjcczawjBqA1JODImbgBivVw85aGI9PRqdPj25JYeoQWf02jhpNlIt2fULIyUGHNT76oKh7AkRjUwEv1iYX+PzTRtxov6CGr ops1"
-  dev:
-    state: "present"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+CDl3fAHWGS++kVXsWIGkh9yAaO9Nv4XbVX0CsCzIxRd85HS/uOCp5SUtjvTzVjOJu+GKfoNuYwMyGKAJprITVU/lPl9czMySz70BqxDn3yhELWC9GRq+EuZEWasV6xbEeSaUTA0S6614ciBoXSYC7WGYJhnUv59b+yHnQBT7ZDN6MYSWBA9UDFZWE90BxzzjYzJpxY80KOqmfXrMEMbjK31L8dCLHmVKGIYsOJkswLPN7kkxeZxxIpBwo3D9SUYels7sOzXb/G83hxj6NfTVkzcut9GsiQxAPt92RsoMbLqDv6QcwABo4MdOw7wDieoP8I5ftqq76q+GTangM7Sj dev1"
-  tool:
-    state: "present"
-    zendesk: True
-    zendesk_options: 
-      group : Admin
-  pepsi:
-    comment: "Pepsi"

+ 0 - 26
roles/external/usermanage/test/application/extra_simple.yml

@@ -1,26 +0,0 @@
----
-- name         : Extra user info Simple Mode (1)
-  hosts        : "{{ kitchen_hosts }}"
-  gather_facts : no
-  sudo         : True
-  connection   : "{{ kitchen_connection | default('local') }}"
-  vars         :
-                 usermanage_debug : true
-  vars_files   :
-                 - "extra_var_simple_db.yml"
-  pre_tasks    :
-     - debug: var=kitchen_connection
-  roles        :
-                 - "ansible-usermanage"
-  post_tasks   :
-
-     - name: Print the user db in a yaml file
-       copy:
-         content="{{ cuser.users_db | to_yaml }}"
-         dest="/tmp/extra_simple_users_db.yaml"
-
-     - name: Print the extra user options in a yaml file
-       copy:
-         content="{{ cuser.extra | to_yaml }}"
-         dest="/tmp/extra_simple_extra_db.yaml"
-

+ 0 - 27
roles/external/usermanage/test/application/extra_team.yml

@@ -1,27 +0,0 @@
----
-- name         : Extra user info Team Mode (1)
-  hosts        : "{{ kitchen_hosts }}"
-  gather_facts : no
-  sudo         : True
-  connection   : "{{ kitchen_connection | default('local') }}"
-  vars         :
-                 usermanage_debug : true
-  vars_files   :
-                 - "extra_advanced_var_user_db.yml"
-                 - "extra_team_var_team_db.yml"
-  pre_tasks    :
-     - debug: var=kitchen_connection
-  roles        :
-                 - "ansible-usermanage"
-  post_tasks   :
-
-     - name: Print the user db in a yaml file
-       copy:
-         content="{{ cuser.users_db | to_nice_yaml }}"
-         dest="/tmp/extra_team_users_db.yaml"
-
-     - name: Print the extra user options in a yaml file
-       copy:
-         content="{{ cuser.extra | to_nice_json }}"
-         dest="/tmp/extra_advanced_team_db.yaml"
-

+ 0 - 21
roles/external/usermanage/test/application/extra_team_var_team_db.yml

@@ -1,21 +0,0 @@
-usermanage_teamsdb:
-      team1:
-              - daniels
-              - pepsi
-      team2:
-              - gin
-              - ops
-              - dev
-      team3:
-              - raki
-
-usermanage_servers:
-      - team        : "team1"
-
-      - team        : "team2"
-
-      - team        : "team3"
-        state       : 'absent'
-
-      - user        : "label"
-        state       : 'absent'

+ 0 - 39
roles/external/usermanage/test/application/extra_var_simple_db.yml

@@ -1,39 +0,0 @@
---- 
-usermanage_usersdb: 
-  daniels2: 
-    comment: "Jack daniels"
-    keys: 
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLql1khoXEH/pThpLSDwJNBIEHkjrBggjEvRCqCFYvE1Neavc6iuLSzjLdnj74LNrPEjY+xcjAcPmgwxo8+WKpLL7Iy8e9IGH3lwB05x9jfnw2H1ZRnZZxF+wV/ei/vfCmRyt2cqv+DLomg18RDTnyTk2pvSEvL0xkRn5QRbzxqbnB+9xmItTjdtq/ZDYRgFYn2ZPfokFyyr3KpwpK0gNcpFhCF94CvExKpu6SFPTv+ERnFvHEN9d8SlzwkyCP4yqrfOjFuVUuZf2FtAkDx0d4cXo0i7VUM/hOthUNFpmljZLhkxafPxwp50Q/xRe7MvDQMrEPGPZ/pubOwzqVmMWH"
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxAqbTlltSFlRY+gQyAx3j0W+WDnahZYbECAXiwNqAHG7PP8GSEDVkfZTkJdlu9PoB/B3nW2R/Q3//IxUfzRsUnjUzl0WXbhz331n5bHtgJlg82MGqwbNjN0yMR/GB4pQKeExYOLKi/7jI/wkOAJ4X9Bv9skEK/mHAWWPrBf/5C5qWUOxVC1+he3iaU+LSbiL6uiNs8S49fiGno8tBkBFgth+9gqdCLRAFVe2dzJJK1nSQTffHCs12pJs2S3yBD9KkUQJO51tByP4qO3549iwLo8hQnqtFULMpL+NN5Muk1bFZ2jW+0Sri1bhVS58llZCuoENZsLf/+xejbfwJAk4h"
-        key_options: no-port-forwarding
-  gin2: 
-    comment: "Gordons Gin"
-    keys: 
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcoo+eU8+k7QYpKbZwOQwiMpeklQcmEyLTsJr0RLTeqsHkIh8rFWyMZURDZ5pgEGo3iXZD+dqM28agy2Pw68/V0wht/9n0PjmUVZgkWIas162w3vZrJENDi8wAo4ojQJf0lZf63K8AxoB12fF+QdR7jfTLrz2bCxv9XaHKm7nYGtRO0f8ETgvwpIS2jN0mPAD7qnCFvLtbaxd/UzsQS5M8Au42+9zdn78Atm7gtKY9uR5U1Jwrop8KipXf0wAtMo39Xc9P8hGbYGA1jkbcG2x1LI7G9L+PddxeZjpkW2Uv559YJDRjBJfJAfp6K4HGV5uXITSMVDY9KBYvepolrlul"
-    shell: /bin/false
-  rum2: 
-    comment: "Pirates Grog Rum"
-    keys: 
-      - key: "ssh-rsa AAAAB3NzaC2EAA1ycAADAAAQABABAQCootXD63hexEQnbCmKGC7DjFSWxkqJ2neaC5S6POEdgwo7jQ60JWy0VCm5JS5d2ZNDQh+vi1wZ2cTr6n9X9bAkYhQ/eACmzYBjf8I8AXcqaigAOjRMLADU2qQfZmnRGyOLaGDI/EH52yBjeZHbgQdJOGrB07qgAu2facA2bd6kvI8eLwCx5yjqA+mInYEewRYrr5tUduGFdPhmyoKSGpaEeWWkLhafTj9eGRMSB3unBcMtux+LxXH4TfWgVBmWNVbr2Mcv+M6tYxix/iKniBLBUH/AfM/dTHlk38y2mjemUMUc/HBW+HmH3NXMwOks8po6Iohh8JNhywUlLKN9MvB7"
-        state: absent
-  stewart2: 
-    comment: "Daniel Stewart"
-    home: /opt/stewart
-    keys: 
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhiDPE4S4K6AGJFRSIB5xVoIlKtgjVUVHK1WhT0hD/I3nZ3AFszqDXUz4eREDlPSfMsvNCuAd1Mxwg2vx1Udbzf0M5OH1DDgYyVeJXXB5/B2rpX7vm0A1Hxx17mMHg9OrCNKNn8B83g6IqAGM6P3VKHqnRQ9kLpPcki65gMx06R2dQ1Dh5kks2yOjyx7Mjut0rL9Ig/b9ysMMC1YjMupC8vb31Dhy8pVi1F/RT/7M6PwM4Kjh3fdzgqvQRxDrmky8kbXJj+TXU6pIM1mZtZyENddUCA0rDNtpi6yIaAR9aJkcPXxPpblkWjYAO++sukz88BKWt0Z+nLx9JUhwXtoW7"
-  vodaka2: 
-    comment: "Savvy Vodka"
-    keys: 
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2Pq3M7AgeBjmNII6HGsKd2uaXFIfaljpNg1Rf6y3iGP84wC82bMfZTSIhnzJ4qwHj7Bzn8oiMmqtyeGcmEwLXm5f7mk3lj9NmxUEfbuWsPoSX4VHIney0F2cjrYRAHua8vZ50OrqYvRaBNttx+pCsub/Kw/t91PQvz7s5ML12DfhlfbE5f/g+ZrKHBxsn6Vw0VqN1Cx5cecaN+9NbdwTV25/RVsXC6v9TQlIqWR+znt4ZVxUSCTAbGc51tmauoleZee2XBkAO7xmJ7zPQEndhErq/zm0euZGx1xGIjQ7dVBK8t1ah2UdBS4pSHgjhDulo0hr4gIubQ0FSV+8cWCNN"
-    uid: 5300
-    vpn: true
-  raki2:
-    state: "absent"
-    comment: "Yeni Raki"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvy3wrbh9hwSP0WrwXSFW4AujinW+xiDQn7RLJ8UcVZ+Yf4EmV6GTvjjJjIegIKjnH2xiRDjZ1qaSZzxW7/uyVxPrjhGAE8iPQAGcLEEcpg4IwlFpd3+7NgCKLdVHozH6z+h3G95otKQZLmKq9lzkfVyhDzTjU2qsnSQPitDrPY/tngN1gnZHQm2CUh4gamtOfxtPKlOqQ/t0iXJU48QfyN33XWr8M5/2FWP9jDyvxEjpCRW2Qu2+8uQONPOHMtkLW70G2+KVN90fkOXMnDotm+aY1OluUcXgrBakEctHNIWoKSUbcdOw1JkLY3Ojl11lIdXn267A1t70FaEXG8cIf"
-    uid: 5400
-    aws: true
-    aws_group: Admin
-  brad2:
-    comment: "Brad"

+ 0 - 10
roles/external/usermanage/test/application/group.yml

@@ -1,10 +0,0 @@
----
-- name         : Group (1)
-  hosts        : "{{ kitchen_hosts }}"
-  gather_facts : no
-  sudo         : True
-  connection   : "{{ kitchen_connection | default('local') }}"
-  vars_files   :
-                 - "group_var_group_db.yml"
-  roles        :
-                 - "ansible-usermanage"

+ 0 - 17
roles/external/usermanage/test/application/group_var_group_db.yml

@@ -1,17 +0,0 @@
----
-
-usermanage_groupsdb  :
-      - name         : "group1"
-        state        : "present"
-        gid          : "5000"
-        system       : "true"
-
-      - name         : "group2"
-        state        : "present"
-        gid          : "5001"
-        system       : "false"
-
-      - name         : "group3"
-
-      - name         : "group4"
-        state        : "absent"

+ 0 - 15
roles/external/usermanage/test/application/multi_source_files.yml

@@ -1,15 +0,0 @@
----
-- name         : Multi Sources files
-  hosts        : "{{ kitchen_hosts }}"
-  gather_facts : no
-  sudo         : True
-  connection   : "{{ kitchen_connection | default('local') }}"
-  vars_files   :
-                 - "group_var_group_db.yml"
-  vars         :
-                 usermanage_user_source_files:
-                    - path: "./user_source/mutli/yaml/"
-                    - path: "./user_source/mutli/databag"
-                      databag: true
-  roles        :
-                 - "ansible-usermanage"

+ 0 - 12
roles/external/usermanage/test/application/simple.yml

@@ -1,12 +0,0 @@
----
-- name         : Simple Mode (1)
-  hosts        : "{{ kitchen_hosts }}"
-  gather_facts : no
-  sudo         : True
-  connection   : "{{ kitchen_connection | default('local') }}"
-  vars         :
-                 usermanage_debug : true
-  vars_files   :
-                 - "simple_var_user_db.yml"
-  roles        :
-                 - "ansible-usermanage"

+ 0 - 36
roles/external/usermanage/test/application/simple_var_user_db.yml

@@ -1,36 +0,0 @@
---- 
-usermanage_usersdb: 
-  daniels: 
-    comment: "Jack daniels"
-    keys: 
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLql1khoXEH/pThpLSDwJNBIEHkjrBggjEvRCqCFYvE1Neavc6iuLSzjLdnj74LNrPEjY+xcjAcPmgwxo8+WKpLL7Iy8e9IGH3lwB05x9jfnw2H1ZRnZZxF+wV/ei/vfCmRyt2cqv+DLomg18RDTnyTk2pvSEvL0xkRn5QRbzxqbnB+9xmItTjdtq/ZDYRgFYn2ZPfokFyyr3KpwpK0gNcpFhCF94CvExKpu6SFPTv+ERnFvHEN9d8SlzwkyCP4yqrfOjFuVUuZf2FtAkDx0d4cXo0i7VUM/hOthUNFpmljZLhkxafPxwp50Q/xRe7MvDQMrEPGPZ/pubOwzqVmMWH"
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCxAqbTlltSFlRY+gQyAx3j0W+WDnahZYbECAXiwNqAHG7PP8GSEDVkfZTkJdlu9PoB/B3nW2R/Q3//IxUfzRsUnjUzl0WXbhz331n5bHtgJlg82MGqwbNjN0yMR/GB4pQKeExYOLKi/7jI/wkOAJ4X9Bv9skEK/mHAWWPrBf/5C5qWUOxVC1+he3iaU+LSbiL6uiNs8S49fiGno8tBkBFgth+9gqdCLRAFVe2dzJJK1nSQTffHCs12pJs2S3yBD9KkUQJO51tByP4qO3549iwLo8hQnqtFULMpL+NN5Muk1bFZ2jW+0Sri1bhVS58llZCuoENZsLf/+xejbfwJAk4h"
-        key_options: no-port-forwarding
-  gin: 
-    comment: "Gordons Gin"
-    keys: 
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCcoo+eU8+k7QYpKbZwOQwiMpeklQcmEyLTsJr0RLTeqsHkIh8rFWyMZURDZ5pgEGo3iXZD+dqM28agy2Pw68/V0wht/9n0PjmUVZgkWIas162w3vZrJENDi8wAo4ojQJf0lZf63K8AxoB12fF+QdR7jfTLrz2bCxv9XaHKm7nYGtRO0f8ETgvwpIS2jN0mPAD7qnCFvLtbaxd/UzsQS5M8Au42+9zdn78Atm7gtKY9uR5U1Jwrop8KipXf0wAtMo39Xc9P8hGbYGA1jkbcG2x1LI7G9L+PddxeZjpkW2Uv559YJDRjBJfJAfp6K4HGV5uXITSMVDY9KBYvepolrlul"
-    shell: /bin/false
-  rum: 
-    comment: "Pirates Grog Rum"
-    keys: 
-      - key: "ssh-rsa AAAAB3NzaC2EAA1ycAADAAAQABABAQCootXD63hexEQnbCmKGC7DjFSWxkqJ2neaC5S6POEdgwo7jQ60JWy0VCm5JS5d2ZNDQh+vi1wZ2cTr6n9X9bAkYhQ/eACmzYBjf8I8AXcqaigAOjRMLADU2qQfZmnRGyOLaGDI/EH52yBjeZHbgQdJOGrB07qgAu2facA2bd6kvI8eLwCx5yjqA+mInYEewRYrr5tUduGFdPhmyoKSGpaEeWWkLhafTj9eGRMSB3unBcMtux+LxXH4TfWgVBmWNVbr2Mcv+M6tYxix/iKniBLBUH/AfM/dTHlk38y2mjemUMUc/HBW+HmH3NXMwOks8po6Iohh8JNhywUlLKN9MvB7"
-        state: absent
-  stewart: 
-    comment: "Daniel Stewart"
-    home: /opt/stewart
-    keys: 
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhiDPE4S4K6AGJFRSIB5xVoIlKtgjVUVHK1WhT0hD/I3nZ3AFszqDXUz4eREDlPSfMsvNCuAd1Mxwg2vx1Udbzf0M5OH1DDgYyVeJXXB5/B2rpX7vm0A1Hxx17mMHg9OrCNKNn8B83g6IqAGM6P3VKHqnRQ9kLpPcki65gMx06R2dQ1Dh5kks2yOjyx7Mjut0rL9Ig/b9ysMMC1YjMupC8vb31Dhy8pVi1F/RT/7M6PwM4Kjh3fdzgqvQRxDrmky8kbXJj+TXU6pIM1mZtZyENddUCA0rDNtpi6yIaAR9aJkcPXxPpblkWjYAO++sukz88BKWt0Z+nLx9JUhwXtoW7"
-  vodaka: 
-    comment: "Savvy Vodka"
-    keys: 
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2Pq3M7AgeBjmNII6HGsKd2uaXFIfaljpNg1Rf6y3iGP84wC82bMfZTSIhnzJ4qwHj7Bzn8oiMmqtyeGcmEwLXm5f7mk3lj9NmxUEfbuWsPoSX4VHIney0F2cjrYRAHua8vZ50OrqYvRaBNttx+pCsub/Kw/t91PQvz7s5ML12DfhlfbE5f/g+ZrKHBxsn6Vw0VqN1Cx5cecaN+9NbdwTV25/RVsXC6v9TQlIqWR+znt4ZVxUSCTAbGc51tmauoleZee2XBkAO7xmJ7zPQEndhErq/zm0euZGx1xGIjQ7dVBK8t1ah2UdBS4pSHgjhDulo0hr4gIubQ0FSV+8cWCNN"
-    uid: 2300
-  raki:
-    state: "absent"
-    comment: "Yeni Raki"
-    keys:
-      - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvy3wrbh9hwSP0WrwXSFW4AujinW+xiDQn7RLJ8UcVZ+Yf4EmV6GTvjjJjIegIKjnH2xiRDjZ1qaSZzxW7/uyVxPrjhGAE8iPQAGcLEEcpg4IwlFpd3+7NgCKLdVHozH6z+h3G95otKQZLmKq9lzkfVyhDzTjU2qsnSQPitDrPY/tngN1gnZHQm2CUh4gamtOfxtPKlOqQ/t0iXJU48QfyN33XWr8M5/2FWP9jDyvxEjpCRW2Qu2+8uQONPOHMtkLW70G2+KVN90fkOXMnDotm+aY1OluUcXgrBakEctHNIWoKSUbcdOw1JkLY3Ojl11lIdXn267A1t70FaEXG8cIf"
-    uid: 2400
-  brad:
-    comment: "Brad"

+ 0 - 26
roles/external/usermanage/test/application/source_databag.yml

@@ -1,26 +0,0 @@
----
-- name         : Sources databag
-  hosts        : "{{ kitchen_hosts }}"
-  gather_facts : no
-  sudo         : True
-  connection   : "{{ kitchen_connection | default('local') }}"
-  vars_files   :
-                 - "group_var_group_db.yml"
-  vars         :
-                 usermanage_user_source_files   :
-                                                  - path: "./user_source/databag/"
-                                                    databag: true
-
-                 usermanage_debug               : true
-                 usermanage_usersdb:
-                  daniels:
-                     state : "absent"
-                     keys:
-                       - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLql1khoXEH/pThpLSDwJNBIEHkjrBggjEvRCqCFYvE1Neavc6iuLSzjLdnj74LNrPEjY+xcjAcPmgwxo8+WKpLL7Iy8e9IGH3lwB05x9jfnw2H1ZRnZZxF+wV/ei/vfCmRyt2cqv+DLomg18RDTnyTk2pvSEvL0xkRn5QRbzxqbnB+9xmItTjdtq/ZDYRgFYn2ZPfokFyyr3KpwpK0gNcpFhCF94CvExKpu6SFPTv+ERnFvHEN9d8SlzwkyCP4yqrfOjFuVUuZf2FtAkDx0d4cXo0i7VUM/hOthUNFpmljZLhkxafPxwp50Q/xRe7MvDQMrEPGPZ/pubOwzqVmMWH"
-
-                  whisky:
-                     state : "present"
-                     keys:
-                       - key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLql1khoXEH/pThpLSDwJNBIEHkjrBggjEvRCqCFYvE1Neavc6iuLSzjLdnj74LNrPEjY+xcjAcPmgwxo8+WKpLL7Iy8e9IGH3lwB05x9jfnw2H1ZRnZZxF+wV/ei/vfCmRyt2cqv+DLomg18RDTnyTk2pvSEvL0xkRn5QRbzxqbnB+9xmItTjdtq/ZDYRgFYn2ZPfokFyyr3KpwpK0gNcpFhCF94CvExKpu6SFPTv+ERnFvHEN9d8SlzwkyCP4yqrfOjFuVUuZf2FtAkDx0d4cXo0i7VUM/hOthUNFpmljZLhkxafPxwp50Q/xRe7MvDQMrEPGPZ/pubOwzqVmxxx"
-  roles        :
-                 - "ansible-usermanage"

+ 0 - 0
roles/external/usermanage/test/application/source_files.yml


Some files were not shown because too many files changed in this diff