0.1.14 • Published 6 years ago

gds-stack v0.1.14

Weekly downloads
-
License
MIT
Repository
-
Last release
6 years ago

Gds-stack

Another utilization of NodeJS technologies in one package.

Technologies supported and available

Getting started

    npm install --save gds-stack

Sample configuration

GDS-stack uses our very own fluid-chains to process configurations and for you to add your own chain.

    var GDS = require('gds-stack');
    var fluidChains = require('fluid-chains');
    var ExecuteChain = fluidChains.ExecuteChain;
    var ClusterChains = GDS.ClusterChains;
    var DockerChains = GDS.DockerChains;
    var DatabaseChains = GDS.DatabaseChains;
    var ServerChains = GDS.ServerChains;
    var LoggerChains = GDS.LoggerChains;
    var Logger = GDS.Logger;
    var ExpressApp = GDS.ExpressApp;
    
    ExecuteChain([
        ClusterChains.CLUSER_CONFIG,
        DockerChains.DOCKER_CONFIG,
        DockerChains.DOCKER_CONNECT,
        LoggerChains.LOGGER_CONFIG,
        DatabaseChains.MONGO_CONFIG,
        DatabaseChains.MONGO_CONNECT,
        ServerChains.GDS_SERVER_CONFIG,
        ServerChains.GDS_SERVER_CONNECT_MULTIPARTY,
        ServerChains.GDS_SERVER_HTTP_LISTENER,
        ServerChains.GDS_SERVER_HTTPS_LISTENER
    ],
     {
        mongo_databaseName: 'data-sample-db',
        mongo_retry: 5,
        logger_name: 'SampleLogger',
        logger_filePath: 'sample-logger.log',
        server_tempDir: 'files',
        server_port: 8080
     },
     function(result) {
        Logger('SampleLogger').info('Server in running Express on port 8080');
        ExpressApp.get('/', function(req, res) {
            res.status(200).send('hello world');
        });
     });  

Docker Configuration

For linked containers

ChainParameterDescriptionvaluedefault
DOCKER_CONNECTdocker_proxyHostproxy host?Stringnone
DOCKER_CONNECTdocker_proxyPortproxy port?Numbernone
DOCKER_CONNECTdocker_serviceRetrynumber of retries*Numbernone
DOCKER_CONNECTdocker_serviceTimeouttimeout in milisecond?Number5000

Logger Configuration

For log4js configuration

ChainParameterDescriptionvaluedefault
LOGGER_CONFIGlogger_namename of logger*Stringnone
LOGGER_CONFIGlogger_filePathabsolute path of the log file*Stringnone
LOGGER_CONFIGlogger_levellevel of logs to write?Stringall

Database Configuration

ChainParameterDescriptionvaluedefault
MONGO_CONFIGmongo_portmongo database port?Number27017
MONGO_CONFIGmongo_hostmongo database host*Stringlocalhost
MONGO_CONFIGmongo_databaseNamemongo database name*Stringnone
MONGO_CONFIGmongo_usermongo database username?Stringnone
MONGO_CONFIGmongo_passwordmongo database password?Stringnone

Server Configuration

ChainParameterDescriptionvaluedefault
GDS_SERVER_CONFIGserver_domainApidomain dto object of the current app service?GDSDomainDTOnone
GDS_SERVER_CONFIGserver_corsCors optionObjectdefault cors option
GDS_SERVER_CONNECT_MULTIPARTYserver_tempDirfile directory path*Stringnone
GDS_SERVER_HTTP_LISTENERserver_portexpress server http port?Number80
GDS_SERVER_HTTP_LISTENERserver_hostexpress server http host to bind
GDS_SERVER_HTTPS_LISTENERserver_httpsPortexpress server https port?Number443
GDS_SERVER_HTTPS_LISTENERserver_hostexpress server https host to bind
GDS_SERVER_HTTP_PROXY_LISTENERserver_proxyPortproxy server port?Number8080
GDS_SERVER_HTTPS_PROXY_LISTENERserver_proxyHttpsPortproxy server https port?Number443
GDS_SERVER_HTTP(S)_PROXY_LISTENERserver_addressestarget hosts*{host,port}[]
GDSSERVER_HTTPS(PROXY)_LISTENERserver_privateKey_pathserver privateKey (.key) file path*Stringnone
GDSSERVER_HTTPS(PROXY)_LISTENERserver_certificate_pathserver certificate (.cert) file path*Stringnone
GDSSERVER_HTTPS(PROXY)_LISTENERserver_encodingserver file encoding?String'utf8'

Cluster Configuration

ChainParameterDescriptionvaluedefault
CLUSTER_CONFIGcluster_max_cpuNumber of cpu to fork?Numberos cpu count

Utility

ChainParameterDescriptionvaluedefault
INPUT_HANDLERutil_inputMapmaps the process.argv value to a context field*{argvindex:String}none

SocketIO Listener

ChainParameterDescriptionvaluedefault
GDS_SERVER_SOCKET_IO_LISTENERserver_hostHttp server hostStringlocalhost
GDS_SERVER_SOCKET_IO_LISTENERserver_portHttp server portStringlocalhost
GDS_SERVER_SOCKET_IO_LISTENERserver_socket_eventsThis is where you put the eventsObject: {event(String):chainName(String)}localhost