These days, I'm on a rollercoaster of emotions.

One day, I created multiple hairy pull requests on our Terraform code base to simplify our lives, with warm thanks from my teammates, because they can see the difference.

Then, the next day, I fixed a bug on a Terraform provider locally with unit tests and everything, but as soon as I created the release, the calls on production returned unexpected http 500 errors without any hint in the response, and no access to the logs of the API of course.

I already have patched the provider to return meaningful error messages so I can debug autonomously but I can't create a release just for that. I'll wait for the team to give me the logs so I can really fix the bug I introduced before creating a new release.

All of this process without AI. Because I like to learn how things work. I don't want my brain to liquefy and be lost if I'm out of tokens before noon.

You know what? The http 500 errors were not the fault of the provider but the Icinga API responses. When you delete a host group that you don't have permission to delete, the status is not 403 as it should be but 404 No objects found. What's the point of deleting a missing object? There is no way to know if you have permission or not. This "security" feature is so annoying. If you create the resource again, you have a 500 error without error message because the object already exists. I'm going to patch my fork to handle those use cases.

#icinga