Space Cloud Versions Save

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

v0.19.6

3 years ago

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!

v0.19.5

3 years ago

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!

v0.19.4

3 years ago

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!

v0.19.3

3 years ago

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!

v0.19.2

3 years ago

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!

v0.19.1

3 years ago

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!

v0.19.0

3 years ago

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!

v0.18.4

3 years ago

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!

v0.18.3

3 years ago

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!

v0.18.2

3 years ago

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!