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

I just used a Vercel template. Literally took 10 minutes from cloning the repo to getting it set up on my domain.


Do you add jobs inside a transaction? Or with a root connection? There doesn't seem to be an out of the box way to add jobs in a transaction.


yes you can add jobs with sql in a transaction, e.g.

SELECT graphile_worker.add_job( 'send_email', json_build_object( 'to', 'someone@example.com', 'subject', 'graphile-worker test' ) );

(can also use the PERFORM statement instead of SELECT)


What do you mean by system domain? Like technical, non-user facing services like CacheService and ObjectStore?


Love the Filthy Frank survival guide!


Wow! Had no idea Shazam existed back in 2003.


contemporary with TunePrint https://www.mattababy.org/~belmonte/Tuneprint/ and at least one other. (Somehow TunePrint managed to get a record label to fill a fileserver with audio files and ship it back across country to use as training data - one of the stranger applications ever for AFS :-)


For the AWS CDK folks, I’ve been very happy with this library. https://github.com/CloudSnorkel/cdk-github-runners. Love that I can use spot pricing and the c7g instances for cicd.


I was a Mintlify customer 6 months ago and found their onboarding strange. Their Github app asked for permissions to access all my repos and there was no way to get around that. I just wanted to give them access to my docs repo not my app repo. Ended up having to dig through their settings page and revoking that permission after onboarding.

For customer OAuth tokens, I believe you should NEVER store the access token in the database. Only store the refresh token in the database. When you need api access, get a new access token with the refresh token and client secret.

This prevents incidents like the above as the attacker would also need your client secret, which is ideally not in your database.


Too generous permissions are something that often makes me not install software. Zoom apps for example. Slack apps another example. Mostly browser extensions.


The browser extension permission model is so bad. It’s prevented me from using 99% of extensions I was interested in.


This is pretty typical of GitHub, unfortunately. They have terrible scoping and don't give developers the option to even give users that flexibility. It's been like this for over a decade, I don't think GitHub will ever learn.


Wrong. “GitHub Apps” always (?) had fine-grained repo-scoped permissions, it’s the “OAuth apps” that are stuck with coarse-grained permissions. So developers do have the option, it’s even the preferred option.[1]

> In general, GitHub Apps are preferred over OAuth apps.

[1] https://docs.github.com/en/apps/oauth-apps/building-oauth-ap...


"Always" is doing a lot of work here. Github Apps are relatively new.


If half a decade is new, sure. Except I was replying to someone claiming “I don't think GitHub will ever learn”, commenting on an article from a company created in 2021.


Even with apps, you still do not have the fine grained permissions you'd think you'd get. Have you tried?


You can for sure. I am using it with Cloudflare pages for example. It's a matter of a click.


With apps, you can certainly grant access to individual repos instead of all repos. Yes I’ve tried.

Here’s how this thread went:

brycelarkin: Mintlify’s GitHub app asked for permissions to access all my repos.

You: Developers don’t have the option to not access all repos.

Me: False. GitHub apps do have fine grained permissions, as in they don’t have to have to access all repos.

You: Even with apps you don’t have fine grained permissions “you’d think you’d get”.

So what are you talking about? What’s the thing I’d think I’d get but not getting and how is that related to “permissions to access all repos” as discussed here?


Org access. You seem to be very hostile in your tone, by the way.


Exactly. You'd need to implement standard authentication mechanisms, preventing these vectors of attack from existing in the first place.

They are "in the process" and "looking" to do that. As of now if I am not mistaken the main issue still persists and any other new security vulnerability will possibly give full access to tokens again.

Correct me if I am wrong please but I don't see anything in the comment or Blog post saying otherwise.

> and are also in the process of completely deprecating the admin tokens for a more secure internal authentication procedure. Not to mention, we're also looking to fully deprecate the need of the GitHub OAuth tokens entirely in the coming weeks.

https://www.reddit.com/r/cscareerquestions/comments/1bh22bq/...


Postgraphile. Postgres + graphql. It really solves all the negative aspects of graphql. Also, incredibly performant. Their v5 release is also a pretty interesting piece of tech.

https://postgraphile.org/


I played with this a bit years ago when it was still called PostgraphQL. My biggest issue with it was that there didn't seem to be a recommended (or even suggested) version control method for things like functions. Using a standard migration tool to update functions seems like hell, so I gave up on using it.

Looking through the docs, I still see no mention of version control or even migrations at all. Is this something that has been solved?


It’d be like any other database schema change. We commit all schema migrations to git and have cicd run them.


I didn't see a v5 tag in order to know, and I have no idea what "utils/graphile" does for the project, but one will want to ensure they are aware of its licensing scheme https://github.com/graphile/crystal/blob/db8894c74eb0ec3fe96...


Its an optional command line utility that you may use with PostGraphile which does things like printing out your configuration in a pretty format and using TypeScript to figure out what options are available to you based on the plugins you are using. It is 100% non-essential because all the options are documented in each of the plugins (and also you can use TypeScript auto-complete in your editor), and you can just console.dir() your configuration. You can read about it here: https://postgraphile.org/postgraphile/next/config#viewing-th...


Graphile worker is also awesome. Wish celery was as good -- I've been thinking of implementing a compatible worker in Python


Interesting, This project looks very versatile, Can experiment with quick a backend API on Postgres.


It’s one of the few big projects that still feels “open source” as opposed to corporate run open source.

I think Netflix is a big user / sponsor of the project.


Is there any alternative that works with Python?


I’d rather take 100% of a million than Fan Duels’ 0% of half a billion.


React/Relay front end. Postgraphile/Fastify backend. Postgres database. Typescript. The most OP type safe stack. One change in your database propagates throughout your stack.


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

Search: