From 51d00685aa571e49529265f3da9f84829229e17a Mon Sep 17 00:00:00 2001 From: James Gibson Date: Fri, 9 Aug 2019 23:54:07 -0600 Subject: [PATCH 1/7] ignore .vscode --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 3dceb177..aba0abcf 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ coverage tests/ssh/ .nyc_output/ tests/validate-tmp +.history +.cache/ \ No newline at end of file From 583423ba76bf560869fcc9937199e7b9cb670c22 Mon Sep 17 00:00:00 2001 From: James Gibson Date: Fri, 9 Aug 2019 23:56:41 -0600 Subject: [PATCH 2/7] add remote image functionality --- npm-shrinkwrap.json | 538 ++++++++++++++++++- src/plugins/meteor/assets/templates/start.sh | 9 +- src/plugins/meteor/validate.js | 1 + 3 files changed, 540 insertions(+), 8 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index da59158f..ab89b4ad 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "mup", - "version": "1.4.4", + "version": "1.4.6", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1495,6 +1495,7 @@ "requires": { "anymatch": "^1.3.0", "async-each": "^1.0.0", + "fsevents": "^1.0.0", "glob-parent": "^2.0.0", "inherits": "^2.0.1", "is-binary-path": "^1.0.0", @@ -2572,6 +2573,535 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, + "fsevents": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz", + "integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==", + "dev": true, + "optional": true, + "requires": { + "nan": "^2.12.1", + "node-pre-gyp": "^0.12.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "debug": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.3.5", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "needle": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "debug": "^4.1.0", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.12.0", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "optional": true + }, + "npm-packlist": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "rc": { + "version": "1.2.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.0", + "bundled": true, + "dev": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "optional": true + }, + "tar": { + "version": "4.4.8", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.4", + "minizlib": "^1.1.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "3.0.3", + "bundled": true, + "dev": true + } + } + }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -4192,9 +4722,9 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" }, "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", + "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==", "dev": true, "optional": true }, diff --git a/src/plugins/meteor/assets/templates/start.sh b/src/plugins/meteor/assets/templates/start.sh index 237a539f..4b1b8b2e 100644 --- a/src/plugins/meteor/assets/templates/start.sh +++ b/src/plugins/meteor/assets/templates/start.sh @@ -10,7 +10,8 @@ BIND=<%= bind %> NGINX_PROXY_VERSION=latest LETS_ENCRYPT_VERSION=latest APP_IMAGE=mup-<%= appName.toLowerCase() %> -IMAGE=$APP_IMAGE:latest +IMAGE=<% if(docker.remoteImage){ %><%= docker.remoteImage %> + <% } else { %>$APP_IMAGE:latest <% } %> VOLUME="--volume=$BUNDLE_PATH:/bundle" LOCAL_IMAGE=false @@ -52,8 +53,8 @@ sudo docker network disconnect bridge -f $APPNAME-nginx-proxy # We don't need to fail the deployment because of a docker hub downtime if [ $LOCAL_IMAGE == "false" ]; then set +e - sudo docker pull <%= docker.image %> - echo "Pulled <%= docker.image %>" + sudo docker pull $IMAGE + echo "Pulled "$IMAGE set -e else @@ -83,7 +84,7 @@ sudo docker run \ <% } %> \ --name=$APPNAME \ $IMAGE -echo "Ran <%= docker.image %>" +echo "Ran" $IMAGE sleep 15s <% if(typeof sslConfig === "object") { %> diff --git a/src/plugins/meteor/validate.js b/src/plugins/meteor/validate.js index ee3edbe7..41e31749 100644 --- a/src/plugins/meteor/validate.js +++ b/src/plugins/meteor/validate.js @@ -23,6 +23,7 @@ const schema = joi.object().keys({ image: joi.string().trim(), imagePort: joi.number(), imageFrontendServer: joi.string(), + remoteImage: joi.string(), args: joi.array().items(joi.string()), bind: joi.string().trim(), prepareBundle: joi.bool(), From 8f34871288984545c43f4633fb682e79d9893470 Mon Sep 17 00:00:00 2001 From: James Gibson Date: Mon, 12 Aug 2019 10:05:03 -0600 Subject: [PATCH 3/7] 1.4.7 --- npm-shrinkwrap.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index ab89b4ad..cfc37622 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "mup", - "version": "1.4.6", + "version": "1.4.7", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 8b2891b1..22ce285c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mup", - "version": "1.4.6", + "version": "1.4.7", "description": "Production Quality Meteor Deployments", "main": "lib/index.js", "repository": { From 4d0bf5611d4eb08b8cd3638f8125fcf84cb03c52 Mon Sep 17 00:00:00 2001 From: James Gibson Date: Mon, 12 Aug 2019 16:45:39 -0600 Subject: [PATCH 4/7] check for remoteImage on local --- src/plugins/meteor/assets/templates/start.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/plugins/meteor/assets/templates/start.sh b/src/plugins/meteor/assets/templates/start.sh index 4b1b8b2e..41c661a3 100644 --- a/src/plugins/meteor/assets/templates/start.sh +++ b/src/plugins/meteor/assets/templates/start.sh @@ -15,9 +15,8 @@ IMAGE=<% if(docker.remoteImage){ %><%= docker.remoteImage %> VOLUME="--volume=$BUNDLE_PATH:/bundle" LOCAL_IMAGE=false -sudo docker image inspect $IMAGE >/dev/null || IMAGE=<%= docker.image %> - -if [ $IMAGE == $APP_IMAGE:latest ]; then +# sudo docker image inspect $IMAGE >/dev/null || IMAGE=<%= docker.image %> +if sudo docker image inspect $IMAGE >/dev/null; then VOLUME="" LOCAL_IMAGE=true fi From 262ce09545a0e8e7887f5f6ddbf5a7c1a74d514d Mon Sep 17 00:00:00 2001 From: James Gibson Date: Wed, 21 Aug 2019 10:30:40 -0600 Subject: [PATCH 5/7] add registry --- .npmrc | 1 + package.json | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 .npmrc diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..d751d01f --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +registry=https://npm.pkg.github.com/ \ No newline at end of file diff --git a/package.json b/package.json index 22ce285c..4ee6fc75 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,10 @@ "main": "lib/index.js", "repository": { "type": "git", - "url": "git+https://github.com/zodern/meteor-up.git" + "url": "git://github.com/nudger-labs/meteor-up.git" + }, + "publishConfig": { + "registry": "https://npm.pkg.github.com/" }, "keywords": [ "meteor", From d9d4851622decc3809e9543dd05ab3f5e21d20c0 Mon Sep 17 00:00:00 2001 From: James Gibson Date: Wed, 21 Aug 2019 10:30:45 -0600 Subject: [PATCH 6/7] 1.4.8 --- npm-shrinkwrap.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index cfc37622..a4336227 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "mup", - "version": "1.4.7", + "version": "1.4.8", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 4ee6fc75..8778bb68 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mup", - "version": "1.4.7", + "version": "1.4.8", "description": "Production Quality Meteor Deployments", "main": "lib/index.js", "repository": { From 6ed4dadc006b6965eea1b415fd998614eb057ed9 Mon Sep 17 00:00:00 2001 From: James Gibson Date: Wed, 21 Aug 2019 10:57:19 -0600 Subject: [PATCH 7/7] update registry for publishing --- .npmrc | 2 +- npm-shrinkwrap.json | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.npmrc b/.npmrc index d751d01f..0cdf8af5 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1 @@ -registry=https://npm.pkg.github.com/ \ No newline at end of file +@nudger-labs:registry=https://npm.pkg.github.com/ \ No newline at end of file diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index a4336227..774c4180 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,5 +1,5 @@ { - "name": "mup", + "name": "@nudger-labs/mup", "version": "1.4.8", "lockfileVersion": 1, "requires": true, diff --git a/package.json b/package.json index 8778bb68..a3cb7c13 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "mup", + "name": "@nudger-labs/mup", "version": "1.4.8", "description": "Production Quality Meteor Deployments", "main": "lib/index.js",