Skip to main content

From .env to Spring Boot Secrets from Your OS Keyring

· 5 min read
Ionuț Barangă
Software Engineer

Close-up of keys

Photo by George Becker on Pexels

Every Spring Boot project I touch eventually grows a .env, an application-local.yml, or some secrets.properties that I'm told to "just not commit". It's convenient: one file, all your local keys, sourced in seconds.

But here's the catch: that file is plaintext, and it sits on disk. Anything running as you can read it — a misbehaving build plugin, a backup daemon, or, increasingly, a coding agent you let loose in your repo. Putting a sensitive API key or a production-adjacent DB password in there is something I'm not comfortable doing on my daily driver.

Sandboxing AI Codegen CLIs: Part 1 - CLI Tooling

· 3 min read
Ionuț Barangă
Software Engineer

Containers

Photo by Tom Fisk on Pexels

AI-powered code generation CLIs like Claude Code, Gemini CLI, OpenAI Codex, and GitHub Copilot are incredibly productive tools. They can scaffold projects, refactor code, and even run bash commands on your behalf.

But here's the catch: they can also hallucinate. And a hallucinated rm -rf or a runaway npm install that fills your disk is not something you want happening on your main OS.

Spring Boot Integration Testing with Testcontainers and JUnit5

· 3 min read
Ionuț Barangă
Software Engineer

Testing

Photo by CHUTTERSNAP on Unsplash

Spring Boot testing library offers an out-of-the box @SpringBootTest annotation that boots the entire application and gets it ready for testing.

However, getting backing services (e.g. databases, caches, message brokers) available and not interfering with development or other environments might still be a challenging task.