Hasura GraphQL Engine

repository·master·Indexed 12 days ago

https://github.com/hasura/graphql-engine

An open-source data access layer that provides a unified, secure GraphQL API over data sources such as PostgreSQL and MongoDB. The project is currently transitioning from V2 to the V3 (DDN) architecture and includes a dedicated CLI for project initialization and console management.

Tokens
1M
Snippets
2.8K
Records
4.4K
Agent score
98%

What's inside Hasura

  1. Overview of Hasura Cloud Preview Apps

    master

    Hasura Cloud Preview Apps allow you to automatically spin up a dedicated Hasura Cloud instance for every GitHub pull request. This enables quick and easy testing of changes in an isolated environment before merging.

    You can implement Preview Apps using one of two methods:

    1. Preview Apps GitHub Action: A pre-built action for your CI/CD workflow.
    2. Preview Apps API: Direct programmatic access to manage preview apps.

    Note: This feature is currently in beta.

    Usage Limits: Users on the Free tier are limited to 60 calls per month to the Preview App API.

  2. Overview of available Hasura APIs

    master

    Hasura provides several API endpoints categorized by their function and access level. Most data-access APIs (GraphQL, Relay) are governed by permission rules, while management APIs (Schema, Metadata, Config, PG Dump) are restricted to admin access. Public endpoints like Version and Health are accessible without special permissions.

    APIEndpointAccess
    GraphQL/v1/graphqlPermission rules
    Relay/v1/relayPermission rules
    Legacy Relay/v1beta1/relayPermission rules
    Legacy GraphQL/v1alpha1/graphqlPermission rules
    Schema (> v2.0)/v2/queryAdmin only
    Metadata (> v2.0)/v1/metadataAdmin only
    Schema/Metadata (Deprecated)/v1/queryAdmin only
    Restified GQL/api/restGQL REST Routes
    Version/v1/versionPublic
    Health/healthzPublic
    PG Dump/v1alpha1/pg_dumpAdmin only
    Config/v1alpha1/configAdmin only
    Explain/v1/graphql/explainAdmin only
  3. Overview of Hasura Cloud & Enterprise Security Tools

    master

    Hasura Cloud Professional and Enterprise editions provide advanced security features that extend beyond standard authentication and authorization. These tools allow you to implement fine-grained control over how your APIs are accessed and consumed.

    Key security capabilities include:

    • Allow Lists: Restrict specific GraphQL operations that a particular role is permitted to perform.
    • Multiple JWT Secrets: Support multiple JWT issuers by configuring multiple secrets.
    • API Limits: Protect your services by restricting the number of requests a role can make to a specific GraphQL type.
  4. Overview of Queries in Hasura GraphQL Engine

    master

    Hasura GraphQL Engine provides auto-generated, full-coverage GraphQL queries as soon as you connect a database. By providing a database connection string, Hasura automatically exposes your schema, allowing you to perform complex operations over a single GraphQL endpoint.

    Key capabilities include:

    • Deeply Nested Queries: Query related data across multiple tables easily.
    • Filtering: Use where arguments to refine results.
    • Sorting and Pagination: Use order_by and limit arguments to manage result sets.
    • Aggregations: Perform calculations like count, sum, avg, and max directly within your queries.
  5. Overview of Hasura Authentication and Authorization

    master

    Hasura provides a decoupled authentication and authorization system.

    Authentication: You can integrate with existing authentication services (like Auth0, Firebase, etc.) or use your own custom solution. Hasura does not manage user credentials itself; instead, it consumes identity information provided by your auth provider.

    Authorization: Once a user is authenticated, Hasura uses a fine-grained access control system to manage access to:

    • Data (Tables and Views)
    • Actions
    • Remote Schema fields

    Authorization is managed by defining Roles and Permissions, allowing you to specify exactly which users can access which specific data points based on their identity and role.

  6. Overview of Hasura Enterprise Edition

    master

    Hasura Enterprise Edition is designed for production environments requiring advanced observability, security, and performance capabilities. It includes all features from the Open Source Community Edition and can be deployed on your own infrastructure or via a cloud provider.

    Key benefits include:

    • Enhanced Observability: Advanced logging, Prometheus metrics, and OpenTelemetry support.
    • Advanced Security: API limiting, role-based allow lists, and multiple admin/JWT secrets.
    • Performance Optimization: Enterprise caching, read replicas, and webhook auth caching.
    • Expanded Connectivity: Support for enterprise databases like Snowflake, Amazon Athena, Oracle, and MongoDB.
  7. Overview of Hasura Observability

    master

    Hasura Observability is a suite of tools designed to monitor and debug your Hasura instance. It enables you to track GraphQL API performance, debug errors, and gain insights into API usage.

    Observability features are primarily available through Hasura Cloud on paid plans. For Enterprise customers, Hasura provides pre-built dashboards and alerting rules configured specifically for the Prometheus, Grafana, and Jaeger stack.

  8. Overview of Hasura GraphQL Engine

    master
    Hasura GraphQL Engine is an open source project that provides access to data via a single, composable, and secure API endpoint. It is available in two primary versions: V3 (the future of data delivery, powering Hasura DDN) and V2 (the current stable version).
  9. Overview of Hasura GraphQL Engine

    master

    Hasura GraphQL Engine is an open-source tool that makes data instantly accessible over a GraphQL API. It connects to databases, REST and GraphQL endpoints, and third-party APIs to provide a unified, connected, real-time, and secured GraphQL API.

    There are three primary ways to use Hasura:

    1. Open Source / Community Edition: Deploy manually using the Community Edition Docker image. This includes all core GraphQL Engine features.
    2. Hasura Cloud: A managed service that provides highly optimized, scalable instances with additional features like monitoring, caching, tracing, and security.
    3. Hasura Enterprise Edition: An enterprise-ready solution built on top of the GraphQL Engine, adding advanced observability, security, and performance features. It is available via a 30-day free trial.
  10. Overview of Databases in Hasura GraphQL Engine

    master

    The Hasura GraphQL Engine connects to various databases to automatically generate a full-featured data API. This eliminates the need to manually write handlers, schemas, or resolvers.

    Users can:

    • Connect to existing databases.
    • Create new databases and manage them directly through the Hasura Engine.

    For specific implementation details, refer to the database-specific guides (e.g., PostgreSQL, MySQL, BigQuery) or the quickstart guide.

  11. What is json-annotation-parse?

    master

    The json-annotation-parse utility is a specialized JSON parser designed to annotate every node in a JSON structure with its original source location.

    This tool is specifically intended for error reporting (such as identifying exact locations of errors in Hasura metadata) rather than high-performance data processing. Because it prioritizes location tracking over speed, it should not be used in performance-critical paths of an application.