Skip to content

Commit

Permalink
Add FlareSolverr chart with initial configuration and dependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
qjoly committed Dec 16, 2024
1 parent 921e57f commit d6314c9
Show file tree
Hide file tree
Showing 4 changed files with 229 additions and 0 deletions.
6 changes: 6 additions & 0 deletions charts/flaresolverr/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: common
repository: https://rubxkube.github.io/common-charts
version: v0.3.12
digest: sha256:272c874efcb3f6481aab554c8d6f1ea7d06aba9b629c988349a7800de2b46ecc
generated: "2024-12-16T18:20:18.432903+01:00"
23 changes: 23 additions & 0 deletions charts/flaresolverr/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
apiVersion: v2
type: application
name: flaresolverr
description: "FlareSolverr is a proxy server that solves Cloudflare's Javascript challenges."
version: 0.0.1
appVersion: "v3.3.21"
# icon:

Check failure on line 8 in charts/flaresolverr/Chart.yaml

View workflow job for this annotation

GitHub Actions / lint

8:8 [trailing-spaces] trailing spaces

Check failure on line 8 in charts/flaresolverr/Chart.yaml

View workflow job for this annotation

GitHub Actions / lint

8:8 [trailing-spaces] trailing spaces
maintainers:
- name: QJOLY
email: [email protected]
kubeVersion: ">= 1.18"
home: https://github.com/FlareSolverr/FlareSolverr
keywords:
- FlareSolverr
- Cloudflare
- Proxy
sources:
- https://github.com/FlareSolverr/FlareSolverr
dependencies:
- name: common
repository: https://rubxkube.github.io/common-charts
version: v0.3.12
93 changes: 93 additions & 0 deletions charts/flaresolverr/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# flaresolverr

