Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pcktdmp/charts
Kubernetes Helm Chart Repository and Helm Chart for Folding@Home Client (FAHClient)
https://github.com/pcktdmp/charts
capacity chart compute coronavirus covid-19 covid19 donate folding foldingathome graphs4good helm helm-chart home hpc kubernetes
Last synced: 4 days ago
JSON representation
Kubernetes Helm Chart Repository and Helm Chart for Folding@Home Client (FAHClient)
- Host: GitHub
- URL: https://github.com/pcktdmp/charts
- Owner: pcktdmp
- Created: 2020-03-20T09:32:10.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-20T20:36:28.000Z (almost 3 years ago)
- Last Synced: 2024-10-12T01:15:19.626Z (about 1 month ago)
- Topics: capacity, chart, compute, coronavirus, covid-19, covid19, donate, folding, foldingathome, graphs4good, helm, helm-chart, home, hpc, kubernetes
- Language: Mustache
- Homepage: https://foldingathome.org
- Size: 166 KB
- Stars: 5
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# fahclient
Helm Chart for Folding@Home Client (FAHClient)Install [Folding@Home](https://foldingathome.org/) on Kubernetes
## Motivation
Learned about the Folding@Home initiative during the COVID-19 crisis.
https://foldingathome.org/2020/03/15/coronavirus-what-were-doing-and-how-you-can-help-in-simple-terms/
Companies, enterprises and individuals can donate their compute capacity that is available inside their Kubernetes clusters to foldingathome.org.
## Features
* Make use of `StatefulSet` with Persistent Volumes so that compute capacity does not get lost when being rescheduled on other nodes.
This fits for example the design pattern of using Spot Instances in AWS EKS.
* [Horizontal Pod Autoscaling](https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/)
* [Vertical Pod Autoscaling](https://github.com/kubernetes/autoscaler/tree/master/vertical-pod-autoscaler)## TL;DR
```bash
helm repo add pcktdmp https://pcktdmp.github.io/charts
helm install pcktdmp/fahclient --name fahclient
```## Support
If you need basic support to getting up and running please
drop me an e-mail at .## Chart Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| fahClient.extraArgs | object | `{}` | Extra arguments for `FAHClient`, passed like `- --somearg=value` |
| fahClient.power | string | `"full"` | Valid values are `light`, `medium`, `full` |
| fahClient.smp | bool | `true` | |
| fahClient.team | int | `0` | Team identifier |
| fahClient.user | string | `"Anonymous"` | The user you identify yourself with to Folding@Home |
| fullnameOverride | string | `""` | |
| horizontalPodAutoscaling.enabled | bool | `false` | |
| horizontalPodAutoscaling.maxReplicas | int | `1` | |
| horizontalPodAutoscaling.minReplicas | int | `1` | |
| horizontalPodAutoscaling.targetCPUUtilizationPercentage | int | `90` | |
| storageClassName | string | `""` | When not specified take the default storage class |
| image.pullPolicy | string | `"Always"` | |
| image.repository | string | `"foldingathome/fah-gpu"` | |
| image.tag | string | `"latest"` | |
| imagePullSecrets | list | `[]` | |
| ingress.annotations | object | `{}` | |
| ingress.enabled | bool | `false` | |
| ingress.hosts[0].host | string | `"chart-example.local"` | |
| ingress.hosts[0].paths | list | `[]` | |
| ingress.tls | list | `[]` | |
| nameOverride | string | `""` | |
| podSecurityContext.fsGroup | int | `9999` | |
| priorityClassName | string | `nil` | When not specified, take the default priority class |
| replicaCount | int | `1` | |
| resources.limits.cpu | float | `1` | |
| resources.limits.memory | string | `"256Mi"` | |
| resources.requests.cpu | float | `1` | |
| resources.requests.memory | string | `"128Mi"` | |
| securityContext.capabilities.drop[0] | string | `"ALL"` | |
| securityContext.readOnlyRootFilesystem | bool | `false` | |
| podSecurityContext.runAsNonRoot | bool | `true` | |
| podSecurityContext.runAsGroup | int | `9999` | |
| podSecurityContext.runAsUser | int | `9999` | |
| podSecurityContext.fsGroup | int | `9999` | |
| service.port | int | `80` | |
| service.type | string | `"ClusterIP"` | |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.create | bool | `false` | |
| serviceAccount.name | string | `nil` | |
| verticalPodAutoscaling.enabled | bool | `false` | |
| verticalPodAutoscaling.updateMode | string | `"Auto"` | Valid values are `Auto`, `Recreate`, `Initial`, `Off` |## FAQ
Q: I want to stop folding but don't want work to be lost, what do I need to do?
A: Assuming you have the pods running in a separate namespace where no other pods reside:
`kubectl get pods -n | awk '{print $1}' | xargs -I{} kubectl exec {} -- /usr/bin/FAHClient --send-command shutdown`.Q: How do I set up persistent storage for my cluster quickly?
A: Setup an NFS server in your network or leverage an existing one and setup [nfs-client-provisioner](https://github.com/kubernetes-incubator/external-storage/tree/master/nfs-client).
## Package release
```bash
helm package fahclient
mv fahclient-x.x.x.tgz docs/
helm repo index --url https://pcktdmp.github.io/charts docs
```## Helm Hub Compatible Search Terms
Folding@Home
folding@home
Folding@home
folding@Home
Folding at Home
Folding At Home
folding at home
Folding at home