eson123 | so question, i am intending to make a feature where a user makes a purchase or anything, it will send an email to the admin, but that does require me to create an email first and put it in the config in the backend, is there anyhow i can send email anonymously ? |
rindolf | eson123: hi |
eson123 | oh hi |
rindolf | eson123: https://www.shlomifish.org/humour/image-macros/indiv-nodes/set_up_email_service.xhtml |
bayaz | Title: Shlomif’s Memes - “One does not simply set up an E-mail service.” |
eson123 | rindolf: oh no, that's more unecessary work |
rindolf | eson123: you can use 'do-not-reply@eson123site.tld' |
eson123 | doesn't that still require me to setup my own email server ? |
rindolf | eson123: no, see the DNS MX record |
rindolf | eson123: |
PlanckWalk | Yes, generally anything can send mail *to* an address. |
PlanckWalk | If you don't own the receiving server it's a good idea to whitelist your sending thing though. |
PlanckWalk | (Which may involve SPF and DMARC and so on) |
OverCoder | hello |
OverCoder | I need a nice way to manage secrets in a giga project |
OverCoder | What felt like the best way to manage secrets is Google Secret Manager |
InPhase | I simply setup an email service. And it works more reliably than all the other email services I have access to. It wasn't really too hard. |
OverCoder | but for compute resources, we don't use GCP computes (yet), because they're very expensive |
OverCoder | This "giga project" is actually a monorepo, and secrets can be text or files |
OverCoder | I'm not quite sure how to manage this stuff nicely |
OverCoder | Some secret files may be shared by all packages |
OverCoder | some files are scoped to specific packages |
OverCoder | etc. |
InPhase | There are a few extra steps now compared to setting up email services in the 90s, but not really that much. |
OverCoder | Also Docker Compose is used to bring up all the packages |
OverCoder | so the question is, what's a nice way to manage secrets |
PlanckWalk | Yes, I run my own email server |
PlanckWalk | Also, setting up a special purpose server that only sends or receives mail on a single address is very trivial. |
PlanckWalk | You can then mostly not care what goofball anti-spam measures the rest of the world lurches into. |
PlanckWalk | There's still a piece of equipment in a mine in Western Australia which reliably sends reports. I set it up in 2002. |
PlanckWalk | It doesn't have any fancy antispam stuff and the receiving email server doesn't care. |
OverCoder | how do you guys manage things like bucket names in code |
OverCoder | or basically any identifier for some resource on a cloud provider |
OverCoder | I can't wrap my head around this |
OverCoder | every solution I come up with ends up gross |
OverCoder | like I don't want to hardware `some-whatever-value` every time I want to access the bucket named `some-whatever-value` |
OverCoder | because (1) it sounds easy to type `some-whetever-value` accidentally and spend 5 hours trying to figure out what's wrong |
OverCoder | (2) I don't like that the validation is not compile time |
OverCoder | (3) I don't like how hard it is to change that name later, yes Ctrl-Shift-F may work but it's not very elegant |
OverCoder | (4) it's not possible to tell how many buckets a service uses at a glance |
OverCoder | I'm not even being specific about bucket names either, but any cloud provider resource including service accounts, cloud functions, pubsub subscriptions, etc. |
rindolf | OverCoder: wrap in an object? |
OverCoder | rindolf, something like this right? https://irc.overcoder.dev/uploads/81ed78804ecdf0d0/image.png |
OverCoder | thing is, for example TypeScript has a feature where it can validate strings to conform to a certain shape |
OverCoder | so for example I want the `users` bucket to only contain keys of certain formats and only |
OverCoder | not sure how to put this together entirely |
OverCoder | I mean yes I could write an entire giga types file and type checks all this stuff |
OverCoder | but overall I'm confused as what people do |
OverCoder | because the issue seems not google-able |
OverCoder | as if I am googling a problem no one has |
* OverCoder | is confused |
rindolf | OverCoder: more like `MyBucketName(name='myname') ` |
OverCoder | rindolf, yes but what validates `myname` is even remotely a relevant name on cloud? |
rindolf | OverCoder: your tests suite |
OverCoder | tests are ridiculous |
OverCoder | it's just typing the code twice |
OverCoder | i don't do it |
enxine | me either. i don't code too. i make an infinite loop and wait for random bytes to arrange in a program i want. |
rindolf | OverCoder: with code introspection then? |
OverCoder | what's that |
rindolf | enxine: heh |
supperman | buckets should be clearly labelled, mashed potatos, gravy, macaronis, etc |
rindolf | enxine: https://shlomifishswiki.branchable.com/slash-dev-null_is_WebScale/ |
bayaz | Title: slash-dev-null is WebScale |
enxine | hehe |
decider | why not just put everything into a json file and load it at run time? its not great but seems like its the standard way of handling these things |
ornx | code doesn't work, any tips? |
rindolf | OverCoder: google / ddg it |
ornx | thx bro, i'll see if that works |
ornx | okay i googled "why doesn't my code work" and i think the issue might be that i have something called an "X-Y problem"? is there an easy solution for that? |
edgar-rft | use Z only |
nitrix | Ask about the X instead of the Y. |
nitrix | Aka, don't ask the derived question, ask the original. |
rindolf | heh; ornx++ |