Open source Firebase + Heroku to develop, scale and secure serverless apps on Kubernetes

Overview

Space Cloud

Develop, Deploy and Secure Serverless Apps on Kubernetes.

WebsiteDocsSupport


Go Report Card Apache License

Space Cloud is a Kubernetes based serverless platform that provides instant, realtime APIs on any database, with event triggers and unified APIs for your custom business logic.

Space Cloud helps you build modern applications without having to write any backend code in most cases.

It provides GraphQL and REST APIs which can be consumed directly by your frontend in a secure manner.

Features

View complete feature set here.

  • Powerful CRUD: Flexible queries, transactions, aggregations and cross-database joins
  • Realtime: Make live queries to your database
  • File storage: Upload/download files to scalable file stores (e.g., Amazon S3, Google Cloud Storage)
  • Extensible: Unified APIs for your custom HTTP services
  • Event-driven: Trigger webhooks or serverless functions on database or file storage events
  • Fine-grained access control: Dynamic access control that integrates with your auth system (e.g., auth0, firebase-auth)
  • Scalable: Written in Golang, it follows cloud-native practices and scales horizontally
  • Service Mesh: Get all the capabilities of a service mesh without having to learn any of that!
  • Scale down to zero: Auto scale your http workloads including scaling down to zero

Supported databases ❤️ :

  • MongoDB
  • PostgreSQL and PostgreSQL compatible databases (For eg. CockroachDB, Yugabyte, etc.)
  • MySQL and MySQL compatible databases (For eg. TiDB, MariaDB, etc.)
  • SQL Server

Table of Contents

Quick start

If you are new to Space Cloud, we strongly recommend following our step-by-step guide to get started

Other guides

View the installation guides for Docker and Kubernetes.

Client-side tooling

Space Cloud exposes GraphQL and REST APIs. See setting up project guide to choose a client and set it up.

GraphQL APIs

GraphQL is the recommended way to use Space cloud, and it works with any GraphQL client. However, we recommend using Apollo Client. See awesome-graphql for a list of clients.

REST APIs

You can use the REST APIs of Space Cloud if you are more comfortable with REST.

To make it easy to consume the REST APIs in web projects, we have created a Javascript SDK for you.

How it works

Space Cloud is meant to replace any backend php, nodejs, java code you may write to create your endpoints. Instead, it exposes your database over an external API that can be consumed directly from the frontend. In other words, it allows clients to fire database queries directly.

However, it's important to note that the client does not send database (SQL) queries to Space Cloud. Instead, it sends an object describing the query to be executed. This object is first validated by Space Cloud (using security rules). Once the client is authorized to make the request, a database query is dynamically generated and executed. The results are sent directly to the concerned client.

We understand that not every app can be built using only CRUD operations. Sometimes it's necessary to write business logic. For such cases, Space Cloud allows you to access your custom HTTP servers via the same consistent APIs of Space Cloud. In this scenario, Space Cloud acts merely as an API gateway between your services and the client. However, the cool part is that you can even perform joins on your microservices and database via the GraphQL API of Space Cloud

Detailed Space Cloud architecture

Space Cloud integrates with Kubernetes and Istio natively to bring to you a highly scalable Serverless Platform. It encrypts all traffic by default and lets you describe communication policies to protect your microservices.

With that, it also provides autoscaling functionality out of the box including scaling down to zero

Support & Troubleshooting

The documentation and community should help you troubleshoot most issues. If you have encountered a bug or need to get in touch with us, you can contact us using one of the following channels:

Contributing

Space Cloud is a young project. We'd love to have you onboard if you wish to contribute. To help you get started, here are a few areas you can help us with:

  • Writing the documentation
  • Making sample apps in React, Angular, Android, and any other frontend tech you can think of
  • Deciding the road map of the project
  • Creating issues for any bugs you find
  • And of course, with code for bug fixes and new enhancements

License

Space Cloud is Apache 2.0 licensed.

