banner
reaper8055.bsky.social
@reaper8055.bsky.social
Golang gear head and offensive security hobbyist.
I would have preferred to use reflect pkg and write my own validation for structs in Golang and just used the pq pkg and used repository pattern to make the tool a leaner. We use bazel build so and this tool is a part of monorepo so I would prefer to minimize 3rd party deps as much as possible.
January 11, 2025 at 3:10 PM
Another very interesting choice I noticed is that use of SQLBoiler and golang migrate to manage database (Postgres). But the schema is very simple, 11 tables, only 3 are used to update info. And the max number of columns is 8.
January 11, 2025 at 3:10 PM
I am in the process of proposing a new design to re-implement these which would use go-sdk for the cloud providers.
January 11, 2025 at 3:10 PM
In my head, I would use API because I can write logic to handle failure, clean up, tracking resource usage and management, etc.
January 11, 2025 at 3:10 PM
The surprising part is that I wasn’t able to find anything specific in the playbooks that could not have been done using AWS, GCP, Azure SDK.
January 11, 2025 at 3:10 PM
There is no logic to clean up if Ansible fails in a later step. Although there is retry logic in case of failure but nothing to clean up. The same goes for shell commands.
January 11, 2025 at 3:10 PM
The actual business logic is very simple. And for spinning up these “dev instances” in different cloud environments, the Golang code calls Andible playbook/ shell scripts to spin the clusters up.
January 11, 2025 at 3:10 PM
Looks interesting!!
November 24, 2024 at 4:07 AM
Oh nooee
November 1, 2024 at 4:33 AM