diff --git a/rust.yml b/.github/workflows/rust.yml similarity index 74% rename from rust.yml rename to .github/workflows/rust.yml index d7ddf67..caf6d7a 100644 --- a/rust.yml +++ b/.github/workflows/rust.yml @@ -16,6 +16,8 @@ jobs: steps: - uses: actions/checkout@v2 + - name: Install dependencies + run: sudo apt-get install gcc glusterfs-common libglusterfs-dev llvm-dev libclang-dev clang - name: Build run: cargo build --verbose - name: Run tests diff --git a/Cargo.toml b/Cargo.toml index 44d7a1a..6f64d89 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,6 +8,9 @@ documentation = "https://docs.rs/gfapi-sys" license = "MIT" edition = '2018' +[build-dependencies] +bindgen = "0.53.1" + [dependencies] errno = "^0.2" libc = "^0.2" diff --git a/scripts/install_gluster.sh b/scripts/install_gluster.sh new file mode 100644 index 0000000..788c558 --- /dev/null +++ b/scripts/install_gluster.sh @@ -0,0 +1,19 @@ +apt-get install glusterfs-server + +# Enable and start GlusterFS SystemD Unit +systemctl enable glusterd +systemctl start glusterd + +# Create directory for brick +mkdir -p /data/glusterfs/myvol1/brick1 + +# Create volume in gluster using parameter 'force' to skip verification to create from '/' +gluster volume create myvol1 $HOSTNAME:/data/glusterfs/myvol1/brick1/brick force + +# Start server +gluster volume start myvol1 + +# To mount on clients +mkdir -p /mnt/glusterfs +mount -t glusterfs $HOSTNAME:myvol1 /mnt/glusterfs + diff --git a/src/lib.rs b/src/lib.rs index 649bd00..bd48f8f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -3,9 +3,9 @@ //! tasks such as cloud storage and media streaming. //! This crate exposes the glfs module for low level interaction with the api. //! It also exposes a set of safe wrappers in the gluster module - #[macro_use] extern crate log; pub mod glfs; pub mod gluster; +