Released: 2022-10-06
We continue to update our User Interface to improve ease of use. This time it is the UI surrounding Developer Teams that is updated. When you navigate to Development > Developer Teams you will notice new uniform design:
Along with the new design we added a functionality to delete the developer team using the User Interface. Previously this functionality was only available via an API call.
Please Note: You can only delete a Developer Team when it contains no respoitories. The platform will give an error if you attempt to delete it when there is even one repository.
3.5.0 (v22.40)A new version of Java Sailor library 3.5.0 is released. This update adds
support for Java 17.
We constantly improve different aspects of HELM3 deployments in collaboration with our partners. This section lists updates and improvements included in this release.
Platform has number of cron jobs performing different functions. With this release we added kubernetes resource definition for:
Information in this section is intended for our customers who use the OEM version of the elastic.io platform.
In this update of our automatic component delivery
feature we introduce a new API endpoint to force pull of a component version from external
docker registry: POST /v2/components/:component_id/docker-pull/:version. This
endpoint forces pull of a component version from external docker registry. The
component must belong to one of the user’s team which supports the docker registry.
To streamline the proper data replication between Clickhouse cluster and reduce internal efforts to constantly update the Clickhouse-mongo dictionaries with every update of Clickhouse version we performed the following changes:
frontend) will load flow and user names directly from the MongoDB, instead of the bran service.Please Note: as a regular user of the platform you don’t need to do anything. You will not notice any difference. This change is for customer who run a version of of the platform on their premises.
1.1.1 (v22.40)Get New and Updated Objects Polling Trigger1.1.0 (v22.40)Get New and Updated Objects Polling TriggerLookup Objects (plural) ActionLookup Object (at most one) ActionDelete Object By ID ActionExtract Raw System Metadata Action2.0.14 (v22.40)sailor-nodejs version 2.6.292.6.29User-Agent and x-request-idFor the following components:
1.5.21.1.21.5.21.0.61.2.11.3.21.3.5Released: 2022-10-20
We continue to update our User Interface to improve ease of use. This time it is the UI of every Developer Team that is updated. When you navigate to Development > Developer Teams > your team you will notice new uniform design:
Along with the new design we added a functionality to delete member of the developer team using the User Interface. Previously this functionality was only available via an API call.
Please Note: You can delete all members from a Developer Team. This will not delete the repositories, however, you will not see the developer team in your list of developer teams. Your membership to any existing developer team can be restored by the tenant Administration (
tenantAdminrole holder).
We change the way our platform API documentation is rendered. From now on it will be presented using OpenAPI Swagger specifications. The address to the API documentation is the same: https://api.elastic.io/docs/v2.
2.7.1 (v22.42)A new version of NodeJs Sailor library 2.7.1 is released. When you use this
version of library in your NodeJs components, it will use maester-client v4
instead of object-storage-client.
1.8.6 supported (v22.42)We upgraded the jsonata-moment library (1.1.5) to support JSONata version 1.8.6.
This core dependency is used in our User Interface and the components to evaluate JSONata
expressions.
Information in this section is intended for our customers who use the OEM version of the elastic.io platform.
With new implementation of the Swagger based API documentation, we introduce a new configuration for the tenant records which you can use to change the look and content of the API documentation for each tenant in your environment:
"api_docs_config": {
"top_bar_background_color": "red",
"custom_css_url": "http://host.com/custom.css",
"theme": "outline",
"hidden_tags": ["vpn agents", "sshkeys"]
}
top_bar_background_color - set the value of this parameter to any CSS color to change the top bar panel’s background colourcustom_css_url - set the value to an URL for custom CSS file to be included in the API documentationtheme - Name of the known Swagger theme to use for rendering (allowed values are: classic, feeling-blue, flattop, material, monokai, muted, newspaper, outline)hidden_tags - Array of tags to hide in the API documentation. In this context the tags are sections in the API documentation like VPN Agents or SSH-keys.1.0.4 (v22.42)sailor-nodejs version 2.7.01.0.0 (v22.42)Make Raw Request ActionLookup Object By ID ActionLookup Objects (plural) ActionDelete Object By ID ActionUpsert Object ActionGet New and Updated Objects Polling Trigger1.4.2 (v22.42)sailor-nodejs version 2.7.02.4.1 (v22.42)Get Updated Objects Polling triggersailor-nodejs version 2.7.0Released: 2022-11-03
In this release we make available a number of new API features that will soon enable an upgrade of our Recipes functionality and embedding credential addition steps in 3rd party platforms.
These new features will be limited to Tenant users and will enable:
Together these features will make it much easier for our clients to offer and automatically deploy integration solutions without their clients leaving their platform, App or website. Interested to learn more or you would like a demonstration? Contact our sales department.
In this release we update the UI of the Component repository pages. When you navigate to Developer Teams on the side menu and then select a Component repository you will notice the new design.
From each component repository page you can navigate to the environment variables page where you can add new, change, or delete the existing environment variables for the component:
We constantly improve different aspects of HELM3 deployments in collaboration with our partners. This section lists updates and improvements included in this release.
The HAProxy for RabbitMQ cluster will now run as a separate service in the platform kubernetes cluster instead of as a single virtual machine. This enables high-availability and scalability by running the service in a replica set.
To run the HAProxy for the RabbitMQ cluster, change the following parameters in the HELM3 charts:
haproxy-service.platform.svc.cluster.local.haproxy.yaml with the following content:
haproxy:
rabbitmqNodeIps:
rabbitmq: "10.28.0.4"
rabbitmq-2: "10.28.0.65"
Where rabbitmq and rabbitmq-2 parameters must match the RabbitMQ cluster VM
names and values to their VM IP addresses.
Please Note: You must first deploy the HAProxy chart before the platform version deployment.
5xx error when you use a space in the repository name while creating a component repository. Now the UI will disable the save button and show en error message Repository name contains invalid characters. Letters, digits, - and _ are allowed only1.1.7 (v22.44)Sailor library version to 2.7.11.2.12 (v22.44)Sailor library version to 2.7.11.4.3 (v22.44)Sailor library version to 2.7.11.2.3 (v22.44)Sailor library version to 2.7.11.0.12 (v22.44)Sailor library version to 2.7.1component-commons library version to 3.1.2 to support JSONata 1.8.6 versionReleased: 2022-11-17
The mapper User Interface (UI) now supports the mapping of objects, including their sub-structures.
You can map object sub-structures like before by clicking on the arrow right beside the component icon. You can also click on the name of the component to map the entire object. This is also true for objects inside the objects. Click on the object name to include it in the mapping.
2.0.1 (v22.46)We released the new version of the component builder helper, 2.0.1. It can now
process custom Dockerfiles.
Information in this section is intended for our customers who use the OEM version of the elastic.io platform.
The API documentation now includes all endpoints for the quota management in your installation.
Please Note: You need quota management or service user credentials to use these endpoints in your installation.
HTTPAuthView credentials object.1.5.6 (v22.46)Upsert action1.1.7 (v22.46)Sailor library version to 2.7.02.4.2 (v22.46)Lookup Objects action2.5.6 (v22.46)Sailor library version to 3.5.01.1.0 (v22.46)Get New and Updated Objects Polling triggerLookup Objects (plural) actionLookup Object (at most one) actionUpsert Object actionDelete Object action1.0.0 (v22.46)Delete Message actionReceive Message actionSend Message actionReleased: 2022-12-01
Information in this section is intended for our customers who use the OEM version of the elastic.io platform.
In this release we introduce the recipe management feature for creating and deploying the integration solutions at scale. You can now embed the entire solution in your platform, App or website. Your clients can now access and deploy flows without leaving your platform or site - they simply select an integration that you list and enter their credentials.
Please note that you will need to trigger the necessary API calls to the platform so that the User, workspace, etc. are created and so that the flow is deployed.
You can see an embedded form for recipe activation on a screenshot above. The following instruction show how to create a similar page for your case.
Please Note: You must have
tenantAdminrole to succeed.
The whole idea of recipe activation form embedding is to make the process as easy as possible for your user. You take over the entire process of user creation and registration and manage it behind the scene. Your user gets one URL to a form to fill-in the necessary fields and activate the integration solution.
Here are the steps:
taenantAdmin API call).tenantAdmin API call).tenantAdmin API call).tenantAdmin role holder. Contact support for help. We expect to deliver this option by the next release.The access URL to a form must have the following format:
https://[platform_domain]/embedded-recipe?recipeId=[recipeId]&oneTimeToken=[oneTimeToken]&contractId=[contractId]
platform_domain (required). Your platform domain.recipeId (required). Recipe ID which you want the user to activate.oneTimeToken (required). Onetime token you generated earlier (step 5) to authenticate your user in the platform.contractId (optional). Contract ID in which the user will activate the recipe. If you omit this parameter then the platform will use the first available contract where user is registered.You can create an embed page following the example:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Embedded Credentials Demo</title>
<style>html, body, iframe { height: 85%; width: 90%; margin: 0;}</style>
</head>
<body>
<iframe src="https://[platform_domain]/embedded-recipe?recipeId=[recipeId]&oneTimeToken=[oneTimeToken]&contractId=[contractId]" />
</body>
</html>
Here we use the generated URL in iframe. You can shape and style your page
according to your needs.
When a user successfully activates a recipe, the platform sends a message with a Recipe Deployment ID to the parent window.
{
"action": "eio:embedded-recipe:activate-success",
"data": {
"recipeDeploymentId": "RECIPE_DEPLOYMENT_ID"
}
}
To manage recipes in scale and enable easy management we introduced the recipe deployment new endpoints to our API. Along with this change, we updated related API endpoints for consistency.
To manage recipe deployments for each tenant, we introduced GLOBAL.RECIPE_DEPLOYMENT.GET,
GLOBAL.RECIPE_DEPLOYMENT.SYNC and GLOBAL.RECIPE_DEPLOYMENT.DELETE permissions.
Please Note: The
PATCHandDELETEcalls to edit or delete the flows will now return409Conflict (Can not delete flow, because it has recipe deployment relation) when the flow is part of a recipe deployment. You must first sever the connection between them. Check theGLOBAL.RECIPE_DEPLOYMENT.DELETEsection to learn how.
GLOBAL.RECIPE_DEPLOYMENT.GET (v22.48)With this permission you can retrieve the recipe deployments using the
?include=recipe-deployments parameter in the GET /v2/recipes HTTP call.
The answer will include the connected RecipeDeployment in a response.
The standard user can fetch only recipe deployments:
GLOBAL.RECIPE_DEPLOYMENT.GET permission in the TENANT scope,GLOBAL.RECIPE_DEPLOYMENT.GET permission in the GLOBAL scope.GLOBAL.RECIPE_DEPLOYMENT.SYNC (v22.48)This permission allows to stop the flows connected to a certain recipe, update it
to the latest version of the recipe and start it again. By default the tenantAdmin
role has this permission.
With this permission you can make POST HTTP request to /v2/recipe-deployments/:id/sync
to stop the flow, update and restart it.
The standard user can sync recipe deployments:
GLOBAL.RECIPE_DEPLOYMENT.SYNC permission in the TENANT scope,GLOBAL.RECIPE_DEPLOYMENT.SYNC permission in the GLOBAL scope.GLOBAL.RECIPE_DEPLOYMENT.DELETE (v22.48)This permission allows to delete the recipe deployment but not the flows created from it. It effectively cuts the connection between recipe deployment and the flow.
With this permission you can make an HTTP DELETE call to the /v2/recipe-deployments/:id
endpoint to delete the recipe deployment only.
The standard user can delete the recipe deployment:
GLOBAL.RECIPE_DEPLOYMENT.DELETE permission in the TENANT scope,GLOBAL.RECIPE_DEPLOYMENT.DELETE permission in the GLOBAL scope.1.0.0 and 1.1.0 (v22.48)Get New and Updated Objects Polling triggerLookup Object (at most one) actionLookup Objects (plural) actionUpsert Object actionDelete Object actionMake Raw Request actionLink or Unbind object action3.0.0 (v22.48)Create a Payment action. Note this is a breaking change2.0.6 (v22.48)Sailor library version to 2.7.11.3.6 (v22.48)1.2.0 (v22.48)Delete Object actionSailor library version to 2.7.11.2.0 (v22.48)Released: 2022-12-15
In this release we introduce a new dedicated page for recipe management accessible through the new Recipes menu item available under the Integrate section. Recipes enable Users to develop an integration once and then deploy that recipe multiple times for any of their clients or end-users. These recipes can contain single or collections of flows, from which end users can select the flows they need.
All recipes available to a User are now listed in the Recipes page. The format and style is deliberately similar to the Flows page so it is familiar to Users.
We display the number of deployments of these recipes on each Recipe Card. Each deployment can include more than one integration flows and these we display when you click Show Deployments on the Recipe Card.
You can deploy running integration flows from any listed Recipe by hitting the Activate button.
Please note: you can delete the recipe deployment by selecting the cog menu on the recipe card. However, you can only delete recipe deployments with
workspacevisibility and only when you haveAdminrole in the workspace. You can not delete public recipes (those withTenantorGlobalvisibility).
Click on a recipe title on the card to open a dedicated recipe section which includes Recipe and Deployments pages accessible through the tabs on the top. The Recipe page contains information about the recipe. From here you can press Activate to create a flow based on this recipe.
Please Note: we changed the access URL of an individual recipe page. Now it contains the contract ID and has the following form:
{base_url}/c/{contract_id}/w/{workspace_id}/recipes/{recipe_id}
If you have used this recipe before to create a flow, the Deployments page will list them all.
From here you can:
We continue to improve our flow designer Page. Now when you create or change a flow you will notice a new, more uniform, design with components of the flow displayed inside squares instead of circles.
We have also updated designer page graph - now it uses react portal.
1.2.0 (v22.50)Product Bulk action1.6.6 (v22.50)Sailor library version to 2.7.11.5.10 (v22.50)Sailor library version to 2.7.11.5.1 (v22.50)Sailor library version to 2.7.11.0.0 and 1.1.0 (v22.50)Execute operation ActionMake Raw Request Action3.1.6 (v22.50)Sailor library version to 2.7.11.1.0 (v22.50)Receive Messages Long Polling trigger1.1.2 (v22.50)product_flat and ProductSailor library version to 2.7.1Released: 2022-12-29
We have changed the name of permission tenants.tenant.edit_roles to global.tenant.edit_roles.
Now PATCH /v2/tenants/:tenantId/roles allows to create a new role with permissions in a tenant scope. We have also updated API endpoint PATCH /v2/tenants/{tenant_id}/members/{user_id} which allows granting any role from the tenant’s scope to any user. The permission tenants.user.generate_one_time_token can be granted to any user inside the tenant.
Our goal is to make easy-to-use recipes. In a recent release 22.48, we have already begun some improvements in this direction. Now we are introducing a new permissionGLOBAL.RECIPE.GET to view all recipes based on the permission’s scope and provide the new permission to SERVICE_ACCOUNT with the Global level. This is the first step in the development of a new feature, in which the new role of the superuser will allow you to review and approve recipes, as well as to change their level up to tenant or global if necessary.
Please Note: All updates related to the API are detailed here.
We are working on the Redis Cluster improvements. We made Redis Cluster scalable according to the load increases. Please follow the instruction below to deploy the cluster:
New secrets config variable:
REDIS_CLUSTER_PASSWORD - the password of redis cluster instances.
3.0.0 (v22.52)2022.1Sailor library version to 3.4.0required dependencies to component.json fields2.1.4 (v22.52)Sailor library version to 3.4.01.0.0 (v22.52)Make Raw Request ActionUpload file ActionDownload file ActionDelete file Action1.0.1 (v22.52)Sailor library version to 2.7.1