Add aws configurations
This commit is contained in:
parent
c5f031796b
commit
d356a39958
@ -27,7 +27,7 @@
|
|||||||
#include <QNetworkReply>
|
#include <QNetworkReply>
|
||||||
#include <QJsonDocument>
|
#include <QJsonDocument>
|
||||||
|
|
||||||
|
#include "engine.h"
|
||||||
#include "sigv4utils.h"
|
#include "sigv4utils.h"
|
||||||
|
|
||||||
namespace remoteproxy {
|
namespace remoteproxy {
|
||||||
@ -47,13 +47,12 @@ AuthenticationProcess::AuthenticationProcess(QNetworkAccessManager *manager, con
|
|||||||
void AuthenticationProcess::invokeLambdaFunction()
|
void AuthenticationProcess::invokeLambdaFunction()
|
||||||
{
|
{
|
||||||
// Known configurations
|
// Known configurations
|
||||||
QString region = "eu-west-1";
|
QString region = Engine::instance()->configuration()->awsRegion();
|
||||||
QString lambdaFunctionName = "system-services-authorizer-dev-checkToken";
|
QString lambdaFunctionName = Engine::instance()->configuration()->awsAuthorizerLambdaFunctionName();
|
||||||
|
|
||||||
QString invocationType = "RequestResponse";
|
QString invocationType = "RequestResponse";
|
||||||
QString service = "lambda";
|
QString service = "lambda";
|
||||||
|
|
||||||
// {'url_path': '/2015-03-31/functions/system-services-authorizer-dev-checkToken/invocations', 'query_string': {}, 'method': 'POST', 'headers': {'X-Amz-Invocation-Type': 'RequestResponse', 'User-Agent': 'aws-cli/1.14.44 Python/3.6.5 Linux/4.15.0-1019-aws botocore/1.8.48'}, 'body': b'{"token": "...."}', 'url': 'https://lambda.eu-west-1.amazonaws.com/2015-03-31/functions/system-services-authorizer-dev-checkToken/invocations', 'context': {'client_region': 'eu-west-1', 'client_config': <botocore.config.Config object at 0x7f44560f3128>, 'has_streaming_input': True, 'auth_type': None}}
|
|
||||||
|
|
||||||
QUrl requestUrl;
|
QUrl requestUrl;
|
||||||
requestUrl.setScheme("https");
|
requestUrl.setScheme("https");
|
||||||
requestUrl.setHost(QString("lambda.%1.amazonaws.com").arg(region));
|
requestUrl.setHost(QString("lambda.%1.amazonaws.com").arg(region));
|
||||||
|
|||||||
@ -51,11 +51,15 @@ bool ProxyConfiguration::loadConfiguration(const QString &fileName)
|
|||||||
setWriteLogFile(settings.value("writeLogs", false).toBool());
|
setWriteLogFile(settings.value("writeLogs", false).toBool());
|
||||||
setLogFileName(settings.value("logFile", "/var/log/nymea-remoteproxy.log").toString());
|
setLogFileName(settings.value("logFile", "/var/log/nymea-remoteproxy.log").toString());
|
||||||
setMonitorSocketFileName(settings.value("monitorSocket", "/tmp/nymea-remoteproxy.monitor").toString());
|
setMonitorSocketFileName(settings.value("monitorSocket", "/tmp/nymea-remoteproxy.monitor").toString());
|
||||||
|
|
||||||
setJsonRpcTimeout(settings.value("jsonRpcTimeout", 10000).toInt());
|
setJsonRpcTimeout(settings.value("jsonRpcTimeout", 10000).toInt());
|
||||||
setAuthenticationTimeout(settings.value("authenticationTimeout", 8000).toInt());
|
setAuthenticationTimeout(settings.value("authenticationTimeout", 8000).toInt());
|
||||||
setInactiveTimeout(settings.value("inactiveTimeout", 8000).toInt());
|
setInactiveTimeout(settings.value("inactiveTimeout", 8000).toInt());
|
||||||
setAloneTimeout(settings.value("aloneTimeout", 8000).toInt());
|
setAloneTimeout(settings.value("aloneTimeout", 8000).toInt());
|
||||||
|
settings.endGroup();
|
||||||
|
|
||||||
|
settings.beginGroup("AWS");
|
||||||
|
setAwsRegion(settings.value("region", "eu-west-1").toString());
|
||||||
|
setAwsAuthorizerLambdaFunctionName(settings.value("authorizerLambdaFunction", "system-services-authorizer-dev-checkToken").toString());
|
||||||
setAwsCredentialsUrl(QUrl(settings.value("awsCredentialsUrl", "http://169.254.169.254/latest/meta-data/iam/security-credentials/EC2-Remote-Connection-Proxy-Role").toString()));
|
setAwsCredentialsUrl(QUrl(settings.value("awsCredentialsUrl", "http://169.254.169.254/latest/meta-data/iam/security-credentials/EC2-Remote-Connection-Proxy-Role").toString()));
|
||||||
settings.endGroup();
|
settings.endGroup();
|
||||||
|
|
||||||
@ -205,6 +209,26 @@ void ProxyConfiguration::setAloneTimeout(int timeout)
|
|||||||
m_aloneTimeout = timeout;
|
m_aloneTimeout = timeout;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString ProxyConfiguration::awsRegion() const
|
||||||
|
{
|
||||||
|
return m_awsRegion;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProxyConfiguration::setAwsRegion(const QString ®ion)
|
||||||
|
{
|
||||||
|
m_awsRegion = region;
|
||||||
|
}
|
||||||
|
|
||||||
|
QString ProxyConfiguration::awsAuthorizerLambdaFunctionName() const
|
||||||
|
{
|
||||||
|
return m_awsAuthorizerLambdaFunctionName;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ProxyConfiguration::setAwsAuthorizerLambdaFunctionName(const QString &functionName)
|
||||||
|
{
|
||||||
|
m_awsAuthorizerLambdaFunctionName = functionName;
|
||||||
|
}
|
||||||
|
|
||||||
QUrl ProxyConfiguration::awsCredentialsUrl() const
|
QUrl ProxyConfiguration::awsCredentialsUrl() const
|
||||||
{
|
{
|
||||||
return m_awsCredentialsUrl;
|
return m_awsCredentialsUrl;
|
||||||
@ -302,7 +326,10 @@ QDebug operator<<(QDebug debug, ProxyConfiguration *configuration)
|
|||||||
debug.nospace() << " - Authentication timeout:" << configuration->authenticationTimeout() << " [ms]" << endl;
|
debug.nospace() << " - Authentication timeout:" << configuration->authenticationTimeout() << " [ms]" << endl;
|
||||||
debug.nospace() << " - Inactive timeout:" << configuration->inactiveTimeout() << " [ms]" << endl;
|
debug.nospace() << " - Inactive timeout:" << configuration->inactiveTimeout() << " [ms]" << endl;
|
||||||
debug.nospace() << " - Alone timeout:" << configuration->aloneTimeout() << " [ms]" << endl;
|
debug.nospace() << " - Alone timeout:" << configuration->aloneTimeout() << " [ms]" << endl;
|
||||||
debug.nospace() << " - AWS credentials URL:" << configuration->awsCredentialsUrl().toString() << endl;
|
debug.nospace() << "AWS configuration" << endl;
|
||||||
|
debug.nospace() << " - Region:" << configuration->awsRegion() << endl;
|
||||||
|
debug.nospace() << " - Authorizer lambda function:" << configuration->awsAuthorizerLambdaFunctionName() << endl;
|
||||||
|
debug.nospace() << " - Credentials URL:" << configuration->awsCredentialsUrl().toString() << endl;
|
||||||
debug.nospace() << "SSL configuration" << endl;
|
debug.nospace() << "SSL configuration" << endl;
|
||||||
debug.nospace() << " - Certificate:" << configuration->sslCertificateFileName() << endl;
|
debug.nospace() << " - Certificate:" << configuration->sslCertificateFileName() << endl;
|
||||||
debug.nospace() << " - Certificate key:" << configuration->sslCertificateKeyFileName() << endl;
|
debug.nospace() << " - Certificate key:" << configuration->sslCertificateKeyFileName() << endl;
|
||||||
|
|||||||
@ -65,6 +65,13 @@ public:
|
|||||||
int aloneTimeout() const;
|
int aloneTimeout() const;
|
||||||
void setAloneTimeout(int timeout);
|
void setAloneTimeout(int timeout);
|
||||||
|
|
||||||
|
// AWS
|
||||||
|
QString awsRegion() const;
|
||||||
|
void setAwsRegion(const QString ®ion);
|
||||||
|
|
||||||
|
QString awsAuthorizerLambdaFunctionName() const;
|
||||||
|
void setAwsAuthorizerLambdaFunctionName( const QString &functionName);
|
||||||
|
|
||||||
QUrl awsCredentialsUrl() const;
|
QUrl awsCredentialsUrl() const;
|
||||||
void setAwsCredentialsUrl(const QUrl &url);
|
void setAwsCredentialsUrl(const QUrl &url);
|
||||||
|
|
||||||
@ -107,6 +114,9 @@ private:
|
|||||||
int m_inactiveTimeout = 8000;
|
int m_inactiveTimeout = 8000;
|
||||||
int m_aloneTimeout = 8000;
|
int m_aloneTimeout = 8000;
|
||||||
|
|
||||||
|
// AWS
|
||||||
|
QString m_awsRegion;
|
||||||
|
QString m_awsAuthorizerLambdaFunctionName;
|
||||||
QUrl m_awsCredentialsUrl;
|
QUrl m_awsCredentialsUrl;
|
||||||
|
|
||||||
// Ssl
|
// Ssl
|
||||||
|
|||||||
@ -7,6 +7,10 @@ jsonRpcTimeout=10000
|
|||||||
authenticationTimeout=8000
|
authenticationTimeout=8000
|
||||||
inactiveTimeout=8000
|
inactiveTimeout=8000
|
||||||
aloneTimeout=8000
|
aloneTimeout=8000
|
||||||
|
|
||||||
|
[AWS]
|
||||||
|
region=eu-west-1
|
||||||
|
authorizerLambdaFunction=system-services-authorizer-dev-checkToken
|
||||||
awsCredentialsUrl=http://169.254.169.254/latest/meta-data/iam/security-credentials/EC2-Remote-Connection-Proxy-Role
|
awsCredentialsUrl=http://169.254.169.254/latest/meta-data/iam/security-credentials/EC2-Remote-Connection-Proxy-Role
|
||||||
|
|
||||||
[SSL]
|
[SSL]
|
||||||
|
|||||||
Reference in New Issue
Block a user