Skip to content

Commit

Permalink
Allow to specify user and group owner for volumes (#7)
Browse files Browse the repository at this point in the history
* Allow to specify user and group owner for volumes

* Updated README

* Updated version in the README

Co-authored-by: filiphaftek <[email protected]>
  • Loading branch information
filiphaftek and filiphaftek authored Mar 18, 2021
1 parent a70d6d4 commit 0bada4f
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 1 deletion.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ This module is meant for use with Terraform 0.12. If you haven't upgraded and ne
- configurable subnet masks
- configurable disk sizes and types
- configure which network tags will be allowed to access
- option to specify user and/or group ownership for the volumes


## 2. Usage:
Expand All @@ -29,7 +30,7 @@ define cluster module, the example setup can look like::

```hcl
module "cluster" {
source = "github.com/erento/terraform-google-glusterfs?ref=2.0.0"
source = "github.com/erento/terraform-google-glusterfs?ref=2.1.0"
server_prefix = "glusterfs-server"
data_disk_prefix = "glusterfs-brick"
subnet_mask = "10.0.0.0/24"
Expand Down
6 changes: 6 additions & 0 deletions files/glusterfs_provision_server.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,12 @@ if [[ $HOSTNAME =~ -0$ ]]; then
for volume_name in ${volume_names}; do
if [[ -z $(sudo gluster volume list | grep $volume_name) ]]; then
sudo gluster volume create $volume_name replica ${replicas_number} $(for peer in $CLUSTER_SIZE; do echo -n "${server_prefix}-$peer:/data/brick1/$volume_name "; done) force
if [ ! -z "${user}" ]; then
sudo gluster volume set $volume_name storage.owner-uid `id -u ${user}`
fi
if [ ! -z "${group}" ]; then
sudo gluster volume set $volume_name storage.owner-gid `id -u ${group}`
fi
sudo gluster volume start $volume_name
fi
done
Expand Down
2 changes: 2 additions & 0 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,8 @@ data "template_file" "provision_script" {
cluster_size = var.cluster_size
server_prefix = var.server_prefix
volume_names = join(" ", var.volume_names)
group = var.group
user = var.user
replicas_number = var.replicas_number
}
}
Expand Down
10 changes: 10 additions & 0 deletions variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -122,3 +122,13 @@ variable "vm_dns_setting" {
EOF

}

variable "user" {
description = "User ownership of the volumes"
default = ""
}

variable "group" {
description = "Group ownership of the volumes"
default = ""
}

0 comments on commit 0bada4f

Please sign in to comment.