Snowplow Mini local Vagrant iglu server endpoint not found

As a follow up from this thread, after having the mini running in vagrant and being able to access the UI and control panel, when I try to open /iglu-server I get 404 with this: {"message":"The endpoint does not exist"} . Any pointers as to what the problem might be ?

The Iglu server running on Mini has a RESTful API so you’ll need to issue a request against this to return some data. There’s no corresponding route for / (which is why it returns a 404) so you’ll need to try something like

GET HOST/iglu-server/api/schemas/

The documentation for all of these endpoints can be found here.

@mike Should I not be able to open the server management page from here ?

I am trying to generate API keys as per the Usage Guide, and when I do

$ ./igluctl server keygen --vendor-prefix com.acme mini-address/iglu-server 53b4c441-84f7-467e-af4c-074ced53eb20 with the downloaded igluctl, I get the following error: Unexpected JSON request from Server. DecodingFailure at .read: Attempt to decode value on failed cursor

What am I missing to be able to send events with custom schemas ?

Hey @petar,

Please use latest igluctl 0.7.1 to work with Mini 0.11.0 . IIRC, that error is due to using an old version of igluctl.

In the recent releases of Mini, we removed the Swagger UI of Iglu Server, the server management page you’re after, this is why you see that message however Iglu Server is actually up and running.

If you’d like to check the health of Iglu Server, hit GET iglu-server/api/meta/health endpoint.

Please let us know how it goes with igluctl.

Regards,
Oguzhan

@oguzhanunlu When I do this: (after downloading iglucl 0.7.1)
$ ./igluctl server keygen --vendor-prefix com.petar 192.168.50.50/iglu-server 6693F737-5014-4BB9-910D-661E54D23DA4

Now I get this error:

Unexpected JSON response from Server: HTTP Status: 403; Headers: Content-Length=36,Content-Type=application/json,Date=Wed, 11 Nov 2020 13:19:58 GMT,Server=Caddy,Status=HTTP/1.1 403 Forbidden Body: {"message":"Not enough permissions"}. Error: DecodingFailure at .read: Attempt to decode value on failed cursor

curl --location --request GET 192.168.50.50/iglu-server/api/meta/health RETURNS “OK”

Hey @petar,

I also setup a local Snowplow Mini and used igluctl 0.7.1 as following:

$ ./igluctl server keygen --vendor-prefix com.petar 192.168.50.50/iglu-server b33db7f4-df17-4afc-8865-aad8bdfcafd8
Read key: 46dab184-fb7b-4852-8de8-6f6323cc6fe1
Write key: f11fb0e5-829b-4d96-901a-641fe3525d63

I think the problem in your case is due to api key not being super api key.

I’d recommend to go to 192.168.50.50/home/#/control-plane > Add apikey for local Iglu Server: and update the super api key of Iglu Server. Then you should use the same key when you use igluctl.

Please let us know how it goes.

Kind regards,
Oguzhan

I’ve missed the part that I have to also add it to the control-plane. Works now. Many thanks !!!

1 Like