Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ngerakines/menu
https://github.com/ngerakines/menu
Last synced: 7 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/ngerakines/menu
- Owner: ngerakines
- License: mit
- Created: 2013-11-20T23:41:03.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2014-02-10T18:14:33.000Z (almost 11 years ago)
- Last Synced: 2024-11-09T09:44:25.789Z (2 months ago)
- Language: Go
- Size: 301 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# menu
Menu is minimalistic file format and command line utility to describe and interacting with pairings of applications and cookbooks.
# File Format
```json
{
"time":1385056233,
"artifacts":[
{
"id":"menu-webapp",
"location":"file:///var/artifacts/com/socklabs/menu-webapp/menu-webapp-1.0.0.war",
"version":"1.0.0"
}
],
"cookbooks":[
{
"location":"https://github.com/ngerakines/menu-webapp-cookbook"
}
],
"deploy": [
{
"id": "menu-webapp-tomcat",
"artifact": "menu-webapp",
"type": "tomcat"
}
]
}
```# Usage
To create a new menu item:
$ menu create --artifact-id=menu-webapp --artifact-version=1.0.0 --artifact-location=file:///var/artifacts/com/socklabs/menu-webapp/menu-webapp-1.0.0.war --cookbook=https://github.com/ngerakines/menu-webapp-cookbook
To describe a menu item:
$ menu show file:///var/releases/1385056233.menu
time: 1385056233
artifacts:
menu-webapp 1.0.0 file:///var/artifacts/com/socklabs/menu-webapp/menu-webapp-1.0.0.zip
cookbooks:
https://github.com/ngerakines/menu-webapp-cookbookTo list only artifacts or cookbooks for a specific menu item:
$ menu artifacts file:///var/releases/1385056233.menu
menu-webapp 1.0.0 file:///var/artifacts/com/socklabs/menu-webapp/menu-webapp-1.0.0.zip$ menu cookbooks file:///var/releases/1385056233.menu
https://github.com/ngerakines/menu-webapp-cookbookTo list all menu items for an artifact:
$ menu search --artifact-id=menu-webapp file:///var/releases/
file:///var/releases/1385056233.menuTo create a local-deploy script for a menu item:
$ menu local-deploy file:///var/releases/1385056233.menu
#!/bin/sh
MENU_BASE=`pwd`
# Clone and start cookbook 'https://github.com/ngerakines/menu-webapp-cookbook' master
git clone https://github.com/ngerakines/menu-webapp-cookbook e52223dd99ab5dadbab64e38871596b5027841ef
cd e52223dd99ab5dadbab64e38871596b5027841ef
vagrant up
# Get artifact 'file:///var/artifacts/com/socklabs/menu-webapp/menu-webapp-1.0.0.war'
cd $MENU_BASE
cp /var/artifacts/com/socklabs/menu-webapp/menu-webapp-1.0.0.war 35a19d45d918a4866a55437e323fa310f1d33650
# Deploy 'menu-webapp-tomcat' (tomcat)
curl --upload-file 35a19d45d918a4866a55437e323fa310f1d33650 "http://admin:password@localhost/manager/deploy?path=/&update=true"# License
Copyright (c) 2013,2014 Nick Gerakines , Chris Antenesse
This project and its contents are open source under the MIT license.