Compare commits
	
		
			3 Commits
		
	
	
		
			installer-
			...
			master
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e2e99a5c77 | |||
| 712e583183 | |||
| bb48c635e2 | 
							
								
								
									
										40
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										40
									
								
								README.md
									
									
									
									
									
								
							@ -19,7 +19,7 @@ Security Features
 | 
			
		||||
* disallows cookies, except for protected static assets
 | 
			
		||||
* api.* subdomain for apis
 | 
			
		||||
* assets.* subdomain for protected assets
 | 
			
		||||
* *must* sit behind a trusted https proxy (such as [Goldilocks](https://git.daplie.com/Daplie/goldilocks.js))
 | 
			
		||||
* *must* sit behind a trusted https proxy (such as [Goldilocks](https://git.coolaj86.com/coolaj86/goldilocks.js))
 | 
			
		||||
* HTTPS-only (checks for X-Forwarded-For)
 | 
			
		||||
* AES, RSA, and ECDSA encryption and signing
 | 
			
		||||
* Safe against CSRF, XSS, and SQL injection
 | 
			
		||||
@ -34,14 +34,14 @@ Application Features
 | 
			
		||||
 | 
			
		||||
* JSON-only expressjs APIs
 | 
			
		||||
* Capability-based permissions system for (oauth3-discoverable) packages such as
 | 
			
		||||
  * large file access (files@daplie.com)
 | 
			
		||||
  * database access (data@daplie.com)
 | 
			
		||||
  * scheduling (for background tasks, alerts, alarms, calendars, reminders, etc) (events@daplie.com)
 | 
			
		||||
  * payments (credit card) (payments@daplie.com)
 | 
			
		||||
  * email (email@daplie.com)
 | 
			
		||||
  * SMS (texting) (tel@daplie.com)
 | 
			
		||||
  * voice (calls and answering machine) (tel@daplie.com)
 | 
			
		||||
  * lamba-style functions (functions@daplie.com)
 | 
			
		||||
  * large file access (files@oauth3.org)
 | 
			
		||||
  * database access (data@oauth3.org)
 | 
			
		||||
  * scheduling (for background tasks, alerts, alarms, calendars, reminders, etc) (events@oauth3.org)
 | 
			
		||||
  * payments (credit card) (payments@oauth3.org)
 | 
			
		||||
  * email (email@oauth3.org)
 | 
			
		||||
  * SMS (texting) (tel@oauth3.org)
 | 
			
		||||
  * voice (calls and answering machine) (tel@oauth3.org)
 | 
			
		||||
  * lamba-style functions (functions@oauth3.org)
 | 
			
		||||
* Per-app, per-site, and per-user configurations
 | 
			
		||||
* Multi-Tentated Application Management
 | 
			
		||||
* Built-in OAuth2 & OAuth3 support
 | 
			
		||||
@ -54,7 +54,7 @@ Installation
 | 
			
		||||
We're still in a stage where the installation generally requires many manual steps.
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
curl https://git.daplie.com/Daplie/walnut.js/raw/v1.2/installer/get.sh | bash
 | 
			
		||||
curl https://git.coolaj86.com/coolaj86/walnut.js/raw/v1.2/installer/get.sh | bash
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
See [INSTALL.md](/INSTALL.md)
 | 
			
		||||
@ -131,7 +131,7 @@ Initialization
 | 
			
		||||
needs to know its primary domain
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
POST https://api.<domain.tld>/api/walnut@daplie.com/init
 | 
			
		||||
POST https://api.<domain.tld>/api/walnut@oauth3.org/init
 | 
			
		||||
 | 
			
		||||
{ "domain": "<domain.tld>" }
 | 
			
		||||
```
 | 
			
		||||
@ -153,18 +153,18 @@ api.<domain.tld>
 | 
			
		||||
assets.<domain.tld>
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
The domains can be setup through the Daplie Desktop App or with `daplie-tools`
 | 
			
		||||
The domains can be setup through the OAuth3 Desktop App or with `oauth3-tools`
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
# set device address and attach primary domain
 | 
			
		||||
daplie devices:attach -d foodevice -n example.com -a 127.0.0.1
 | 
			
		||||
oauth3 devices:attach -d foodevice -n example.com -a 127.0.0.1
 | 
			
		||||
 | 
			
		||||
# attach all other domains with same device/address
 | 
			
		||||
daplie devices:attach -d foodevice -n www.example.com
 | 
			
		||||
daplie devices:attach -d foodevice -n api.example.com
 | 
			
		||||
daplie devices:attach -d foodevice -n assets.example.com
 | 
			
		||||
daplie devices:attach -d foodevice -n cloud.example.com
 | 
			
		||||
daplie devices:attach -d foodevice -n api.cloud.example.com
 | 
			
		||||
oauth3 devices:attach -d foodevice -n www.example.com
 | 
			
		||||
oauth3 devices:attach -d foodevice -n api.example.com
 | 
			
		||||
oauth3 devices:attach -d foodevice -n assets.example.com
 | 
			
		||||
oauth3 devices:attach -d foodevice -n cloud.example.com
 | 
			
		||||
oauth3 devices:attach -d foodevice -n api.cloud.example.com
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Example `/etc/goldilocks/goldilocks.yml`:
 | 
			
		||||
@ -194,7 +194,7 @@ Resetting the Initialization
 | 
			
		||||
Once you run the app the initialization files will appear in these locations
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
/srv/walnut/var/walnut+config@daplie.com.sqlite3
 | 
			
		||||
/srv/walnut/var/walnut+config@oauth3.org.sqlite3
 | 
			
		||||
/srv/walnut/config/<domain.tld>/config.json
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
@ -290,7 +290,7 @@ The permissions:
 | 
			
		||||
```
 | 
			
		||||
/srv/walnut/var/
 | 
			
		||||
└── sites
 | 
			
		||||
    └── daplie.me
 | 
			
		||||
    └── example.com
 | 
			
		||||
          '''
 | 
			
		||||
          seed@example.com      # refers to /srv/walnut/packages/pages/seed@example.com
 | 
			
		||||
          '''
 | 
			
		||||
 | 
			
		||||
@ -7,7 +7,7 @@ my_ver=master
 | 
			
		||||
my_tmp=$(mktemp -d)
 | 
			
		||||
 | 
			
		||||
mkdir -p $my_tmp/opt/$my_name/lib/node_modules/$my_name
 | 
			
		||||
git clone https://git.daplie.com/Daplie/walnut.js.git $my_tmp/opt/$my_name/core
 | 
			
		||||
git clone https://git.coolaj86.com/coolaj86/walnut.js.git $my_tmp/opt/$my_name/core
 | 
			
		||||
 | 
			
		||||
echo "Installing to $my_tmp (will be moved after install)"
 | 
			
		||||
pushd $my_tmp/opt/$my_name/core
 | 
			
		||||
 | 
			
		||||
@ -5,7 +5,7 @@
 | 
			
		||||
#                             #
 | 
			
		||||
###############################
 | 
			
		||||
 | 
			
		||||
# See https://git.daplie.com/Daplie/daplie-snippets/blob/master/bash/http-get.sh
 | 
			
		||||
# See https://git.coolaj86.com/coolaj86/snippets/blob/master/bash/http-get.sh
 | 
			
		||||
 | 
			
		||||
_h_http_get=""
 | 
			
		||||
_h_http_opts=""
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,7 @@ set -u
 | 
			
		||||
### IMPORTANT ###
 | 
			
		||||
###  VERSION  ###
 | 
			
		||||
my_name=walnut
 | 
			
		||||
my_app_pkg_name=com.daplie.walnut.web
 | 
			
		||||
my_app_pkg_name=org.oauth3.walnut.web
 | 
			
		||||
my_app_ver="v1.2"
 | 
			
		||||
my_azp_oauth3_ver="v1.2"
 | 
			
		||||
# is the old version still needed in launchpad?
 | 
			
		||||
@ -30,7 +30,7 @@ my_app_ver="v1.2"
 | 
			
		||||
my_launchpad_ver="v1.2"
 | 
			
		||||
my_iss_oauth3_rest_ver="v1.2.0"
 | 
			
		||||
my_iss_oauth3_pages_ver="v1.2.1"
 | 
			
		||||
my_www_daplie_ver=v1.0.15
 | 
			
		||||
my_www_ppl_ver=v1.0.15
 | 
			
		||||
export NODE_VERSION="v8.9.0"
 | 
			
		||||
#################
 | 
			
		||||
export NODE_PATH=$my_tmp/opt/$my_name/lib/node_modules
 | 
			
		||||
@ -44,7 +44,7 @@ my_npm="$NPM_CONFIG_PREFIX/bin/npm"
 | 
			
		||||
# TODO un-hardcode core at al
 | 
			
		||||
#my_app_dist=$my_tmp/opt/$my_name/lib/node_modules/$my_name/dist
 | 
			
		||||
my_app_dist=$my_tmp/opt/$my_name/core/dist
 | 
			
		||||
installer_base="https://git.daplie.com/Daplie/goldilocks.js/raw/$my_app_ver"
 | 
			
		||||
installer_base="https://git.coolaj86.com/coolaj86/goldilocks.js/raw/$my_app_ver"
 | 
			
		||||
 | 
			
		||||
# Backwards compat
 | 
			
		||||
# some scripts still use the old names
 | 
			
		||||
@ -102,8 +102,8 @@ pushd $my_tmp/opt/$my_name/core
 | 
			
		||||
  $my_npm install
 | 
			
		||||
popd
 | 
			
		||||
 | 
			
		||||
git clone https://git.daplie.com/Daplie/walnut_launchpad.git $my_tmp/opt/$my_name/core/lib/walnut@daplie.com/setup
 | 
			
		||||
pushd $my_tmp/opt/$my_name/core/lib/walnut@daplie.com/setup
 | 
			
		||||
git clone https://git.coolaj86.com/coolaj86/walnut_launchpad.html.git $my_tmp/opt/$my_name/core/lib/walnut@oauth3.org/setup
 | 
			
		||||
pushd $my_tmp/opt/$my_name/core/lib/walnut@oauth3.org/setup
 | 
			
		||||
  git pull
 | 
			
		||||
  git checkout $my_launchpad_ver
 | 
			
		||||
 | 
			
		||||
@ -130,9 +130,9 @@ pushd $my_tmp/opt/$my_name/packages
 | 
			
		||||
    popd
 | 
			
		||||
  popd
 | 
			
		||||
 | 
			
		||||
  git clone https://git.daplie.com/Daplie/walnut_rest_www_daplie.com.git rest/www@daplie.com
 | 
			
		||||
  pushd rest/www@daplie.com
 | 
			
		||||
    git checkout $my_www_daplie_ver
 | 
			
		||||
  git clone https://git.coolaj86.com/coolaj86/walnut_rest_www_oauth3.org.js.git rest/www@oauth3.org
 | 
			
		||||
  pushd rest/www@oauth3.org
 | 
			
		||||
    git checkout $my_www_ppl_ver
 | 
			
		||||
    $my_npm install
 | 
			
		||||
  popd
 | 
			
		||||
popd
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								package.json
									
									
									
									
									
								
							@ -8,7 +8,7 @@
 | 
			
		||||
  },
 | 
			
		||||
  "repository": {
 | 
			
		||||
    "type": "git",
 | 
			
		||||
    "url": "https://github.com/Daplie/walnut.git"
 | 
			
		||||
    "url": "https://git.coolaj86.com/coolaj86/walnut.js.git"
 | 
			
		||||
  },
 | 
			
		||||
  "bin": {
 | 
			
		||||
    "walnut": "./bin/walnut.js"
 | 
			
		||||
@ -33,16 +33,16 @@
 | 
			
		||||
    "private",
 | 
			
		||||
    "public"
 | 
			
		||||
  ],
 | 
			
		||||
  "author": "AJ ONeal <aj@daplie.com> (https://daplie.com)",
 | 
			
		||||
  "author": "AJ ONeal <coolaj86@gmail.com> (https://coolaj86.com)",
 | 
			
		||||
  "license": "(MIT or Apache2)",
 | 
			
		||||
  "bugs": {
 | 
			
		||||
    "url": "https://github.com/Daplie/walnut/issues"
 | 
			
		||||
    "url": "https://git.coolaj86.com/coolaj86/walnut.js/issues"
 | 
			
		||||
  },
 | 
			
		||||
  "homepage": "https://github.com/Daplie/walnut",
 | 
			
		||||
  "homepage": "https://git.coolaj86.com/coolaj86/walnut.js",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "bluebird": "3.x",
 | 
			
		||||
    "body-parser": "1.x",
 | 
			
		||||
    "cluster-store": "git+https://git.daplie.com/Daplie/cluster-store.git#v2",
 | 
			
		||||
    "cluster-store": "^2.0.8",
 | 
			
		||||
    "connect": "3.x",
 | 
			
		||||
    "connect-cors": "0.5.x",
 | 
			
		||||
    "connect-recase": "^1.0.2",
 | 
			
		||||
@ -57,7 +57,7 @@
 | 
			
		||||
    "jwk-to-pem": "^1.2.6",
 | 
			
		||||
    "mailchimp-api-v3": "^1.7.0",
 | 
			
		||||
    "mandrill-api": "^1.0.45",
 | 
			
		||||
    "masterquest-sqlite3": "git+https://git.daplie.com/node/masterquest-sqlite3.git",
 | 
			
		||||
    "masterquest-sqlite3": "^1.1.1",
 | 
			
		||||
    "mkdirp": "^0.5.1",
 | 
			
		||||
    "multiparty": "^4.1.3",
 | 
			
		||||
    "nodemailer": "^1.4.0",
 | 
			
		||||
@ -67,8 +67,14 @@
 | 
			
		||||
    "request": "^2.81.0",
 | 
			
		||||
    "scmp": "^2.0.0",
 | 
			
		||||
    "serve-static": "1.x",
 | 
			
		||||
    "sqlite3-cluster": "git+https://git.daplie.com/coolaj86/sqlite3-cluster.git#v2",
 | 
			
		||||
    "sqlite3-cluster": "^2.1.2",
 | 
			
		||||
    "stripe": "^4.22.0",
 | 
			
		||||
    "twilio": "1.x"
 | 
			
		||||
  },
 | 
			
		||||
  "gitDependencies": {
 | 
			
		||||
    "cluster-store": "git+https://git.coolaj86.com/coolaj86/cluster-store.git#v2",
 | 
			
		||||
    "masterquest-sqlite3": "git+https://git.coolaj86.com/coolaj86/masterquest-sqlite3.git",
 | 
			
		||||
    "oauth3.js": "git+https://git.oauth3.org/OAuth3/oauth3.js.git#v1.2",
 | 
			
		||||
    "sqlite3-cluster": "git+https://git.coolaj86.com/coolaj86/sqlite3-cluster.git#v2"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user