├── 2048 ├── README.md └── snapcraft.yaml ├── .gitignore ├── .travis.yml ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── atom ├── README.md ├── parts │ └── plugins │ │ └── x-grunt.py ├── snapcraft.yaml └── wrapper ├── baka-mplayer ├── README.md ├── setup │ └── gui │ │ ├── baka-mplayer.desktop │ │ └── baka.png └── snapcraft.yaml ├── ci-run ├── click-parser ├── README.md └── snapcraft.yaml ├── cloudfoundry-cli ├── README.md └── snapcraft.yaml ├── consul ├── README.md ├── consul-snap ├── snapcraft.yaml ├── tools │ └── .healthcheck-toolbox └── vagrant-snap-cluster │ └── Vagrantfile ├── cuberite ├── Cuberite.wrapper ├── README.md └── snapcraft.yaml ├── dcos-cli ├── README.md └── snapcraft.yaml ├── deis-workflow-cli ├── README.md └── snapcraft.yaml ├── dekko ├── README.md ├── dekko.launcher ├── snapcraft.yaml └── snappy-qt5.conf ├── docker-compose ├── README.md └── snapcraft.yaml ├── dosbox ├── README.md ├── setup │ └── gui │ │ ├── dosbox.desktop │ │ └── dosbox.png └── snapcraft.yaml ├── etcd ├── README.md ├── parts │ └── plugins │ │ └── x-etcd.py └── snapcraft.yaml ├── ffmpeg ├── README.md ├── ffmpeg └── snapcraft.yaml ├── galculator ├── README.md └── snapcraft.yaml ├── gitter-im ├── Makefile ├── README.md └── snapcraft.yaml ├── gogs ├── README.md ├── conf │ ├── app.ini │ └── launcher.sh ├── mysql │ ├── my.cnf │ ├── mysql.server │ └── start_mysql └── snapcraft.yaml ├── grive ├── README.md └── snapcraft.yaml ├── healthcheck-toolbox-example ├── README.md └── snapcraft.yaml ├── hellogl ├── CMakeLists.txt ├── README.md ├── hellogl.c ├── opengl-launch └── snapcraft.yaml ├── hellomako ├── README.md ├── bin │ └── hellomako └── snapcraft.yaml ├── heroku ├── README.md └── snapcraft.yaml ├── hexchat ├── README.md ├── setup │ └── gui │ │ ├── hexchat.desktop │ │ └── hexchat.png └── snapcraft.yaml ├── idea ├── README.md ├── parts │ └── plugins │ │ └── x-antIntellij.py └── snapcraft.yaml ├── imagemagick-edge ├── README.md └── snapcraft.yaml ├── imagemagick-stable ├── README.md └── snapcraft.yaml ├── jtiledownloader ├── README.md ├── launcher ├── setup │ └── gui │ │ ├── icon.png │ │ └── jtiledownloader.desktop └── snapcraft.yaml ├── kdenlive ├── setpath.sh ├── setup │ └── gui │ │ ├── icon.png │ │ └── kdenlive-devel.desktop └── snapcraft.yaml ├── keepassx ├── README.md └── snapcraft.yaml ├── kodi-stable ├── README.md ├── parts │ └── plugins │ │ └── x_kodiautotools.py ├── setup │ └── gui │ │ ├── kodi.desktop │ │ └── kodi.png ├── snapcraft.yaml ├── wrapper_kodi-standalone.sh └── wrapper_kodi.sh ├── kpcli ├── README.md ├── run.sh └── snapcraft.yaml ├── leafpad ├── README.md └── snapcraft.yaml ├── mesa-demos ├── README.md ├── demo.wrapper └── snapcraft.yaml ├── minetest ├── README.md ├── minetest └── snapcraft.yaml ├── mirageos ├── README.md ├── parts │ └── plugins │ │ └── x-mirage.py └── snapcraft.yaml ├── moon-buggy ├── README.md └── snapcraft.yaml ├── mpv ├── README.md ├── mpv ├── parts │ └── plugins │ │ └── x-waf.py ├── setup │ └── gui │ │ ├── mpv.desktop │ │ └── mpv.png └── snapcraft.yaml ├── openjdk-demo ├── FileChooserDemo.sh ├── README.md └── snapcraft.yaml ├── openttd ├── README.md ├── setup │ └── gui │ │ ├── openttd.desktop │ │ └── openttd.png └── snapcraft.yaml ├── plank ├── README.md ├── launcher ├── setup │ └── gui │ │ └── plank.desktop └── snapcraft.yaml ├── ps-mem ├── README.md └── snapcraft.yaml ├── qcomicbook ├── README.md ├── setup │ └── gui │ │ ├── qcomicbook.desktop │ │ └── qcomicbook.png └── snapcraft.yaml ├── qdriverstation ├── README.md ├── setup │ └── gui │ │ ├── icon.png │ │ └── qdriverstation.desktop └── snapcraft.yaml ├── qownnotes ├── README.md ├── setup │ └── gui │ │ ├── QOwnNotes.desktop │ │ └── QOwnNotes.png └── snapcraft.yaml ├── residualvm ├── README.md ├── setup │ └── gui │ │ ├── icon.svg │ │ └── residualvm.desktop └── snapcraft.yaml ├── ristretto ├── README.md └── snapcraft.yaml ├── scummvm ├── README.md └── snapcraft.yaml ├── shotwell ├── README.md ├── setup │ └── gui │ │ ├── shotwell.desktop │ │ └── shotwell.png ├── shotwell-launcher └── snapcraft.yaml ├── smplayer ├── README.md └── snapcraft.yaml ├── snap-template ├── README.md └── snapcraft.yaml ├── taskwarrior ├── README ├── meta │ └── gui │ │ └── taskwarrior.png ├── snapcraft.yaml └── taskwarrior.sh ├── testing ├── docker-lts │ ├── Dockerfile │ └── README.md └── docker-master │ ├── Dockerfile │ └── README.md ├── texworks ├── README.md ├── parts │ └── plugins │ │ └── x-texlive.py ├── setup │ └── gui │ │ ├── TeXworks.png │ │ └── texworks.desktop ├── snapcraft.yaml └── texworks-launcher ├── timewarrior ├── README └── snapcraft.yaml ├── tinyproxy ├── README.md ├── launcher.sh ├── setup │ └── gui │ │ └── icon.png └── snapcraft.yaml ├── tyrant-unleashed-optimizer ├── README.md ├── parts │ └── plugins │ │ └── toumakefixup.py └── snapcraft.yaml ├── ubuntu-clock-app ├── README.md ├── clock.wrapper ├── setup │ └── gui │ │ ├── icon.png │ │ └── ubuntu-clock-app.desktop ├── snapcraft.yaml └── snappy-qt5.conf ├── ubuntukylin-icon-theme ├── .gitignore ├── README.md ├── parts │ └── plugins │ │ └── copy_and_edit.py ├── snapcraft.yaml └── theme-launch ├── vault ├── README.md └── snapcraft.yaml ├── vlc ├── README.md ├── parts │ └── plugins │ │ └── x_vlcautotools.py ├── setup │ └── gui │ │ ├── vlc.desktop │ │ └── vlc.png └── snapcraft.yaml ├── wallpaperdownloader ├── README.md ├── scripts │ └── bin │ │ └── wallpaperdownloader.sh ├── setup │ └── gui │ │ ├── icon.png │ │ └── wallpaperdownloader.desktop └── snapcraft.yaml ├── youtube-dl ├── README.md └── snapcraft.yaml └── zsh ├── README.md └── snapcraft.yaml /.gitignore: -------------------------------------------------------------------------------- 1 | **/parts 2 | **/stage 3 | **/snap 4 | **/prime 5 | **/*.snap 6 | **/*.tar* 7 | .project 8 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: required 2 | services: 3 | - docker 4 | script: 5 | - ./ci-run 6 | 7 | notifications: 8 | webhooks: 9 | urls: 10 | - https://webhooks.gitter.im/e/2b865aa7d4feebce4431 11 | on_success: change # options: [always|never|change] default: always 12 | on_failure: always # options: [always|never|change] default: always 13 | on_start: never # options: [always|never|change] default: always 14 | -------------------------------------------------------------------------------- /2048/README.md: -------------------------------------------------------------------------------- 1 | # 2048 snap 2 | 3 | This project creates a working snap of 2048. 4 | 5 | To get this done, we need to do the following: 6 | - build from current git 7 | 8 | ## Current state 9 | 10 | Working features: 11 | - everything 12 | 13 | TODO: 14 | - slim down package size 15 | -------------------------------------------------------------------------------- /2048/snapcraft.yaml: -------------------------------------------------------------------------------- 1 | name: game-2048 2 | version: 1 3 | summary: 2048 game 4 | description: clone written in pure QML. No C++ wrappers needed. 5 | confinement: strict 6 | 7 | apps: 8 | game-2048: 9 | command: desktop-launch $SNAP/usr/lib/*/qt5/bin/qmlscene $SNAP/2048.qml 10 | plugs: [unity7, opengl, x11] 11 | 12 | parts: 13 | game-2048: 14 | plugin: dump 15 | source: https://github.com/MartinBriza/2048.qml 16 | source-type: git 17 | stage-packages: 18 | - qml-module-qtquick2 19 | - qmlscene 20 | stage: 21 | - -usr/share/pkgconfig 22 | after: [desktop-qt5] 23 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing to Snappy Playpen 2 | 3 | Snappy Playpen is a learning project, so we don't place too many restrictions 4 | on the projects that are added to it. 5 | 6 | ## Best practices 7 | 8 | For your project to be added, it is important that: 9 | 10 | - it builds by just running `snapcraft cleanbuild` in the directory 11 | - you add a `README.md` file to your directory which explains 12 | - what your project is about 13 | - what others can learn from it 14 | - what the level of completion is 15 | - what still needs to be done 16 | - you update the software table in the top-level `README.md` file and 17 | indicate with either `:white_check_mark:` (working) or `:red_circle:` (not 18 | working) what the status of your snap is 19 | 20 | Please note that we are going to consider removing a non-working snap from the 21 | repo if we can't get it to work after a month without updates. 22 | 23 | Use `snap-template` with our formatted `README.md` to kickstart your project. 24 | 25 | 26 | ## Pushing to GitHub 27 | 28 | If you haven't used GitHub yet, here's how you can go about getting started 29 | and contributing your fixes to Snappy Playpen: 30 | 31 | - [set up git](https://help.github.com/articles/set-up-git/) 32 | - [create your own fork](https://help.github.com/articles/fork-a-repo/) 33 | - [configure your fork for remote use](https://help.github.com/articles/configuring-a-remote-for-a-fork/) 34 | - [here's how to add a file](https://help.github.com/articles/adding-a-file-to-a-repository-from-the-command-line/) 35 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any person obtaining 2 | a copy of this software and associated documentation files (the 3 | "Software"), to deal in the Software without restriction, including 4 | without limitation the rights to use, copy, modify, merge, publish, 5 | distribute, sublicense, and/or sell copies of the Software, and to 6 | permit persons to whom the Software is furnished to do so, subject to 7 | the following conditions: 8 | . 9 | The above copyright notice and this permission notice shall be 10 | included in all copies or substantial portions of the Software. 11 | . 12 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 13 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 14 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 15 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 16 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 17 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 18 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ARCHIVED. Preserved for posterity, but these examples are no longer maintained here. Please take discussion to the [snapcraft forum](http://forum.snapcraft.io/). 2 | -------------------------------------------------------------------------------- /atom/README.md: -------------------------------------------------------------------------------- 1 | # Atom snap 2 | 3 | This project creates a working snap of Atom 4 | 5 | ## Current state 6 | 7 | Working features: 8 | 9 | * You can edit and work on projects with Atom editor 10 | 11 | Known issues: 12 | 13 | * Needs devmode 14 | * Menu isn't exported when running with wrapper scripts 15 | * Plugins aren't tested and probably don't work. 16 | 17 | -------------------------------------------------------------------------------- /atom/parts/plugins/x-grunt.py: -------------------------------------------------------------------------------- 1 | # -*- Mode:Python; indent-tabs-mode:nil; tab-width:4 -*- 2 | 3 | import os 4 | import snapcraft 5 | from snapcraft.plugins import nodejs 6 | 7 | class GruntPlugin(snapcraft.plugins.nodejs.NodePlugin): 8 | 9 | @classmethod 10 | def schema(cls): 11 | schema = super().schema() 12 | 13 | schema['properties']['gruntfile'] = { 14 | 'type': 'string', 15 | } 16 | 17 | # Inform Snapcraft of the properties associated with building. If these 18 | # change in the YAML Snapcraft will consider the build step dirty. 19 | schema['build-properties'].append('gruntfile') 20 | 21 | return schema 22 | 23 | def build(self): 24 | super().build() 25 | self.run([os.path.join(self.builddir,'script','bootstrap')]) # specific to atom 26 | if self.options.gruntfile: 27 | self.run(['npm', 'install', '-g', 'grunt-cli']) 28 | self.run([os.path.join(self.installdir, 'bin', 'grunt'), "--gruntfile", os.path.join(self.builddir, self.options.gruntfile)]) 29 | self.run([os.path.join(self.installdir, 'bin', 'grunt'), "--gruntfile", os.path.join(self.builddir, self.options.gruntfile), "install", "--install-dir", self.installdir]) 30 | 31 | -------------------------------------------------------------------------------- /atom/snapcraft.yaml: -------------------------------------------------------------------------------- 1 | name: atom 2 | version: "1.8.0" 3 | summary: Atom Text Editor 4 | description: Atom Text editor, from GitHub 5 | confinement: devmode 6 | 7 | apps: 8 | atom: 9 | command: bin/wrapper 10 | plugs: [home, x11, unity7, gsettings, opengl, pulseaudio, network] 11 | 12 | parts: 13 | atom: 14 | source: https://github.com/atom/atom/archive/v1.8.0.tar.gz 15 | plugin: grunt 16 | gruntfile: build/Gruntfile.coffee 17 | build-packages: [build-essential, git, libgnome-keyring-dev] 18 | stage-packages: 19 | - gconf-service 20 | - gconf2 21 | - git 22 | - gvfs-bin 23 | - libasound2 24 | - libcap2 25 | - libgcrypt20 26 | - libgtk2.0-0 27 | - libnotify4 28 | - libnss3 29 | - libudev1 30 | - libxtst6 31 | - python 32 | - xdg-utils 33 | - unity-gtk2-module 34 | atom-copy: 35 | source: . 36 | plugin: copy 37 | files: 38 | wrapper: bin/wrapper 39 | -------------------------------------------------------------------------------- /atom/wrapper: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | export FONTCONFIG_PATH=$SNAP/etc/fonts 3 | export FONTCONFIG_FILE=$SNAP/etc/fonts/fonts.conf 4 | export XDG_DATA_HOME=$SNAP/usr/share 5 | export LD_LIBRARY_PATH=$SNAP_LIBRARY_PATH:$SNAP/usr/lib/x86_64-linux-gnu/ 6 | exec "$SNAP/bin/atom" "$@" 7 | -------------------------------------------------------------------------------- /baka-mplayer/README.md: -------------------------------------------------------------------------------- 1 | # baka-mplayer 2 | 3 | This project creates a working snap of `baka-mplayer`, an mpv based media player. 4 | 5 | 6 | Working features: 7 | - generally works 8 | -------------------------------------------------------------------------------- /baka-mplayer/setup/gui/baka-mplayer.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Version=1.0 4 | Name=Baka-MPlayer 5 | Name[hr]=Baka MPlayer 6 | GenericName=Media player 7 | GenericName[hr]=Medijski reproduktor 8 | Comment=Baka MPlayer is a free and open source, cross-platform, **libmpv** based multimedia player. 9 | Comment[hr]=Baka MPlayer je slobodan i otvorenog kôda, višeplatformski, **libmpv** temeljen reproduktor. 10 | Icon=${SNAP}/meta/gui/baka.png 11 | Exec=baka-mplayer %u 12 | Terminal=false 13 | Categories=AudioVideo;Video; 14 | -------------------------------------------------------------------------------- /baka-mplayer/setup/gui/baka.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubuntu/snappy-playpen/5114359fbb297357634e397c78deb71de5d709e1/baka-mplayer/setup/gui/baka.png -------------------------------------------------------------------------------- /baka-mplayer/snapcraft.yaml: -------------------------------------------------------------------------------- 1 | name: baka-mplayer 2 | version: "2.0.4" 3 | grade: stable 4 | summary: The mpv based media player 5 | description: Baka MPlayer is a free and open source, cross-platform, libmpv based multimedia player. Its simple design reflects the idea for an uncluttered and enjoyable environment for watching tv shows. 6 | confinement: strict 7 | apps: 8 | baka-mplayer: 9 | command: desktop-launch $SNAP/usr/bin/baka-mplayer 10 | plugs: [network, unity7, x11, opengl, home, pulseaudio] 11 | 12 | parts: 13 | baka-mplayer: 14 | plugin: qmake 15 | qt-version: qt5 16 | source: https://github.com/u8sand/Baka-MPlayer.git 17 | source-branch: release 18 | options: 19 | - ./src 20 | - CONFIG+=release 21 | - CONFIG+=install_translations 22 | build-packages: 23 | - build-essential 24 | - libx11-dev 25 | - libice-dev 26 | - libmpv-dev 27 | - libqt5svg5-dev 28 | - libqt5x11extras5-dev 29 | - pkg-config 30 | - qtbase5-dev 31 | - qtdeclarative5-dev 32 | - qttools5-dev-tools 33 | stage-packages: 34 | - mpv 35 | - youtube-dl 36 | - fonts-noto 37 | after: [ desktop-qt5] 38 | -------------------------------------------------------------------------------- /ci-run: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | 4 | current_branch=`git rev-parse --abbrev-ref HEAD` 5 | 6 | projects_to_test=`find * -maxdepth 0 -type d` 7 | if [ "$current_branch" != "master" ]; then 8 | projects_to_test=`git diff --name-only master..$current_branch | sed -n 's#\([^/]*\).*#\1#p' | sort -u` 9 | fi 10 | 11 | root_dir=`pwd` 12 | return_code=0 13 | for dir in $projects_to_test; do 14 | # Don't include files in root, template and testing directories 15 | [ ! -d $dir ] && continue 16 | [ "$dir" = "snap-template" ] && continue 17 | [ "$dir" = "testing" ] && continue 18 | 19 | echo "Testing $dir" 20 | cd ${root_dir}/$dir 21 | docker run -v $(pwd):/snapcraft -t didrocks/snapcraft sh -c "cd /snapcraft && snapcraft update && snapcraft" 22 | ls *.snap 23 | if [ $? -ne 0 ]; then 24 | echo "FAILURE: No .snap file built" 25 | return_code=1 26 | fi 27 | echo "###############################################################################" 28 | done 29 | 30 | exit $return_code 31 | -------------------------------------------------------------------------------- /click-parser/README.md: -------------------------------------------------------------------------------- 1 | # click-parser snap 2 | 3 | This project creates a working snap of [click-parser](https://github.com/bhdouglass/click-parser). 4 | 5 | To get this done, we need to do the following: 6 | - install the current npm module 7 | 8 | ## Current state 9 | 10 | Working features: 11 | - Snap and Click parsing 12 | 13 | Known issues: 14 | - None yet 15 | -------------------------------------------------------------------------------- /click-parser/snapcraft.yaml: -------------------------------------------------------------------------------- 1 | name: click-parser 2 | version: "3.0.5" 3 | summary: Extract data from Ubuntu's click & snap packages 4 | description: Extract data from Ubuntu's click & snap packages 5 | confinement: strict 6 | 7 | apps: 8 | click-parser: 9 | command: bin/click-parser 10 | plugs: [home] 11 | 12 | parts: 13 | click-parser: 14 | plugin: nodejs 15 | node-packages: 16 | - click-parser 17 | build-packages: 18 | - python 19 | - build-essential 20 | - liblzma-dev 21 | -------------------------------------------------------------------------------- /cloudfoundry-cli/README.md: -------------------------------------------------------------------------------- 1 | # Cloud Foundry CLI snap 2 | 3 | This is a CLI go project for managing Cloud Foundry applications. 4 | There is a deb package, but it is not in the Ubuntu archive nor in a PPA. 5 | 6 | ## Current state 7 | 8 | Working features: 9 | - Testing in progress: https://gist.github.com/elopio/061584d5c5f4e3297104f34dec96d906 10 | 11 | Known issues: 12 | - Login prompts fail: https://bugs.launchpad.net/snappy/+bug/1612871 13 | -------------------------------------------------------------------------------- /cloudfoundry-cli/snapcraft.yaml: -------------------------------------------------------------------------------- 1 | name: cloudfoundry-cli 2 | version: v6.21.1 3 | summary: The official command line client for Cloud Foundry. 4 | description: | 5 | A tool to deploy and manage Cloud Foundry applications. 6 | confinement: strict 7 | 8 | apps: 9 | cf: 10 | command: bin/cli 11 | plugs: [network, network-bind] 12 | 13 | parts: 14 | cli: 15 | source: https://github.com/cloudfoundry/cli.git 16 | source-tag: "v6.21.1" 17 | plugin: go 18 | go-importpath: github.com/cloudfoundry/cli 19 | go-packages: [github.com/cloudfoundry/cli] 20 | build-packages: [g++, git] 21 | -------------------------------------------------------------------------------- /consul/README.md: -------------------------------------------------------------------------------- 1 | # consul snap 2 | 3 | This project creates a working snap of hashicorp's consul. 4 | This is a go project for discovering and configuring services. 5 | It is used a lot in docker deployments. It is in the yakkety archive, but not in 6 | xenial. 7 | 8 | ## Current state 9 | 10 | Working features: 11 | - The steps mentioned in https://www.consul.io/intro/getting-started/* 12 | 13 | ## Notes: 14 | 15 | You can use healthcheck-toolbox-example snap for adding some checkers utility 16 | like curl enablement. This one will be downloaded from the store, installed and 17 | connected automatically if no other snap on your system provides 18 | healthcheck-toolbox content interface on your system. 19 | 20 | If you want to add a ping health check, you need to connect to network-observe 21 | slot from the core snap. 22 | 23 | A vagrant file is always provided to follow the getting-started intro on 24 | a snap system, based on ubuntu: 25 | https://www.consul.io/intro/getting-started/join.html. 26 | -------------------------------------------------------------------------------- /consul/consul-snap: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Wrapper to direct datadir and config dir to writable paths by default. 3 | # This is still overridable (only last argument is taken) by the command 4 | # line user entry. 5 | # Handle special cases like --help . 6 | 7 | if [ $# -gt 0 ]; then 8 | commandoption="$1" 9 | shift 10 | fi 11 | 12 | if [ "$commandoption" = "--help" ] && [ $# -gt 0 ]; then 13 | subcommand="$1" 14 | shift 15 | fi 16 | 17 | # add tools to our PATH and links for health checkers 18 | if [ "$SNAP_ARCH" = "amd64" ]; then 19 | ARCH="x86_64-linux-gnu" 20 | elif [ "$SNAP_ARCH" = "armhf" ]; then 21 | ARCH="arm-linux-gnueabihf" 22 | else 23 | ARCH="$SNAP_ARCH-linux-gnu" 24 | fi 25 | BASE="$SNAP/tools" 26 | export PATH="$BASE/usr/sbin:$BASE/usr/bin:$BASE/sbin:$BASE/bin:$PATH" 27 | export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$BASE/usr/lib:$BASE/usr/lib/$ARCH" 28 | 29 | # start consul 30 | exec consul $commandoption $subcommand -data-dir $SNAP_USER_DATA/data -config-dir $SNAP_USER_DATA/config.d "$@" 31 | -------------------------------------------------------------------------------- /consul/snapcraft.yaml: -------------------------------------------------------------------------------- 1 | name: consul 2 | version: "0.7.1" 3 | summary: Consul is a tool for service discovery, monitoring and configuration 4 | description: | 5 | Consul is distributed, highly available, and extremely scalable. 6 | Consul provides service discovery, health checking, key/value storage and 7 | multi-datacenter. 8 | grade: stable 9 | confinement: strict 10 | 11 | apps: 12 | consul: 13 | command: consul-snap 14 | plugs: [network, network-bind, network-observe, tools] 15 | 16 | plugs: 17 | tools: 18 | interface: content 19 | content: healthcheck-toolbox 20 | target: tools 21 | default-provider: healthcheck-toolbox-example:toolbox 22 | 23 | parts: 24 | consul: 25 | source: https://github.com/hashicorp/consul.git 26 | plugin: go 27 | go-importpath: github.com/hashicorp/consul 28 | script: 29 | source: . 30 | plugin: dump 31 | snap: ["consul-snap", "tools"] 32 | -------------------------------------------------------------------------------- /consul/tools/.healthcheck-toolbox: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ubuntu/snappy-playpen/5114359fbb297357634e397c78deb71de5d709e1/consul/tools/.healthcheck-toolbox -------------------------------------------------------------------------------- /consul/vagrant-snap-cluster/Vagrantfile: -------------------------------------------------------------------------------- 1 | $script = <