Skip to content

Instantly share code, notes, and snippets.

@eyelove
Forked from mattzuba/03_s3fs.config
Last active August 29, 2015 14:22
Show Gist options
  • Save eyelove/420f38e593f1a42fca8d to your computer and use it in GitHub Desktop.
Save eyelove/420f38e593f1a42fca8d to your computer and use it in GitHub Desktop.

Revisions

  1. @mattzuba mattzuba created this gist Nov 24, 2014.
    58 changes: 58 additions & 0 deletions 03_s3fs.config
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,58 @@
    packages:
    yum:
    gcc: []
    libstdc++-devel: []
    gcc-c++: []
    fuse: []
    fuse-devel: []
    libcurl-devel: []
    libxml2-devel: []
    openssl-devel: []
    mailcap: []
    automake: []

    sources:
    /tmp: https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.78.zip

    files:
    "/etc/fuse.conf" :
    mode: "000644"
    owner: root
    group: root
    content: |
    # mount_max = 1000
    user_allow_other

    "/opt/elasticbeanstalk/hooks/appdeploy/pre/11_unmount_s3fs.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
    #!/usr/bin/env bash

    if mountpoint -q [/path/on/filesystem]; then
    fusermount -u [/path/on/filesystem]
    fi

    "/opt/elasticbeanstalk/hooks/appdeploy/enact/02_mount_s3fs.sh":
    mode: "000755"
    owner: root
    group: root
    content: |
    #!/usr/bin/env bash

    . /opt/elasticbeanstalk/support/envvars

    # Make sure it's mounted as the webapp user
    id=`id -u webapp`
    s3fs [your-bucket]:[/optional/path/in/bucket] [/path/on/filesystem] -o nonempty -o uid=$id -o gid=$id -o use_cache=/tmp -o allow_other

    commands:
    01_patch_s3fs:
    cwd: /tmp/s3fs-fuse-1.78/src
    command: "sed -i 's/AWSACCESSKEYID/AWS_ACCESS_KEY_ID/g;s/AWSSECRETACCESSKEY/AWS_SECRET_KEY/g' s3fs.cpp"

    02_install_s3fs:
    cwd: /tmp/s3fs-fuse-1.78
    test: "[ ! -x /usr/bin/s3fs ]"
    command: "autoreconf --install && export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig && ./configure --prefix=/usr && make && make install"