Custom visualizations with Vega, Source Control, and Upper Environments

I have been searching these forums and the web for guidance and haven't found much. We plan to use at least one, likely more, custom visualizations via Vega in our Kibana dashboards.

When thinking through productionalizing these dashboards, wondering what are some good approaches for:

  • Source control for Vega visualizations. It's based on JSON-ish markup, and applied to the visualization right there in the Kibana editor. All I am doing during development is copy/paste from code editor into the browser, and using GIT source control on the text files. Far from optimal, is there a better way?

  • Deployment to upper level environments (production). We plan to run production in a different Elastic cluster vs where we do development and test. In all of our other cloud deployments, we use CICD release pipelines to publish software to cloud services. Goal is to prevent human interaction in production - all automated. Is there something like that for Vega visualizations to get them into the Kibana environment? If nothing out of the box, perhaps I should be looking if there are APIs to create dashboards and the associated Vega source programmatically?

All vega vis are stored as saved objects.
You can just export them via API. In production you import via API again.

Dies this help for both questions?
You could also change the vega code within the export.

Here you find more vega examples Kibana Vega examples - Download now at elastic content share

Thank you for the reply.

The API suggestion helps, ... a little bit. I can see where a deploy pipeline would use the API to push latest vega vis (from source control) to the upper level environment. Of course, we have to write all that integration ourselves if there is nothing built into Kibana (not seeing it) or provided some other way.

Does not really address how to integrate source control into the everyday development process. As I mentioned above, seems the way to "develop" and iterate on the vega vis is to get it working in Kibana, then copy/paste into source files that are on disk and can be versioned in Git. Just seems primitive.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.