Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Wolfgang Hotwagner committed Dec 1, 2023
0 parents commit 8c8db82
Show file tree
Hide file tree
Showing 5 changed files with 126 additions and 0 deletions.
38 changes: 38 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Ansible-Role: atb-ansible-nfsmount

Configures a nfsmount of an export


## Requirements

- Debian or Ubuntu

## Role Variables

```yaml
nfsmount_shares:
- dir: /media/share
host: 192.168.100.23
export: /media/nfs
```
## Example Playbook
```yaml
- hosts: localhost
roles:
- nfsmount
vars:
nfsmount_shares:
- dir: /media/share
host: 192.168.100.23
export: /media/nfs
```
## License
GPL-3.0
## Author
- Wolfgang Hotwagner
6 changes: 6 additions & 0 deletions defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
# defaults file for atb-ansible-nfsmount
nfsmount_shares:
- dir: /media/share
host: 192.168.100.23
export: /media/nfs
58 changes: 58 additions & 0 deletions meta/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
galaxy_info:
author: Wolfgang Hotwagner
description: Configures a nfsmount of an export
company: Austrian Institute of Technology

# If the issue tracker for your role is not on github, uncomment the
# next line and provide a value
# issue_tracker_url: http://example.com/issue/tracker

# Choose a valid license ID from https://spdx.org - some suggested licenses:
# - BSD-3-Clause (default)
# - MIT
# - GPL-2.0-or-later
# - GPL-3.0-only
# - Apache-2.0
# - CC-BY-4.0
license: GPL-3.0-only

min_ansible_version: 2.1

# If this a Container Enabled role, provide the minimum Ansible Container version.
# min_ansible_container_version:

#
# Provide a list of supported platforms, and for each platform a list of versions.
# If you don't wish to enumerate all versions for a particular platform, use 'all'.
# To view available platforms and versions (or releases), visit:
# https://galaxy.ansible.com/api/v1/platforms/
#
# platforms:
# - name: Fedora
# versions:
# - all
# - 25
# - name: SomePlatform
# versions:
# - all
# - 1.0
# - 7
# - 99.99

galaxy_tags:
- testbed
- aecid
- atb
- nfs
- fileshare
- share
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.

dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
# if you add dependencies to this list.
22 changes: 22 additions & 0 deletions tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
# tasks file for atb-ansible-nfsmount
- name: Install nfs-common
ansible.builtin.apt:
name: nfs-common
update_cache: true
install_recommends: true

- name: Add Share
block:
- name: create directory
ansible.builtin.file:
state: directory
path: "{{ item.dir }}"
with_items: "{{nfsmount_shares}}"
- name: create mount
ansible.builtin.lineinfile:
path: /etc/fstab
line: "{{item.host}}:{{item.export}} {{item.dir}} nfs4 {{item.opts|default('defaults')}} 0 0"
create: yes
with_items: "{{nfsmount_shares}}"

2 changes: 2 additions & 0 deletions vars/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
# vars file for atb-ansible-nfsmount

0 comments on commit 8c8db82

Please sign in to comment.