![Version: 0.0.1](https://img.shields.io/badge/Version-0.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v3.3.21](https://img.shields.io/badge/AppVersion-v3.3.21-informational?style=flat-square)

FlareSolverr is a proxy server that solves Cloudflare's Javascript challenges.

**Homepage:** <https://github.com/FlareSolverr/FlareSolverr>

## Maintainers

| Name | Email | Url |
| ---- | ------ | --- |
| QJOLY | <[email protected]> | |

## Source Code

* <https://github.com/FlareSolverr/FlareSolverr>

## Requirements

Kubernetes: `>= 1.18`

| Repository | Name | Version |
|------------|------|---------|
| https://rubxkube.github.io/common-charts | common | v0.3.12 |

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| common.deployment.cpuLimit | string | `nil` | |
| common.deployment.cpuRequest | string | `nil` | |
| common.deployment.memoryLimit | string | `nil` | |
| common.deployment.memoryRequest | string | `nil` | |
| common.deployment.port | int | `8191` | |
| common.deployment.strategy.rollingUpdate.maxSurge | string | `"25%"` | |
| common.deployment.strategy.rollingUpdate.maxUnavailable | string | `"25%"` | |
| common.deployment.strategy.type | string | `"RollingUpdate"` | |
| common.hpa.avgCpuUtilization | int | `50` | |
| common.hpa.enabled | bool | `false` | |
| common.hpa.maxReplicas | int | `2` | |
| common.hpa.minReplicas | int | `1` | |
| common.image.pullPolicy | string | `"Always"` | |
| common.image.repository | string | `"ghcr.io/flaresolverr/flaresolverr"` | |
| common.image.repositorySettings.isPrivate | bool | `false` | |
| common.image.repositorySettings.secretName | string | `nil` | |
| common.image.tag | string | `"v3.3.21"` | |
| common.ingress.annotations | object | `{}` | |
| common.ingress.enabled | bool | `false` | |
| common.ingress.extraLabels | object | `{}` | |
| common.ingress.hostName | string | `"toto.lan"` | |
| common.ingress.ingressClassName | string | `"istio"` | |
| common.ingress.tls.enabled | bool | `false` | |
| common.ingress.tls.secretName | string | `"secret-flaresolverr-tls"` | |
| common.livenessProbe.failureThreshold | int | `1` | |
| common.livenessProbe.initialDelaySeconds | int | `30` | |
| common.livenessProbe.periodSeconds | int | `60` | |
| common.livenessProbe.tcpSocket.port | int | `8191` | |
| common.livenessProbe.timeoutSeconds | int | `3` | |
| common.livenessProbeEnabled | bool | `true` | |
| common.name | string | `"flaresolverr"` | |
| common.persistence.enabled | bool | `false` | |
| common.persistence.volumes[0].containerMount | string | `"/config/"` | |
| common.persistence.volumes[0].name | string | `"config"` | |
| common.persistence.volumes[0].pvcClaim | string | `""` | |
| common.persistence.volumes[0].size | string | `"2Gi"` | |
| common.persistence.volumes[0].storageClassName | string | `""` | |
| common.persistence.volumes[1].containerMount | string | `"/downloads/"` | |
| common.persistence.volumes[1].name | string | `"downloads"` | |
| common.persistence.volumes[1].pvcClaim | string | `""` | |
| common.persistence.volumes[1].size | string | `"1Gi"` | |
| common.persistence.volumes[1].storageClassName | string | `""` | |
| common.readinessProbe.failureThreshold | int | `2` | |
| common.readinessProbe.initialDelaySeconds | int | `30` | |
| common.readinessProbe.periodSeconds | int | `30` | |
| common.readinessProbe.tcpSocket.port | int | `8191` | |
| common.readinessProbe.timeoutSeconds | int | `3` | |
| common.readinessProbeEnabled | bool | `true` | |
| common.service.servicePort | int | `8191` | |
| common.service.type | string | `"ClusterIP"` | |
| common.startupProbe.failureThreshold | int | `20` | |
| common.startupProbe.httpGet.path | string | `"/"` | |
| common.startupProbe.httpGet.port | int | `8191` | |
| common.startupProbe.periodSeconds | int | `10` | |
| common.startupProbe.timeoutSeconds | int | `1` | |
| common.startupProbeEnabled | bool | `false` | |
| common.tests.classicHttp.enabled | bool | `false` | |
| common.tests.curlHostHeader.enabled | bool | `true` | |
| common.tests.curlHostHeader.path | string | `"/"` | |
| common.variables.nonSecret.LOG_LEVEL | string | `"info"` | |
| common.variables.secret | object | `{}` | |
| define | int | `8191` | |

107 changes: 107 additions & 0 deletions charts/flaresolverr/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
---
define: &containerPort 8191

common:
name: "flaresolverr"
service:
servicePort: *containerPort
type: ClusterIP

deployment:
port: *containerPort
memoryRequest: null
cpuRequest: null
memoryLimit: null
cpuLimit: null
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%

# container
image:
repositorySettings:
isPrivate: false
secretName: null
repository: ghcr.io/flaresolverr/flaresolverr
tag: v3.3.21
pullPolicy: Always

# ingress
ingress:
enabled: false
hostName: toto.lan
extraLabels: {}
annotations:
{}
# nginx.ingress.kubernetes.io/proxy-body-size: 100m
tls:
enabled: false
secretName: "secret-flaresolverr-tls"
# For Ingress CRD
ingressClassName: istio

# env variables
variables:
secret: {}
nonSecret:
LOG_LEVEL: info

# horizontal autoscaler
hpa:
enabled: false
minReplicas: 1
maxReplicas: 2
avgCpuUtilization: 50

# startupProbe
startupProbeEnabled: false
startupProbe:
httpGet:
path: "/"
port: *containerPort
periodSeconds: 10
failureThreshold: 20
timeoutSeconds: 1

# readinessProbe
readinessProbeEnabled: true
readinessProbe:
tcpSocket:
port: *containerPort
initialDelaySeconds: 30
periodSeconds: 30
failureThreshold: 2
timeoutSeconds: 3

# livenessProbe
livenessProbeEnabled: true
livenessProbe:
tcpSocket:
port: *containerPort
initialDelaySeconds: 30
periodSeconds: 60
failureThreshold: 1
timeoutSeconds: 3

persistence:
enabled: false
volumes:
- name: "config"
storageClassName: "" # leave empty if you want to use default
size: "2Gi"
pvcClaim: "" # Fill only if you want to use existing pvc
containerMount: "/config/"
- name: "downloads" # OPTIONAL
storageClassName: "" # leave empty if you want to use default
size: "1Gi"
pvcClaim: "" # Fill only if you want to use existing pvc
containerMount: "/downloads/"

tests:
classicHttp: # default helm test method
enabled: false
curlHostHeader: # curl using ingress.hostName as Host in header
enabled: true
path: "/"

0 comments on commit d6314c9

Please sign in to comment.