Inspiration

What to Automatically detect programming language of a project and take appropriate actions to build an image? Copying Dockerfile instructions from one project to other? Having duplicate Dockerfiles and it's instructions over several repos? Dexfile is a go-to solution for every your problem

What it does

  • Simple Click and Deploy for PaaS platforms to deploy any Project.
  • Complexity of Build Scripts and CI Configuration: replace them with Dexfile
  • Vendor Lock-in with CI/CD Platforms: avoid vendor lock-in by using Dexfile with docker buildx build.
  • Test and Deploy: test code before deployment to ensure the code works properly.
  • Reduced Costs and maintainance burden: Only build what has changed increasing buildtimes directly resulting in reduced CI/CD costs. Also less maintenance because by seperation of responsibilities on development and deployment, their by maximize production success rate.

How we built it

  • a buildkit frontend that works alongside existing Dockerfiles with every Dockerfile supported tools including docker cli: docker buildx and docker bake

Challenges we ran into

  • a lot, delving deep into codebases to build an optimised product to simplify complexities in existing DevOps tools of like-kind

Accomplishments that we're proud of

  • making imports of Dockerfiles/Dexfiles buildkit frontend agnostic.
  • supporting different versions of external frontend images.
  • building ephemeral containers for advanced use cases that no other frontends currently in market supports!
  • modularity, reusability, reproducibility of image and instructions.

What we learned

  • how buildkit frontends work
  • how Dockerfile works
  • limitations of Buildkit frontends

What's next for Dexfile

  • split the code into multiple repos and decouple it
  • create a new project from newly created repo build another product that surpasses the current limitations in gateway client by leveraging llb client to further simplify DevOps lifecycle

Built With

Share this project:

Updates