An open API service indexing awesome lists of open source software.

https://github.com/k-candidate/tf-nfs


https://github.com/k-candidate/tf-nfs

Last synced: 13 days ago
JSON representation

Awesome Lists containing this project

README

          

# tf-nfs
NFS server provisioned by Terraform on libvirt KVM, user data run by cloud-init, and configuration made by Ansible.

## How to use
Provide variable values and apply Terraform.

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 1.10.0 |
| [libvirt](#requirement\_libvirt) | = 0.7.1 |

## Providers

No providers.

## Modules

| Name | Source | Version |
|------|--------|---------|
| [tf-module-kvm-vm](#module\_tf-module-kvm-vm) | git@github.com:k-candidate/tf-module-kvm-vm.git | v1.4.1 |

## Resources

No resources.

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [export\_dir\_permissions](#input\_export\_dir\_permissions) | Directory permissions for the share | `list(string)` |

[
"u=rwx,g=rwx,o=rwx",
"u=rwx,g=rwx,o=rwx"
]
| no |
| [image\_source](#input\_image\_source) | Local path or URL for the image | `string` | `"https://cloud-images.ubuntu.com/releases/noble/release/ubuntu-24.04-server-cloudimg-amd64.img"` | no |
| [network\_name](#input\_network\_name) | Name of the libvirt network where this machine will be provisioned | `string` | `"default"` | no |
| [nfs\_networks](#input\_nfs\_networks) | Networks allowed to access NFS | `list(string)` |
[
"10.10.10.0/255.255.255.0",
"10.10.10.0/255.255.255.0"
]
| no |
| [nfs\_options](#input\_nfs\_options) | Options for NFS shares | `list(string)` |
[
"(rw,sync,no_subtree_check)",
"(rw,sync,no_subtree_check)"
]
| no |
| [shares](#input\_shares) | NFS shares | `list(string)` |
[
"test1",
"test2"
]
| no |
| [ssh\_private\_key](#input\_ssh\_private\_key) | Private SSH key of the account | `string` | `"~/.ssh/id_ed25519"` | no |
| [ssh\_public\_key](#input\_ssh\_public\_key) | Public SSH key of the account | `string` | `"~/.ssh/id_ed25519.pub"` | no |
| [user\_data](#input\_user\_data) | File for cloud-init user data cfg | `string` | `"cloud-init/user-data.cfg"` | no |
| [vm\_hostname](#input\_vm\_hostname) | Hostname of the machine | `string` | `"nfs-server.domain.dom"` | no |
| [vm\_name](#input\_vm\_name) | Libvirt name or domain of the machine | `string` | `"nfs-server"` | no |
| [vm\_username](#input\_vm\_username) | Username of an account with SSH access | `string` | `"ubuntu"` | no |

## Outputs

No outputs.