CatOps – Telegram
CatOps
5.1K subscribers
94 photos
5 videos
19 files
2.56K links
DevOps and other issues by Yurii Rochniak (@grem1in) - SRE @ Preply && Maksym Vlasov (@MaxymVlasov) - Engineer @ Star. Opinions on our own.

We do not post ads including event announcements. Please, do not bother us with such requests!
Download Telegram
There’s a new test functionality in Terraform v1.6.0.

You can read more about writing tests for your Terraform projects in this article, which also has examples of the tests.

For someone who values tests for IaC, I’m very glad that such functionality is a part of the core. Although, I haven’t been working much with Terraform lately, implementing tests for Helm charts yielded some great results. I hope to write an article in that one day.

P.S. This article was kindly sent right into my inbox by Terraform Weekly. Do not hesitate to subscribe, you’d like to get the latest news on the most popular IaC tool.

#terraform #hashicorp
👍151
Forwarded from DOU | DevOps
DOU, KOLO та «Шалені Кабани» збирають 5 млн грн на 4 Mini Sharks для «Альфи» СБУ 🦈🔥

БО «Шалені кабани» — ініціатива, яку добре знайома DevOps-спільноті. На літній офлайн-події для девопсів в Києві ми зібрали гроші на мотор для човнів морської піхоти, а пізніше — ще.

До речі, новини про висадку українських морпіхів на лівому березі Херсонщини мають безпосередній стосунок до човників, над якими працюють «Кабани».

Тож, коли ми готували спільний збір, не мали жодного сумніву, що девопси активно підтримають колег та задонатять на 4 Mini Shark для ЦСО «А» СБУ («Альфа»). Адже потрібно зібрати 5 000 000 грн!

Приєднуйтесь! 📌
Лінк для донатів 💵
17
AWS Karpenter is in beta now.

Karpenter is AWS’ tool to manage and autoscale node pools in Kubernetes, which has more features compared to the Cluster Autoscaler and has deeper integration with AWS features. Yet, support for other major clouds is somewhere in the roadmap, IIRC.

This article in particular, describes what are the changes in Karpenter Beta compared to the previous versions and also guides you through depreciations and upgrade notes.

#kubernetes #aws
👍16
If you want to learn SQL, or you know somebody who wants (or should, lol), or you want to refresh your SQL skills, you can use interactive lessons on SQL Bolt.

They're simple, but good enough to get up to speed with the basics.

#databases
2😁2
​​For today’s Donations Monday I suggest supporting Pavlo and Naya, who are raising funds different equipment for the AFU.

This week their goal is to get 4 drones, 2 EcoFlows, and a thermal vision unit.

- Pavlo’s Requisites
- Naya’s Requisites

#donations #Ukraine
👍7
An article that could be a tweet (xeet?) but with more context.

tl;dr: avoid Helm hooks when possible.

I totally agree with the statement, yet an example in this article is rather weak. Anyways, if you need to have some imperative actions for your app, it’s always better to use higher level abstractions like ordering on the CD tool level or even an operator.

Having an init container that has access to the API is rather a security concern than a workaround.

#kubernetes
👍5
Here's a neat article with some good practices regarding security when configuraing an EKS cluster.

If you work with AWS and Kubernetes a lot, it won't give you any dramatic insights, but you could still use it as a checklist / cheat sheet when configuring a cluster, since it's easy to forget something when there are many moving parts.

#aws #kubernetes
9
This article with a clickbait noscript got my attention recently. It was even translated in Ukrainian by one of the largest Ukrainian developers-oriented media.

The most interesting part of this article, in my opinion, isn’t its premise and even not the points that the author is making (some of those points are 5 years late, TBH). The thing that caught my attention was what the author chooses to compare Kubernetes to. And those are managed platforms like Heroku, etc.

This is interesting for a couple of reasons: first of all it seems like other orchestration solutions are out of the table already. Second, it reaffirms the statement of Viktor Farcic (you can find those in the Den Vasyliev’s blog). Basically, the idea is that in the future Kubernetes will “disappear”. Not in the sense that it will fade away, but in the same way hypervisors have “disappeared”. The majority of us use them today, but we rarely think about what virtualization powers our cloud instances, etc. In the same way at some point there will an extendable API that allows one to run workloads and whatever cluster technology is underneath would be a concern of a cloud provider.

#kubernetes
👍62
A train edition of the CatOps Digest is here!

A couple of highlights from that digest related to CatOps itself:

- We are going to have a voice chat on Thursday at 20:00 Kyiv (19:00 Berlin) time.
- You can now follow CatOps on WhatsApp! I haven’t figured out yet if it’s possible to use markdown or any other formatting there but still.

#digest #newsletter
👍2
​​It's getting colder, so I would like to remind you to support the Air Defence Forces!

You can do it by donating to the joint fundraiser by Nova Posta and Come Back Alive - Protect the Sky.

The goal is to raise 330M UAH ($8.9M) for Ukrainian Air Defence.

#donations #Ukraine
15
​​Terraform variable validation, when 2+ vars depend on each other

Basically, where is the answer in SO how to do it in 0.13+ via locals, but it does not include some important details:

This check works only for known during terraform plan values of variables.
If value of any of variables in the check is not known during terraform plan, the check will be skipped and error message will pop up only after terraform apply in the next terraform plan.

The pic below is an example of how that check works.


Note, that there is a feature request to make able to refer to other variables in the variable condition check, but that's needs architecture redesign, so there no ETA when we can drop that hack.

P.S. You can achieve something similar by using lifecycle precondition and postcondition in case if you support only TF 1.2+


#terraform
👍7
Чисто нагадати, що сьогодні ми будемо робити Говорилку CatOps про менторство, а точніше: як стати хорошим ментором.

Стартуєм о 20:00 по Києву (19:00 по Берліну) в чаті.

Посилання на Говорилку

#voicechat
14
TemaBit (a part of Fozzy Group) wrote an article on how to manage SonarQube with Terraform. They’ve also mentioned that they manage GitLab with Terraform, but without examples.

A nice quick read for weekend that shows that Terraform is not just for Infrastructure (i.e. cloud) but basically a thin glue code for providers that can manage whatever you want.

#terraform
👍16🤔7
​​Today let’s continue helping Pavlo and Naya with drones, telecom equipment, and tactical medicine.

- Pavlo’s requisites
- Naya’s requisites

See the attached picture for this week’s goals.

#donations #Ukraine
14
I think I have posted something like this before, but anyway...

Here's a two part story of how to optimize memory usage of a Go application just by reshuffling fields in structs.

Part one provides some theory on this matter, while part two has some benchmarking results.

I'm not trying to say that you should run and reshuffle fields in all your Go structs right now. Especially, if you're satisfied with the memory consumption of your app - sometimes it makes sense to optimize for readability or just store pointers in structs.

However, these articles describe some details of how memory allocation works in Go, which you may find interesting.

#programming #go
🐳43👍2🔥1
Backstage is not an Internal Developer Portal, but a framework to build one.

This article highlights an important difference between the two. Basically, you won’t get an IDP out of the box with Backstage, you need to put some time and effort to make it useful and this fact leaves people, who thought otherwise, frustrated.

Also, it’s interesting how the author draws a parallel with Kubernetes. I would argue that Kubernetes is also a framework to build a platform and not an out of the box solution.

#backstage #idp
👍8👎1
​​You likely know that this weekend more than 70 Shahed drones were shot down.

It’s crucial to support Air Defense and Come Back Alive together with Nova Posta do just that!

Donate to strengthen the Air Defense. Currently, 84% of the total goal is reached.

#donations #Ukraine
13