Deploying and maintaining Cardano components on Kubernetes clusters is complex and requires a deep understanding of many configuration details.
We'll provide a set of Kubernetes operators for the main Cardano components, hiding the configuration complexity behind high-level resources.
This is the total amount allocated to Kelley: Cardano k8s Operators.
A Kubernetes operator is an application-specific controller that can help you package, deploy, and manage applications on Kubernetes clusters.
By defining custom, high-level resources, a developer can provision applications without having to know the low-level configurations details associated with each application.
A myriad of operators exist for well-known tools such as Redis, Kafka, Elasticsearch, etc.
This proposal involves the development of an operator for each of the following commonly used Cardano components:
The features available in each operator will vary depending on the nature of the workload (eg: stateful vs stateless), but they all aim to solve the following infrastructure management procedures:
This operators will provide a canonical way for deploying Cardano-specific infrastructure on Kubernetes clusters.
Simplifying the procedures required for deploying Cardano-specific infrastructure will lower the entry barrier for developers, which in turn increases adoption.
Removing the complexity associated with managing Cardano infrastructure will allow developers to focus on project features while seamlessly adopting best-practices.
Implementing an operator involves hardcoding infrastructure management best-practices into executable binaries.
For an operator to be adopted by the community, it should provide, at least, the same level of performance and security of a manual deployment.
Our team has experience deploying these components, but other teams might have identified best-practices unknown to us.
Our mitigation includes reaching out to different projects and request non-confidential information on how they run their infrastructure to ensure that we are contemplating all the best-practices already used by the community.
Milestone #1: MVP Operators
Milestone #2: Stateful Procedures
Milestone #3: Hardening / Documentation
Hourly rates:
Required Hours:
Total Budget:
Mauro Escudero will be the main developer. He is a senior Python developer with more than 15 years of experience.
Santiago Carmuega will contribute with the planning of the project. He is a senior developer with over 20 years of experience in software development and very active in Cardano Open Source ecosystem leading TxPipe.
Github: https://github.com/scarmuega
Twitter: https://twitter.com/santicarmuega
Alejandro Drabenche will be the SRE in charge of validating, deploying and testing the project at each milestone. He is a senior System Administrator with over 15 years of experience. He has been working on blockchain for over 5 years.
Florencia Luna will be in charge of the technical writing. She is a junior developer with experience in technical writing.
If the Kubernetes deployment methodology via operators gains traction among Cardano developers, we'll return on a future fund to expand the list of components available in our collection of operators.
Progress of the project will be measured by released versions matching the scope of the predetermined milestones.
Existing and new Cardano projects using Kubernetes use the available operators as the default, canonical way of provisioning infrastructure.
This is an entirely new proposal.
We're TxPipe, a small team of seasoned developers passionate about Open Source and Cardano. It is the team behind existing projects such as Oura & Pallas. We specialize in backend development, data pipelines and cloud architecture. Rust is our language of choice.