{
"name" : "Hummingbird",
"version" : "1.0",
"installed": {
"wp-cli" : {
"name" : "wp",
"version" : "1.2.3",
"type" : "command",
"commands": {
"run" : "wp",
"version" : "wp --version"
"version_raw" : "echo ${$(wp --version):10:6}"
}
},
"jq" : {
"type" : "command",
"commands": {
"run" : "jq",
"version" : "jq -v"
}
},
"nginx" : {
"type" : "service",
"commands": {
"start" : "sudo service nginx start"
"restart" : "sudo service nginx restart"
"stop" : "sudo service nginx stop"
"version" : "nginx -v"
}
},
"redis" : {},
"memcached" : {},
"jq" : {},
"python" : {},
"ruby" : {},
"boxx-cli" : {}
}
}
Use this issue to track discussions about API Resource namespace.
Base
api.pressboxx.localTop Level / Root
/projects/config/release/defaults/terminal/packages/services/hostsProjects
GET /projects- Returns list of projectsPOST /projects- Create a new projecthostname={hostname}?)GET /projects/{hostname}- Returns project infoPUT /projects/{hostname}- Update project infoapplication/x-www-form-urlencoded?)PUT /projects/{hostname}/status- Archive/Unarchive a projectarchivedoractivePUT /projects/{hostname}/{whatever}- Make appropriate changesPATCH /projects/{hostname}- Archive/Unarchive a projectstatus=archivedorstatus=active?)PATCH /projects/{hostname}- Make appropriate changeswhatever={new_value}?)DELETE /projects/{hostname}- Deletes a projectConfig
GET /config- Returns configuration info (default:application/json)PUT /config- Update configuration infoGET /config/ip- Returns IP address of PressBoxx (default:text/plain)PUT /config/ip- Updates IP address of PressBoxxGET /config/projects/path- Returns path used for projects (On Mac, probably~/Sites)PUT /config/projects/path- Updates path used for projectsGET /config/access/ips- Returns JSON array of IPs to allow access (default:???)PUT /config/access/ips- Update list of IP addressesGET /config/access/macs- Returns JSON array of MACs to allow access (default:???)PUT /config/access/macs- Update list of MAC addressesRelease
GET /release- JSON object of Release infoGET /release/name- Name of PressBox release (e.g. "Hummingbird" or "Mustang (Ford)")GET /release/version- Semver Numbered version of PressBox releaseGET /release/installed/release/installed/{installed_item}/release/installed/{installed_item}/name- Name of installed item/release/installed/{installed_item}/type- Type of item:commandorservice/release/installed/{installed_item}/version- Version of installed item/release/installed/{installed_item}/website- URL to describe installed item/release/installed/{installed_item}/commands- Object with properties in JSON/release/installed/{installed_item}/commands/{usage}- Command line to runTHE BELOW STILL NEEDS TO BE FLESHED OUT
Defaults
/defaultsServices
For all services, not just the services installed on Release.
/servicesPackages
/packages/packages/{namespace}/{package_name}Terminal
Used to set the versions for command line usage, e.g. what version will running
phpuse; 5.6, 7.0, etc?/terminal/terminal/{command}