feat(chalice): assist endpoint key

feat(chalice): smr endpoint key
feat(assist): endpoint key
feat(sourcemap-reader): endpoint key
This commit is contained in:
Taha Yassine Kraiem 2022-09-19 11:48:50 +01:00
parent 7b6ba7744b
commit b211a3eab9
11 changed files with 63 additions and 46 deletions

View file

@ -7,6 +7,7 @@ from starlette.exceptions import HTTPException
from os import access, R_OK
ASSIST_KEY = config("ASSIST_KEY", default=config("S3_KEY"))
ASSIST_URL = config("ASSIST_URL") % ASSIST_KEY
SESSION_PROJECTION_COLS = """s.project_id,
s.session_id::text AS session_id,
s.user_uuid,
@ -48,7 +49,7 @@ def get_live_sessions_ws(project_id, body: schemas.LiveSessionsSearchPayloadSche
def __get_live_sessions_ws(project_id, data):
project_key = projects.get_project_key(project_id)
try:
connected_peers = requests.post(config("ASSIST_URL") + config("assist") % ASSIST_KEY + f"/{project_key}",
connected_peers = requests.post(ASSIST_URL + config("assist") + f"/{project_key}",
json=data, timeout=config("assistTimeout", cast=int, default=5))
if connected_peers.status_code != 200:
print("!! issue with the peer-server")
@ -79,9 +80,8 @@ def __get_live_sessions_ws(project_id, data):
def get_live_session_by_id(project_id, session_id):
project_key = projects.get_project_key(project_id)
try:
connected_peers = requests.get(
config("ASSIST_URL") + config("assist") % ASSIST_KEY + f"/{project_key}/{session_id}",
timeout=config("assistTimeout", cast=int, default=5))
connected_peers = requests.get(ASSIST_URL + config("assist") + f"/{project_key}/{session_id}",
timeout=config("assistTimeout", cast=int, default=5))
if connected_peers.status_code != 200:
print("!! issue with the peer-server")
print(connected_peers.text)
@ -109,9 +109,8 @@ def is_live(project_id, session_id, project_key=None):
if project_key is None:
project_key = projects.get_project_key(project_id)
try:
connected_peers = requests.get(
config("ASSIST_URL") + config("assistList") % ASSIST_KEY + f"/{project_key}/{session_id}",
timeout=config("assistTimeout", cast=int, default=5))
connected_peers = requests.get(ASSIST_URL + config("assistList") + f"/{project_key}/{session_id}",
timeout=config("assistTimeout", cast=int, default=5))
if connected_peers.status_code != 200:
print("!! issue with the peer-server")
print(connected_peers.text)
@ -139,7 +138,7 @@ def autocomplete(project_id, q: str, key: str = None):
params["key"] = key
try:
results = requests.get(
config("ASSIST_URL") + config("assistList") % ASSIST_KEY + f"/{project_key}/autocomplete",
ASSIST_URL + config("assistList") + f"/{project_key}/autocomplete",
params=params, timeout=config("assistTimeout", cast=int, default=5))
if results.status_code != 200:
print("!! issue with the peer-server")

View file

@ -2,6 +2,14 @@ import requests
from decouple import config
SMR_URL = config("sourcemaps_reader")
if '%s' in SMR_URL:
if config("SMR_KEY", default=None) is not None:
SMR_URL = SMR_URL % config("SMR_KEY")
else:
SMR_URL = SMR_URL % "smr"
def get_original_trace(key, positions):
payload = {
@ -16,8 +24,7 @@ def get_original_trace(key, positions):
if len(config('S3_HOST', default="")) > 0:
payload["S3_HOST"] = config('S3_HOST')
try:
r = requests.post(config("sourcemaps_reader"), json=payload,
timeout=config("sourcemapTimeout", cast=int, default=5))
r = requests.post(SMR_URL, json=payload, timeout=config("sourcemapTimeout", cast=int, default=5))
if r.status_code != 200:
print(f"Issue getting sourcemap status_code:{r.status_code}")
return None

View file

@ -26,9 +26,9 @@ jwt_algorithm=HS512
jwt_exp_delta_seconds=2592000
jwt_issuer=openreplay-default-foss
jwt_secret="SET A RANDOM STRING HERE"
ASSIST_URL=http://assist-openreplay.app.svc.cluster.local:9001
assist=/assist/%s/sockets-live
assistList=/assist/%s/sockets-list
ASSIST_URL=http://assist-openreplay.app.svc.cluster.local:9001/assist/%s
assist=/sockets-live
assistList=/sockets-list
pg_dbname=postgres
pg_host=postgresql.db.svc.cluster.local
pg_password=asayerPostgres
@ -45,7 +45,7 @@ sentryURL=
sessions_bucket=mobs
sessions_region=us-east-1
sourcemaps_bucket=sourcemaps
sourcemaps_reader=http://127.0.0.1:9000/sourcemaps
sourcemaps_reader=http://127.0.0.1:9000/sourcemaps/%s
stage=default-foss
version_number=1.4.0
FS_DIR=/mnt/efs

View file

@ -37,9 +37,9 @@ jwt_algorithm=HS512
jwt_exp_delta_seconds=2592000
jwt_issuer=openreplay-default-ee
jwt_secret="SET A RANDOM STRING HERE"
ASSIST_URL=http://assist-openreplay.app.svc.cluster.local:9001
assist=/assist/%s/sockets-live
assistList=/assist/%s/sockets-list
ASSIST_URL=http://assist-openreplay.app.svc.cluster.local:9001/assist/%s
assist=/sockets-live
assistList=/sockets-list
pg_dbname=postgres
pg_host=postgresql.db.svc.cluster.local
pg_password=asayerPostgres
@ -56,7 +56,7 @@ sentryURL=
sessions_bucket=mobs
sessions_region=us-east-1
sourcemaps_bucket=sourcemaps
sourcemaps_reader=http://127.0.0.1:9000/sourcemaps
sourcemaps_reader=http://127.0.0.1:9000/sourcemaps/%s
stage=default-ee
version_number=1.0.0
FS_DIR=/mnt/efs

View file

@ -10,22 +10,23 @@ if (process.env.redis === "true") {
const HOST = process.env.LISTEN_HOST || '0.0.0.0';
const PORT = process.env.LISTEN_PORT || 9001;
const P_KEY = process.env.ASSIST_KEY || process.env.S3_KEY;
let debug = process.env.debug === "1" || false;
const PREFIX = process.env.prefix || `/assist`
let debug = process.env.debug === "1";
const PREFIX = process.env.PREFIX || process.env.prefix || `/assist`
if (process.env.uws !== "true") {
let wsapp = express();
wsapp.use(express.json());
wsapp.use(express.urlencoded({extended: true}));
wsapp.use(request_logger("[wsapp]"));
wsapp.get([PREFIX, `${PREFIX}/`], (req, res) => {
wsapp.get([PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => {
res.statusCode = 200;
res.end("ok!");
}
);
wsapp.use(`/heapdump/${process.env.S3_KEY}`, dumps.router);
wsapp.use(`${PREFIX}/${process.env.S3_KEY}`, socket.wsRouter);
wsapp.use(`/heapdump/${P_KEY}`, dumps.router);
wsapp.use(`${PREFIX}/${P_KEY}`, socket.wsRouter);
wsapp.enable('trust proxy');
const wsserver = wsapp.listen(PORT, HOST, () => {
console.log(`WS App listening on http://${HOST}:${PORT}`);
@ -46,7 +47,8 @@ if (process.env.uws !== "true") {
}
uapp.get(PREFIX, healthFn);
uapp.get(`${PREFIX}/`, healthFn);
uapp.get(`${PREFIX}/${process.env.S3_KEY}`, healthFn);
uapp.get(`${PREFIX}/${P_KEY}`, healthFn);
uapp.get(`${PREFIX}/${P_KEY}/`, healthFn);
/* Either onAborted or simply finished request */
@ -73,19 +75,19 @@ if (process.env.uws !== "true") {
return fn(req, res);
}
}
uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-list`, uWrapper(socket.handlers.socketsList));
uapp.post(`${PREFIX}/${process.env.S3_KEY}/sockets-list`, uWrapper(socket.handlers.socketsList));
uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-list/:projectKey/autocomplete`, uWrapper(socket.handlers.autocomplete));
uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-list/:projectKey`, uWrapper(socket.handlers.socketsListByProject));
uapp.post(`${PREFIX}/${process.env.S3_KEY}/sockets-list/:projectKey`, uWrapper(socket.handlers.socketsListByProject));
uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-list/:projectKey/:sessionId`, uWrapper(socket.handlers.socketsListByProject));
uapp.get(`${PREFIX}/${P_KEY}/sockets-list`, uWrapper(socket.handlers.socketsList));
uapp.post(`${PREFIX}/${P_KEY}/sockets-list`, uWrapper(socket.handlers.socketsList));
uapp.get(`${PREFIX}/${P_KEY}/sockets-list/:projectKey/autocomplete`, uWrapper(socket.handlers.autocomplete));
uapp.get(`${PREFIX}/${P_KEY}/sockets-list/:projectKey`, uWrapper(socket.handlers.socketsListByProject));
uapp.post(`${PREFIX}/${P_KEY}/sockets-list/:projectKey`, uWrapper(socket.handlers.socketsListByProject));
uapp.get(`${PREFIX}/${P_KEY}/sockets-list/:projectKey/:sessionId`, uWrapper(socket.handlers.socketsListByProject));
uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-live`, uWrapper(socket.handlers.socketsLive));
uapp.post(`${PREFIX}/${process.env.S3_KEY}/sockets-live`, uWrapper(socket.handlers.socketsLive));
uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-live/:projectKey/autocomplete`, uWrapper(socket.handlers.autocomplete));
uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-live/:projectKey`, uWrapper(socket.handlers.socketsLiveByProject));
uapp.post(`${PREFIX}/${process.env.S3_KEY}/sockets-live/:projectKey`, uWrapper(socket.handlers.socketsLiveByProject));
uapp.get(`${PREFIX}/${process.env.S3_KEY}/sockets-live/:projectKey/:sessionId`, uWrapper(socket.handlers.socketsLiveByProject));
uapp.get(`${PREFIX}/${P_KEY}/sockets-live`, uWrapper(socket.handlers.socketsLive));
uapp.post(`${PREFIX}/${P_KEY}/sockets-live`, uWrapper(socket.handlers.socketsLive));
uapp.get(`${PREFIX}/${P_KEY}/sockets-live/:projectKey/autocomplete`, uWrapper(socket.handlers.autocomplete));
uapp.get(`${PREFIX}/${P_KEY}/sockets-live/:projectKey`, uWrapper(socket.handlers.socketsLiveByProject));
uapp.post(`${PREFIX}/${P_KEY}/sockets-live/:projectKey`, uWrapper(socket.handlers.socketsLiveByProject));
uapp.get(`${PREFIX}/${P_KEY}/sockets-live/:projectKey/:sessionId`, uWrapper(socket.handlers.socketsLiveByProject));
socket.start(uapp);

View file

@ -28,7 +28,7 @@ const pubClient = createClient({url: REDIS_URL});
const subClient = pubClient.duplicate();
console.log(`Using Redis: ${REDIS_URL}`);
let io;
const debug = process.env.debug === "1" || false;
const debug = process.env.debug === "1";
const createSocketIOServer = function (server, prefix) {
if (process.env.uws !== "true") {

View file

@ -23,7 +23,7 @@ const {
const wsRouter = express.Router();
let io;
const debug = process.env.debug === "1" || false;
const debug = process.env.debug === "1";
const createSocketIOServer = function (server, prefix) {
if (process.env.uws !== "true") {

View file

@ -1,5 +1,5 @@
const helper = require('./helper');
let debug = process.env.debug === "1" || false;
let debug = process.env.debug === "1";
const getBodyFromUWSResponse = async function (res) {
return new Promise(((resolve, reject) => {
let buffer;

View file

@ -5,16 +5,18 @@ const {request_logger} = require("./utils/helper");
const HOST = process.env.SR_HOST || '127.0.0.1';
const PORT = process.env.SR_PORT || 9000;
const PREFIX = process.env.PREFIX || process.env.prefix || `/sourcemaps`
const P_KEY = process.env.SMR_KEY || process.env.S3_KEY || 'smr';
const app = express();
app.use(request_logger("[SR]"));
app.get(['/'], (req, res) => {
app.get(['/', PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => {
res.statusCode = 200;
res.end("ok!");
}
);
app.use('/sourcemaps', sourcemapsReaderServer);
app.use('/heapdump', dumps.router);
app.use(`${PREFIX}/${P_KEY}`, sourcemapsReaderServer);
app.use(`/heapdump/${P_KEY}`, dumps.router);
const server = app.listen(PORT, HOST, () => {
console.log(`SR App listening on http://${HOST}:${PORT}`);

View file

@ -3,17 +3,24 @@ const express = require('express');
const socket = require("./servers/websocket");
const {request_logger} = require("./utils/helper");
const debug = process.env.debug === "1" || false;
const debug = process.env.debug === "1";
const HOST = process.env.LISTEN_HOST || '0.0.0.0';
const PORT = process.env.LISTEN_PORT || 9001;
const P_KEY = process.env.ASSIST_KEY || process.env.S3_KEY;
const PREFIX = process.env.PREFIX || process.env.prefix || `/assist`
const wsapp = express();
wsapp.use(express.json());
wsapp.use(express.urlencoded({extended: true}));
wsapp.use(request_logger("[wsapp]"));
wsapp.use(`/assist/${process.env.S3_KEY}`, socket.wsRouter);
wsapp.use(`/heapdump/${process.env.S3_KEY}`, dumps.router);
wsapp.get([PREFIX, `${PREFIX}/`, `${PREFIX}/${P_KEY}`, `${PREFIX}/${P_KEY}/`], (req, res) => {
res.statusCode = 200;
res.end("ok!");
}
);
wsapp.use(`${PREFIX}/${P_KEY}`, socket.wsRouter);
wsapp.use(`/heapdump/${P_KEY}`, dumps.router);
const wsserver = wsapp.listen(PORT, HOST, () => {
console.log(`WS App listening on http://${HOST}:${PORT}`);

View file

@ -21,7 +21,7 @@ const {
const wsRouter = express.Router();
let io;
const debug = process.env.debug === "1" || false;
const debug = process.env.debug === "1";
const createSocketIOServer = function (server, prefix) {
io = _io(server, {