GithubHelp home page GithubHelp logo

hasura / graphql-engine Goto Github PK

View Code? Open in Web Editor NEW
30.8K 331.0 2.7K 4.85 GB

Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.

Home Page: https://hasura.io

License: Apache License 2.0

Go 4.42% HTML 0.11% Makefile 0.15% Haskell 31.57% JavaScript 7.36% CSS 1.02% PLpgSQL 0.13% Shell 0.67% Dockerfile 0.04% Python 3.14% TypeScript 49.99% Java 0.02% Ruby 0.01% SCSS 0.64% TSQL 0.01% Procfile 0.01% Nix 0.05% HCL 0.01% MDX 0.37% C++ 0.29%
graphql graphql-server postgres hasura access-control automatic-api api rest-api graphql-api sql-server

graphql-engine's Introduction

Hasura logo Hasura logo

Hasura GraphQL Engine

The Hasura engine is an open source project which supercharges the building of modern applications by providing access to data via a single, composable, secure API endpoint.

Hasura V2

Latest release Docs

Hasura V2 is the current stable version of the Hasura GraphQL Engine. Recommended for production use. Please find more detailed information about the V2 Hasura Graphql Engine in the v2 folder and this README.

Hasura V3

Docs

The future of data delivery. Currently in alpha. Read more

The Hasura V3 engine code, which powers Hasura DDN, is in the V3 folder of this repo. You can find more detailed information about the Hasura DDN Graphql Engine in this README.

The Hasura DDN architecture includes Data Connectors to connect to data sources. All Hasura connectors are also available completely open source. Check out the Connector Hub which lists all available connectors.

Cloning repository

This repository is a large and active mono-repo containing many parts of the Hasura ecosystem and a long git history, that can make the first time cloning of the repository slow and consume a lot of disk space. We recommend following if you are facing cloning issues.

Shallow clone

This will only clone the latest commit and ignore all historical commits.

git clone https://github.com/hasura/graphql-engine.git --depth 1

Git checkout with only Hasura V3 engine code

git clone --no-checkout https://github.com/hasura/graphql-engine.git --depth 1
cd graphql-engine
git sparse-checkout init --cone
git sparse-checkout set v3
git checkout @

This checkouts the top level files and only the v3 folder which contains the Hasura V3 Engine code.

Support & Troubleshooting

To troubleshoot most issues, check out our documentation and community resources. If you have encountered a bug or need to get in touch with us, you can contact us using one of the following channels:

Code of Conduct

We are committed to fostering an open and welcoming environment in the community. Please see the Code of Conduct.

Security

If you want to report a security issue, please read this.

Stay up to date

Join our communities to stay up to date on announcements, events, product updates, and technical blogs. https://hasura.io/community/

Contributing

Check out our contributing guide for more details.

Brand assets

Hasura brand assets (logos, the Hasura mascot, powered by badges etc.) can be found in the v2/assets/brand folder. Feel free to use them in your application/website etc. We'd be thrilled if you add the "Powered by Hasura" badge to your applications built using Hasura. โค๏ธ

Licenses

V2

The V2 core GraphQL Engine is available under the Apache License 2.0 (Apache-2.0).

All other contents in the v2 folder (except those in server, cli and console directories) are available under the MIT License. This includes everything in the docs and community directories.

V3

The Native Data Connectors are available under the Apache License 2.0.

The core V3 GraphQL Engine is intended to be licensed under Apache 2.0. However, due to certain MPL/GPL dependencies, we are restricted. Hasura intends to update these dependencies soon and publish a long term license under which this code gets available.

graphql-engine's People

Contributors

0x777 avatar abhi40308 avatar arvi3411301 avatar beaussan avatar codingkarthik avatar daniel-chambers avatar danieljharvey avatar ecthiender avatar hasura-bot avatar jberryman avatar lucarestagno avatar marionschleifer avatar paritosh-08 avatar plcplc avatar praveenweb avatar rakeshkky avatar rikinsk avatar robertjdominguez avatar samirtalwar avatar sassela avatar scriptnull avatar scriptonist avatar seanparkross avatar shahidhk avatar solomon-b avatar soupi avatar tirumaraiselvan avatar varun-choudhary avatar vijayprasanna13 avatar wawhal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

