Giter Site home page Giter Site logo

trellixvulnteam / relation_engine_picf Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kbase/relation_engine

0.0 0.0 0.0 1.36 MB

Repository containing the KBase Relation Engine API, specs, and other related files.

License: MIT License

Shell 0.52% Python 98.80% Makefile 0.27% Dockerfile 0.40%

relation_engine_picf's Introduction

Total alerts Language grade: Python RE test and deploy

KBase Relation Engine

This repo holds the code associated with the KBase relation engine, previously held in https://github.com/kbase/relation_engine_api and https://github.com/kbase/relation_engine_spec.

Relation Engine Spec

spec/

The spec/ directory holds the schemas for stored queries, collections, views, analyzers, and migrations for the relation engine graph database service.

These specifications are used by the Relation Engine API.

Relation Engine API

relation_engine_server/

The relation engine server (relation_engine_server/) is a simple API that allows KBase community developers to interact with the Relation Engine graph database. You can run stored queries or do bulk updates on documents.

Relation Engine Startup

  • Docker image is built with environment variable SPEC_RELEASE_PATH=/opt/spec.tar.gz. This contains the specs from the repo itself.
  • Wait for response from auth, workspace, and arangodb services, as they are set up
  • Specs are set up. Either the repo specs or remote specs are loaded into the specs root path
  • Collections, views, and analyzers from the specs are added to the ArangoDB server. If the collection, view, or analyzer already exists, but in a different configuration, it will not be overwritten.
  • Collections, views, and analyzers from the loaded specs are compared to those on the ArangoDB server. If the loaded specs' attributes are not recursively a subset of the server specs, then an exception is raise. (This is just preliminary validation behavior.)

Relation Engine builds

The Relation Engine is available on github packages. These images are built by the configs in the .github repo. The develop tags are located at https://github.com/kbase/relation_engine/pkgs/container/relation_engine-develop
e.g.

docker pull ghcr.io/kbase/relation_engine-develop:latest (Built upon merging a PR)
docker pull ghcr.io/kbase/relation_engine-develop:pr-93 (Built upon creating a PR)

How to Deploy in CI

The CI service is available in the relationapi service

  • Press Upgrade Arrow
  • Ensure the relationapi service uses ghcr.io/kbase/relation_engine-develop:latest
  • Ensure the Always pull image before creating box is ticked
  • Press Upgrade button
  • If the deployment suceeded, you can finish the upgrade. If not, you can press the rollback button.

(For deployments to other environments, request help from the #devops channel)

How to Deploy to production

  • Merge from Develop to Main
  • Draft a release using semantic versioning (e.g 1.2.3) by creating a tag with the target of Main
  • Ensure release notes are updated manually and/or by AutoGenerate Release Notes

Testing

To run tests:

make test

relation_engine_picf's People

Contributors

jayrbolton avatar ialarmedalien avatar jamesjeffryes avatar mrcreosote avatar zhlu9890 avatar n1mus avatar bio-boris avatar scanon avatar dependabot[bot] avatar dakotablair avatar kellyhuang21 avatar izaakm avatar jsfillman avatar mikacashman avatar trellixvulnteam avatar patchtester avatar sean-mccorkle 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.