Jexia Semaphore Versions Save

Take control of your data, connect with anything, and expose it anywhere through protocols such as HTTP, GraphQL, and gRPC.

v2.0.0-beta.12

4 years ago

This is a small release containing a bug fix when setting header values in a gRPC request. All header keys are converted to a lower case value before setting.

v2.0.0-beta.11

4 years ago

This is a small release fixing a issue when resolving files which are a symlink.

v2.0.0-beta.10

4 years ago

This release includes a new feature params. You are now able to set params without affecting a request body. Params could be used by transport implementations to set transport specific values.

proxy "Logs" {
    input {
        header = ["Authorization"]
        params = "com.maestro.LogParams"
    }
    
    resource "policy" {
        request "com.maestro.Projects" "HasReadAccess" {
            header {
                Authorization = "{{ input.header:Authorization }}"
            }

            params {
                project_id = "{{ input:project }}"
            }
        }
    }

    forward "com.maestro.Logs" {}
}

v2.0.0-beta.9

4 years ago

This release introduces support for prometheus metrics out of the box. Simply set the prometheus block inside your configurations to start scraping metrics.

prometheus {
  address = ":5050"
}

v2.0.0-beta.8

4 years ago

This beta introduces a lot of changes as preparation of the v2.0.0 release. The test coverage of Maestro is currently at 80%. I spend a lot of time improving the number of unit tests and to ensure the quality of the tests. I have updated the examples to include examples such as Dockerfiles to showcase how to use Maestro in various use-cases.

Some minor changes have been made inside the CLI. run has been renamed to daemon to reflect its use. the select option is extended to allow all caller options to be overridden. The HTTP called includes now TLS options allowing to configure secure connections.

Enums are now supported. This required a lot of changes and thinking but enums are finally here. Easily define your enums and use them inside your flows.

v2.0.0-beta.7

4 years ago

This release includes a couple of configuration changes to give DevOps more control over the definitions. All configurations are now defined inside hcl files. It is possible to override service configurations through selectors. Selectors could include patterns in case a single service uses multiple service definitions.

services {
  selector "package.service.*" {
    host = "https://api.jexia.com"
  }
}

It is now also possible to use environment variables inside the definitions.

log_level = "$LOG_LEVEL"

Check out the Maestro CLI configurations readme for more information.

v2.0.0-beta.6

4 years ago

The v2.0.0 release is nearly in sight! This beta release contains a lot of refactoring to prepare for a more open-source friendly project layout.

Improved tests the tests have been greatly improved. A lot of new test cases have been written to ensure the stability of Maestro.

Docker hub all docker images are now also pushed to docker hub. The images will still be pushed to Github packages as well.

v2.0.0-beta.5

4 years ago

gRPC transporter This beta release includes the gRPC transporter. You are now able to call gRPC services and set-up a gRPC server. A schema reflection is generated that allows development tools to communicate with the API without any protobuffer definitions. This transporter is still experimental and some features are still missing.

Stability improvements Various stability improvements have been made to further prepare for a v2.0.0 release.

v2.0.0-beta.4

4 years ago

GraphQL & go-micro transport implementation This release introduces two new transport implementations. GraphQL and go-micro. You are now able to expose flows as GraphQL objects similar to how HTTP endpoints are created.

endpoint "flow" "graphql" {
  path = "awesome"
}

Check out the Graphql and go-micro documentation.

Improved header support Further improvements are made for header support. Input headers could be defined and referenced. Checkout the input specs for more information.

Improved proxy forwarding Proxy forwarding implementations have been improved to allow greater flexibility. It is now possible to forward requests to other services or Maestro instances. Check out the hubs example for more information.

v2.0.0-beta.3

4 years ago

This release contains a lot of internal improvements. Preparations have been made to support multiple schemas, all use cases for properties have been included (nested, repeated etc.), improvements have been made to the HTTP protocol implementation, preparations have been made to support management modules to manage a maestro instance.

Feel free to open new issues for bug reports of feature requests.