GithubHelp home page GithubHelp logo

orbital's Introduction

Hi there ๐Ÿ‘‹

orbital's People

Contributors

dependabot[bot] avatar jhole89 avatar

Watchers

 avatar  avatar

orbital's Issues

Add healthcheck endpoint for backend app

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘:+1:
    reaction
    to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions,
    they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a
    comment

Description

Currently there is no "simple" way to check if the backend app is alive without doing a graphql request. A simple healthz GET endpoint similar to hasura or apolo graphql would be perfect as then this can be monitored via the orchestration layer

Potential Implementation

References

Helm chart

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘:+1: reaction
    to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra
    noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

Kubernetes has quickly become the default orchestration platform. We should support this with a helm chart to deploy the necessary components. Currently this would mean a chart for:

  • Gremlin DB (optional - need to be allow for managed supported DBs such as AWS Neptune)
  • Backend Go service
  • Frontend UI

Potential Implementation

// Copy-paste any suggested implementation here

References

  • 0000

Publish orbital components as individual containers

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘:+1: reaction
    to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra
    noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

Currently only the backend app is published as a container to the jhole89 package space, rather than attached to the project repo. In order for #48 to start we need to publish each component as a container to this project.

Potential Implementation

// Copy-paste any suggested implementation here

References

  • 0000

Abstract connectors behind interface

Any connector should be able to be used by the main app without requiring code change. This makes it easy to swap in/out different datalakes (e.g. Athena/Redshift/BigQuery/etc) based on config as long as the relevant connector has been built and available in the connectors package.

Add Makefile

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘:+1: reaction
    to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra
    noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

Makefiles are a standard way of implementing a build commands - would be useful to have one.

Potential Implementation

// Copy-paste any suggested implementation here

References

  • 0000

Abstract database behind interface

Any graphdb should be able to be used by the main app without requiring code change. This makes it easy to swap in/out different backends (e.g. Gremlin/Neptune/OrientDB/Neo4j/RDF) based on config as long as the relevant database implementation has been built and available in the database package.

Implement CI actions

Use github actions to:

  • Automate app build
  • Automate app packaging
  • Automate linting and style checks
  • Automate testing
  • Automate and publish reports

Add admin/meta endpoints

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘:+1: reaction
    to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra
    noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

We need to create some admin/meta endpoints for triggering backend tasks, e.g.:

  • reIndex database (drop and recreate all)
  • refresh database (detect and create new entries)

These endpoints only need to return status codes to indicate if the background task was initiated successfully

Potential Implementation

// Copy-paste any suggested implementation here

References

  • 0000

Backend app crashes if db connection unavailable

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘:+1:
    reaction
    to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions,
    they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a
    comment

App Version

App Configuration File

# Copy-paste your config.yaml here

Panic Output

2021/08/13 01:08:39 Unable to connect to Gremlin database at: dial tcp 127.0.0.1:8182: connect: connection refused
2021/08/13 01:08:39 dial tcp 127.0.0.1:8182: connect: connection refused
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xa1d746]

goroutine 1 [running]:
main.reIndex(0x0, 0x0, 0xc000010110, 0x1, 0x1, 0x0, 0xc7d6e0)
        /code/graph.go:10 +0x26
main.main()
        /code/main.go:36 +0x2a6

Expected Behavior

App should continue and log that DB is unavailable. Potentially surfacing this through to UI

Actual Behavior

App panics

Steps to Reproduce

Start backend app without DB or invalid DB connection string

Important Factoids

References

  • 0000

Elm UI PoC

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘:+1: reaction
    to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra
    noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

Need a UI PoC, ideally in Elm, that should display a network graph of the entities and relationships, along with a details section which can be popped by selecting an entity

Potential Implementation

// Copy-paste any suggested implementation here

References

ReadMe documentation

README needs to be expanded to describe what repo does, contribution, and report badges

CodeClimate issues

Community Note

  • Please vote on this issue by adding a ๐Ÿ‘:+1: reaction
    to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra
    noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

App Version

App Configuration File

# Copy-paste your config.yaml here

Panic Output

# If a panic was produced, please provide the trace here

Expected Behavior

CodeClimate should not have any outstanding issues

Actual Behavior

Currently 29 outstanding issues: https://codeclimate.com/github/jhole89/orbital/issues

Steps to Reproduce

Important Factoids

References

Project Automation

Currently there is no automation, CI & testing will be covered in #6 but there are other things too, mainly related to maintainability and sustainability of project:

  • Dependabot
  • Doc publishing
  • Quality metrics
  • Release management
  • New issue templates
  • PR templates
  • Others TBD

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.