Hacker Newsnew | past | comments | ask | show | jobs | submit | georgekin's commentslogin

Using this in production currently and it's fantastic. Almost every other B2C auth provider out there charges through the nose past 10k users, whereas this scales in cost with cloudflare, which is cheap as chips. Super responsive dev too!


A problem I've run into with GitLab is that it's quite annoying to view the variables of multiple projects and environments in one place. Projects inherit the variables of their parents, which means that getting a view of which variables apply to a particular project in an environment requires spelunking around the UI and working it out.

I figured I'd build my own UI to solve that, so I did. It's here: https://geevee.netlify.app/.

A benefit it has over a native GitLab UI is that it downloads and caches the project/group hierarchy in local storage (it's entirely client side), and can be refreshed on demand. It groups variables by environment mask and gives you a view of the entire variable hierarchy for a project.

Maybe some others might find it useful :)


Do you have an example screenshot somewhere? I'm wondering what exactly this does that GitLab doesn't, because inherited variables are shown within GitLab UI directly – fairly barebones, though, so I'm curious to see your UI in action. (I work at GitLab, but not on this – just a big CI fan myself.)


Thanks for the interest - I created some groups and uploaded a demo to the repository (https://github.com/gkinsman/GeeVee/blob/main/README.md).

Unfortunately environment scopes are only available on premium so I can't demonstrate that, but it solves one of the major issues with the existing UI in that it doesn't give you an environment-centric variable view.

Also, it looks like it's only possible to view inherited variables when viewing the vars for a project. Group's don't show the inherited variables for their parents.

I also much prefer the project tree view to clicking around the gitlab UI so much, and when you're configuring a pipeline its quite tedious.


Thanks, sorry for the late response – busy week. Good point, wasn't even aware that the inherited variable view is only shown in projects but not subgroups. On a quick glance I couldn't find an existing feature proposal to add it at the subgroup level as well… but that might be because the search terms aren't terribly unique.

I'll show your demo to the team handling CI secrets, thanks again for sharing! :)


I kicked the tyres on caxa recently and liked it, but it has a showstopping bug in Windows in that it unpacks to a temp folder, so when you run the app after a reboot, it's likely corrupted, requiring a temp folder clean and a relaunch. It should be unpacking to non-temp, but as of now there's no workaround that I'm aware of.


Another option is to log after, but in a cross cutting way, e.g. using a middleware or filter. Extra properties can be added along the way, and if there's an exception the middleware can handle it and add the problem to the log event.

The power of structured logging here is in enriching events to make them queryable later, so you could e.g. view all events for a request.


This appears to be the Garmin API, which supports OAuth1a, has no public documentation, and the limitations are pretty well detailed as well on the company blog of the author:https://blog.smashrun.com/2021/05/21/a-new-garmin-api/.

What an awful experience, I hope I never have to use it.


If this is Garmin, I'm sadly not certain the difficulties are intentional. Their software has always been a major detraction from their really solid hardware. Connect IQ seems to be honestly trying to provide functionality, but ends up being a strange bastardization of Javascript and Java that compiles to Java bytecode. The experience was riddled with the same types of alpha-quality oversights and the target market started moving to Coros watches, but before I dropped the project all the watch crashes and firmware updates made much more sense.


When I saw the OAuth 1a, I cringed and audibly said "Oh no!"

I have to deal with OAuth 1a to make API calls to Jira and other Atlassian products. Hooray for whoever came up with OAuth 2 and did away with the requirement for the client to do cryptographic operations.

Surprisingly enough, OAuth 1a was the easy part for article author. May God have mercy on his soul.


I had the same reaction when I saw OAuth 1a. I wrote some code that called NetSuite's REST API, which also uses that; it was more than a little annoying.


I had a wild guess this would be Garmin too. Between this and the problems evidenced by their ransomware payout, their software engineering could use a serious overhaul.

A shame, because their hardware is generally good.


Check out https://datalust.co/seq. Supports native ingestion over HTTP, as well as plugins for syslog/GELF. Can run locally as well as in docker, so it runs anywhere.


To chime in on my workflow here, I used to be a heavy user of windows media player, until streaming became big and I bought into the Zune system - for which the software was incredible.

You could download media from the online library and it'd count as part of your local library, and you could create auto playlists that filtered all of your music (streaming and local) into those playlists. Then, you'd just auto-sync those to your devices.

This method isn't possible on any service anymore, and I believe it's because of increasingly more restrictive licensing. The closest I've found, and what I use today is google music. I upload all of my local content to them, and then mark songs that I 'like' as liked. GMusic has an autoplaylist of all my likes that I then sync to all my devices, including my car which has an android stereo.

I encourage everyone to step outside the Apple/Spotify walled gardens every now and then and resurvey the offerings - iTunes is just such an awful bit of software that it makes their service a non-starter for me. GMusic has a great mobile and web client, with download support which is all I need.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: