Spark in me
2.2K subscribers
829 photos
48 videos
116 files
2.68K links
Lost like tears in rain. DS, ML, a bit of philosophy and math. No bs or ads.
Download Telegram
A Small Note On Keeping Access Tokens For Your Apps In Check

Use case - you want to use a trusted third party service to store API tokens / public keys for your services with the following requirements:

- Manage keys / revoke keys / manage users having access to said keys
- The service should be cheap
- Tag your secrets for easier filtering
- "Turn off" / revoke some secrets only for some keys

I viewed and tried several services, and it seems that (surprusingly for me) AWS Secrets Manager is the best one. It just works. Google's alternatives are a bit clunky / weird / still in beta (also Google has no proper clients for its secret manager service). Less known providers also have options (but do not expect easy to use clients), and there are self-hosted options, which are also a bit difficult to use. Also I found out that there are services that essentially provide you something similar to open cryptography packages (open-ssh) but in the cloud (why?).

Also ... a killer feature - you can use the amazing boto3 library in python with the majority of Amazon services. Surprise-surprise.

PS
I am NOT endorsing AWS, in general I try avoiding AWS. But s3-compatible storage, boto3 and this service are just too good.

#deployment
Logging With Notifications

Out-of-the box with 10+ providers. Integrated with loguru.

I frequently stumble upon people using some provider-specific client libraries / wrappers and / or writing some code to send some messages to themselves about their servers' hardware / neural network training / exceptions / pipelines. I even wrote such code myself. Lacking focus - the code was shitty and abandoned.

Now loguru is integrated with a notifiers library.
Just very helpful. Very simple and elegant. Just send yourself a telegram message and fall-back to gmail if it does not work.

... grain of salt

requests can use an env variable to use and HTTP or SOCK5 proxy. It works with some of the notifiers downstream libraries well enough if they use a sufficiently new version of requests (i.e. the code is fresh). But boto3 for example does not support SOCK5 proxies out of the box.


#deployment