graphql-engine's Issues

build/ci-cd system

jobs

  • build

    • server
    • cli
    • console
  • test

    • server
    • cli
    • console
  • deploy

    • server
    • cli
    • console

workflows

pull requests

  • build
  • test

tagged releases

  • build
  • test
  • deploy

release-* branch updates

  • deploy console

tests fail with directory already exist error

test log
go test -ldflags "-X github.com/hasura/graphql-engine/cli/version.BuildVersion=pull83-d1c525d" ./...
Error: getting manifests failed: failed copying files to temp dir: destination already exists
--- FAIL: TestValidate (0.24s)
	cli_test.go:69: execution failed: getting manifests failed: failed copying files to temp dir: destination already exists
FAIL
FAIL	github.com/hasura/graphql-engine/cli	0.253s
?   	github.com/hasura/graphql-engine/cli/assets	[no test files]
?   	github.com/hasura/graphql-engine/cli/cmd/hasura	[no test files]
ok  	github.com/hasura/graphql-engine/cli/commands	3.441s
?   	github.com/hasura/graphql-engine/cli/migrate	[no test files]
?   	github.com/hasura/graphql-engine/cli/migrate/api	[no test files]
?   	github.com/hasura/graphql-engine/cli/migrate/cmd	[no test files]
?   	github.com/hasura/graphql-engine/cli/migrate/database	[no test files]
ok  	github.com/hasura/graphql-engine/cli/migrate/database/hasuradb	0.007s [no tests to run]
?   	github.com/hasura/graphql-engine/cli/migrate/database/testing	[no test files]
?   	github.com/hasura/graphql-engine/cli/migrate/source	[no test files]
ok  	github.com/hasura/graphql-engine/cli/migrate/source/file	0.021s
ok  	github.com/hasura/graphql-engine/cli/migrate/source/stub	0.003s
?   	github.com/hasura/graphql-engine/cli/migrate/source/testing	[no test files]
?   	github.com/hasura/graphql-engine/cli/migrate/testing	[no test files]
ok  	github.com/hasura/graphql-engine/cli/util	1.062s
?   	github.com/hasura/graphql-engine/cli/util/fake	[no test files]
ok  	github.com/hasura/graphql-engine/cli/version	0.005s
Makefile:52: recipe for target 'test' failed
make: *** [test] Error 1
Exited with code 2

server: console assets versioning

If the server version parses as semver, render the console.html template with assets url as vMAJOR.MINOR, for e.g. https://storage.googleapis.com/hasura-graphql-engine/console/v1.0/main.js

If the version fails to parse as semver, render the version itself.

https://storage.googleapis.com/hasura-graphql-engine/console/{{version}}/main.js

change names "raven" in help text of binary

Running graphql-engine -- --help outputs:

raven - Hasura's datastore

Usage: graphql-engine [--host HOST] [-p|--port PORT] [-u|--user USER]
                      [-p|--password PASSWORD] [--database-url DATABASE-URL]
                      [-d|--dbname NAME] COMMAND

Available options:
  -h,--help                Show this help text
  --host HOST              Postgres server host
  -p,--port PORT           Postgres server port
  -u,--user USER           Database user name
  -p,--password PASSWORD   Password of the user
  --database-url DATABASE-URL
                           Postgres database URL. Example
                           postgres://foo:[email protected]:2345/database
  -d,--dbname NAME         Database name to connect to

Available commands:
  serve                    Start the HTTP api server
  export                   Export raven's schema to stdout
  clean                    Clean raven's metadata to start afresh
  execute                  Execute a query

mark cypress output directories

add them to .gitignore inside console/cypress, also should be marked as artifact to refer later in case a build/test fails

cli: server version handling

CLI should support server versions according to the following scheme:

server cli action
non-semver * exact match
vMAJ.MIN >vMAJ.MIN no action
vMAJ.MIN <vMAJ.MIN prompt cli update
- * render 1.0-dev console

fix order by

When the order by column is not included in the fields, currently 500, internal error is thrown

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.