Workers Auto Approve
Implement Kubernetes manifests for ethereum-snapshotter
ethereum-snapshotter is a component responsible for updating Ethereum blockchain persistent volume snapshots on a predefined schedule (e.g. daily). It's a part of ethereum-kubernetes system. The snapshots created by ethereum-snapshotter will be used for PersistentVolumeClaims in a Kubernetes application running Ethereum nodes cluster.
A proposed solution:
- A [CronJob](https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/) starts on a predefined cron schedule.
- It mounts the latest snapshot, containing Ethereum blockchain data, using a PersistentVolume and a corresponding StorageClass
- It starts an Ethereum client (e.g. geth or parity), waits until it synchronizes with the network then stops the client.
- It creates a snapshot from the PersistentVolume
- It updates PersistentVolumeClaim to point to the latest created snapshot, so next run will use it. Read here for details https://blog.jetstack.io/blog/volume-snapshotting/#restore.
Later when GKE supports Kubernetes 1.12 it will be migrated to using `kind: VolumeSnapshot`.
The scope of this task is:
1. Verify the solution and propose changes if necessary.
1. Implement Kubernetes manifest files for ethereum-snapshotter with components described above.
1. Implement end-to-end tests. Read [End-to-end Testing](https://kubernetes.io/docs/getting-started-guides/ubuntu/validation/#end-to-end-testing).
1. Write documentation - detailed instructions in README on how to run it in GKE.
- Code from this comment can be used as a basis https://github.com/paritytech/parity-ethereum/issues/7288#issuecomment-393500569
- k8s-snapshots https://github.com/miracle2k/k8s-snapshots
- k8s Snapshotting Proposal https://github.com/kubernetes-incubator/external-storage/blob/master/snapshot/doc/volume-snapshotting-proposal.md
- Resizing persistent volumes https://kubernetes.io/docs/concepts/storage/persistent-volumes/#resizing-a-volume-containing-a-file-system
- Creating PDs from snapshot using StorageClass https://blog.jetstack.io/blog/volume-snapshotting/#snapshot. Restoring Volume from snapshots is available starting from 1.12 https://kubernetes.io/docs/concepts/storage/persistent-volumes/#volume-snapshot-and-restore-volume-from-snapshot-support
- Operators https://coreos.com/blog/introducing-operators.html
- Airflow operator https://github.com/GoogleCloudPlatform/airflow-operator
- Argo: workflows and pipelines in Kubernetes https://argoproj.github.io/argo/
Setup your profile
Tell us a little about you:
No results found for
Type to search skills..
Required [[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Setup your profile
Our tools are based on the principles of earn (💰), learn (📖), and meet (💬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email: