Skip to content

v0.19.0

Compare
Choose a tag to compare
@HeyItsJs HeyItsJs released this 19 Aug 16:45
· 567 commits to master since this release
2d1e94f

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 info@spaceuptech.com 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!