Releases: jexia/semaphore
v2.0.0-beta.12
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
This is a small release fixing a issue when resolving files which are a symlink.
v2.0.0-beta.10
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
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
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
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
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
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
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
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.