Skip to main content

Ansible framework using object-oriented configuration

Project description

Fabsible

Fabsible is ansible framework which is object-oriented.

Getting started

Installation ############

Create python virtual env

python3 -m venv venv
. venv/bin/activate

Install fabsible

pip install fabsible

Configuration

TODO: creating inventory file

Init new project

fabsible-init -i libvirt-inventory.py

Create provisioning tasks and place them in files/providers/<name>.yml. Ex.

cat files/providers/libvirt.yml
- name: libvirt
  debug:
    msg: "Jeste provisione libvirte"

- include_role:
    name: exphost.create_user
  vars:
    ansible_user: root
    ansible_password: super_password
  loop: "{{ users }}"
  loop_control:
    loop_var: user

Create users

cat group_vars/all/users_admins.yml
users_admins:
  - user: torgiren
    group: wheel
    password: "XXX" #Password hash
    home: "/home/torgiren"

and add ssh-keys to files/ssh-keys/<username>/<keyname>.pub

add become password (TODO: this should be per user not per project)

cat become.yml
ansible_become_pass: anotherpassword

Run

fabsible-play

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fabsible-0.1.1.tar.gz (6.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page