2,941 karma · joined October 13, 2016
All of our pet servers had a background process sitting in a chat room.
We did deploys, restarted process, got alerts, and a whole bunch of other stuff all via XMPP.
It was much cooler than our product that never made any money :)
No it’s fucking not, you morally corrupt sacks of garbage.
Instagram and Facebook are a scourge.
I’ve been a Mac user for 20 years and do a lot of docker and Kubernetes work. I recently started developing on a Linux machine that was a fourth of the price and a lot less burden for my day-to-day work.
Aside: is the username an Expanse reference?
https://developer.mozilla.org/en-US/docs/Web/API/Server-sent...
I’m hoping we can come to an agreement during this meeting to find the solve.
Would ___ work for this solve?
Let it crash works well for a phone system where it doesn’t make sense to call both parties back if the thing failed.
In #1 there is also a tight coupling between two different sources. If team A changes their output, the dependent team B's references break.
Also 1.2: security. If I can read an attribute from your state file, I can read the whole thing.
That being said, there are some ugly bits.
1. Remote state as a data source means your infra is broken, you just don’t know it yet. Two apply’s have to occur to get your infra in the correct state, but they are separated by an arbitrary amount of time between executions. Even if you automate it with CI/CD, your second root module could be broken until run since it depends on the output of the other module.
2. Public modules are absolute garbage. Go find the best one, it’s trash. Here is why, 10-20 orgs all come in and tweak the module to work for them. You’ll often see 1-10 resources in a module (sometimes more), but the module will end up with more _input complexity_ than the underlying resources. Sometimes even more inputs than all the original resources combined! In the end, you get a module that “works” for everyone, with a half baked “DRY abstraction” for N number of organizations.
3. Organizing code is hard, because we often don’t fully consider environments/workspaces, infrastructure ownership, change management, and other sociotechnical concerns. I think Terraform and IaC in general is the epitome of Conway’s Law and when the (changing) social structure of the organization isn’t followed, the code gets harder to work with. This point is at odds with #1 above.
4. People tend to think “terraform apply” is a magic transactional boundary around your infrastructure. If it applies, it worked!!! But in reality, if modules aren’t crafted correctly they can “apply” cleanly, but still introduce an outage while they are executing.
All that said, I’m excited for the 1.0 release. I love terraform. Thanks to all (except module authors) for the hard work.
TF def has some rough edges, but you can certainly create a cluster and add resources in a single root module (I don’t think it’s a great practice).
In this example the EKS cluster is in a module, but it can be a ref to a resource in the same module as well.
data "aws_eks_cluster_auth" "current" {
name = module.eks.cluster_id
}
provider "kubernetes" {
load_config_file = false
host = module.eks.cluster_endpoint
cluster_ca_certificate = base64decode(module.eks.cluster_certificate_authority_data)
token = data.aws_eks_cluster_auth.current.token
}Big time agree here. The comment was substantive and succinct. Saying it was “petty drama” in the top comment sets a tone for the convo.
What drives me wild is I floss twice a day, brush three times a day with the daintiest grip you’ve ever seen.
Every time I go to the dentist, recession.
Meanwhile my spouse brushes once a day, maybe flosses occasionally and has never had recession or a cavity.
Almost every time I log in to check the same spam message someone is posting about success and illustrating it with an iceberg.
Tangentially related and fun: https://joshdata.me/iceberger.html
Anecdote time
I’m nowhere near rich, but we recently upgraded from a condo to a house and kept our condo. Our intention is to rent it out until our kid is old enough to move out and give it to them.