merge
This commit is contained in:
commit
e2e99a5c77
40
README.md
40
README.md
|
@ -19,7 +19,7 @@ Security Features
|
||||||
* disallows cookies, except for protected static assets
|
* disallows cookies, except for protected static assets
|
||||||
* api.* subdomain for apis
|
* api.* subdomain for apis
|
||||||
* assets.* subdomain for protected assets
|
* 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)
|
* HTTPS-only (checks for X-Forwarded-For)
|
||||||
* AES, RSA, and ECDSA encryption and signing
|
* AES, RSA, and ECDSA encryption and signing
|
||||||
* Safe against CSRF, XSS, and SQL injection
|
* Safe against CSRF, XSS, and SQL injection
|
||||||
|
@ -34,14 +34,14 @@ Application Features
|
||||||
|
|
||||||
* JSON-only expressjs APIs
|
* JSON-only expressjs APIs
|
||||||
* Capability-based permissions system for (oauth3-discoverable) packages such as
|
* Capability-based permissions system for (oauth3-discoverable) packages such as
|
||||||
* large file access (files@daplie.com)
|
* large file access (files@oauth3.org)
|
||||||
* database access (data@daplie.com)
|
* database access (data@oauth3.org)
|
||||||
* scheduling (for background tasks, alerts, alarms, calendars, reminders, etc) (events@daplie.com)
|
* scheduling (for background tasks, alerts, alarms, calendars, reminders, etc) (events@oauth3.org)
|
||||||
* payments (credit card) (payments@daplie.com)
|
* payments (credit card) (payments@oauth3.org)
|
||||||
* email (email@daplie.com)
|
* email (email@oauth3.org)
|
||||||
* SMS (texting) (tel@daplie.com)
|
* SMS (texting) (tel@oauth3.org)
|
||||||
* voice (calls and answering machine) (tel@daplie.com)
|
* voice (calls and answering machine) (tel@oauth3.org)
|
||||||
* lamba-style functions (functions@daplie.com)
|
* lamba-style functions (functions@oauth3.org)
|
||||||
* Per-app, per-site, and per-user configurations
|
* Per-app, per-site, and per-user configurations
|
||||||
* Multi-Tentated Application Management
|
* Multi-Tentated Application Management
|
||||||
* Built-in OAuth2 & OAuth3 support
|
* Built-in OAuth2 & OAuth3 support
|
||||||
|
@ -54,7 +54,7 @@ Installation
|
||||||
We're still in a stage where the installation generally requires many manual steps.
|
We're still in a stage where the installation generally requires many manual steps.
|
||||||
|
|
||||||
```bash
|
```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)
|
See [INSTALL.md](/INSTALL.md)
|
||||||
|
@ -131,7 +131,7 @@ Initialization
|
||||||
needs to know its primary domain
|
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>" }
|
{ "domain": "<domain.tld>" }
|
||||||
```
|
```
|
||||||
|
@ -153,18 +153,18 @@ api.<domain.tld>
|
||||||
assets.<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
|
```bash
|
||||||
# set device address and attach primary domain
|
# 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
|
# attach all other domains with same device/address
|
||||||
daplie devices:attach -d foodevice -n www.example.com
|
oauth3 devices:attach -d foodevice -n www.example.com
|
||||||
daplie devices:attach -d foodevice -n api.example.com
|
oauth3 devices:attach -d foodevice -n api.example.com
|
||||||
daplie devices:attach -d foodevice -n assets.example.com
|
oauth3 devices:attach -d foodevice -n assets.example.com
|
||||||
daplie devices:attach -d foodevice -n cloud.example.com
|
oauth3 devices:attach -d foodevice -n cloud.example.com
|
||||||
daplie devices:attach -d foodevice -n api.cloud.example.com
|
oauth3 devices:attach -d foodevice -n api.cloud.example.com
|
||||||
```
|
```
|
||||||
|
|
||||||
Example `/etc/goldilocks/goldilocks.yml`:
|
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
|
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
|
/srv/walnut/config/<domain.tld>/config.json
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -290,7 +290,7 @@ The permissions:
|
||||||
```
|
```
|
||||||
/srv/walnut/var/
|
/srv/walnut/var/
|
||||||
└── sites
|
└── sites
|
||||||
└── daplie.me
|
└── example.com
|
||||||
'''
|
'''
|
||||||
seed@example.com # refers to /srv/walnut/packages/pages/seed@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)
|
my_tmp=$(mktemp -d)
|
||||||
|
|
||||||
mkdir -p $my_tmp/opt/$my_name/lib/node_modules/$my_name
|
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)"
|
echo "Installing to $my_tmp (will be moved after install)"
|
||||||
pushd $my_tmp/opt/$my_name/core
|
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_get=""
|
||||||
_h_http_opts=""
|
_h_http_opts=""
|
||||||
|
|
|
@ -6,9 +6,11 @@ set -u
|
||||||
### IMPORTANT ###
|
### IMPORTANT ###
|
||||||
### VERSION ###
|
### VERSION ###
|
||||||
my_name=walnut
|
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_app_ver="v1.2"
|
||||||
my_azp_oauth3_ver="v1.2"
|
my_azp_oauth3_ver="v1.2"
|
||||||
|
# is the old version still needed in launchpad?
|
||||||
|
#my_azp_oauth3_ver="v1.1.3"
|
||||||
export NODE_VERSION="v8.9.0"
|
export NODE_VERSION="v8.9.0"
|
||||||
|
|
||||||
if [ -z "${my_tmp-}" ]; then
|
if [ -z "${my_tmp-}" ]; then
|
||||||
|
@ -24,12 +26,11 @@ fi
|
||||||
### IMPORTANT ###
|
### IMPORTANT ###
|
||||||
### VERSION ###
|
### VERSION ###
|
||||||
#my_app_ver="v1.1"
|
#my_app_ver="v1.1"
|
||||||
my_app_ver="installer-v2"
|
my_app_ver="v1.2"
|
||||||
my_launchpad_ver="v1.2"
|
my_launchpad_ver="v1.2"
|
||||||
my_azp_oauth3_ver="v1.1.3"
|
|
||||||
my_iss_oauth3_rest_ver="v1.2.0"
|
my_iss_oauth3_rest_ver="v1.2.0"
|
||||||
my_iss_oauth3_pages_ver="v1.2.1"
|
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_VERSION="v8.9.0"
|
||||||
#################
|
#################
|
||||||
export NODE_PATH=$my_tmp/opt/$my_name/lib/node_modules
|
export NODE_PATH=$my_tmp/opt/$my_name/lib/node_modules
|
||||||
|
@ -43,7 +44,7 @@ my_npm="$NPM_CONFIG_PREFIX/bin/npm"
|
||||||
# TODO un-hardcode core at al
|
# 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/lib/node_modules/$my_name/dist
|
||||||
my_app_dist=$my_tmp/opt/$my_name/core/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
|
# Backwards compat
|
||||||
# some scripts still use the old names
|
# some scripts still use the old names
|
||||||
|
@ -101,25 +102,25 @@ pushd $my_tmp/opt/$my_name/core
|
||||||
$my_npm install
|
$my_npm install
|
||||||
popd
|
popd
|
||||||
|
|
||||||
git clone https://git.daplie.com/Daplie/walnut_launchpad.git $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@daplie.com/setup
|
pushd $my_tmp/opt/$my_name/core/lib/walnut@oauth3.org/setup
|
||||||
git pull
|
git pull
|
||||||
git checkout $my_launchpad_ver
|
git checkout $my_launchpad_ver
|
||||||
|
|
||||||
git clone https://git.daplie.com/OAuth3/oauth3.js.git ./assets/oauth3.org
|
git clone https://git.oauth3.org/OAuth3/oauth3.js.git ./assets/oauth3.org
|
||||||
pushd assets/oauth3.org
|
pushd assets/oauth3.org
|
||||||
git checkout $my_azp_oauth3_ver
|
git checkout $my_azp_oauth3_ver
|
||||||
popd
|
popd
|
||||||
popd
|
popd
|
||||||
|
|
||||||
pushd $my_tmp/opt/$my_name/packages
|
pushd $my_tmp/opt/$my_name/packages
|
||||||
git clone https://git.daplie.com/OAuth3/issuer_oauth3.org.git rest/issuer@oauth3.org
|
git clone https://git.oauth3.org/OAuth3/issuer.rest.walnut.js.git rest/issuer@oauth3.org
|
||||||
pushd rest/issuer@oauth3.org/
|
pushd rest/issuer@oauth3.org/
|
||||||
git checkout $my_iss_oauth3_rest_ver
|
git checkout $my_iss_oauth3_rest_ver
|
||||||
$my_npm install
|
$my_npm install
|
||||||
popd
|
popd
|
||||||
|
|
||||||
git clone https://git.daplie.com/OAuth3/org.oauth3.git pages/issuer@oauth3.org
|
git clone https://git.oauth3.org/OAuth3/issuer.html.git pages/issuer@oauth3.org
|
||||||
pushd pages/issuer@oauth3.org
|
pushd pages/issuer@oauth3.org
|
||||||
git checkout $my_iss_oauth3_pages_ver
|
git checkout $my_iss_oauth3_pages_ver
|
||||||
bash ./install.sh
|
bash ./install.sh
|
||||||
|
@ -129,9 +130,9 @@ pushd $my_tmp/opt/$my_name/packages
|
||||||
popd
|
popd
|
||||||
popd
|
popd
|
||||||
|
|
||||||
git clone https://git.daplie.com/Daplie/walnut_rest_www_daplie.com.git rest/www@daplie.com
|
git clone https://git.coolaj86.com/coolaj86/walnut_rest_www_oauth3.org.js.git rest/www@oauth3.org
|
||||||
pushd rest/www@daplie.com
|
pushd rest/www@oauth3.org
|
||||||
git checkout $my_www_daplie_ver
|
git checkout $my_www_ppl_ver
|
||||||
$my_npm install
|
$my_npm install
|
||||||
popd
|
popd
|
||||||
popd
|
popd
|
||||||
|
|
22
package.json
22
package.json
|
@ -8,7 +8,7 @@
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Daplie/walnut.git"
|
"url": "https://git.coolaj86.com/coolaj86/walnut.js.git"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"walnut": "./bin/walnut.js"
|
"walnut": "./bin/walnut.js"
|
||||||
|
@ -33,16 +33,16 @@
|
||||||
"private",
|
"private",
|
||||||
"public"
|
"public"
|
||||||
],
|
],
|
||||||
"author": "AJ ONeal <aj@daplie.com> (https://daplie.com)",
|
"author": "AJ ONeal <coolaj86@gmail.com> (https://coolaj86.com)",
|
||||||
"license": "(MIT or Apache2)",
|
"license": "(MIT or Apache2)",
|
||||||
"bugs": {
|
"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": {
|
"dependencies": {
|
||||||
"bluebird": "3.x",
|
"bluebird": "3.x",
|
||||||
"body-parser": "1.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": "3.x",
|
||||||
"connect-cors": "0.5.x",
|
"connect-cors": "0.5.x",
|
||||||
"connect-recase": "^1.0.2",
|
"connect-recase": "^1.0.2",
|
||||||
|
@ -57,18 +57,24 @@
|
||||||
"jwk-to-pem": "^1.2.6",
|
"jwk-to-pem": "^1.2.6",
|
||||||
"mailchimp-api-v3": "^1.7.0",
|
"mailchimp-api-v3": "^1.7.0",
|
||||||
"mandrill-api": "^1.0.45",
|
"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",
|
"mkdirp": "^0.5.1",
|
||||||
"multiparty": "^4.1.3",
|
"multiparty": "^4.1.3",
|
||||||
"nodemailer": "^1.4.0",
|
"nodemailer": "^1.4.0",
|
||||||
"nodemailer-mailgun-transport": "1.x",
|
"nodemailer-mailgun-transport": "1.x",
|
||||||
"oauth3.js": "git+https://git.daplie.com/OAuth3/oauth3.js.git",
|
"oauth3.js": "git+https://git.oauth3.org/OAuth3/oauth3.js.git#v1.2",
|
||||||
"recase": "^1.0.4",
|
"recase": "^1.0.4",
|
||||||
"request": "^2.81.0",
|
"request": "^2.81.0",
|
||||||
"scmp": "^2.0.0",
|
"scmp": "^2.0.0",
|
||||||
"serve-static": "1.x",
|
"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",
|
"stripe": "^4.22.0",
|
||||||
"twilio": "1.x"
|
"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…
Reference in New Issue