From a9ca9527d827537ce6f8fb07343fecfdeef725b4 Mon Sep 17 00:00:00 2001
From: baudneo <86508179+baudneo@users.noreply.github.com>
Date: Mon, 10 Oct 2022 16:48:31 -0600
Subject: [PATCH] not working - add PROXY to stream hosts. migration and db fix
script
---
.../20220209144645_proxy_protocol.js | 44 -----------
.../20221011000001_stream_proxy_protocol.js | 79 +++++++++++++++++++
.../22021009153423_proxy_protocol.js | 50 ------------
.../22021010135303_stream_proxy_protocol.js | 49 ------------
frontend/js/app/nginx/stream/form.ejs | 4 +-
scripts/npm_db_fix | 10 +++
6 files changed, 91 insertions(+), 145 deletions(-)
delete mode 100644 backend/migrations/20220209144645_proxy_protocol.js
create mode 100644 backend/migrations/20221011000001_stream_proxy_protocol.js
delete mode 100644 backend/migrations/22021009153423_proxy_protocol.js
delete mode 100644 backend/migrations/22021010135303_stream_proxy_protocol.js
create mode 100755 scripts/npm_db_fix
diff --git a/backend/migrations/20220209144645_proxy_protocol.js b/backend/migrations/20220209144645_proxy_protocol.js
deleted file mode 100644
index 13100ce0..00000000
--- a/backend/migrations/20220209144645_proxy_protocol.js
+++ /dev/null
@@ -1,44 +0,0 @@
-const migrate_name = 'proxy_protocol';
-const logger = require('../logger').migrate;
-
-/**
- * Migrate
- *
- * @see http://knexjs.org/#Schema
- *
- * @param {Object} knex
- * @param {Promise} Promise
- * @returns {Promise}
- */
-exports.up = function (knex/*, Promise*/) {
- logger.info('[' + migrate_name + '] Migrating Up...');
-
- return knex.schema.table('proxy_host', function (proxy_host) {
- proxy_host.integer('enable_proxy_protocol').notNull().unsigned().defaultTo(0);
- proxy_host.string('load_balancer_ip').notNull().defaultTo('');
- })
- .then(() => {
- logger.info('[' + migrate_name + '] proxy_host Table altered');
- });
-
-};
-
-/**
- * Undo Migrate
- *
- * @param {Object} knex
- * @param {Promise} Promise
- * @returns {Promise}
- */
-exports.down = function (knex/*, Promise*/) {
- return knex.schema.table('proxy_host', (proxy_host) => {
- proxy_host.dropColumn('enable_proxy_protocol');
- proxy_host.dropColumn('load_balancer_ip');
- })
- .then(function () {
- logger.info('[' + migrate_name + '] MIGRATING DOWN proxy_host Table altered');
- });
-
- // logger.warn('[' + migrate_name + '] You can\'t migrate down this one.');
- // return Promise.resolve(true);
-};
diff --git a/backend/migrations/20221011000001_stream_proxy_protocol.js b/backend/migrations/20221011000001_stream_proxy_protocol.js
new file mode 100644
index 00000000..122ddb17
--- /dev/null
+++ b/backend/migrations/20221011000001_stream_proxy_protocol.js
@@ -0,0 +1,79 @@
+const migrate_name = 'stream_proxy_protocol';
+const logger = require('../logger').migrate;
+
+/**
+ * Migrate
+ *
+ * @see http://knexjs.org/#Schema
+ *
+ * @param {Object} knex
+ * @param {Promise} Promise
+ * @returns {Promise}
+ */
+exports.up = function (knex/*, Promise*/) {
+ knex.schema.table('stream', function (stream) {
+ stream.dropColumn('stream_access_proxy_protocol');
+ })
+ .then(() => {
+ logger.info('[' + migrate_name + '] stream Table altered - ERRANT Column fixed!');
+ }).catch((err) => {
+ logger.error('[' + migrate_name + '] stream Table error while removing errant column: ' + err);
+ });
+
+ logger.info('[' + migrate_name + '] Migrating PROXY_HOST Table Up...');
+ knex.schema.table('proxy_host', function (proxy_host) {
+ proxy_host.integer('enable_proxy_protocol').notNull().unsigned().defaultTo(0);
+ })
+ .then(() => {
+ logger.info('[' + migrate_name + '] proxy_host Table altered - "enable_proxy_protocol" added');
+ }).catch((err) => {
+ logger.error('[' + migrate_name + '] proxy_host Table error migrating up: ' + err);
+ });
+ knex.schema.table('proxy_host', function (proxy_host) {
+ proxy_host.string('load_balancer_ip').notNull().defaultTo('');
+ })
+ .then(() => {
+ logger.info('[' + migrate_name + '] proxy_host Table altered - "load_balancer_ip" added');
+ }).catch((err) => {
+ logger.error('[' + migrate_name + '] proxy_host Table error migrating up: ' + err);
+ });
+
+ logger.info('[' + migrate_name + '] Migrating STREAM Table Up...');
+ knex.schema.table('stream', function (stream) {
+ stream.integer('stream_allow_proxy_protocol').notNull().unsigned().defaultTo(0);
+ })
+ .then(() => {
+ logger.info('[' + migrate_name + '] stream Table altered - PROXY protocol added');
+ }).catch((err) => {
+ logger.error('[' + migrate_name + '] stream Table error migrating up: ' + err);
+ });
+ knex.schema.table('stream', function (stream) {
+ stream.integer('stream_enable_proxy_protocol').notNull().unsigned().defaultTo(0);
+ })
+ .then(() => {
+ logger.info('[' + migrate_name + '] stream Table altered - PROXY protocol added');
+ }).catch((err) => {
+ logger.error('[' + migrate_name + '] stream Table error migrating up: ' + err);
+ });
+ knex.schema.table('stream', function (stream) {
+ stream.integer('stream_load_balancer_ip').notNull().unsigned().defaultTo('');
+ })
+ .then(() => {
+ logger.info('[' + migrate_name + '] stream Table altered - PROXY protocol added');
+ }).catch((err) => {
+ logger.error('[' + migrate_name + '] stream Table error migrating up: ' + err);
+ });
+ return Promise.resolve(true);
+};
+
+/**
+ * Undo Migrate
+ *
+ * @param {Object} knex
+ * @param {Promise} Promise
+ * @returns {Promise}
+ */
+exports.down = function (knex, Promise) {
+ logger.warn('[' + migrate_name + '] You can\'t migrate down this one.');
+ return Promise.resolve(true);
+};
\ No newline at end of file
diff --git a/backend/migrations/22021009153423_proxy_protocol.js b/backend/migrations/22021009153423_proxy_protocol.js
deleted file mode 100644
index b82e0711..00000000
--- a/backend/migrations/22021009153423_proxy_protocol.js
+++ /dev/null
@@ -1,50 +0,0 @@
-const migrate_name = 'proxy_protocol';
-const logger = require('../logger').migrate;
-
-/**
- * Migrate
- *
- * @see http://knexjs.org/#Schema
- *
- * @param {Object} knex
- * @param {Promise} Promise
- * @returns {Promise}
- */
-exports.up = function (knex/*, Promise*/) {
- logger.info('[' + migrate_name + '] Migrating Up...');
- let ret = knex.schema.table('proxy_host', function (proxy_host) {
- proxy_host.integer('enable_proxy_protocol').notNull().unsigned().defaultTo(0);
- proxy_host.string('load_balancer_ip').notNull().defaultTo('');
- })
- .then(() => {
- logger.info('[' + migrate_name + '] proxy_host Table altered - PROXY protocol added');
- }).catch((err) => {
- logger.error('[' + migrate_name + '] Error migrating up: ' + err);
- ret = Promise.resolve(true);
- });
- if (!ret) {
- logger.error('[' + migrate_name + '] ERROR MIGRATING UP');
- ret = Promise.resolve(true);
- }
- return ret;
-};
-
-/**
- * Undo Migrate
- *
- * @param {Object} knex
- * @param {Promise} Promise
- * @returns {Promise}
- */
-exports.down = function (knex/*, Promise*/) {
- return knex.schema.table('proxy_host', (proxy_host) => {
- proxy_host.dropColumn('enable_proxy_protocol');
- proxy_host.dropColumn('load_balancer_ip');
- })
- .then(function () {
- logger.info('[' + migrate_name + '] MIGRATING DOWN proxy_host Table altered - PROXY protocol removed');
- });
-
- // logger.warn('[' + migrate_name + '] You can\'t migrate down this one.');
- // return Promise.resolve(true);
-};
diff --git a/backend/migrations/22021010135303_stream_proxy_protocol.js b/backend/migrations/22021010135303_stream_proxy_protocol.js
deleted file mode 100644
index 4f102a2d..00000000
--- a/backend/migrations/22021010135303_stream_proxy_protocol.js
+++ /dev/null
@@ -1,49 +0,0 @@
-const migrate_name = 'stream_proxy_protocol';
-const logger = require('../logger').migrate;
-
-/**
- * Migrate
- *
- * @see http://knexjs.org/#Schema
- *
- * @param {Object} knex
- * @param {Promise} Promise
- * @returns {Promise}
- */
-exports.up = function (knex/*, Promise*/) {
- logger.info('[' + migrate_name + '] Migrating Up...');
- let ret = knex.schema.table('stream', function (stream) {
- stream.integer('stream_enable_proxy_protocol').notNull().unsigned().defaultTo(0);
- stream.integer('stream_access_proxy_protocol').notNull().unsigned().defaultTo(0);
- stream.string('stream_load_balancer_ip').notNull().defaultTo('');
- })
- .then(() => {
- logger.info('[' + migrate_name + '] stream Table altered - PROXY protocol added');
- }).catch((err) => {
- logger.error('[' + migrate_name + '] Error migrating up: ' + err);
- });
- if (!ret) {
- logger.error('[' + migrate_name + '] ERROR MIGRATING UP');
- }
-};
-
-/**
- * Undo Migrate
- *
- * @param {Object} knex
- * @param {Promise} Promise
- * @returns {Promise}
- */
-exports.down = function (knex/*, Promise*/) {
- return knex.schema.table('stream', (stream) => {
- stream.dropColumn('stream_enable_proxy_protocol');
- stream.dropColumn('stream_access_proxy_protocol');
- stream.dropColumn('stream_load_balancer_ip');
- })
- .then(function () {
- logger.info('[' + migrate_name + '] MIGRATING DOWN stream Table altered - PROXY protocol removed');
- });
-
- // logger.warn('[' + migrate_name + '] You can\'t migrate down this one.');
- // return Promise.resolve(true);
-};
\ No newline at end of file
diff --git a/frontend/js/app/nginx/stream/form.ejs b/frontend/js/app/nginx/stream/form.ejs
index ab669b79..1a512a63 100644
--- a/frontend/js/app/nginx/stream/form.ejs
+++ b/frontend/js/app/nginx/stream/form.ejs
@@ -47,7 +47,7 @@
@@ -56,7 +56,7 @@
diff --git a/scripts/npm_db_fix b/scripts/npm_db_fix
new file mode 100755
index 00000000..fc80f8d1
--- /dev/null
+++ b/scripts/npm_db_fix
@@ -0,0 +1,10 @@
+#!/usr/bin/env sh
+log() {
+ echo -e "[$(basename "$0")]> $*"
+}
+ log "Executing SQL migration fixes"
+ mysql -u root -p"${MYSQL_ROOT_PASSWORD}" -D "${MYSQL_DATABASE}" -e "DELETE from migrations where name = '20220209144645_proxy_protocol.js';"
+ mysql -u root -p"${MYSQL_ROOT_PASSWORD}" -D "${MYSQL_DATABASE}" -e "DELETE from migrations where name = '22021009153423_proxy_protocol.js';"
+ mysql -u root -p"${MYSQL_ROOT_PASSWORD}" -D "${MYSQL_DATABASE}" -e "DELETE from migrations where name = '22021010135303_stream_proxy_protocol.js';"
+ mysql -u root -p"${MYSQL_ROOT_PASSWORD}" -D "${MYSQL_DATABASE}" -e "DELETE from migrations where name = '22021010135304_stream_proxy_protocol.js';"
+ mysql -u root -p"${MYSQL_ROOT_PASSWORD}" -D "${MYSQL_DATABASE}" -e "DELETE from migrations where name = '20221010135304_stream_proxy_protocol.js';"