Issues
  • Add check for valid email

    Add check for valid email

    When signing up a user the validity of the email address should be checked by sending an email with a confirmation-URL. Also one should be able to set if a user with an unconfirmed email is allowed to sign in.

    enhancement 
    opened by ledex 16
  • Request to allow hosting static files.

    Request to allow hosting static files.

    It would be really useful if space-cloud allowed the user to host static files as well. Adding this feature will definitely help space-cloud lift up above the others.

    enhancement 
    opened by high-functioning-sociopath 15
  • Need logging in Space Cloud

    Need logging in Space Cloud

    Currently space cloud doesn't provide any logging. We need a proper logging mechanism with configurable levels.

    enhancement good first issue help wanted 
    opened by YourTechBud 14
  • space-cloud is not usable on docker

    space-cloud is not usable on docker

    enhancement 🐛 bug 
    opened by HeyItsJs 13
  • The download config file steps in the quick start guide leads to errors

    The download config file steps in the quick start guide leads to errors

    I've heard quite a few people having troubles with downloading the config file step. Apparently copying and pasting the config directly in a file doesn't work.

    @KhushalPShah faced the same issue I guess.

    🐛 bug 📝 docs 
    opened by YourTechBud 13
  • Need to improve the docs and quick start

    Need to improve the docs and quick start

    The docs are not good enough. People new to the project won't be able to understand its aim and where it fits. Also the quick start seems to be a bit scattered and doesn't paint a clear picture regarding what it does.

    help wanted 📝 docs 
    opened by YourTechBud 12
  • unsafe password handling

    unsafe password handling

    actual plaintext passwords being sent in user management, really unsafe thing to do. Standard way is to salt the passwords and the compare the hashes, not plain text passwords

    enhancement good first issue help wanted 
    opened by VedantParanjape 12
  • Rework the role-model for the auth-module

    Rework the role-model for the auth-module

    The problem faced currently?

    The client can set the role when creating an user. This is a security issue, especially when the role is used for authorization rules in the config file.

    How can we solve it?

    Rework the role-model so that no unauthorized and no unauthenticated entity can change the role of a user.

    If you want this feature to be implemented, give it a thumbs up reaction, so that we can determine which features are important to you. 👍

    enhancement 
    opened by ledex 11
  • Implement web/REST based admin ui

    Implement web/REST based admin ui

    The problem faced currently?

    • Managing users can only be done from DB client(not really sexy) or frontend client(needs work before being able to do so).
    • Dealing with security rules can be tricky when they grow and become huge

    How can we solve it?

    Implement web admin interface with the following features

    • [ ] manage users (CRUD)
    • [ ] manage collections / db (import / export)
    • [ ] rules generator (and why not live update config with generated data)
    opened by 8byr0 11
  • db.liveQuery(...).where(condition).subscribe(onSnapshot, onError) - onSnapshot not called for deletes

    db.liveQuery(...).where(condition).subscribe(onSnapshot, onError) - onSnapshot not called for deletes

    Expected: onSnapshot to be called when db.delete(...) is called

    Actual: Document(s) are deleted but onSnapshot is not called

    delete

    removeTodo(id) {
        db.delete('todos').where(and(cond('id', '==', id))).one().then(res => {
            if (res.status !== 200) {
                console.log('Delete Failed:', res)
            }
    
        }).catch(ex => {
            // Exception occured while processing request
            console.log('Delete Exception:', ex)
        });
    }
    

    subscription

    componentDidMount() {
        // Get user id from local storage
        const userId = localStorage.getItem('userId')
    
        const onSnapshot = (docs, type) => {
            console.log('onSnapshot > docs', docs)
            this.setState({todos: docs}, () => {
                console.log('onSnapshot > setState > this.state.todos', this.state.todos)
            })
        }
        const onError = (err) => {
            console.log('Live query error', err)
        }
        const condition = cond('userId', '==', userId);
        db.liveQuery("todos")
            .where(condition)
            .subscribe(onSnapshot, onError)
        db.liveQuery("todos")
            .where() // testing not sure if this even works
            .subscribe((doc) => {
                console.log('subscribe > doc', doc)
            }, onError)
    }
    
    help wanted 🐛 bug 
    opened by MichaelLeeHobbs 11
  • There is not affect for the table secure rule

    There is not affect for the table secure rule

    Describe the bug

    1, Go to Storage - Database - Settings - Default rules for tables/collections Create the default secure rule, the create -- deny 2, Go to Storage - Database Select one table and click "Secure", click "Add rules", create -- allow 3, Call graphQL API to insert one record in this table, there is the error:

    {
      "message": "Unable to parse token, token is malformed"
    }
    

    4, Update the default secure rule, the create -- allow 5, repeat the #3, it is success.

    Your environment

    • Space Cloud version: v0.21.4
    • OS: Centos 7.6
    • Kubernetes or Docker: Docker
    • The client api version (if applicable):
    • Browser (if applicable):

    If this bug restricts your use of space-cloud, give it a thumbs up reaction, so that we can determine which bugs need to be fixed immediately. 👍

    opened by pandaxxt 0
  • Fixes Architecture Image in readme.

    Fixes Architecture Image in readme.

    #1563

    Fixes Architecture Image in readme.

    opened by 10allday 0
  • Add Goreleaser to automate adding assets to a release

    Add Goreleaser to automate adding assets to a release

    The problem faced currently?

    Currently, after creating a release we don't upload assets such as binaries for different systems & architectures.

    How can we solve it?

    This can be automated using the goreleaser tool. For more checkout their docs https://goreleaser.com/ We add this tool in our github Action workflow

    If you want this feature to be implemented, give it a thumbs up reaction, so that we can determine which features are important to you. 👍

    opened by sharadregoti 0
  • Architecture Link in Readme 404s

    Architecture Link in Readme 404s

    Describe the bug

    The Detailed Space Cloud architecture link in the How it works section of the Readme 404s.

    🐛 bug 📝 docs 
    opened by jpowell 2
  • Allow joins when using REST API

    Allow joins when using REST API

    The problem faced currently?

    Currently cannot use joins in the REST API, see https://github.com/spaceuptech/space-cloud/blob/master/gateway/server/handlers/crud.go#L168

    How can we solve it?

    Allow joins to be used in the REST API

    If you want this feature to be implemented, give it a thumbs up reaction, so that we can determine which features are important to you. 👍

    enhancement 
    opened by kselectride 1
  • jwt-go dependancy is vulnerable (CVE-2020-26160)

    jwt-go dependancy is vulnerable (CVE-2020-26160)

    Describe the bug

    https://nvd.nist.gov/vuln/detail/CVE-2020-26160

    The package: dgrijalva/jwt-go

    Is not maintained anymore. You can check multiple issues on their repo.

    Expected behaviour

    Use stable and reliable dependancies

    This seems to be a 1v1 replacement and is more up to date: https://github.com/form3tech-oss/jwt-go

    Though, you might want to migrate to something more stable long term from Square: https://github.com/square/go-jose/tree/v2

    opened by casbeebc 1
  • Add examples on how to use client SDKs both go & js

    Add examples on how to use client SDKs both go & js

    The problem faced currently?

    Currently, there is no documentation on how to use js & go SDK

    How can we solve it?

    If you want this feature to be implemented, give it a thumbs up reaction, so that we can determine which features are important to you. 👍

    opened by Sharad-Regoti-Unotech 0
  • Make the data inside browse tab under database section horizontally scroll able

    Make the data inside browse tab under database section horizontally scroll able

    The problem faced currently?

    image If you have many columns in a table. Mission control will squeeze all the column in a single window, which is not at all useful because you can't see the data.

    How can we solve it?

    Make the table horizontally scrollable.

    If you want this feature to be implemented, give it a thumbs up reaction, so that we can determine which features are important to you. 👍

    area/mission-control 
    opened by sharadregoti 0
