Coder Social home page Coder Social logo

idss-engine-commons's Introduction

IDSS Engine Commons

Pytest Lint with pylint

Coverage

Coverage Report
FileStmtsMissCoverMissing
idsse/common
   init.py00100% 
   aws_utils.py8655 94%
   config.py6955 93%
   json_message.py2411 96%
   log_util.py4133 93%
   path_builder.py1281010 92%
   publish_confirm.py1962121 89%
   rabbitmq_utils.py9888 92%
   utils.py1221010 92%
   validate_schema.py400100% 
idsse/common/sci
   init.py00100% 
   geo_image.py2361717 93%
   grid_proj.py9511 99%
   netcdf_io.py480100% 
   utils.py100100% 
   vectaster.py1901717 91%
TOTAL13839893% 

Overview

The idss-engine-commons project is responsible for defining all implicit common dependencies that are used by the apps that make up the IDSS Engine Project distributed system. This repository should be used to house elements that are common across multiple projects to encourage reuse.

Twelve-Factors

The complete twelve-factors methodologies that the IDSS Engine Project adheres to can be found in the umbrella idss-engine repository. The subset of the twelve factors that follows are specifics to this app only.

Logging

To support some standardization and best practices for IDSS Engine, developers should following the logging guide found here

Build, Release, and Run

The subsections below outline how to build the common images within this project. All microservices built with Docker are done within the idss-engine/build directory.

Recommended Tags development :dev stable release :release ie. :alder targeted environment :aws

Python Base Image (Basic)


Any python based microservice within IDSS Engine should use the following image as its base

Build

From the IDSS Engine project root directory idss-engine/build/<env>/<arch>/:

$ docker-compose build python_base

Image Name idsse/commons/python-base:<tag>

Python Base Image (Scientific)


Any python based microservice within IDSS Engine that requires python scientific packages (numpy, netcdf, etc) should use the following image as its base. This base image also includes common python utilities that other services can utilize. For specifics on what these utilities are, see the README within the idsse_commons directory.

Build

From the IDSS Engine project root directory idss-engine/build/<env>/<arch>/:

$ docker-compose build python_base_sci

Image Name idsse/commons/python-base-sci:<tag>

RabbitMQ Server


The IDSS Engine can be deployed with Docker and/or Kubernetes. If developers are deploying locally with Docker, they can create their own RabbitMQ service as follows:

Developer Note if deploying in a kubernetes cluster, it is not necessary to build this image as it will be done via a Helm Chart

Build

From the IDSS Engine project root directory idss-engine/build/<env>/<arch>/:

$ docker-compose build rabbit_mq

Development Image Name idss.engine.commons.rabbitmq.server:<tag>

Packaged/Deployed Image Name idsse/commons/rabbitmq:<tag>

Couchdb Server


The IDSS Engine can be deployed with Docker and/or Kubernetes. If developers are deploying locally with Docker, they can create their own RabbitMQ service as follows:

Developer Note if deploying in a kubernetes cluster, it is not necessary to build this image as it will be done via a Helm Chart

Build

From the IDSS Engine project root directory idss-engine/build/<env>/<arch>/:

$ docker-compose build couch_db

Development Image Name idss.engine.commons.couchbase.server:<tag>

Packaged/Deployed Image Name idsse/commons/couchdb:<tag>

Running IDSS Engine

See the Build, Release, Run section within the umbrella project documentation: [idss-engine](https://github.com/NOAA-GSL/idss-engine/blob/main/README.md#running-idss-engine)

idss-engine-commons's People

Contributors

geary-layne avatar github-actions[bot] avatar rabellino-noaa avatar mackenzie-grimes-noaa avatar paulhamer-noaa avatar wilson0028 avatar

Watchers

Kirk L. Holub avatar Curtis Alexander avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.