Looking for a Golang SDK for HTTP API

Note, I’m new here so not allowed to post more than 2 supporting links needed. For reference I’ll just use this, gist if any links are needed. All links. · GitHub

I’ve been developing a CLI tool that allows basic CRUD operations for Grafana.

To avoid re-writing and re-inventing the wheel I’d love to find some Toolkit provided that makes live easier but I keep running into limitations.

  1. grafana-tools SDK. Low traction and seems very slow moving to get anything updated. It’s missing key features that I keep running into but it worked initially for my needs.

  2. I was going to migrate to using: GH: grafana/grafana-api-golang-client, I even made a PR for the initial API integration. It also seems to be pretty sparse and limited. I don’t see way to open issues for it, and as it calls out on the main page, it’s primarily intended for use for the terraform grafana plugin.

  3. I was really excited when I saw Grafana adopt Swagger tooling, and the main repo has the Swagger spec checked in for convenience: GH: grafana/grafana/blob/main/public/api-merged.json, and been trying to keep track of an effort to use the Swagger API. There’s a ticket open for about a year now: GH: Issue: 47827 to generate clients based on the spec.

You can find the initial work here: GH: grafana/grafana-api-golang-client/tree/papagian/generate-client-from-swagger.

I was trying to avoid forking off and managing my own but maybe I missed something?

I took the code written by papagian a year or so ago and re-updated to the latest and checked into: GitHub - esnet/grafana-swagger-api-golang. I would like to avoid it, but it feels like Swagger CodeGen would be the most straight forward path unless someone knows of any alternatives that I missed?

  • What Grafana version and what operating system are you using?

All versions

  • What are you trying to achieve?

Find a maintained more feature complete GoLang SDK for the HTTP API.

  • How are you trying to achieve it?

Use it.

  • What happened?

All competing products are not complete and missing features.

  • What did you expect to happen?

To be complete and provide features.

  • Can you copy/paste the configuration(s) that you are having problems with?

NA

  • Did you receive any errors in the Grafana UI or in related logs? If so, please tell us exactly what they were.

NA

2 Likes