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?
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.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.