Releases(v0.21.4)
  • v0.21.4(Apr 22, 2021)

    This is a huge release where we are making everything in SpaceCloud fully open source. The following features are now available for everyone to use.

    • Add multiple projects in a single k8s cluster
    • Add multiple Databases in each project
    • Enable caching on all database and REST queries

    Upgrade guide

    Follow the steps to migrate from v0.20.0 and above:

    • Backup your current config using space-cli (space-cli --project <project_id> get all /path/to/backup/dir)
    • Backup setup configuration (space-cli inspect sc-setup-config.yaml)
    • Download the latest version of space-cli (Linux | Windows | Mac) and run space-cli update -f sc-setup-config.yaml.
    • Make sure you run Reload Schema in Database > Settings for each SQL database you've added in SpaceCloud.

    Ping us on #general of our Discord server, if you face any issues while migrating.

    Source code(tar.gz)
    Source code(zip)
  • v0.21.3(Apr 8, 2021)

    This is a minor release containing a new enhancement.

    Changes

    • Added support for traffic splitting based on header & urls (#1485)

    Upgrade guide

    Follow the steps to migrate from v0.20.0 and above:

    • Backup your current config using space-cli (space-cli --project <project_id> get all /path/to/backup/dir)
    • Backup setup configuration (space-cli inspect sc-setup-config.yaml)
    • Download the latest version of space-cli (Linux | Windows | Mac) and run space-cli update -f sc-setup-config.yaml.
    • Make sure you run Reload Schema in Database > Settings for each SQL database you've added in SpaceCloud.

    Ping us on #general of our Discord server, if you face any issues while migrating.

    Source code(tar.gz)
    Source code(zip)
  • v0.21.2(Mar 25, 2021)

    This is a minor release containing a few fixes.

    Changes

    • Updated letsencrypt client

    Upgrade guide

    Follow the steps to migrate from v0.20.0 and above:

    • Backup your current config using space-cli (space-cli --project <project_id> get all /path/to/backup/dir)
    • Backup setup configuration (space-cli inspect sc-setup-config.yaml)
    • Download the latest version of space-cli (Linux | Windows | Mac) and run space-cli update -f sc-setup-config.yaml.
    • Make sure you run Reload Schema in Database > Settings for each SQL database you've added in SpaceCloud.

    Ping us on #general of our Discord server, if you face any issues while migrating.

    Source code(tar.gz)
    Source code(zip)
  • v0.19.8(Mar 23, 2021)

    This release contains a minor bugfix:

    • Updated letsencrypt client

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker-based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    Source code(tar.gz)
    Source code(zip)
  • v0.21.1(Mar 23, 2021)

    This is a minor release containing a few fixes.

    Changes

    • Improved support for operation type one #1536
    • Fixed issue with jwk urls #1530

    To see the complete list of enhancements/fixes, check out the v0.21.1 milestone.

    Upgrade guide

    Follow the steps to migrate from v0.20.0 and above:

    • Backup your current config using space-cli (space-cli --project <project_id> get all /path/to/backup/dir)
    • Backup setup configuration (space-cli inspect sc-setup-config.yaml)
    • Download the latest version of space-cli (Linux | Windows | Mac) and run space-cli update -f sc-setup-config.yaml.
    • Make sure you run Reload Schema in Database > Settings for each SQL database you've added in SpaceCloud.

    Ping us on #general of our Discord server, if you face any issues while migrating.

    Source code(tar.gz)
    Source code(zip)
  • v0.21.0(Feb 19, 2021)

    This is a minor release containing few enhancements and fixes.

    Changes

    • Added support changing the request payload format in graphQL API #1526
    • Dataloader improvements #1487 #1501
    • Improved data type compatibility with all SQL databases #1496 #1424 #1465 #1467 #1469
    • Add support to display the raw SQL query being fired along with the time it took to get the result. #1120
    • Added a DockerCompose file for deploying SC with docker #1253

    To see the complete list of enhancements/fixes, check out the v0.21.0 milestone.

    Contributors

    A special thanks to @narayandreamer for redesigning out website (link: https://spaceuptech.com)

    Upgrade guide

    Follow the steps to migrate from v0.20.0 and above:

    • Backup your current config using space-cli (space-cli --project <project_id> get all /path/to/backup/dir)
    • Backup setup configuration (space-cli inspect sc-setup-config.yaml)
    • Download the latest version of space-cli (Linux | Windows | Mac) and run space-cli update -f sc-setup-config.yaml.
    • Make sure you run Reload Schema in Database > Settings for each SQL database you've added in SpaceCloud.

    Ping us on #general of our Discord server, if you face any issues while migrating.

    Source code(tar.gz)
    Source code(zip)
  • v0.20.1(Dec 24, 2020)

    This is a minor release of Space Cloud that has a few improvements and bug fixes.

    • Added bit(1) support in MySQL and fixed runner related errors when using gateway standalone #1453
    • Optimized links to use native joins wherever possible #1422
    • Added support to aggregate fields of joint tables #1421

    To see the complete list of enhancements/fixes, check out the v0.20.1 milestone.

    Upgrade guide

    Follow the steps to migrate from v0.20.0:

    • Backup your current config using space-cli (space-cli --project <project_id> get all /path/to/backup/dir)
    • Backup setup configuration (space-cli inspect sc-setup-config.yaml)
    • Download the latest version of space-cli (Linux | Windows | Mac) and run space-cli update -f sc-setup-config.yaml.

    Ping us on #general of our Discord server, if you face any issues while migrating.

    Source code(tar.gz)
    Source code(zip)
  • v0.20.0(Dec 5, 2020)

    This is a major release of Space Cloud that has tons of improvements and a few breaking changes.

    Revamped eventing architecture

    Space Cloud now uses a CDC (Change Data Capture) based eventing mechanism to capture database events reliably. Space Cloud uses Debezium and Redis under the hood to implement a reliable and performant eventing system.

    Perks

    • Eventing works even for mutations made directly to the database from outside of Space Cloud.
    • All the previous limitations are gone. Events would be captured even if mutations are made without the primary key in the where clause or even if the primary key is not of type ID.
    • Stronger guarantees and reliability.

    New data types

    Thanks to the new eventing architecture, eventing is not tied to specific data types anymore. Hence, we have added a few data types that were asked for a lot of time:

    • Date
    • Time
    • Autoincrementing/Serial primary keys

    More data types will be coming in the next releases.

    Event-driven auto-scaling

    We have added support for KEDA (Kubernetes Event-Driven Autoscaling) to Space Cloud. This means you can now autoscale your services based on:

    • Requests per second
    • Active requests
    • CPU consumption
    • Memory consumption
    • CRON schedule
    • Tons of other events (e.g. number of pending items in Kafka, SQL query output from Postgres, etc.), all thanks to KEDA!

    Dropped Docker Support

    As discussed and concluded in various community calls before, we have dropped the support for Docker as a target of the deployments module in Space Cloud. Space Cloud can now deploy services to Kubernetes only.

    Dropping docker support would go a long way for us in developing and maintaining the deployments module. It would also help us to focus more on k8s and its ecosystem.

    Caching module ⚡️

    We have introduced a Redis based caching module in v0.20.0 that can cache responses from databases, ingress routes and remote services. It supports TTL based caching as well as instant invalidation.

    Note: Caching is a part of our enterprise version.

    Other notable enhancements

    • Conditional event triggers #1392
    • Support for configuring underlying database driver #1023
    • Default limit clause in every ready query #1338
    • Support for specifying kid in JWT secrets #1405
    • Support for overriding token claims in event triggers #1389
    • Added support for search in all resources in Mission Control

    To see the complete list of enhancements/fixes, check out the v0.20.0 milestone.

    Upgrade guide

    Follow the steps to migrate from the previous versions to v0.20.0:

    • Backup your current config using space-cli version 0.19.X. (space-cli --project <project_id> get all /path/to/backup/dir)
    • Delete the existing SC setup using kubectl delete -f https://raw.githubusercontent.com/spaceuptech/space-cloud/v0.19.7/install-manifests/kubernetes/local/space-cloud.yaml
    • Download the latest space-cli. (Linux | Windows | Darwin). This latest space-cli should be used from now for the further operations.
    • Make sure kubectl is pointing to the right k8s cluster and run space-cli setup.
    • Apply the backup config using space-cli apply /path/to/backup/dir

    Ping us on #general of our Discord server, if you face any issues while migrating.

    Source code(tar.gz)
    Source code(zip)
  • v0.19.7(Nov 9, 2020)

    This release contains a minor bugfix in ingress routes:

    • Gateway ended up following redirects from ingress routes #1394

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker-based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    Source code(tar.gz)
    Source code(zip)
  • v0.19.6(Oct 28, 2020)

    This release contains major performance optimisations and minor features

    Enhancements

    • Native support for all types of SQL joins (LEFT, RIGHT, INNER, OUTER):
    query {
      users (join: $join, where: $where) @db {
        name
        posts {
          title
          views {
            count
          }
        }
        address {
          pincode
          street
        }
      }
    }
    

    variables:

    {
      "join": [
        {
          "type": "LEFT",
          "table": "posts",
          "on": {"users.id": "posts.user_id"},
          "join": [
            {
              "type": "LEFT",
              "table": "views",
              "on": {"posts.id": "views.post_id"}
            }
          ]
        },
        {
          "type": "LEFT",
          "table": "address",
          "on": {"users.id": "address.user_id"}
        }
      ]
    }
    
    • Optimised (single SQL query) the same database joins when using the new join syntax #1135
    • New syntax for aggregations:
    query {
      users (join: $join, where: $where) @db {
        name
        totalViews: views__count @aggregate(op: sum)
        maxViews: views__count @aggregate(op: max)
      }
    }
    
    • Support for templating directive using JWT claims. #1370

    Fixes

    • Fixed security rule editor crashing in Mission Control when the schema isn't provided #1369

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker-based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    Source code(tar.gz)
    Source code(zip)
  • v0.19.5(Oct 9, 2020)

    This is a minor release containing few enhancements in ingress routing and a bug fix in letsencrypt module.

    Enhancements

    • Added support for filtering ingress routes based on URL via Mission Control #1348
    • Show the number of ingress routes being displayed in the ingress routing page #1350
    • Add support for filtering ingress routes in space-cli get command #1349
    • Added a delay flag in space-cli apply command to slow down the rate at which the configs are applied #1351

    Fixes

    • Fixed letsencrypt not working when email is configured #1347

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker-based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    Source code(tar.gz)
    Source code(zip)
  • v0.19.4(Oct 6, 2020)

    This is a minor release containing few enhancements and fixes.

    Enhancements

    • Added support for validating issuer and audience of JWT claim #1322
    • Added support for specifying docker cmd in deployments via mission control #1317
    • Added ability to provide the length of varchar in schema when using type ID #1187
    • Added support to convert string to Object ID and vice versa #1343

    Fixes

    • Limited height of rows in the data browser table #1336
    • Fixed limit clause not working if its value is provided through GraphQL variables #1321

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    Source code(tar.gz)
    Source code(zip)
  • v0.19.3(Sep 23, 2020)

    This is a minor release containing few enhancements and fixes.

    Enhancements

    • Added support for JWK URLs, thereby enabling integration with identity providers like Firebase Auth / Auth0 / Keycloak etc #1112
    • Added support for pod affinities #1274
    • Added support for adding labels to services deployed by Space Cloud #1282
    • Added support for multiples tasks and labels in deployments via Mission Control #753
    • Added support to dynamically encrypt, decrypt, hash and remove fields #1270
    • Added ability to forward the results of query and webhook rules to your service #1268
    • Added support for templating webhook requests #1267
    • Added support for optional timeouts in remote services config #1277
    • Added health check mechanism for integrations #1271
    • Added support for uploading an integration config directly from Mission Control #1272
    • Added logout button in Mission Control #1276
    • Added loading in Mission Control while generating RSA 256 secret #1263
    • Added support for space cli deploy --prepare command to work without a running SC cluster #1300
    • Added support for gcs setup on Kubernetes with space cloud secrets #1250
    • Added support for configuring default security rules while configuring file storage #1209
    • Added support of code splitting in Mission Control to reduce loading time #1278

    Fixes

    • Fixed space api go delete file function deleting folders as well in local storage #1266
    • Fixed space api go not able to delete larger files to aws and gcp #1265
    • Fixed mission control resetting the security rules of remote endpoints when changing its type #1289
    • Fixed mission control not allowing to remove the last env pair while editing deployment #1292
    • Fixed mission control persisting file storage configuration form values after changing file store type #1262

    Contributors

    A special thanks to all our contributors for their help in this release!

    • Kavish Shah @KavishShah09
    • Prithvi Malhotra @prithvi081099
    • Arnav Gosain @arn4v
    • Shubham Nazare @shubham4443
    • Saif Kamal @Saif-Ali-Kamal

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    Source code(tar.gz)
    Source code(zip)
  • v0.19.2(Sep 2, 2020)

    This is a minor release containing few enhancements and fixes.

    Enhancements

    • Add support for licensing logic to work in complete offline environments #1256
    • Added logging in space cloud #57
    • Added support for tracing requests in space cloud #462
    • Added flag to disable Mission Control in gateway #1196
    • Added flexibility to return status code for config mutation endpoints #1197

    Fixes

    • Fixed space cloud not cleaning the temp files creating during multi-part file uploads in the filestore module #1245
    • Fixed copy/paste in the security rule builder not working on unsecured sites #1261
    • Unable to add HSA secret from Mission Control #1260
    • Prevent unnecessary fetching of latest version if a specific version is specified in the space-cli setup or upgrade command #1257

    Contributors

    A special thanks to all our contributors for their help in this release!

    • Jainam Shah @jcs98
    • Kavish Shah @KavishShah09
    • Shubham Nazare @shubham4443
    • Saif Kamal @Saif-Ali-Kamal

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    Source code(tar.gz)
    Source code(zip)
  • v0.19.1(Aug 22, 2020)

    This is a minor release containing the following enhancements:

    • Added sprig functions to our go templating. #1233
    • Added support for templating webhook request body of the event triggers. #1234
    • Added disableSSL and forcePathStyle options in the file store config of AWS (for advanced setup in minio). #1232
    • Improved handling of RSA secrets. Mission Control itself creates the public key from a given private key now. #1231
    • Improved viewing lengthy strings in the body of invocation logs in Mission Control.

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    Source code(tar.gz)
    Source code(zip)
  • v0.19.0(Aug 19, 2020)

    Introducing an enterprise version!

    We have finally released an enterprise-ready version of Space Cloud! 😀 It includes the following features:

    • Support for multiple projects and multiple databases in a single Space Cloud cluster.
    • Ability to manage multiple users with granular permissions to configure Space Cloud.
    • Audit logs of any config changes performed in Space Cloud.
    • A maker checker system to change Space Cloud config for an extra layer of protection in production systems.

    Enterprise licenses for Space Cloud can be purchased from https://console.spaceuptech.com.

    Drop us a mail at [email protected] if you need any help for evaluating the enterprise version.

    Enhancements

    Deployments module

    • Provide information about the health (no of running replicas vs desired replicas) of services deployed via Space Cloud.
    • Added ability to fetch/stream logs of any service deployed via Space Cloud. These logs can be viewed from the space-cli and Mission Control as well. #1004

    Mission Control streaming service logs in realtime: Screenshot from 2020-08-19 19-48-44

    Security module

    • Added a security rule builder in Mission Control. It helps you configure the security rules in a graphical and easy to use way. Screenshot from 2020-08-19 20-57-20
    • Added support for the RSA algorithm in JWT secrets. #1220
    • auth claims are now available inside security rules of prepared queries. #1062

    Database module

    • Added support for cross-database links! 😇 This means that Space Cloud now lets you join data across different databases via its GraphQL layer seamlessly. (Note: Adding multiple databases in Space Cloud is an enterprise feature) #1018
    • Support for aggregations in MongoDB. #1001
    • Added support for aggregations on linked tables. #1061
    • The count function in aggregation works even without a selection set now. #1063
    • Forced case sensitive search for MySQL and MsSQL. #1031
    • Support for untracking a tracked table. #997
    • Support to refresh the schema of a particular table from Mission Control. #1013
    • Support to delete an untracked table directly from Mission Control. #998
    • Added a data manager UI in Mission Control. It includes browsing your data (along with filtering and sorting) and performing mutations. #625 Screenshot from 2020-08-19 20-18-00
    • Improvements in Sample Queries page in the database section. Added a play button to copy-paste the GraphQL queries to GraphiQL directly. #813
      Screenshot from 2020-08-19 20-19-17

    Space CLI

    • Support to set up and manage multiple Space Cloud clusters. #1117
    • Added commands to view, change and delete accounts. #1024
    • Better hints in case of incorrect usage. #1127
    • Enabled autocompletion of commands in space-cli. #712
    • destroy command doesn't require root privileges while deleting services. #1015
    • apply command prints the id and spec when it encounters an error.
    • Added getters and generators for prepared queries and ingress global config. #1161
    • Adds the default rules for database and prepared queries while auto applying a database config.

    Misc

    • Mission Control now displays the version of Mission Control itself. #1221
    • Allow letsencrypt email to be configured via Mission Control.
    • Authentication tokens expire after a given amount of time.
    • Option to enable/disable telemetry through the Mission Control. #1053
    • Refined RBAC permissions for gateway and runner service accounts in Kubernetes. #1088

    Bug fixes

    • Fixed panic error for list files in S3.
    • Fixed error while deleting a file in GCS. #1213
    • Fixed Mission Control overriding fields not shown in Mission Control while updating a deployment config.
    • Fixed metric proxy overloading envoy causing envoy to hit its CPU limits. #1216
    • Fixed the setup command giving error on windows.

    Breaking changes

    • Space Cloud now returns true/false instead of 1/0 for boolean values in MySQL. This is done in order to provide a consistent API for all the databases. (Note: This breaking change is for MySQL only. All the other supported databases used to provide true/false already for boolean values) #758
    • Reorganized the file folder structure of the file storage module for Google Cloud Storage to consider the bucket itself as the root rather than a folder / inside the bucket. This was done in order to provide the same experience across all file storage providers. #1213
    • The REST API of Space Cloud remote services now returns the result directly as the response body rather than inside a result field inside response body.

    These breaking changes are only applicable if you used either MySQL, GCS or Space Cloud's REST API for remote services. Join our discord channel if you need any help upgrading to v0.19.0 because of these breaking changes.

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    Source code(tar.gz)
    Source code(zip)
  • v0.18.4(Jul 22, 2020)

    This is a minor release containing a single bug fix:

    #1170 - Data race condition due to not acquiring a lock while reading the dataloader map.

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    Source code(tar.gz)
    Source code(zip)
  • v0.18.3(Jul 14, 2020)

    This is a minor release containing improvements in security rules and ingress routing

    Ingress routing improvements

    • Added support for modifying the response headers in Ingress Routing.
    • Added support for adding/deleting the request headers in Ingress Routing and Remote Services.
    • Added support for specifying the request/response headers modifications globally for Ingress Routing. (Header set on route level will override the header set on a global level)
    • Added support for filtering ingress routes in Mission Control.

    Security rules improvements

    Added support for accessing elements inside arrays in security rules. For example, the below security rule can now access the 3rd element inside tags (array) :

    {
      "rule": "match",
      "type": "string",
      "eval": "==",
      "f1": "args.doc.tags.2",
      "f2": "mytag"
    }
    

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    Source code(tar.gz)
    Source code(zip)
  • v0.18.2(Jun 27, 2020)

    This is a patch release just containing a bug fix:

    Setting the config of prepared queries wasn't working because of a recent optimization in v0.18.0.

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    Source code(tar.gz)
    Source code(zip)
  • v0.18.1(Jun 22, 2020)

    This is a patch release, mostly containing bug fixes.

    Notable bug fixes

    • Database connection gets disconnected while tracking too many tables #1070
    • EOF error when querying remote services that return 204 status code #1077
    • Current date operator not working in Postgres #1043
    • space-cli setup in windows throw error #1074
    • Error while fetching event logs in Mission Control for MySQL database #1068

    For a complete list, check out the v0.18.1 milestone

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go right, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    Source code(tar.gz)
    Source code(zip)
  • v0.18.0(Jun 12, 2020)

    Improvements

    Remote Services

    • Added support to set headers using values from JWT claims and payload
    • Added ability to transform body of the request and response
    • Added feature to run prepared Space Cloud GraphQL queries. This is a more secure way of using Space Cloud. Guide on this is coming soon

    Ingress Routing

    • Added ability to add security rules to ingress routing. Now you can expose your microservices securely to the outside world without any fear!
    • Added support to set headers using values from JWT claims and payload
    • Added ability to transform body of the request and response

    Database module

    • Database module can load connection strings from secrets. This protects the connection string from being exposed.
    • Finally added support for aggregations for SQL databases. Support for the same in Mongo is coming soon. Docs
    • Improved support for tracking existing tables. Currently tables with indexes do not get tracked properly. Should be fixed soon.
    • Added ability to execute raw SQL queries written in Mission Control. This helps one extract maximum performance and perform queries which would not be possible otherwise. This also eliminates the need of writing custom views for niche scenarios. Docs
    • Added JSON type for MySQL

    Misc

    • Filestore modules can load credentials files from secrets.
    • Several improvements in space-cli
    • Security rules can now compare dates as well
    • Added ability to customize the error message returned on failed authorization

    Fixes

    Fixed quite a few bugs as well.

    Upgrade guide

    Upgrade is possible from v0.17.0 and above.

    Before upgrading your cluster, make sure you backup cluster config using space-cli --project <project_id> get all /path/to/backup/dir. If things go wrong, you'll be able to reapply all saved project config using space-cli apply /path/to/backup/dir.

    For Docker based deployments:

    Simply run space-cli upgrade.

    For Kubernetes based deployment:

    We recommend setting up a fresh Kubernetes cluster and installing Istio and SC on top of it. Don't forget to backup all project config first!

    For the complete list of all changes and bug fixes, checkout the v0.18.0 milestone

    Source code(tar.gz)
    Source code(zip)
  • v0.17.0(Apr 29, 2020)

    Improvements

    Deployments module

    • Added support for service routing. You can not split HTTP traffic between different versions of a service. This enables support for canary deployment, A/B testing and load offloading. #769
    • Added support to scale based on the active concurrent requests. #755
    • Added GPU as a resource constraint for Kubernetes. #869
    • Added a space-cli deploy command to deploy code directly to SC. #861

    Space CLI

    • Added getters and generators for multiple config resources types. Execute space-cli get --help and space-cli generate --help for reference. #726 #667
    • Added space-cli get all command to export all SC config. #738
    • Added support for applying directory in space-cli apply command to apply exported config to SC. #737
    • Added space-cli add registry and space-cli add database commands to ease the process of getting started with SC. This only works on docker. #856
    • Added a space-cli upgrade command to upgrade the current running SC cluster to the latest compatible version. This only works on docker. #809

    Misc

    • Added support for storing multiple secrets to make secret rotation easier. #911
    • Added token builder in MissionControl to generate tokens used in API requests. #575
    • Added event logs tab in mission control to browse event and invocation logs from the UI itself. #765
    • Added JSONB support for Postgres. #853
    • Added support for weighted routing for ingress traffic- #784
    • Added support to hash, encrypt request and response fields. #621

    Fixes

    • Improved reliability of eventing system. #899 #901 #902
    • Improved reliability of realtime module. #907 #908 #917 #918 #920 #921

    Migration guide

    Migration from previous versions to v0.17.0 is not possible since the release introduces breaking changes. You can follow these steps:

    • Export config from v0.16.0.
    • Delete your v0.16.0 cluster.
    • Download the latest version fo space-cli and create a new cluster.
    • Create a new project and reconfigure each module while referring to the config you obtained in step 1.

    For the complete list of all changes and bug fixes, checkout the v0.17.0 milestone

    Source code(tar.gz)
    Source code(zip)
  • v0.16.0(Feb 19, 2020)

    New Deployments Module

    With v0.16.0, we have added a new deployments module which integrates with Kubernetes and Docker to give you a serverless platform to scale and secure your microservices. The deployments module has the following advantages:

    • In built service mesh for enhanced security.
    • Encrypt all network traffic by default.
    • Autoscaling HTTP workloads including scaling down to zero.

    Visit our documentation to know more.

    You can also checkout our step-by-step guide to get started with the new release.

    Feature enhancements

    • Added utils.length() function in security rules to get length of array [#697]
    • Added optional condition to the force / remove rules [#623]
    • Added letsencrypt support for automatic HTTPS [#630]
    • Added schema support, security rules and custom timeout feature to eventing module [#543, #544, #545]
    • Allow to create tables without security rules [#577]

    Bug fixes

    • GraphQL memory leak [#678]
    • Default rule isn't applied to newly tracked tables [#586]
    • Default rule isn't shown when creating new tables from sc-gui [#586]
    • Can't query arrays in REST response from external service [#659]

    You can find a more detailed list of all changes here

    Source code(tar.gz)
    Source code(zip)
  • v0.15.3(Jan 8, 2020)

    Eventing enhancements

    Earlier, Space Cloud was capable of triggering a webhook for database events only when the document consisted of id/_id field for SQL/Mongo. However, now Space Cloud's eventing module works for any database mutations that contains the fields uniquely identifying the document in the request.

    Note: However, this causes a breaking in the realtime module (liveQuery). Instead of sending the docId, Space Cloud now sends the find object which contains the field that uniquely identifies the document. i.e. the fields with either the @primary or @unique directive. Read more about the liveQuery syntax.

    Distinct support

    The support of fetching distinct/unique values is added to Space Cloud in this version. Learn more about how you can use the distinct clause. Fixes #546

    Version display in Mission Control

    The mission control now displays the version number of Space Cloud that it is running with. This is helpful while debugging.

    Bug fixes in Space Cloud

    • Insert array in MongoDB. Fixes #607
    • Sort not working. Fixes #622
    • GraphQL mutation doesn't return the value of default fields. Fixes #617
    • Upsert operation not working in MongoDB. Fixes #619

    Bug fixes in Mission Control

    • Reset schema on error. Fixes #605
    • Unable to save schema. Fixes #606
    Source code(tar.gz)
    Source code(zip)
  • v0.15.2(Jan 3, 2020)

  • v0.15.0(Dec 29, 2019)

    This is a major release of Space Cloud with tons of feature additions and bug fixes.

    Robust security rules

    The security rules of Space Cloud have become more robust due to the following feature additions:

    • Delete certain fields from request/response with the help of rule type - remove. Fixes #552
    • Override certain fields from request/response with the help of rule type - force. Fixes #553
    • Added support of in/notIn array operators. Fixes #587

    Read more about the security in Space Cloud.

    Note: Special thanks to @s-kris for his contribution via crucial feedback and feature requests! 😃

    Easier production deployments

    • Added support for etcd as a config store.
    • Space Cloud now automatically registers itself with its config store in the distributed mode.

    Read more about running Space Cloud in distributed mode

    Schema Module enhancements

    SQL Server support

    You can now use Space Cloud along with SQL Server. With this addition, Space Cloud now has the following databases support:

    • MongoDB
    • Postgres (and Postgres compatible databases)
    • MySQL (and MySQL compatible databases)
    • SQL Server

    Advanced eventing

    Space Cloud now supports event triggers for File operations as well (upload/delete). With this addition, you can now trigger your custom business logic on the following events:

    • Database events (insert/update/delete)
    • File storage events (upload/delete)
    • Custom events

    Read more about eventing in Space Cloud.

    Others

    • regex operator for filtering/searching in the CRUD module.
    • Support for Database Alias. Fixes #488
    • Support for deleting a project.
    • Export/import project config via Mission Control.
    • Mission Control is made mobile responsive.
    • Ability to remove database config via Mission Control.
    • Ability to put raw MongoDB query in space-api-js.
    • Few more enhancements in Space Cloud and Mission Control.
    Source code(tar.gz)
    Source code(zip)
  • v0.14.0(Dec 7, 2019)

    This release of Space Cloud has some significant changes to the schema module which makes modelling and using the CRUD module of Space Cloud very easy.

    Explicit foreign key

    The @relation directive has been dropped in favour of the @foreign directive to make things more explicit and avoid the confusion with the @link directive which is used for modelling relations.

    Note: This is a breaking change. Follow the migration guide below to upgrade to v0.14.0

    So if your schema for foreign key looked like this:

    type article {
      id: ID! @primary
      title: String!
      author_id: author! @relation
    }
    

    Then you will have to change it to:

    type article {
      id: ID! @primary
      title: String!
      author_id: ID! @foreign(table: "author", field: "id")
    }
    

    Migration guide

    • First, Stop Space Cloud.
    • Then open the config file in a code-editor/nano/vim, etc.
    • Locate all the tables in the config where you have used the @relation directive.
    • Replace @relation to @foreign directive with the table and field arguments to dictate the target of the foreign key as shown in the above example.
    • Change the type of the field with @relation directive to ID as shown in the above example.
    • Save the config file and start Space Cloud with this updated config file.

    Simplified joins

    Now you can query relational data by making a simple query like this on frontend:

    query {
      author {
        id
        name
        articles {
          id
          title
        }
      }
    }
    

    For this you would have to specify a @link directive to describe the relationship between types like this:

    type author {
      id: ID! @primary
      name: String!
      articles: [article] @link(table: "article", from: "id", to: "author_id")
    }
    
    type article {
      id: ID! @primary
      title: String!
      author_id: ID! @foreign(table: "author", field: "id")
    }
    

    Read more about links and modelling relationships.

    This solves #494

    Returns the inserted fields in insert mutations

    You can now ask for the fields of the objects inserted in a mutation. Solves #511

    Bug fixes

    • #429
    Source code(tar.gz)
    Source code(zip)
  • v0.13.1(Nov 25, 2019)

    Bug fixes

    • Too many open files bug because of data race in eventing module #503
    • Closed body in all requests #504
    • SC applies the config of only the changed module rather than the entire config #485
    • Docs fixes #512 thanks to @thienpow

    Enhancements

    • Space Cloud now takes CONFIG environment variable to configure the path of config file #489
    • You can now specify the HTTP method for remote services #492
    Source code(tar.gz)
    Source code(zip)
  • v0.13.0(Nov 4, 2019)

    This release simplifies the architecture of Space Cloud greatly and also introduces the support of remote services.

    Consul support

    Space Cloud now uses Consul in the distributed mode for service discovery and config sync. This ensures a more robust and loosely coupled architecture.

    We have removed the raft cluster which we used to maintain internally earlier. This means you can directly make changes to the config file now. We have also dropped the support of nats, pubsub and static module.

    To deploy Space Cloud in distributed mode, checkout this guide.

    Remote services

    We have dropped the support of functions module in favour of normal HTTP services for custom business logic. This will help you leverage the existing ecosystem instead of adopting a new paradigm.

    You can even perform joins on your remote services and database. Learn more about remote services from here.

    Improved UX

    The new mission control has major changes to improve the user experience. We have removed the global save button and setup database buttons which were confusing.

    Bug fixes

    All bug fixes in v0.13.0 milestone

    Source code(tar.gz)
    Source code(zip)
  • v0.12.1(Oct 12, 2019)

    Bug fixes

    • Fixed swapping of directory and file name while creating a file in the file management module #427
    • Fixed wrong SQL query being generated while using AND and OR clause together #426
    • Fixed integer queries not working in graphql #425
    • Fixed boolean queries not working in graphql #424

    It also added an endpoint to trigger events.

    Source code(tar.gz)
    Source code(zip)
💲 Golang, Go Fiber, RabbitMQ, MongoDB, Docker, Kubernetes, GitHub Actions

Bank Projeto para simular empréstimos financeiros em um banco para clientes Tecnologias Utilizadas Golang MongoDB RabbitMQ Github Actions Docker Hub D

Jailton Junior 4 Jul 20, 2021
Distributed WebSocket broker

dSock dSock is a distributed WebSocket broker (in Go, using Redis). Clients can authenticate & connect, and you can send text/binary message as an API

Charles Crete 200 Jul 22, 2021
sqlite3 driver for go using database/sql

go-sqlite3 Latest stable version is v1.14 or later not v2. NOTE: The increase to v2 was an accident. There were no major changes or features. Descript

mattn 5k Jul 23, 2021
logical is tool for synchronizing from PostgreSQL to custom handler through replication slot

logical logical is tool for synchronizing from PostgreSQL to custom handler through replication slot Required Postgresql 10.0+ Howto Download Choose t

梦飞 6 Jul 1, 2021
Golang driver for ClickHouse

ClickHouse Golang SQL database driver for Yandex ClickHouse Key features Uses native ClickHouse tcp client-server protocol Compatibility with database

ClickHouse 1.4k Jul 23, 2021
Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more)

gokv Simple key-value store abstraction and implementations for Go Contents Features Simple interface Implementations Value types Marshal formats Road

Philipp Gillé 350 Jul 27, 2021
SAP (formerly sybase) ASE/RS/IQ driver written in pure go

tds import "github.com/thda/tds" Package tds is a pure Go Sybase ASE/IQ/RS driver for the database/sql package. Status This is a beta release. This dr

Thomas 47 May 30, 2021
Go MySQL Driver is a MySQL driver for Go's (golang) database/sql package

Go-MySQL-Driver A MySQL-Driver for Go's database/sql package Features Requirements Installation Usage DSN (Data Source Name) Password Protocol Address

Go SQL Drivers 11.1k Jul 23, 2021
GoBigdis is a persistent database that implements the Redis server protocol. Any Redis client can interface with it and start to use it right away.

GoBigdis GoBigdis is a persistent database that implements the Redis server protocol. Any Redis client can interface with it and start to use it right

Riccardo 4 Jul 10, 2021
Google Go Client and Connectors for Redis

Go-Redis Go Clients and Connectors for Redis. The initial release provides the interface and implementation supporting the (~) full set of current Red

Joubin Houshyar 436 Jul 22, 2021
Microsoft ActiveX Object DataBase driver for go that using exp/sql

go-adodb Microsoft ADODB driver conforming to the built-in database/sql interface Installation This package can be installed with the go get command:

mattn 120 Jun 9, 2021
Redis client library for Go

go-redis go-redis is a Redis client library for the Go programming language. It's built on the skeleton of gomemcache. It is safe to use by multiple g

Alexandre Fiori 45 Jul 14, 2020
The Couchbase Go SDK

Couchbase Go Client This is the official Couchbase Go SDK. If you are looking for our previous unofficial prototype Go client library, please see: htt

null 327 Jul 15, 2021
Qmgo - The Go driver for MongoDB. It‘s based on official mongo-go-driver but easier to use like Mgo.

Qmgo English | 简体中文 Qmgo is a Go driver for MongoDB . It is based on MongoDB official driver, but easier to use like mgo (such as the chain call). Qmg

Qiniu Cloud 528 Jul 23, 2021