https://github.com/k-candidate/tf-nfs
https://github.com/k-candidate/tf-nfs
Last synced: 13 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/k-candidate/tf-nfs
- Owner: k-candidate
- Created: 2025-01-09T20:19:17.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-19T15:58:05.000Z (12 months ago)
- Last Synced: 2025-01-21T06:12:24.366Z (12 months ago)
- Language: HCL
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.