This project implements a Kubernetes Operator that simplifies the running of Chainlink oracles and their jobs in Kubernetes clusters via the use of Custom Resource Definitions (CRDs).
The repository contains four different folders with the following purposes:
- aws - CloudFormation templates for deploying the following AWS resources: Elastic Kubernetes Service, EC2 worker nodes and related IAM roles.
- examples - Once you have the
chainlink-kubernetes-operatorrunning in a Kubernetes cluster, you can use these custom resources to deploy nodes and their jobs. - operator - This is the main
chainlink-kubernetes-operatorproject folder. It contains an operator-sdk bootstrapped project - scripts - These scripts can be used to deploy the AWS EKS cluster from scratch, build and push the
chainlink-kubernetes-operatorimage to a container registry and to deploy the operator to a Kubernetes cluster (whichever is the current context in~/.kube/config). - smart contracts - Here are two smart contracts required to test the functionality of the operator nodes. They were copied from the official Chainlink Fulfilling Requests documentation.
Everything was built during the Chainlink Spring Hackathon 2023 and fully operational.