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 buildxanddocker 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
- buildkit
- golang
Log in or sign up for Devpost to join the conversation.