Blog

Notes from the work

Notes from our work with AWS, DevOps and security: news and new features, fixes for common problems, and how we solved real client issues.

How to validate a CloudFormation template (CLI and cfn-lint)

28 June 2026 ·

Validating an IaC template before you hand it to CloudFormation is one of the cheapest ways to avoid the dreaded UPDATE_ROLLBACK_IN_PROGRESS. You can catch a lot without ever creating a stack - but only if you understand what the tool you use actually checks. Here are the two we usually use, and where one stops and the other takes over.

Read more →

Multiplatform docker images for cfn-lint (and a v1.52 schema fix)

27 June 2026 ·

A while back we wrote about our automatically updated docker image for cfn-lint - a public, daily-rebuilt image for cfn-lint that fills the gap left by the lack of an official one. Two changes have just landed in that build, and both are worth a few words: the images are now multiplatform, and we have fixed a problem that, from cfn-lint v1.52.0 onwards, left the image unable to recognise any resources.

Read more →

Mysterious Code Ltd is now part of AWS Public Sector Program

19 April 2024 ·

As a member of the AWS Public Sector Partner Program, Mysterious Code Ltd will leverage its expertise to empower government, education and nonprofit entities with secure, scalable, and compliant cloud solutions built on AWS infrastructure. By combining AWS’s industry-leading cloud platform with Mysterious Code’s specialized knowledge and experience, public sector customers can expect enhanced capabilities in areas such as data security, compliance, and cost optimization.

Read more →

Automatically updated docker image for cfn-lint

18 April 2024 ·

If you’re using CloudFormation, you probably know about cfn-lint - a linting tool created by the CloudFormation team to validate templates against the schema and best practices. Validating each template before deployment is in itself actually considered a best practice by AWS. However, simply using validate-template in the Console or CLI only validates the basic syntax of the template, not the actual contents and resource specification. That’s where using a linter like cfn-lint can be helpful to make sure you’re not making any obvious mistakes or going against best practices in your resources.

You can use cfn-lint in a number of ways during development, including simply within command-line, using git pre-commit hooks or as a plugin to your IDE. All those options, while helpful in day-to-day work, do not establish code quality standards for your overall codebase. To do that, it’s ideal to include linting as part of CI/CD pipeline and/or pull/merge-requests approval process.

That is where you can come across a hurdle: cfn-lint does not have an official, up-to-date docker image

Read more →

Let's talk

Start with a free second opinion: 30 minutes with our founder. No account access needed, and you keep a short written note of what we covered.

Schedule a meeting: our calendar