Compare commits
57 Commits
dragonfly-
...
main
Author | SHA1 | Date |
---|---|---|
|
1f55fc587a | |
|
7589dfc9a6 | |
|
f36a6f9315 | |
|
7799a87578 | |
|
62969f3fea | |
|
bab9530d46 | |
|
5832e5018f | |
|
7afe3b697e | |
|
d0feef12e6 | |
|
05f5ff0fab | |
|
cac34d36b5 | |
|
2d9deea5a8 | |
|
6fc6c790e7 | |
|
2ca22a98c8 | |
|
19079041bd | |
|
aadd5d2df6 | |
|
181cf5538d | |
|
7379918c08 | |
|
3aca321f93 | |
|
8aceed5453 | |
|
121b88310d | |
|
705d24205f | |
|
7575fc21ff | |
|
b4e9af677d | |
|
c4eeee7da3 | |
|
0c99ab572b | |
|
2c3758a843 | |
|
8ea1d0e504 | |
|
a6d532c80d | |
|
ea231c7d22 | |
|
6eb1281cac | |
|
a372ff3e1d | |
|
bcfe18f3b6 | |
|
c88374e561 | |
|
6fa8aacc91 | |
|
0918609d83 | |
|
0255d07468 | |
|
a317036999 | |
|
fb9e47648e | |
|
fddd0a4e65 | |
|
5515b4b909 | |
|
67e1dbe3c1 | |
|
b4adfbb26d | |
|
5802ff5bef | |
|
9cbd3cee51 | |
|
20f441c4a1 | |
|
7e4362d1d9 | |
|
5350cf07a6 | |
|
cda720a35c | |
|
ce4da5592c | |
|
53caf8c98d | |
|
68d7a9b01a | |
|
0c635cbaae | |
|
df98c72611 | |
|
a4811ea014 | |
|
a36ebca04b | |
|
3dd667710b |
|
@ -0,0 +1,17 @@
|
|||
# Set to true to add reviewers to pull requests
|
||||
addReviewers: true
|
||||
|
||||
# Set to true to add assignees to pull requests
|
||||
addAssignees: author
|
||||
|
||||
# A list of reviewers to be added to pull requests (GitHub user name)
|
||||
reviewers:
|
||||
- gaius-qi
|
||||
- yxxhero
|
||||
- chlins
|
||||
- CormickKneey
|
||||
- imeoer
|
||||
- BraveY
|
||||
|
||||
# A number of reviewers added to the pull request
|
||||
numberOfReviewers: 3
|
|
@ -0,0 +1,11 @@
|
|||
name: "Auto Assign"
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, reopened, ready_for_review]
|
||||
|
||||
jobs:
|
||||
add-assignee:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: kentaro-m/auto-assign-action@9f6dbe84a80c6e7639d1b9698048b201052a2a94
|
|
@ -46,7 +46,7 @@ jobs:
|
|||
python-version: 3.9
|
||||
|
||||
- name: Set up chart-testing
|
||||
uses: helm/chart-testing-action@v2.6.1
|
||||
uses: helm/chart-testing-action@v2.7.0
|
||||
|
||||
- name: Run chart-testing (list-changed)
|
||||
id: list-changed
|
||||
|
@ -60,7 +60,7 @@ jobs:
|
|||
run: ct lint --config ./.github/ct.yaml
|
||||
|
||||
- name: Create kind cluster
|
||||
uses: helm/kind-action@v1.11.0
|
||||
uses: helm/kind-action@v1.12.0
|
||||
if: steps.list-changed.outputs.changed == 'true'
|
||||
|
||||
- name: Add bitnami chart repos
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
name: PR Label
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, labeled, unlabeled, synchronize]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
classify:
|
||||
name: Classify PR
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: PR impact specified
|
||||
uses: mheap/github-action-required-labels@8afbe8ae6ab7647d0c9f0cfa7c2f939650d22509 # v5.5
|
||||
with:
|
||||
mode: exactly
|
||||
count: 1
|
||||
labels: 'bug, enhancement, documentation, dependencies'
|
|
@ -24,6 +24,6 @@ jobs:
|
|||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
||||
|
||||
- name: Run chart-releaser
|
||||
uses: helm/chart-releaser-action@v1.6.0
|
||||
uses: helm/chart-releaser-action@v1.7.0
|
||||
env:
|
||||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
name: Close stale issues and PRs
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
|
||||
id: stale
|
||||
with:
|
||||
delete-branch: true
|
||||
days-before-close: 7
|
||||
days-before-stale: 90
|
||||
days-before-pr-close: 7
|
||||
days-before-pr-stale: 120
|
||||
stale-issue-label: "stale"
|
||||
exempt-issue-labels: bug,wip,on-hold
|
||||
exempt-pr-labels: bug,wip,on-hold
|
||||
exempt-all-milestones: true
|
||||
stale-issue-message: 'This issue is stale because it has been open 90 days with no activity.'
|
||||
close-issue-message: 'This issue was closed because it has been stalled for 7 days with no activity.'
|
||||
stale-pr-message: 'This PR is stale because it has been open 120 days with no activity.'
|
||||
close-pr-message: 'This PR was closed because it has been stalled for 7 days with no activity.'
|
|
@ -31,9 +31,9 @@ Please refer to the [document][install] to install Dragonfly & Nydus on Kubernet
|
|||
Join the conversation and help the community.
|
||||
|
||||
- **Slack Channel**: [#dragonfly](https://cloud-native.slack.com/messages/dragonfly/) on [CNCF Slack](https://slack.cncf.io/)
|
||||
- **Discussion Group**: <dragonfly-discuss@googlegroups.com>
|
||||
- **Github Discussions**: [Dragonfly Discussion Forum](https://github.com/dragonflyoss/dragonfly/discussions)
|
||||
- **Developer Group**: <dragonfly-developers@googlegroups.com>
|
||||
- **Github Discussions**: [Dragonfly Discussion Forum][discussion]
|
||||
- **Maintainer Group**: <dragonfly-maintainers@googlegroups.com>
|
||||
- **Twitter**: [@dragonfly_oss](https://twitter.com/dragonfly_oss)
|
||||
- **DingTalk**: [22880028764](https://qr.dingtalk.com/action/joingroup?code=v1,k1,pkV9IbsSyDusFQdByPSK3HfCG61ZCLeb8b/lpQ3uUqI=&_dt_no_comment=1&origin=11)
|
||||
|
||||
|
|
|
@ -3,8 +3,8 @@ name: dragonfly
|
|||
description: Dragonfly is an intelligent P2P based image and file distribution system
|
||||
icon: https://raw.githubusercontent.com/dragonflyoss/dragonfly/main/docs/images/logo/dragonfly.svg
|
||||
type: application
|
||||
version: 1.2.28
|
||||
appVersion: 2.1.65
|
||||
version: 1.4.4
|
||||
appVersion: 2.3.1-rc.2
|
||||
keywords:
|
||||
- dragonfly
|
||||
- d7y
|
||||
|
@ -27,7 +27,8 @@ sources:
|
|||
|
||||
annotations:
|
||||
artifacthub.io/changes: |
|
||||
- Change LFU size to 50000 in the manager cache.
|
||||
- Bump Dragonfly to v2.3.1-rc.2.
|
||||
- Bump Client to v1.0.9.
|
||||
|
||||
artifacthub.io/links: |
|
||||
- name: Chart Source
|
||||
|
@ -38,15 +39,15 @@ annotations:
|
|||
url: https://github.com/dragonflyoss/client
|
||||
artifacthub.io/images: |
|
||||
- name: manager
|
||||
image: dragonflyoss/manager:v2.1.65
|
||||
image: dragonflyoss/manager:v2.3.1-rc.2
|
||||
- name: scheduler
|
||||
image: dragonflyoss/scheduler:v2.1.65
|
||||
image: dragonflyoss/scheduler:v2.3.1-rc.2
|
||||
- name: client
|
||||
image: dragonflyoss/client:v0.1.125
|
||||
image: dragonflyoss/client:v1.0.9
|
||||
- name: seed-client
|
||||
image: dragonflyoss/client:v0.1.125
|
||||
image: dragonflyoss/client:v1.0.9
|
||||
- name: dfinit
|
||||
image: dragonflyoss/dfinit:v0.1.125
|
||||
image: dragonflyoss/dfinit:v1.0.9
|
||||
|
||||
dependencies:
|
||||
- name: mysql
|
||||
|
|
|
@ -128,56 +128,62 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| client.config.download.concurrentPieceCount | int | `16` | concurrentPieceCount is the number of concurrent pieces to download. |
|
||||
| client.config.download.pieceTimeout | string | `"30s"` | pieceTimeout is the timeout for downloading a piece from source. |
|
||||
| client.config.download.rateLimit | string | `"10GiB"` | rateLimit is the default rate limit of the download speed in GiB/Mib/Kib per second, default is 10GiB/s. |
|
||||
| client.config.console | bool | `true` | console prints log. |
|
||||
| client.config.download.collectedPieceTimeout | string | `"10s"` | collected_piece_timeout is the timeout for collecting one piece from the parent in the stream. |
|
||||
| client.config.download.concurrentPieceCount | int | `8` | concurrentPieceCount is the number of concurrent pieces to download. |
|
||||
| client.config.download.pieceTimeout | string | `"40s"` | pieceTimeout is the timeout for downloading a piece from source. |
|
||||
| client.config.download.rateLimit | string | `"50GiB"` | rateLimit is the default rate limit of the download speed in GiB/Mib/Kib per second, default is 50GiB/s. |
|
||||
| client.config.download.server.requestRateLimit | int | `4000` | request_rate_limit is the rate limit of the download request in the download grpc server, default is 4000 req/s. |
|
||||
| client.config.download.server.socketPath | string | `"/var/run/dragonfly/dfdaemon.sock"` | socketPath is the unix socket path for dfdaemon GRPC service. |
|
||||
| client.config.dynconfig.refreshInterval | string | `"5m"` | refreshInterval is the interval to refresh dynamic configuration from manager. |
|
||||
| client.config.gc.interval | string | `"900s"` | interval is the interval to do gc. |
|
||||
| client.config.gc.policy.distHighThresholdPercent | int | `80` | distHighThresholdPercent is the high threshold percent of the disk usage. If the disk usage is greater than the threshold, dfdaemon will do gc. |
|
||||
| client.config.gc.policy.distLowThresholdPercent | int | `60` | distLowThresholdPercent is the low threshold percent of the disk usage. If the disk usage is less than the threshold, dfdaemon will stop gc. |
|
||||
| client.config.gc.policy.taskTTL | string | `"168h"` | taskTTL is the ttl of the task. |
|
||||
| client.config.gc.policy.taskTTL | string | `"720h"` | taskTTL is the ttl of the task. |
|
||||
| client.config.health.server.port | int | `4003` | port is the port to the health server. |
|
||||
| client.config.host | object | `{"idc":"","location":""}` | host is the host configuration for dfdaemon. |
|
||||
| client.config.log.level | string | `"info"` | Specify the logging level [trace, debug, info, warn, error] |
|
||||
| client.config.manager.addr | string | `""` | addr is manager address. |
|
||||
| client.config.metrics.server.port | int | `4002` | port is the port to the metrics server. |
|
||||
| client.config.proxy.disableBackToSource | bool | `false` | disableBackToSource indicates whether disable to download back-to-source when download failed. |
|
||||
| client.config.proxy.prefetch | bool | `false` | prefetch pre-downloads full of the task when download with range request. `X-Dragonfly-Prefetch` header's priority is higher than prefetch in config. If the value is "true", the range request will prefetch the entire file. If the value is "false", the range request will fetch the range content. |
|
||||
| client.config.proxy.prefetchRateLimit | string | `"2GiB"` | prefetchRateLimit is the rate limit of prefetching in GiB/Mib/Kib per second, default is 2GiB/s. The prefetch request has lower priority so limit the rate to avoid occupying the bandwidth impact other download tasks. |
|
||||
| client.config.proxy.readBufferSize | int | `32768` | readBufferSize is the buffer size for reading piece from disk, default is 32KB. |
|
||||
| client.config.proxy.prefetch | bool | `true` | prefetch pre-downloads full of the task when download with range request. `X-Dragonfly-Prefetch` header's priority is higher than prefetch in config. If the value is "true", the range request will prefetch the entire file. If the value is "false", the range request will fetch the range content. |
|
||||
| client.config.proxy.prefetchRateLimit | string | `"5GiB"` | prefetchRateLimit is the rate limit of prefetching in GiB/Mib/Kib per second, default is 5GiB/s. The prefetch request has lower priority so limit the rate to avoid occupying the bandwidth impact other download tasks. |
|
||||
| client.config.proxy.readBufferSize | int | `4194304` | readBufferSize is the buffer size for reading piece from disk, default is 4MiB. |
|
||||
| client.config.proxy.registryMirror.addr | string | `"https://index.docker.io"` | addr is the default address of the registry mirror. Proxy will start a registry mirror service for the client to pull the image. The client can use the default address of the registry mirror in configuration to pull the image. The `X-Dragonfly-Registry` header can instead of the default address of registry mirror. |
|
||||
| client.config.proxy.rules | list | `[{"regex":"blobs/sha256.*"}]` | rules is the list of rules for the proxy server. regex is the regex of the request url. useTLS indicates whether use tls for the proxy backend. redirect is the redirect url. filteredQueryParams is the filtered query params to generate the task id. When filter is ["Signature", "Expires", "ns"], for example: http://example.com/xyz?Expires=e1&Signature=s1&ns=docker.io and http://example.com/xyz?Expires=e2&Signature=s2&ns=docker.io will generate the same task id. Default value includes the filtered query params of s3, gcs, oss, obs, cos. `X-Dragonfly-Use-P2P` header can instead of the regular expression of the rule. If the value is "true", the request will use P2P technology to distribute the content. If the value is "false", but url matches the regular expression in rules. The request will also use P2P technology to distribute the content. |
|
||||
| client.config.proxy.server.port | int | `4001` | port is the port to the proxy server. |
|
||||
| client.config.scheduler.announceInterval | string | `"5m"` | announceInterval is the interval to announce peer to the scheduler. Announcer will provide the scheduler with peer information for scheduling, peer information includes cpu, memory, etc. |
|
||||
| client.config.scheduler.enableBackToSource | bool | `true` | enableBackToSource indicates whether enable back-to-source download, when the scheduling failed. |
|
||||
| client.config.scheduler.maxScheduleCount | int | `5` | maxScheduleCount is the max count of schedule. |
|
||||
| client.config.scheduler.scheduleTimeout | string | `"30s"` | scheduleTimeout is the timeout for scheduling. If the scheduling timesout, dfdaemon will back-to-source download if enableBackToSource is true, otherwise dfdaemon will return download failed. |
|
||||
| client.config.scheduler.scheduleTimeout | string | `"3h"` | scheduleTimeout is timeout for the scheduler to respond to a scheduling request from dfdaemon, default is 3 hours. If the scheduler's response time for a scheduling decision exceeds this timeout, dfdaemon will encounter a `TokioStreamElapsed(Elapsed(()))` error. Behavior upon timeout: - If `enable_back_to_source` is `true`, dfdaemon will attempt to download directly from the source. - Otherwise (if `enable_back_to_source` is `false`), dfdaemon will report a download failure. **Important Considerations Regarding Timeout Triggers**: This timeout isn't solely for the scheduler's direct response. It can also be triggered if the overall duration of the client's interaction with the scheduler for a task (e.g., client downloading initial pieces and reporting their status back to the scheduler) exceeds `schedule_timeout`. During such client-side processing and reporting, the scheduler might be awaiting these updates before sending its comprehensive scheduling response, and this entire period is subject to the `schedule_timeout`. **Configuration Guidance**: To prevent premature timeouts, `schedule_timeout` should be configured to a value greater than the maximum expected time for the *entire scheduling interaction*. This includes: 1. The scheduler's own processing and response time. 2. The time taken by the client to download any initial pieces and download all pieces finished, as this communication is part of the scheduling phase. Setting this value too low can lead to `TokioStreamElapsed` errors even if the network and scheduler are functioning correctly but the combined interaction time is longer than the configured timeout. |
|
||||
| client.config.server.cacheDir | string | `"/var/cache/dragonfly/dfdaemon/"` | cacheDir is the directory to store cache files. |
|
||||
| client.config.server.pluginDir | string | `"/var/lib/dragonfly/plugins/dfdaemon/"` | pluginDir is the directory to store plugins. |
|
||||
| client.config.server.pluginDir | string | `"/usr/local/lib/dragonfly/plugins/dfdaemon/"` | pluginDir is the directory to store plugins. |
|
||||
| client.config.stats.server.port | int | `4004` | port is the port to the stats server. |
|
||||
| client.config.storage.dir | string | `"/var/lib/dragonfly/"` | dir is the directory to store task's metadata and content. |
|
||||
| client.config.storage.keep | bool | `false` | keep indicates whether keep the task's metadata and content when the dfdaemon restarts. |
|
||||
| client.config.storage.readBufferSize | int | `131072` | readBufferSize is the buffer size for reading piece from disk, default is 128KB. |
|
||||
| client.config.storage.writeBufferSize | int | `131072` | writeBufferSize is the buffer size for writing piece to disk, default is 128KB. |
|
||||
| client.config.storage.keep | bool | `true` | keep indicates whether keep the task's metadata and content when the dfdaemon restarts. |
|
||||
| client.config.storage.readBufferSize | int | `4194304` | readBufferSize is the buffer size for reading piece from disk, default is 4MiB. |
|
||||
| client.config.storage.writeBufferSize | int | `4194304` | writeBufferSize is the buffer size for writing piece to disk, default is 4MiB. |
|
||||
| client.config.storage.writePieceTimeout | string | `"30s"` | writePieceTimeout is the timeout for writing a piece to storage(e.g., disk or cache). |
|
||||
| client.config.tracing.protocol | string | `""` | Protocol specifies the communication protocol for the tracing server. Supported values: "http", "https", "grpc" (default: None). This determines how tracing logs are transmitted to the server. |
|
||||
| client.config.upload.disableShared | bool | `false` | disableShared indicates whether disable to share data with other peers. |
|
||||
| client.config.upload.rateLimit | string | `"10GiB"` | rateLimit is the default rate limit of the upload speed in GiB/Mib/Kib per second, default is 10GiB/s. |
|
||||
| client.config.upload.rateLimit | string | `"50GiB"` | rateLimit is the default rate limit of the upload speed in GiB/Mib/Kib per second, default is 50GiB/s. |
|
||||
| client.config.upload.server.port | int | `4000` | port is the port to the grpc server. |
|
||||
| client.config.verbose | bool | `true` | verbose prints log. |
|
||||
| client.config.upload.server.requestRateLimit | int | `4000` | request_rate_limit is the rate limit of the upload request in the upload grpc server, default is 4000 req/s. |
|
||||
| client.dfinit.config.console | bool | `true` | console prints log. |
|
||||
| client.dfinit.config.containerRuntime.containerd.configPath | string | `"/etc/containerd/config.toml"` | configPath is the path of containerd configuration file. |
|
||||
| client.dfinit.config.containerRuntime.containerd.registries | list | `[{"capabilities":["pull","resolve"],"hostNamespace":"docker.io","serverAddr":"https://index.docker.io","skipVerify":true},{"capabilities":["pull","resolve"],"hostNamespace":"ghcr.io","serverAddr":"https://ghcr.io","skipVerify":true}]` | registries is the list of containerd registries. hostNamespace is the location where container images and artifacts are sourced, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#registry-host-namespace. The registry host namespace portion is [registry_host_name|IP address][:port], such as docker.io, ghcr.io, gcr.io, etc. serverAddr specifies the default server for this registry host namespace, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#server-field. capabilities is the list of capabilities in containerd configuration, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#capabilities-field. skip_verify is the flag to skip verifying the server's certificate, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#bypass-tls-verification-example. ca (Certificate Authority Certification) can be set to a path or an array of paths each pointing to a ca file for use in authenticating with the registry namespace, refer to https://github.com/containerd/containerd/blob/main/docs/hosts.md#ca-field. |
|
||||
| client.dfinit.config.log.level | string | `"info"` | Specify the logging level [trace, debug, info, warn, error] |
|
||||
| client.dfinit.config.proxy.addr | string | `"http://127.0.0.1:4001"` | addr is the proxy server address of dfdaemon. |
|
||||
| client.dfinit.config.verbose | bool | `true` | verbose prints log. |
|
||||
| client.dfinit.enable | bool | `false` | Enable dfinit to override configuration of container runtime. |
|
||||
| client.dfinit.image.digest | string | `""` | Image digest. |
|
||||
| client.dfinit.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. |
|
||||
| client.dfinit.image.registry | string | `"docker.io"` | Image registry. |
|
||||
| client.dfinit.image.repository | string | `"dragonflyoss/dfinit"` | Image repository. |
|
||||
| client.dfinit.image.tag | string | `"v0.1.125"` | Image tag. |
|
||||
| client.dfinit.image.tag | string | `"v1.0.9"` | Image tag. |
|
||||
| client.dfinit.restartContainerRuntime | bool | `true` | restartContainerRuntime indicates whether to restart container runtime when dfinit is enabled. it should be set to true when your first install dragonfly. If non-hot load configuration changes are made, the container runtime needs to be restarted. |
|
||||
| client.enable | bool | `true` | Enable client. |
|
||||
| client.extraVolumeMounts | list | `[{"mountPath":"/var/lib/dragonfly/","name":"storage"},{"mountPath":"/var/log/dragonfly/dfdaemon/","name":"logs"}]` | Extra volumeMounts for dfdaemon. |
|
||||
| client.extraVolumes | list | `[{"hostPath":{"path":"/var/lib/dragonfly/","type":"DirectoryOrCreate"},"name":"storage"},{"emptyDir":{},"name":"logs"}]` | Extra volumes for dfdaemon. |
|
||||
| client.extraVolumes | list | `[{"emptyDir":{},"name":"storage"},{"emptyDir":{},"name":"logs"}]` | Extra volumes for dfdaemon. |
|
||||
| client.fullnameOverride | string | `""` | Override scheduler fullname. |
|
||||
| client.hostAliases | list | `[]` | Host Aliases. |
|
||||
| client.hostIPC | bool | `true` | hostIPC specify if host IPC should be enabled for peer pod. |
|
||||
|
@ -188,7 +194,7 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| client.image.pullSecrets | list | `[]` (defaults to global.imagePullSecrets). | Image pull secrets. |
|
||||
| client.image.registry | string | `"docker.io"` | Image registry. |
|
||||
| client.image.repository | string | `"dragonflyoss/client"` | Image repository. |
|
||||
| client.image.tag | string | `"v0.1.125"` | Image tag. |
|
||||
| client.image.tag | string | `"v1.0.9"` | Image tag. |
|
||||
| client.initContainer.image.digest | string | `""` | Image digest. |
|
||||
| client.initContainer.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. |
|
||||
| client.initContainer.image.registry | string | `"docker.io"` | Image registry. |
|
||||
|
@ -196,7 +202,7 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| client.initContainer.image.tag | string | `"latest"` | Image tag. |
|
||||
| client.initContainer.resources | object | `{"limits":{"cpu":"2","memory":"4Gi"},"requests":{"cpu":"0","memory":"0"}}` | Pod resource requests and limits. |
|
||||
| client.maxProcs | string | `""` | maxProcs Limits the number of operating system threads that can execute user-level. Go code simultaneously by setting GOMAXPROCS environment variable, refer to https://golang.org/pkg/runtime. |
|
||||
| client.metrics.enable | bool | `false` | Enable client metrics. |
|
||||
| client.metrics.enable | bool | `true` | Enable client metrics. |
|
||||
| client.metrics.prometheusRule.additionalLabels | object | `{}` | Additional labels. |
|
||||
| client.metrics.prometheusRule.enable | bool | `false` | Enable prometheus rule ref: https://github.com/coreos/prometheus-operator. |
|
||||
| client.metrics.prometheusRule.rules | list | `[{"alert":"ClientDown","annotations":{"message":"Client instance {{ \"{{ $labels.instance }}\" }} is down","summary":"Client instance is down"},"expr":"sum(dragonfly_client_version{container=\"client\"}) == 0","for":"5m","labels":{"severity":"critical"}},{"alert":"ClientHighNumberOfFailedDownloadTask","annotations":{"message":"Client has a high number of failed download task","summary":"Client has a high number of failed download task"},"expr":"sum(irate(dragonfly_client_download_task_failure_total{container=\"client\"}[1m])) > 100","for":"1m","labels":{"severity":"warning"}},{"alert":"ClientSuccessRateOfDownloadingTask","annotations":{"message":"Client's success rate of downloading task is low","summary":"Client's success rate of downloading task is low"},"expr":"(sum(rate(dragonfly_client_download_task_total{container=\"client\"}[1m])) - sum(rate(dragonfly_client_download_task_failure_total{container=\"client\"}[1m]))) / sum(rate(dragonfly_client_download_task_total{container=\"client\"}[1m])) < 0.6","for":"5m","labels":{"severity":"critical"}}]` | Prometheus rules. |
|
||||
|
@ -213,11 +219,11 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| client.podAnnotations | object | `{}` | Pod annotations. |
|
||||
| client.podLabels | object | `{}` | Pod labels. |
|
||||
| client.priorityClassName | string | `""` | Pod priorityClassName. |
|
||||
| client.resources | object | `{"limits":{"cpu":"2","memory":"4Gi"},"requests":{"cpu":"0","memory":"0"}}` | Pod resource requests and limits. |
|
||||
| client.resources | object | `{"limits":{"cpu":"4","memory":"8Gi"},"requests":{"cpu":"0","memory":"0"}}` | Pod resource requests and limits. |
|
||||
| client.statefulsetAnnotations | object | `{}` | Statefulset annotations. |
|
||||
| client.terminationGracePeriodSeconds | string | `nil` | Pod terminationGracePeriodSeconds. |
|
||||
| client.tolerations | list | `[]` | List of node taints to tolerate. |
|
||||
| client.updateStrategy | object | `{}` | Update strategy for replicas. |
|
||||
| client.updateStrategy | object | `{"rollingUpdate":{"maxSurge":0,"maxUnavailable":20},"type":"RollingUpdate"}` | Update strategy for replicas. |
|
||||
| clusterDomain | string | `"cluster.local"` | Install application cluster domain. |
|
||||
| externalManager.grpcPort | int | `65003` | External GRPC service port. |
|
||||
| externalManager.host | string | `nil` | External manager hostname. |
|
||||
|
@ -234,6 +240,8 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| externalRedis.db | int | `0` | External redis db. |
|
||||
| externalRedis.masterName | string | `""` | External redis sentinel master name. |
|
||||
| externalRedis.password | string | `""` | External redis password. |
|
||||
| externalRedis.sentinelPassword | string | `""` | External redis sentinel password. |
|
||||
| externalRedis.sentinelUsername | string | `""` | External redis sentinel addresses. |
|
||||
| externalRedis.username | string | `""` | External redis username. |
|
||||
| fullnameOverride | string | `""` | Override dragonfly fullname. |
|
||||
| global.imagePullSecrets | list | `[]` | Global Docker registry secret names as an array. |
|
||||
|
@ -244,14 +252,13 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| manager.config.auth.jwt.maxRefresh | string | `"48h"` | MaxRefresh field allows clients to refresh their token until MaxRefresh has passed, default duration is two days. |
|
||||
| manager.config.auth.jwt.realm | string | `"Dragonfly"` | Realm name to display to the user, default value is Dragonfly. |
|
||||
| manager.config.auth.jwt.timeout | string | `"48h"` | Timeout is duration that a jwt token is valid, default duration is two days. |
|
||||
| manager.config.cache.local.size | int | `50000` | Size of LFU cache. |
|
||||
| manager.config.cache.local.size | int | `30000` | Size of LFU cache. |
|
||||
| manager.config.cache.local.ttl | string | `"3m"` | Local cache TTL duration. |
|
||||
| manager.config.cache.redis.ttl | string | `"5m"` | Redis cache TTL duration. |
|
||||
| manager.config.console | bool | `true` | Console shows log on console. |
|
||||
| manager.config.jaeger | string | `""` | |
|
||||
| manager.config.job.gc | object | `{"interval":"24h","ttl":"24h"}` | gc configuration. |
|
||||
| manager.config.job.gc.interval | string | `"24h"` | interval is the interval of gc. |
|
||||
| manager.config.job.gc.ttl | string | `"24h"` | ttl is the ttl of job. |
|
||||
| manager.config.job.gc | object | `{"interval":"3h","ttl":"6h"}` | gc configuration. |
|
||||
| manager.config.job.gc.interval | string | `"3h"` | interval is the interval of gc. |
|
||||
| manager.config.job.gc.ttl | string | `"6h"` | ttl is the ttl of job. |
|
||||
| manager.config.job.preheat | object | `{"registryTimeout":"1m","tls":{"insecureSkipVerify":false}}` | Preheat configuration. |
|
||||
| manager.config.job.preheat.registryTimeout | string | `"1m"` | registryTimeout is the timeout for requesting registry to get token and manifest. |
|
||||
| manager.config.job.preheat.tls.insecureSkipVerify | bool | `false` | insecureSkipVerify controls whether a client verifies the server's certificate chain and hostname. |
|
||||
|
@ -262,23 +269,16 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| manager.config.job.syncPeers | object | `{"interval":"24h","timeout":"10m"}` | Sync peers configuration. |
|
||||
| manager.config.job.syncPeers.interval | string | `"24h"` | interval is the interval for syncing all peers information from the scheduler and display peers information in the manager console. |
|
||||
| manager.config.job.syncPeers.timeout | string | `"10m"` | timeout is the timeout for syncing peers information from the single scheduler. |
|
||||
| manager.config.network.enableIPv6 | bool | `false` | enableIPv6 enables ipv6. |
|
||||
| manager.config.objectStorage.accessKey | string | `""` | AccessKey is access key ID. |
|
||||
| manager.config.objectStorage.enable | bool | `false` | Enable object storage. |
|
||||
| manager.config.objectStorage.endpoint | string | `""` | Endpoint is datacenter endpoint. |
|
||||
| manager.config.objectStorage.name | string | `"s3"` | Name is object storage name of type, it can be s3 or oss. |
|
||||
| manager.config.objectStorage.region | string | `""` | Reigon is storage region. |
|
||||
| manager.config.objectStorage.s3ForcePathStyle | bool | `true` | S3ForcePathStyle sets force path style for s3, true by default. Set this to `true` to force the request to use path-style addressing, i.e., `http://s3.amazonaws.com/BUCKET/KEY`. By default, the S3 client will use virtual hosted bucket addressing when possible (`http://BUCKET.s3.amazonaws.com/KEY`). Refer to https://github.com/aws/aws-sdk-go/blob/main/aws/config.go#L118. |
|
||||
| manager.config.objectStorage.secretKey | string | `""` | SecretKey is access key secret. |
|
||||
| manager.config.pprofPort | int | `-1` | Listen port for pprof, only valid when the verbose option is true default is -1. If it is 0, pprof will use a random port. |
|
||||
| manager.config.pprofPort | int | `-1` | Listen port for pprof, default is -1 (meaning disabled). |
|
||||
| manager.config.server.cacheDir | string | `""` | Dynconfig cache directory. |
|
||||
| manager.config.server.grpc.advertiseIP | string | `""` | GRPC advertise ip. |
|
||||
| manager.config.server.logDir | string | `""` | Log directory. |
|
||||
| manager.config.server.logLevel | string | `"info"` | logLevel specifies the logging level for the manager. Default: "info" Supported values: "debug", "info", "warn", "error", "panic", "fatal" |
|
||||
| manager.config.server.pluginDir | string | `""` | Plugin directory. |
|
||||
| manager.config.server.rest.tls.cert | string | `""` | Certificate file path. |
|
||||
| manager.config.server.rest.tls.key | string | `""` | Key file path. |
|
||||
| manager.config.server.workHome | string | `""` | Work directory. |
|
||||
| manager.config.verbose | bool | `false` | Whether to enable debug level logger and enable pprof. |
|
||||
| manager.config.tracing.protocol | string | `"grpc"` | Protocol specifies the communication protocol for the tracing server. Supported values: "http", "https", "grpc" (default: None). This determines how tracing logs are transmitted to the server. |
|
||||
| manager.deploymentAnnotations | object | `{}` | Deployment annotations. |
|
||||
| manager.enable | bool | `true` | Enable manager. |
|
||||
| manager.extraVolumeMounts | list | `[{"mountPath":"/var/log/dragonfly/manager","name":"logs"}]` | Extra volumeMounts for manager. |
|
||||
|
@ -286,12 +286,13 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| manager.fullnameOverride | string | `""` | Override manager fullname. |
|
||||
| manager.grpcPort | int | `65003` | GRPC service port. |
|
||||
| manager.hostAliases | list | `[]` | Host Aliases. |
|
||||
| manager.hostNetwork | bool | `false` | hostNetwork specify if host network should be enabled. |
|
||||
| manager.image.digest | string | `""` | Image digest. |
|
||||
| manager.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. |
|
||||
| manager.image.pullSecrets | list | `[]` (defaults to global.imagePullSecrets). | Image pull secrets. |
|
||||
| manager.image.registry | string | `"docker.io"` | Image registry. |
|
||||
| manager.image.repository | string | `"dragonflyoss/manager"` | Image repository. |
|
||||
| manager.image.tag | string | `"v2.1.65"` | Image tag. |
|
||||
| manager.image.tag | string | `"v2.3.1-rc.2"` | Image tag. |
|
||||
| manager.ingress.annotations | object | `{}` | Ingress annotations. |
|
||||
| manager.ingress.className | string | `""` | Ingress class name. Requirement: kubernetes >=1.18. |
|
||||
| manager.ingress.enable | bool | `false` | Enable ingress. |
|
||||
|
@ -306,7 +307,7 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| manager.initContainer.image.tag | string | `"latest"` | Image tag. |
|
||||
| manager.initContainer.resources | object | `{"limits":{"cpu":"2","memory":"4Gi"},"requests":{"cpu":"0","memory":"0"}}` | Pod resource requests and limits. |
|
||||
| manager.maxProcs | string | `""` | maxProcs Limits the number of operating system threads that can execute user-level. Go code simultaneously by setting GOMAXPROCS environment variable, refer to https://golang.org/pkg/runtime. |
|
||||
| manager.metrics.enable | bool | `false` | Enable manager metrics. |
|
||||
| manager.metrics.enable | bool | `true` | Enable manager metrics. |
|
||||
| manager.metrics.prometheusRule.additionalLabels | object | `{}` | Additional labels. |
|
||||
| manager.metrics.prometheusRule.enable | bool | `false` | Enable prometheus rule. ref: https://github.com/coreos/prometheus-operator. |
|
||||
| manager.metrics.prometheusRule.rules | list | `[{"alert":"ManagerDown","annotations":{"message":"Manager instance {{ \"{{ $labels.instance }}\" }} is down","summary":"Manager instance is down"},"expr":"sum(dragonfly_manager_version{}) == 0","for":"5m","labels":{"severity":"critical"}},{"alert":"ManagerHighNumberOfFailedGRPCRequest","annotations":{"message":"Manager has a high number of failed grpc request","summary":"Manager has a high number of failed grpc request"},"expr":"sum(rate(grpc_server_started_total{grpc_service=\"manager.Manager\",grpc_type=\"unary\"}[1m])) - sum(rate(grpc_server_handled_total{grpc_service=\"manager.Manager\",grpc_type=\"unary\",grpc_code=\"OK\"}[1m])) + sum(rate(grpc_server_handled_total{grpc_service=\"manager.Manager\",grpc_type=\"unary\",grpc_code=\"NotFound\"}[1m])) + sum(rate(grpc_server_handled_total{grpc_service=\"manager.Manager\",grpc_type=\"unary\",grpc_code=\"PermissionDenied\"}[1m])) + sum(rate(grpc_server_handled_total{grpc_service=\"manager.Manager\",grpc_type=\"unary\",grpc_code=\"InvalidArgument\"}[1m])) > 100","for":"1m","labels":{"severity":"warning"}},{"alert":"ManagerSuccessRateOfGRPCRequest","annotations":{"message":"Manager's success rate of grpc request is low","summary":"Manager's success rate of grpc request is low"},"expr":"(sum(rate(grpc_server_handled_total{grpc_service=\"manager.Manager\",grpc_type=\"unary\",grpc_code=\"OK\"}[1m])) + sum(rate(grpc_server_handled_total{grpc_service=\"manager.Manager\",grpc_type=\"unary\",grpc_code=\"NotFound\"}[1m])) + sum(rate(grpc_server_handled_total{grpc_service=\"manager.Manager\",grpc_type=\"unary\",grpc_code=\"PermissionDenied\"}[1m])) + sum(rate(grpc_server_handled_total{grpc_service=\"manager.Manager\",grpc_type=\"unary\",grpc_code=\"InvalidArgument\"}[1m]))) / sum(rate(grpc_server_started_total{grpc_service=\"manager.Manager\",grpc_type=\"unary\"}[1m])) < 0.6","for":"5m","labels":{"severity":"critical"}},{"alert":"ManagerHighNumberOfFailedRESTRequest","annotations":{"message":"Manager has a high number of failed rest request","summary":"Manager has a high number of failed rest request"},"expr":"sum(rate(dragonfly_manager_requests_total{}[1m])) - sum(rate(dragonfly_manager_requests_total{code=~\"[12]..\"}[1m])) > 100","for":"1m","labels":{"severity":"warning"}},{"alert":"ManagerSuccessRateOfRESTRequest","annotations":{"message":"Manager's success rate of rest request is low","summary":"Manager's success rate of rest request is low"},"expr":"sum(rate(dragonfly_manager_requests_total{code=~\"[12]..\"}[1m])) / sum(rate(dragonfly_manager_requests_total{}[1m])) < 0.6","for":"5m","labels":{"severity":"critical"}}]` | Prometheus rules. |
|
||||
|
@ -324,7 +325,7 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| manager.podLabels | object | `{}` | Pod labels. |
|
||||
| manager.priorityClassName | string | `""` | Pod priorityClassName. |
|
||||
| manager.replicas | int | `3` | Number of Pods to launch. |
|
||||
| manager.resources | object | `{"limits":{"cpu":"2","memory":"4Gi"},"requests":{"cpu":"0","memory":"0"}}` | Pod resource requests and limits. |
|
||||
| manager.resources | object | `{"limits":{"cpu":"8","memory":"16Gi"},"requests":{"cpu":"0","memory":"0"}}` | Pod resource requests and limits. |
|
||||
| manager.restPort | int | `8080` | REST service port. |
|
||||
| manager.service.annotations | object | `{}` | Service annotations. |
|
||||
| manager.service.labels | object | `{}` | Service labels. |
|
||||
|
@ -354,22 +355,20 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| scheduler.config.dynconfig.type | string | `"manager"` | Type is deprecated and is no longer used. Please remove it from your configuration. |
|
||||
| scheduler.config.host.idc | string | `""` | IDC is the idc of scheduler instance. |
|
||||
| scheduler.config.host.location | string | `""` | Location is the location of scheduler instance. |
|
||||
| scheduler.config.jaeger | string | `""` | |
|
||||
| scheduler.config.manager.keepAlive.interval | string | `"5s"` | Manager keepalive interval. |
|
||||
| scheduler.config.manager.schedulerClusterID | int | `1` | Associated scheduler cluster id. |
|
||||
| scheduler.config.network.enableIPv6 | bool | `false` | enableIPv6 enables ipv6. |
|
||||
| scheduler.config.pprofPort | int | `-1` | Listen port for pprof, only valid when the verbose option is true. default is -1. If it is 0, pprof will use a random port. |
|
||||
| scheduler.config.pprofPort | int | `-1` | Listen port for pprof, default is -1 (meaning disabled). |
|
||||
| scheduler.config.scheduler.algorithm | string | `"default"` | Algorithm configuration to use different scheduling algorithms, default configuration supports "default", "ml" and "nt". "default" is the rule-based scheduling algorithm, "ml" is the machine learning scheduling algorithm. It also supports user plugin extension, the algorithm value is "plugin", and the compiled `d7y-scheduler-plugin-evaluator.so` file is added to the dragonfly working directory plugins. |
|
||||
| scheduler.config.scheduler.backToSourceCount | int | `200` | backToSourceCount is single task allows the peer to back-to-source count. |
|
||||
| scheduler.config.scheduler.gc.hostGCInterval | string | `"5m"` | hostGCInterval is the interval of host gc. |
|
||||
| scheduler.config.scheduler.gc.hostTTL | string | `"1h"` | hostTTL is time to live of host. If host announces message to scheduler, then HostTTl will be reset. |
|
||||
| scheduler.config.scheduler.gc.peerGCInterval | string | `"10s"` | peerGCInterval is the interval of peer gc. |
|
||||
| scheduler.config.scheduler.gc.peerTTL | string | `"24h"` | peerTTL is the ttl of peer. If the peer has been downloaded by other peers, then PeerTTL will be reset. |
|
||||
| scheduler.config.scheduler.gc.peerGCInterval | string | `"5m"` | peerGCInterval is the interval of peer gc. |
|
||||
| scheduler.config.scheduler.gc.peerTTL | string | `"720h"` | peerTTL is the ttl of peer. If the peer has been downloaded by other peers, then PeerTTL will be reset. |
|
||||
| scheduler.config.scheduler.gc.pieceDownloadTimeout | string | `"30m"` | pieceDownloadTimeout is the timeout of downloading piece. |
|
||||
| scheduler.config.scheduler.gc.taskGCInterval | string | `"30m"` | taskGCInterval is the interval of task gc. If all the peers have been reclaimed in the task, then the task will also be reclaimed. |
|
||||
| scheduler.config.scheduler.retryBackToSourceLimit | int | `5` | retryBackToSourceLimit reaches the limit, then the peer back-to-source. |
|
||||
| scheduler.config.scheduler.retryInterval | string | `"700ms"` | Retry scheduling interval. |
|
||||
| scheduler.config.scheduler.retryLimit | int | `7` | Retry scheduling limit times. |
|
||||
| scheduler.config.scheduler.retryBackToSourceLimit | int | `3` | retryBackToSourceLimit reaches the limit, then the peer back-to-source. |
|
||||
| scheduler.config.scheduler.retryInterval | string | `"1s"` | Retry scheduling interval. |
|
||||
| scheduler.config.scheduler.retryLimit | int | `5` | Retry scheduling limit times. |
|
||||
| scheduler.config.seedPeer.enable | bool | `true` | scheduler enable seed peer as P2P peer, if the value is false, P2P network will not be back-to-source through seed peer but by dfdaemon and preheat feature does not work. |
|
||||
| scheduler.config.server.advertiseIP | string | `""` | Advertise ip. |
|
||||
| scheduler.config.server.advertisePort | int | `8002` | Advertise port. |
|
||||
|
@ -377,25 +376,24 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| scheduler.config.server.dataDir | string | `""` | Storage directory. |
|
||||
| scheduler.config.server.listenIP | string | `"0.0.0.0"` | Listen ip. |
|
||||
| scheduler.config.server.logDir | string | `""` | Log directory. |
|
||||
| scheduler.config.server.logLevel | string | `"info"` | logLevel specifies the logging level for the scheduler. Default: "info" Supported values: "debug", "info", "warn", "error", "panic", "fatal" |
|
||||
| scheduler.config.server.pluginDir | string | `""` | Plugin directory. |
|
||||
| scheduler.config.server.port | int | `8002` | Server port. |
|
||||
| scheduler.config.server.workHome | string | `""` | Work directory. |
|
||||
| scheduler.config.storage.bufferSize | int | `100` | bufferSize sets the size of buffer container, if the buffer is full, write all the records in the buffer to the file. |
|
||||
| scheduler.config.storage.maxBackups | int | `10` | maxBackups sets the maximum number of storage files to retain. |
|
||||
| scheduler.config.storage.maxSize | int | `100` | maxSize sets the maximum size in megabytes of storage file. |
|
||||
| scheduler.config.verbose | bool | `false` | Whether to enable debug level logger and enable pprof. |
|
||||
| scheduler.config.tracing.protocol | string | `""` | Protocol specifies the communication protocol for the tracing server. Supported values: "http", "https", "grpc" (default: None). This determines how tracing logs are transmitted to the server. |
|
||||
| scheduler.containerPort | int | `8002` | Pod containerPort. |
|
||||
| scheduler.enable | bool | `true` | Enable scheduler. |
|
||||
| scheduler.extraVolumeMounts | list | `[{"mountPath":"/var/log/dragonfly/scheduler","name":"logs"}]` | Extra volumeMounts for scheduler. |
|
||||
| scheduler.extraVolumes | list | `[{"emptyDir":{},"name":"logs"}]` | Extra volumes for scheduler. |
|
||||
| scheduler.fullnameOverride | string | `""` | Override scheduler fullname. |
|
||||
| scheduler.hostAliases | list | `[]` | Host Aliases. |
|
||||
| scheduler.hostNetwork | bool | `false` | hostNetwork specify if host network should be enabled. |
|
||||
| scheduler.image.digest | string | `""` | Image digest. |
|
||||
| scheduler.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. |
|
||||
| scheduler.image.pullSecrets | list | `[]` (defaults to global.imagePullSecrets). | Image pull secrets. |
|
||||
| scheduler.image.registry | string | `"docker.io"` | Image registry. |
|
||||
| scheduler.image.repository | string | `"dragonflyoss/scheduler"` | Image repository. |
|
||||
| scheduler.image.tag | string | `"v2.1.65"` | Image tag. |
|
||||
| scheduler.image.tag | string | `"v2.3.1-rc.2"` | Image tag. |
|
||||
| scheduler.initContainer.image.digest | string | `""` | Image digest. |
|
||||
| scheduler.initContainer.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. |
|
||||
| scheduler.initContainer.image.registry | string | `"docker.io"` | Image registry. |
|
||||
|
@ -403,7 +401,7 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| scheduler.initContainer.image.tag | string | `"latest"` | Image tag. |
|
||||
| scheduler.initContainer.resources | object | `{"limits":{"cpu":"2","memory":"4Gi"},"requests":{"cpu":"0","memory":"0"}}` | Pod resource requests and limits. |
|
||||
| scheduler.maxProcs | string | `""` | maxProcs Limits the number of operating system threads that can execute user-level. Go code simultaneously by setting GOMAXPROCS environment variable, refer to https://golang.org/pkg/runtime. |
|
||||
| scheduler.metrics.enable | bool | `false` | Enable scheduler metrics. |
|
||||
| scheduler.metrics.enable | bool | `true` | Enable scheduler metrics. |
|
||||
| scheduler.metrics.enableHost | bool | `false` | Enable host metrics. |
|
||||
| scheduler.metrics.prometheusRule.additionalLabels | object | `{}` | Additional labels. |
|
||||
| scheduler.metrics.prometheusRule.enable | bool | `false` | Enable prometheus rule ref: https://github.com/coreos/prometheus-operator. |
|
||||
|
@ -422,7 +420,7 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| scheduler.podLabels | object | `{}` | Pod labels. |
|
||||
| scheduler.priorityClassName | string | `""` | Pod priorityClassName. |
|
||||
| scheduler.replicas | int | `3` | Number of Pods to launch. |
|
||||
| scheduler.resources | object | `{"limits":{"cpu":"4","memory":"8Gi"},"requests":{"cpu":"0","memory":"0"}}` | Pod resource requests and limits. |
|
||||
| scheduler.resources | object | `{"limits":{"cpu":"8","memory":"16Gi"},"requests":{"cpu":"0","memory":"0"}}` | Pod resource requests and limits. |
|
||||
| scheduler.service.annotations | object | `{}` | Service annotations. |
|
||||
| scheduler.service.labels | object | `{}` | Service labels. |
|
||||
| scheduler.service.nodePort | string | `""` | Service nodePort. |
|
||||
|
@ -431,55 +429,61 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| scheduler.terminationGracePeriodSeconds | string | `nil` | Pod terminationGracePeriodSeconds. |
|
||||
| scheduler.tolerations | list | `[]` | List of node taints to tolerate. |
|
||||
| scheduler.updateStrategy | object | `{}` | Update strategy for replicas. |
|
||||
| seedClient.config.console | bool | `true` | console prints log. |
|
||||
| seedClient.config.download.collectedPieceTimeout | string | `"10s"` | collected_piece_timeout is the timeout for collecting one piece from the parent in the stream. |
|
||||
| seedClient.config.download.concurrentPieceCount | int | `16` | concurrentPieceCount is the number of concurrent pieces to download. |
|
||||
| seedClient.config.download.pieceTimeout | string | `"30s"` | pieceTimeout is the timeout for downloading a piece from source. |
|
||||
| seedClient.config.download.pieceTimeout | string | `"40s"` | pieceTimeout is the timeout for downloading a piece from source. |
|
||||
| seedClient.config.download.rateLimit | string | `"50GiB"` | rateLimit is the default rate limit of the download speed in GiB/Mib/Kib per second, default is 50GiB/s. |
|
||||
| seedClient.config.download.server.requestRateLimit | int | `4000` | request_rate_limit is the rate limit of the download request in the download grpc server, default is 4000 req/s. |
|
||||
| seedClient.config.download.server.socketPath | string | `"/var/run/dragonfly/dfdaemon.sock"` | socketPath is the unix socket path for dfdaemon GRPC service. |
|
||||
| seedClient.config.dynconfig.refreshInterval | string | `"1m"` | refreshInterval is the interval to refresh dynamic configuration from manager. |
|
||||
| seedClient.config.gc.interval | string | `"900s"` | interval is the interval to do gc. |
|
||||
| seedClient.config.gc.policy.distHighThresholdPercent | int | `80` | distHighThresholdPercent is the high threshold percent of the disk usage. If the disk usage is greater than the threshold, dfdaemon will do gc. |
|
||||
| seedClient.config.gc.policy.distLowThresholdPercent | int | `60` | distLowThresholdPercent is the low threshold percent of the disk usage. If the disk usage is less than the threshold, dfdaemon will stop gc. |
|
||||
| seedClient.config.gc.policy.taskTTL | string | `"168h"` | taskTTL is the ttl of the task. |
|
||||
| seedClient.config.gc.policy.taskTTL | string | `"720h"` | taskTTL is the ttl of the task. |
|
||||
| seedClient.config.health.server.port | int | `4003` | port is the port to the health server. |
|
||||
| seedClient.config.host | object | `{"idc":"","location":""}` | host is the host configuration for dfdaemon. |
|
||||
| seedClient.config.log.level | string | `"info"` | Specify the logging level [trace, debug, info, warn, error] |
|
||||
| seedClient.config.manager.addr | string | `""` | addr is manager address. |
|
||||
| seedClient.config.metrics.server.port | int | `4002` | port is the port to the metrics server. |
|
||||
| seedClient.config.proxy.disableBackToSource | bool | `false` | disableBackToSource indicates whether disable to download back-to-source when download failed. |
|
||||
| seedClient.config.proxy.prefetch | bool | `false` | prefetch pre-downloads full of the task when download with range request. `X-Dragonfly-Prefetch` header's priority is higher than prefetch in config. If the value is "true", the range request will prefetch the entire file. If the value is "false", the range request will fetch the range content. |
|
||||
| seedClient.config.proxy.prefetchRateLimit | string | `"2GiB"` | prefetchRateLimit is the rate limit of prefetching in GiB/Mib/Kib per second, default is 2GiB/s. The prefetch request has lower priority so limit the rate to avoid occupying the bandwidth impact other download tasks. |
|
||||
| seedClient.config.proxy.readBufferSize | int | `32768` | readBufferSize is the buffer size for reading piece from disk, default is 32KB. |
|
||||
| seedClient.config.proxy.prefetch | bool | `true` | prefetch pre-downloads full of the task when download with range request. `X-Dragonfly-Prefetch` header's priority is higher than prefetch in config. If the value is "true", the range request will prefetch the entire file. If the value is "false", the range request will fetch the range content. |
|
||||
| seedClient.config.proxy.prefetchRateLimit | string | `"5GiB"` | prefetchRateLimit is the rate limit of prefetching in GiB/Mib/Kib per second, default is 5GiB/s. The prefetch request has lower priority so limit the rate to avoid occupying the bandwidth impact other download tasks. |
|
||||
| seedClient.config.proxy.readBufferSize | int | `4194304` | readBufferSize is the buffer size for reading piece from disk, default is 4MiB. |
|
||||
| seedClient.config.proxy.registryMirror.addr | string | `"https://index.docker.io"` | addr is the default address of the registry mirror. Proxy will start a registry mirror service for the client to pull the image. The client can use the default address of the registry mirror in configuration to pull the image. The `X-Dragonfly-Registry` header can instead of the default address of registry mirror. |
|
||||
| seedClient.config.proxy.rules | list | `[{"regex":"blobs/sha256.*"}]` | rules is the list of rules for the proxy server. regex is the regex of the request url. useTLS indicates whether use tls for the proxy backend. redirect is the redirect url. filteredQueryParams is the filtered query params to generate the task id. When filter is ["Signature", "Expires", "ns"], for example: http://example.com/xyz?Expires=e1&Signature=s1&ns=docker.io and http://example.com/xyz?Expires=e2&Signature=s2&ns=docker.io will generate the same task id. Default value includes the filtered query params of s3, gcs, oss, obs, cos. `X-Dragonfly-Use-P2P` header can instead of the regular expression of the rule. If the value is "true", the request will use P2P technology to distribute the content. If the value is "false", but url matches the regular expression in rules. The request will also use P2P technology to distribute the content. |
|
||||
| seedClient.config.proxy.server.port | int | `4001` | port is the port to the proxy server. |
|
||||
| seedClient.config.scheduler.announceInterval | string | `"1m"` | announceInterval is the interval to announce peer to the scheduler. Announcer will provide the scheduler with peer information for scheduling, peer information includes cpu, memory, etc. |
|
||||
| seedClient.config.scheduler.maxScheduleCount | int | `5` | maxScheduleCount is the max count of schedule. |
|
||||
| seedClient.config.scheduler.scheduleTimeout | string | `"30s"` | scheduleTimeout is the timeout for scheduling. If the scheduling timesout, dfdaemon will back-to-source download if enableBackToSource is true, otherwise dfdaemon will return download failed. |
|
||||
| seedClient.config.scheduler.scheduleTimeout | string | `"3h"` | scheduleTimeout is timeout for the scheduler to respond to a scheduling request from dfdaemon, default is 3 hours. If the scheduler's response time for a scheduling decision exceeds this timeout, dfdaemon will encounter a `TokioStreamElapsed(Elapsed(()))` error. Behavior upon timeout: - If `enable_back_to_source` is `true`, dfdaemon will attempt to download directly from the source. - Otherwise (if `enable_back_to_source` is `false`), dfdaemon will report a download failure. **Important Considerations Regarding Timeout Triggers**: This timeout isn't solely for the scheduler's direct response. It can also be triggered if the overall duration of the client's interaction with the scheduler for a task (e.g., client downloading initial pieces and reporting their status back to the scheduler) exceeds `schedule_timeout`. During such client-side processing and reporting, the scheduler might be awaiting these updates before sending its comprehensive scheduling response, and this entire period is subject to the `schedule_timeout`. **Configuration Guidance**: To prevent premature timeouts, `schedule_timeout` should be configured to a value greater than the maximum expected time for the *entire scheduling interaction*. This includes: 1. The scheduler's own processing and response time. 2. The time taken by the client to download any initial pieces and download all pieces finished, as this communication is part of the scheduling phase. Setting this value too low can lead to `TokioStreamElapsed` errors even if the network and scheduler are functioning correctly but the combined interaction time is longer than the configured timeout. |
|
||||
| seedClient.config.seedPeer.clusterID | int | `1` | clusterID is the cluster id of the seed peer cluster. |
|
||||
| seedClient.config.seedPeer.enable | bool | `true` | enable indicates whether enable seed peer. |
|
||||
| seedClient.config.seedPeer.keepaliveInterval | string | `"15s"` | keepaliveInterval is the interval to keep alive with manager. |
|
||||
| seedClient.config.seedPeer.type | string | `"super"` | type is the type of seed peer. |
|
||||
| seedClient.config.server.cacheDir | string | `"/var/cache/dragonfly/dfdaemon/"` | cacheDir is the directory to store cache files. |
|
||||
| seedClient.config.server.pluginDir | string | `"/var/lib/dragonfly/plugins/dfdaemon/"` | pluginDir is the directory to store plugins. |
|
||||
| seedClient.config.server.pluginDir | string | `"/usr/local/lib/dragonfly/plugins/dfdaemon/"` | pluginDir is the directory to store plugins. |
|
||||
| seedClient.config.stats.server.port | int | `4004` | port is the port to the stats server. |
|
||||
| seedClient.config.storage.dir | string | `"/var/lib/dragonfly/"` | dir is the directory to store task's metadata and content. |
|
||||
| seedClient.config.storage.keep | bool | `false` | keep indicates whether keep the task's metadata and content when the dfdaemon restarts. |
|
||||
| seedClient.config.storage.readBufferSize | int | `131072` | readBufferSize is the buffer size for reading piece from disk, default is 128KB. |
|
||||
| seedClient.config.storage.writeBufferSize | int | `131072` | writeBufferSize is the buffer size for writing piece to disk, default is 128KB. |
|
||||
| seedClient.config.storage.keep | bool | `true` | keep indicates whether keep the task's metadata and content when the dfdaemon restarts. |
|
||||
| seedClient.config.storage.readBufferSize | int | `4194304` | readBufferSize is the buffer size for reading piece from disk, default is 4MiB. |
|
||||
| seedClient.config.storage.writeBufferSize | int | `4194304` | writeBufferSize is the buffer size for writing piece to disk, default is 4MiB. |
|
||||
| seedClient.config.storage.writePieceTimeout | string | `"30s"` | writePieceTimeout is the timeout for writing a piece to storage(e.g., disk or cache). |
|
||||
| seedClient.config.tracing.protocol | string | `""` | Protocol specifies the communication protocol for the tracing server. Supported values: "http", "https", "grpc" (default: None). This determines how tracing logs are transmitted to the server. |
|
||||
| seedClient.config.upload.rateLimit | string | `"50GiB"` | rateLimit is the default rate limit of the upload speed in GiB/Mib/Kib per second, default is 50GiB/s. |
|
||||
| seedClient.config.upload.server.port | int | `4000` | port is the port to the grpc server. |
|
||||
| seedClient.config.verbose | bool | `true` | verbose prints log. |
|
||||
| seedClient.config.upload.server.requestRateLimit | int | `4000` | request_rate_limit is the rate limit of the upload request in the upload grpc server, default is 4000 req/s. |
|
||||
| seedClient.enable | bool | `true` | Enable seed client. |
|
||||
| seedClient.extraVolumeMounts | list | `[{"mountPath":"/var/log/dragonfly/dfdaemon/","name":"logs"}]` | Extra volumeMounts for dfdaemon. |
|
||||
| seedClient.extraVolumes | list | `[{"emptyDir":{},"name":"logs"}]` | Extra volumes for dfdaemon. |
|
||||
| seedClient.fullnameOverride | string | `""` | Override scheduler fullname. |
|
||||
| seedClient.hostAliases | list | `[]` | Host Aliases. |
|
||||
| seedClient.hostNetwork | bool | `false` | hostNetwork specify if host network should be enabled. |
|
||||
| seedClient.image.digest | string | `""` | Image digest. |
|
||||
| seedClient.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. |
|
||||
| seedClient.image.pullSecrets | list | `[]` (defaults to global.imagePullSecrets). | Image pull secrets. |
|
||||
| seedClient.image.registry | string | `"docker.io"` | Image registry. |
|
||||
| seedClient.image.repository | string | `"dragonflyoss/client"` | Image repository. |
|
||||
| seedClient.image.tag | string | `"v0.1.125"` | Image tag. |
|
||||
| seedClient.image.tag | string | `"v1.0.9"` | Image tag. |
|
||||
| seedClient.initContainer.image.digest | string | `""` | Image digest. |
|
||||
| seedClient.initContainer.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. |
|
||||
| seedClient.initContainer.image.registry | string | `"docker.io"` | Image registry. |
|
||||
|
@ -487,7 +491,7 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| seedClient.initContainer.image.tag | string | `"latest"` | Image tag. |
|
||||
| seedClient.initContainer.resources | object | `{"limits":{"cpu":"2","memory":"4Gi"},"requests":{"cpu":"0","memory":"0"}}` | Pod resource requests and limits. |
|
||||
| seedClient.maxProcs | string | `""` | maxProcs Limits the number of operating system threads that can execute user-level. Go code simultaneously by setting GOMAXPROCS environment variable, refer to https://golang.org/pkg/runtime. |
|
||||
| seedClient.metrics.enable | bool | `false` | Enable seed client metrics. |
|
||||
| seedClient.metrics.enable | bool | `true` | Enable seed client metrics. |
|
||||
| seedClient.metrics.prometheusRule.additionalLabels | object | `{}` | Additional labels. |
|
||||
| seedClient.metrics.prometheusRule.enable | bool | `false` | Enable prometheus rule ref: https://github.com/coreos/prometheus-operator. |
|
||||
| seedClient.metrics.prometheusRule.rules | list | `[{"alert":"SeedClientDown","annotations":{"message":"Seed client instance {{ \"{{ $labels.instance }}\" }} is down","summary":"Seed client instance is down"},"expr":"sum(dragonfly_client_version{container=\"seed-client\"}) == 0","for":"5m","labels":{"severity":"critical"}},{"alert":"SeedClientHighNumberOfFailedDownloadTask","annotations":{"message":"Seed client has a high number of failed download task","summary":"Seed client has a high number of failed download task"},"expr":"sum(irate(dragonfly_client_download_task_failure_total{container=\"seed-client\"}[1m])) > 100","for":"1m","labels":{"severity":"warning"}},{"alert":"SeedClientSuccessRateOfDownloadingTask","annotations":{"message":"Seed client's success rate of downloading task is low","summary":"Seed client's success rate of downloading task is low"},"expr":"(sum(rate(dragonfly_client_download_task_total{container=\"seed-client\"}[1m])) - sum(rate(dragonfly_client_download_task_failure_total{container=\"seed-client\"}[1m]))) / sum(rate(dragonfly_client_download_task_total{container=\"seed-client\"}[1m])) < 0.6","for":"5m","labels":{"severity":"critical"}}]` | Prometheus rules. |
|
||||
|
@ -504,12 +508,12 @@ helm delete dragonfly --namespace dragonfly-system
|
|||
| seedClient.persistence.accessModes | list | `["ReadWriteOnce"]` | Persistence access modes. |
|
||||
| seedClient.persistence.annotations | object | `{}` | Persistence annotations. |
|
||||
| seedClient.persistence.enable | bool | `true` | Enable persistence for seed peer. |
|
||||
| seedClient.persistence.size | string | `"50Gi"` | Persistence persistence size. |
|
||||
| seedClient.persistence.size | string | `"100Gi"` | Persistence persistence size. |
|
||||
| seedClient.podAnnotations | object | `{}` | Pod annotations. |
|
||||
| seedClient.podLabels | object | `{}` | Pod labels. |
|
||||
| seedClient.priorityClassName | string | `""` | Pod priorityClassName. |
|
||||
| seedClient.replicas | int | `3` | Number of Pods to launch. |
|
||||
| seedClient.resources | object | `{"limits":{"cpu":"2","memory":"4Gi"},"requests":{"cpu":"0","memory":"0"}}` | Pod resource requests and limits. |
|
||||
| seedClient.resources | object | `{"limits":{"cpu":"8","memory":"16Gi"},"requests":{"cpu":"0","memory":"0"}}` | Pod resource requests and limits. |
|
||||
| seedClient.service.annotations | object | `{}` | Service annotations. |
|
||||
| seedClient.service.labels | object | `{}` | Service labels. |
|
||||
| seedClient.service.nodePort | string | `""` | Service nodePort. |
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.client.name }}
|
||||
|
@ -44,8 +43,6 @@ data:
|
|||
{{ toYaml .Values.client.config.metrics | indent 6 }}
|
||||
stats:
|
||||
{{ toYaml .Values.client.config.stats | indent 6 }}
|
||||
{{- if .Values.client.config.tracing }}
|
||||
tracing:
|
||||
{{ toYaml .Values.client.config.tracing | indent 6 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.client.name }}
|
||||
|
@ -23,32 +22,33 @@ spec:
|
|||
matchLabels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
component: "{{ .Values.client.name }}"
|
||||
release: {{ .Release.Name }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
component: "{{ .Values.client.name }}"
|
||||
release: {{ .Release.Name }}
|
||||
{{- if .Values.client.podLabels }}
|
||||
{{ toYaml .Values.client.podLabels | indent 8 }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
checksum/config: {{ include (print $.Template.BasePath "/client/client-configmap.yaml") . | sha256sum }}
|
||||
{{- if .Values.client.dfinit.enable }}
|
||||
checksum/dfinit-config: {{ include (print $.Template.BasePath "/client/dfinit-configmap.yaml") . | sha256sum }}
|
||||
{{- end }}
|
||||
{{- if .Values.client.podAnnotations }}
|
||||
{{ toYaml .Values.client.podAnnotations | indent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with .Values.client.nodeSelector | default .Values.global.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
hostNetwork: {{ .Values.client.hostNetwork }}
|
||||
{{- if .Values.client.hostNetwork }}
|
||||
dnsPolicy: "ClusterFirstWithHostNet"
|
||||
{{- end }}
|
||||
hostPID: {{ .Values.client.hostPID }}
|
||||
hostIPC: {{ .Values.client.hostIPC }}
|
||||
{{- with .Values.client.nodeSelector | default .Values.global.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.client.tolerations }}
|
||||
tolerations:
|
||||
{{ toYaml .Values.client.tolerations | indent 8 }}
|
||||
|
@ -84,11 +84,11 @@ spec:
|
|||
imagePullPolicy: {{ .Values.client.dfinit.image.pullPolicy }}
|
||||
args:
|
||||
- --log-level={{ .Values.client.dfinit.config.log.level }}
|
||||
{{- if .Values.client.dfinit.config.verbose }}
|
||||
- --verbose
|
||||
{{- if .Values.client.dfinit.config.console }}
|
||||
- --console
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ toYaml .Values.client.initContainer.resources | indent 12 }}
|
||||
{{ toYaml .Values.client.initContainer.resources | indent 10 }}
|
||||
volumeMounts:
|
||||
- name: dfinit-config
|
||||
mountPath: "/etc/dragonfly"
|
||||
|
@ -100,8 +100,16 @@ spec:
|
|||
- name: crio-config-dir
|
||||
mountPath: {{ dir .Values.client.dfinit.config.containerRuntime.crio.configPath }}
|
||||
{{- end }}
|
||||
{{- if and (.Values.client.dfinit.enable) (.Values.client.dfinit.config.containerRuntime.podman) }}
|
||||
- name: podman-config-dir
|
||||
mountPath: {{ dir .Values.client.dfinit.config.containerRuntime.podman.configPath }}
|
||||
{{- end }}
|
||||
{{- if and (.Values.client.dfinit.enable) (.Values.client.dfinit.config.containerRuntime.docker) }}
|
||||
- name: docker-config-dir
|
||||
mountPath: {{ dir .Values.client.dfinit.config.containerRuntime.docker.configPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if .Values.client.dfinit.enable }}
|
||||
{{- if and .Values.client.dfinit.enable .Values.client.dfinit.restartContainerRuntime }}
|
||||
- name: restart-container-runtime
|
||||
image: {{ template "client.initContainer.image" . }}
|
||||
imagePullPolicy: {{ .Values.client.initContainer.image.pullPolicy }}
|
||||
|
@ -118,11 +126,17 @@ spec:
|
|||
{{- else if .Values.client.dfinit.config.containerRuntime.crio }}
|
||||
nsenter -t 1 -m -- systemctl restart crio.service
|
||||
echo "restart cri-o"
|
||||
{{- else if .Values.client.dfinit.config.containerRuntime.podman }}
|
||||
nsenter -t 1 -m -- systemctl restart podman.service
|
||||
echo "restart podman"
|
||||
{{- else if .Values.client.dfinit.config.containerRuntime.docker }}
|
||||
nsenter -t 1 -m -- systemctl restart docker.service
|
||||
echo "restart docker"
|
||||
{{- else }}
|
||||
echo "no container runtime to restart"
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ toYaml .Values.client.initContainer.resources | indent 12 }}
|
||||
{{ toYaml .Values.client.initContainer.resources | indent 10 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: client
|
||||
|
@ -130,11 +144,11 @@ spec:
|
|||
imagePullPolicy: {{ .Values.client.image.pullPolicy | quote }}
|
||||
args:
|
||||
- --log-level={{ .Values.client.config.log.level }}
|
||||
{{- if .Values.client.config.verbose }}
|
||||
- --verbose
|
||||
{{- if .Values.client.config.console }}
|
||||
- --console
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ toYaml .Values.client.resources | indent 12 }}
|
||||
{{ toYaml .Values.client.resources | indent 10 }}
|
||||
env:
|
||||
{{- if .Values.client.maxProcs }}
|
||||
- name: GOMAXPROCS
|
||||
|
@ -164,6 +178,8 @@ spec:
|
|||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: "/etc/dragonfly"
|
||||
- name: socket-dir
|
||||
mountPath: /var/run/dragonfly
|
||||
{{- if .Values.client.extraVolumeMounts }}
|
||||
{{- toYaml .Values.client.extraVolumeMounts | nindent 8 }}
|
||||
{{- end }}
|
||||
|
@ -171,6 +187,10 @@ spec:
|
|||
- name: config
|
||||
configMap:
|
||||
name: {{ template "dragonfly.client.fullname" . }}
|
||||
- name: socket-dir
|
||||
hostPath:
|
||||
path: /var/run/dragonfly
|
||||
type: DirectoryOrCreate
|
||||
{{- if .Values.client.dfinit.enable }}
|
||||
- name: dfinit-config
|
||||
configMap:
|
||||
|
@ -188,6 +208,18 @@ spec:
|
|||
path: {{ dir .Values.client.dfinit.config.containerRuntime.crio.configPath }}
|
||||
type: DirectoryOrCreate
|
||||
{{- end }}
|
||||
{{- if and (.Values.client.dfinit.enable) (.Values.client.dfinit.config.containerRuntime.podman) }}
|
||||
- name: podman-config-dir
|
||||
hostPath:
|
||||
path: {{ dir .Values.client.dfinit.config.containerRuntime.podman.configPath }}
|
||||
type: DirectoryOrCreate
|
||||
{{- end }}
|
||||
{{- if and (.Values.client.dfinit.enable) (.Values.client.dfinit.config.containerRuntime.docker) }}
|
||||
- name: docker-config-dir
|
||||
hostPath:
|
||||
path: {{ dir .Values.client.dfinit.config.containerRuntime.docker.configPath }}
|
||||
type: DirectoryOrCreate
|
||||
{{- end }}
|
||||
{{- if .Values.client.extraVolumes }}
|
||||
{{- toYaml .Values.client.extraVolumes | nindent 6 }}
|
||||
{{- end }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.client.name }}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{{- if and .Values.client.metrics.enable .Values.client.metrics.serviceMonitor.enable }}
|
||||
{{- if .Values.client.metrics.enable }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
|
@ -6,12 +6,11 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.client.name }}-metrics
|
||||
{{- if .Values.client.metrics.service.labels }}
|
||||
{{ toYaml .Values.metrics.service.labels | indent 4 }}
|
||||
{{ toYaml .Values.client.metrics.service.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.client.metrics.service.annotations }}
|
||||
annotations:
|
||||
|
@ -22,10 +21,10 @@ spec:
|
|||
ports:
|
||||
- port: {{ .Values.client.config.metrics.server.port }}
|
||||
name: http-metrics
|
||||
targetPort: {{ .Values.client.config.metrics.server.port }}
|
||||
appProtocol: http
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.client.config.metrics.server.port }}
|
||||
selector:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
component: {{ .Values.client.name }}
|
||||
release: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.client.name }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.client.name }}
|
||||
|
@ -28,6 +27,5 @@ spec:
|
|||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
component: {{ .Values.client.name }}-metrics
|
||||
{{- end }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.manager.name }}
|
||||
|
@ -26,6 +25,7 @@ data:
|
|||
start: {{ .Values.manager.grpcPort }}
|
||||
end: {{ .Values.manager.grpcPort }}
|
||||
workHome: {{ .Values.manager.config.server.workHome }}
|
||||
logLevel: {{ .Values.manager.config.server.logLevel }}
|
||||
logDir: {{ .Values.manager.config.server.logDir }}
|
||||
cacheDir: {{ .Values.manager.config.server.cacheDir }}
|
||||
pluginDir: {{ .Values.manager.config.server.pluginDir }}
|
||||
|
@ -59,6 +59,8 @@ data:
|
|||
masterName: {{ .Values.externalRedis.masterName }}
|
||||
username: {{ .Values.externalRedis.username }}
|
||||
password: {{ .Values.externalRedis.password }}
|
||||
sentinelUsername: {{ .Values.externalRedis.sentinelUsername }}
|
||||
sentinelPassword: {{ .Values.externalRedis.sentinelPassword }}
|
||||
db: {{ .Values.externalRedis.db }}
|
||||
brokerDB: {{ .Values.externalRedis.brokerDB }}
|
||||
backendDB: {{ .Values.externalRedis.backendDB }}
|
||||
|
@ -67,19 +69,13 @@ data:
|
|||
{{ toYaml .Values.manager.config.cache | indent 6 }}
|
||||
job:
|
||||
{{ toYaml .Values.manager.config.job | indent 6 }}
|
||||
objectStorage:
|
||||
{{ toYaml .Values.manager.config.objectStorage | indent 6 }}
|
||||
network:
|
||||
{{ toYaml .Values.manager.config.network | indent 6 }}
|
||||
metrics:
|
||||
enable: {{ .Values.manager.metrics.enable }}
|
||||
addr: ":8000"
|
||||
console: {{ .Values.manager.config.console }}
|
||||
verbose: {{ .Values.manager.config.verbose }}
|
||||
{{- if .Values.manager.config.verbose }}
|
||||
pprof-port: {{ .Values.manager.config.pprofPort }}
|
||||
{{- end }}
|
||||
{{- if .Values.manager.config.jaeger }}
|
||||
jaeger: {{ .Values.manager.config.jaeger }}
|
||||
{{- end }}
|
||||
pprofPort: {{ .Values.manager.config.pprofPort }}
|
||||
tracing:
|
||||
{{ toYaml .Values.manager.config.tracing | indent 6 }}
|
||||
{{- end }}
|
||||
|
|
|
@ -4,7 +4,6 @@ kind: Deployment
|
|||
metadata:
|
||||
labels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.manager.name }}
|
||||
|
@ -23,13 +22,11 @@ spec:
|
|||
matchLabels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
component: {{ .Values.manager.name }}
|
||||
release: {{ .Release.Name }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
component: {{ .Values.manager.name }}
|
||||
release: {{ .Release.Name }}
|
||||
{{- if .Values.manager.podLabels }}
|
||||
{{ toYaml .Values.manager.podLabels | indent 8 }}
|
||||
{{- end }}
|
||||
|
@ -39,6 +36,10 @@ spec:
|
|||
{{ toYaml .Values.manager.podAnnotations | indent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
hostNetwork: {{ .Values.manager.hostNetwork }}
|
||||
{{- if .Values.manager.hostNetwork }}
|
||||
dnsPolicy: "ClusterFirstWithHostNet"
|
||||
{{- end }}
|
||||
{{- with .Values.manager.nodeSelector | default .Values.global.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
|
@ -73,7 +74,7 @@ spec:
|
|||
imagePullPolicy: {{ .Values.manager.initContainer.image.pullPolicy }}
|
||||
command: ['sh', '-c', 'until nslookup {{ .Release.Name }}-{{ default "redis" .Values.redis.fullname }}-master.{{ $.Release.Namespace }}.svc.{{ $.Values.clusterDomain }} && nc -vz {{ .Release.Name }}-{{ default "redis" .Values.redis.fullname }}-master.{{ $.Release.Namespace }}.svc.{{ $.Values.clusterDomain }} {{ .Values.redis.master.service.ports.redis }}; do echo waiting for redis; sleep 2; done;']
|
||||
resources:
|
||||
{{ toYaml .Values.manager.initContainer.resources | indent 12 }}
|
||||
{{ toYaml .Values.manager.initContainer.resources | indent 10 }}
|
||||
{{- end }}
|
||||
{{- if .Values.mysql.enable }}
|
||||
- name: wait-for-mysql
|
||||
|
@ -81,7 +82,7 @@ spec:
|
|||
imagePullPolicy: {{ .Values.manager.initContainer.image.pullPolicy }}
|
||||
command: ['sh', '-c', 'until nslookup {{ .Release.Name }}-{{ default "mysql" .Values.mysql.fullname }}.{{ $.Release.Namespace }}.svc.{{ $.Values.clusterDomain }} && nc -vz {{ .Release.Name }}-{{ default "mysql" .Values.mysql.fullname }}.{{ $.Release.Namespace }}.svc.{{ $.Values.clusterDomain }} {{ .Values.mysql.primary.service.port }}; do echo waiting for mysql; sleep 2; done;']
|
||||
resources:
|
||||
{{ toYaml .Values.manager.initContainer.resources | indent 12 }}
|
||||
{{ toYaml .Values.manager.initContainer.resources | indent 10 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
containers:
|
||||
|
@ -89,7 +90,7 @@ spec:
|
|||
image: {{ template "manager.image" . }}
|
||||
imagePullPolicy: {{ .Values.manager.image.pullPolicy | quote }}
|
||||
resources:
|
||||
{{ toYaml .Values.manager.resources | indent 12 }}
|
||||
{{ toYaml .Values.manager.resources | indent 10 }}
|
||||
env:
|
||||
{{- if .Values.manager.maxProcs }}
|
||||
- name: GOMAXPROCS
|
||||
|
|
|
@ -12,7 +12,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.manager.name }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.manager.name }}
|
||||
|
@ -22,10 +21,12 @@ spec:
|
|||
ports:
|
||||
- port: {{ .Values.manager.restPort }}
|
||||
name: http-rest
|
||||
appProtocol: http
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.manager.restPort }}
|
||||
- port: {{ .Values.manager.grpcPort }}
|
||||
name: http-grpc
|
||||
name: grpc
|
||||
appProtocol: grpc
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.manager.grpcPort }}
|
||||
{{- if eq .Values.manager.service.type "NodePort" }}
|
||||
|
@ -33,6 +34,5 @@ spec:
|
|||
{{- end }}
|
||||
selector:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
release: {{ .Release.Name }}
|
||||
component: {{ .Values.manager.name }}
|
||||
{{- end }}
|
||||
|
|
|
@ -6,12 +6,11 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.manager.name }}-metrics
|
||||
{{- if .Values.manager.metrics.service.labels }}
|
||||
{{ toYaml .Values.metrics.service.labels | indent 4 }}
|
||||
{{ toYaml .Values.manager.metrics.service.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.manager.metrics.service.annotations }}
|
||||
annotations:
|
||||
|
@ -22,10 +21,10 @@ spec:
|
|||
ports:
|
||||
- port: 8000
|
||||
name: http-metrics
|
||||
targetPort: 8000
|
||||
appProtocol: http
|
||||
protocol: TCP
|
||||
targetPort: 8000
|
||||
selector:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
release: {{ .Release.Name }}
|
||||
component: {{ .Values.manager.name }}
|
||||
{{- end }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.manager.name }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.manager.name }}
|
||||
|
@ -28,6 +27,5 @@ spec:
|
|||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
component: {{ .Values.manager.name }}-metrics
|
||||
{{- end }}
|
||||
|
|
|
@ -6,12 +6,11 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.scheduler.name }}-metrics
|
||||
{{- if .Values.scheduler.metrics.service.labels }}
|
||||
{{ toYaml .Values.metrics.service.labels | indent 4 }}
|
||||
{{ toYaml .Values.scheduler.metrics.service.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.scheduler.metrics.service.annotations }}
|
||||
annotations:
|
||||
|
@ -22,10 +21,10 @@ spec:
|
|||
ports:
|
||||
- port: 8000
|
||||
name: http-metrics
|
||||
targetPort: 8000
|
||||
appProtocol: http
|
||||
protocol: TCP
|
||||
targetPort: 8000
|
||||
selector:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
component: {{ .Values.scheduler.name }}
|
||||
release: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.scheduler.name }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.scheduler.name }}
|
||||
|
@ -28,6 +27,8 @@ data:
|
|||
masterName: {{ .Values.externalRedis.masterName }}
|
||||
username: {{ .Values.externalRedis.username }}
|
||||
password: {{ .Values.externalRedis.password }}
|
||||
sentinelUsername: {{ .Values.externalRedis.sentinelUsername }}
|
||||
sentinelPassword: {{ .Values.externalRedis.sentinelPassword }}
|
||||
brokerDB: {{ .Values.externalRedis.brokerDB }}
|
||||
backendDB: {{ .Values.externalRedis.backendDB }}
|
||||
{{- end }}
|
||||
|
@ -58,6 +59,8 @@ data:
|
|||
masterName: {{ .Values.externalRedis.masterName }}
|
||||
username: {{ .Values.externalRedis.username }}
|
||||
password: {{ .Values.externalRedis.password }}
|
||||
sentinelUsername: {{ .Values.externalRedis.sentinelUsername }}
|
||||
sentinelPassword: {{ .Values.externalRedis.sentinelPassword }}
|
||||
brokerDB: {{ .Values.externalRedis.brokerDB }}
|
||||
backendDB: {{ .Values.externalRedis.backendDB }}
|
||||
{{- end }}
|
||||
|
@ -70,11 +73,7 @@ data:
|
|||
addr: ":8000"
|
||||
enableHost: {{ .Values.scheduler.metrics.enableHost }}
|
||||
console: {{ .Values.scheduler.config.console }}
|
||||
verbose: {{ .Values.scheduler.config.verbose }}
|
||||
{{- if .Values.scheduler.config.verbose }}
|
||||
pprof-port: {{ .Values.scheduler.config.pprofPort }}
|
||||
{{- end }}
|
||||
{{- if .Values.scheduler.config.jaeger }}
|
||||
jaeger: {{ .Values.scheduler.config.jaeger }}
|
||||
{{- end }}
|
||||
pprofPort: {{ .Values.scheduler.config.pprofPort }}
|
||||
tracing:
|
||||
{{ toYaml .Values.scheduler.config.tracing | indent 6 }}
|
||||
{{- end }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.scheduler.name }}
|
||||
|
@ -23,14 +22,12 @@ spec:
|
|||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
release: {{ .Release.Name }}
|
||||
component: {{ .Values.scheduler.name }}
|
||||
serviceName: scheduler
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
release: {{ .Release.Name }}
|
||||
component: {{ .Values.scheduler.name }}
|
||||
{{- if .Values.scheduler.podLabels }}
|
||||
{{ toYaml .Values.scheduler.podLabels | indent 8 }}
|
||||
|
@ -41,6 +38,10 @@ spec:
|
|||
{{ toYaml .Values.scheduler.podAnnotations | indent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
hostNetwork: {{ .Values.scheduler.hostNetwork }}
|
||||
{{- if .Values.scheduler.hostNetwork }}
|
||||
dnsPolicy: "ClusterFirstWithHostNet"
|
||||
{{- end }}
|
||||
{{- with .Values.scheduler.nodeSelector | default .Values.global.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
|
@ -77,13 +78,13 @@ spec:
|
|||
command: ['sh', '-c', 'until nslookup {{ .Values.externalManager.host }} && nc -vz {{ .Values.externalManager.host }} {{ .Values.externalManager.restPort }}; do echo waiting for external manager; sleep 2; done;']
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ toYaml .Values.scheduler.initContainer.resources | indent 12 }}
|
||||
{{ toYaml .Values.scheduler.initContainer.resources | indent 10 }}
|
||||
containers:
|
||||
- name: scheduler
|
||||
image: {{ template "scheduler.image" . }}
|
||||
imagePullPolicy: {{ .Values.scheduler.image.pullPolicy | quote }}
|
||||
resources:
|
||||
{{ toYaml .Values.scheduler.resources | indent 12 }}
|
||||
{{ toYaml .Values.scheduler.resources | indent 10 }}
|
||||
env:
|
||||
{{- if .Values.scheduler.maxProcs }}
|
||||
- name: GOMAXPROCS
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.scheduler.name }}
|
||||
|
@ -21,7 +20,8 @@ spec:
|
|||
type: {{ .Values.scheduler.service.type }}
|
||||
ports:
|
||||
- port: {{ .Values.scheduler.config.server.port }}
|
||||
name: http-grpc
|
||||
name: grpc
|
||||
appProtocol: grpc
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.scheduler.config.server.port }}
|
||||
{{- if eq .Values.scheduler.service.type "NodePort" }}
|
||||
|
@ -29,6 +29,5 @@ spec:
|
|||
{{- end }}
|
||||
selector:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
release: {{ .Release.Name }}
|
||||
component: {{ .Values.scheduler.name }}
|
||||
{{- end }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.scheduler.name }}
|
||||
|
@ -28,6 +27,5 @@ spec:
|
|||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
component: {{ .Values.scheduler.name }}-metrics
|
||||
{{- end }}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{{- if and .Values.seedClient.metrics.enable .Values.seedClient.metrics.serviceMonitor.enable }}
|
||||
{{- if .Values.seedClient.metrics.enable }}
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
|
@ -6,12 +6,11 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.seedClient.name }}-metrics
|
||||
{{- if .Values.seedClient.metrics.service.labels }}
|
||||
{{ toYaml .Values.metrics.service.labels | indent 4 }}
|
||||
{{ toYaml .Values.seedClient.metrics.service.labels | indent 4 }}
|
||||
{{- end }}
|
||||
{{- if .Values.seedClient.metrics.service.annotations }}
|
||||
annotations:
|
||||
|
@ -22,10 +21,10 @@ spec:
|
|||
ports:
|
||||
- port: {{ .Values.seedClient.config.metrics.server.port }}
|
||||
name: http-metrics
|
||||
targetPort: {{ .Values.seedClient.config.metrics.server.port }}
|
||||
appProtocol: http
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.seedClient.config.metrics.server.port }}
|
||||
selector:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
component: {{ .Values.seedClient.name }}
|
||||
release: {{ .Release.Name }}
|
||||
{{- end }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.seedClient.name }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.seedClient.name }}
|
||||
|
@ -46,8 +45,6 @@ data:
|
|||
{{ toYaml .Values.seedClient.config.metrics | indent 6 }}
|
||||
stats:
|
||||
{{ toYaml .Values.seedClient.config.stats | indent 6 }}
|
||||
{{- if .Values.client.config.tracing }}
|
||||
tracing:
|
||||
{{ toYaml .Values.client.config.tracing | indent 6 }}
|
||||
{{- end }}
|
||||
{{ toYaml .Values.seedClient.config.tracing | indent 6 }}
|
||||
{{- end }}
|
||||
|
|
|
@ -4,7 +4,6 @@ kind: StatefulSet
|
|||
metadata:
|
||||
labels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.seedClient.name }}
|
||||
|
@ -24,14 +23,12 @@ spec:
|
|||
matchLabels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
component: {{ .Values.seedClient.name }}
|
||||
release: {{ .Release.Name }}
|
||||
serviceName: seed-client
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
component: {{ .Values.seedClient.name }}
|
||||
release: {{ .Release.Name }}
|
||||
{{- if .Values.seedClient.podLabels }}
|
||||
{{ toYaml .Values.seedClient.podLabels | indent 8 }}
|
||||
{{- end }}
|
||||
|
@ -41,6 +38,10 @@ spec:
|
|||
{{ toYaml .Values.seedClient.podAnnotations | indent 8 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
hostNetwork: {{ .Values.seedClient.hostNetwork }}
|
||||
{{- if .Values.seedClient.hostNetwork }}
|
||||
dnsPolicy: "ClusterFirstWithHostNet"
|
||||
{{- end }}
|
||||
{{- with .Values.seedClient.nodeSelector | default .Values.global.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
|
@ -77,18 +78,18 @@ spec:
|
|||
command: ['sh', '-c', 'until nslookup {{ .Values.externalManager.host }} && nc -vz {{ .Values.externalManager.host }} {{ .Values.externalManager.restPort }}; do echo waiting for external manager; sleep 2; done;']
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ toYaml .Values.seedClient.initContainer.resources | indent 12 }}
|
||||
{{ toYaml .Values.seedClient.initContainer.resources | indent 10 }}
|
||||
containers:
|
||||
- name: seed-client
|
||||
image: {{ template "seedClient.image" . }}
|
||||
imagePullPolicy: {{ .Values.seedClient.image.pullPolicy | quote }}
|
||||
args:
|
||||
- --log-level={{ .Values.client.config.log.level }}
|
||||
{{- if .Values.seedClient.config.verbose }}
|
||||
- --verbose
|
||||
{{- if .Values.seedClient.config.console }}
|
||||
- --console
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ toYaml .Values.seedClient.resources | indent 12 }}
|
||||
{{ toYaml .Values.seedClient.resources | indent 10 }}
|
||||
env:
|
||||
{{- if .Values.seedClient.maxProcs }}
|
||||
- name: GOMAXPROCS
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.seedClient.name }}
|
||||
|
@ -22,14 +21,17 @@ spec:
|
|||
ports:
|
||||
- port: {{ .Values.seedClient.config.proxy.server.port }}
|
||||
name: http-proxy
|
||||
appProtocol: http
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.seedClient.config.proxy.server.port }}
|
||||
- port: {{ .Values.seedClient.config.health.server.port }}
|
||||
name: http-health
|
||||
appProtocol: http
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.seedClient.config.health.server.port }}
|
||||
- port: {{ .Values.seedClient.config.stats.server.port }}
|
||||
name: http-stats
|
||||
appProtocol: http
|
||||
protocol: TCP
|
||||
targetPort: {{ .Values.seedClient.config.stats.server.port }}
|
||||
{{- if eq .Values.seedClient.service.type "NodePort" }}
|
||||
|
@ -37,6 +39,5 @@ spec:
|
|||
{{- end }}
|
||||
selector:
|
||||
app: {{ template "dragonfly.fullname" . }}
|
||||
release: {{ .Release.Name }}
|
||||
component: {{ .Values.seedClient.name }}
|
||||
{{- end }}
|
||||
|
|
|
@ -6,7 +6,6 @@ metadata:
|
|||
namespace: {{ include "common.names.namespace" . | quote }}
|
||||
labels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
|
||||
release: {{ .Release.Name }}
|
||||
heritage: {{ .Release.Service }}
|
||||
component: {{ .Values.seedClient.name }}
|
||||
|
@ -28,6 +27,5 @@ spec:
|
|||
selector:
|
||||
matchLabels:
|
||||
app: {{ template "dragonfly.name" . }}
|
||||
release: {{ .Release.Name }}
|
||||
component: {{ .Values.seedClient.name }}-metrics
|
||||
{{- end }}
|
||||
|
|
|
@ -39,7 +39,7 @@ manager:
|
|||
# -- Image repository.
|
||||
repository: dragonflyoss/manager
|
||||
# -- Image tag.
|
||||
tag: v2.1.65
|
||||
tag: v2.3.1-rc.2
|
||||
# -- Image digest.
|
||||
digest: ""
|
||||
# -- Image pull policy.
|
||||
|
@ -49,14 +49,16 @@ manager:
|
|||
pullSecrets: []
|
||||
# -- Host Aliases.
|
||||
hostAliases: []
|
||||
# -- hostNetwork specify if host network should be enabled.
|
||||
hostNetwork: false
|
||||
# -- Pod resource requests and limits.
|
||||
resources:
|
||||
requests:
|
||||
cpu: "0"
|
||||
memory: "0"
|
||||
limits:
|
||||
cpu: "2"
|
||||
memory: "4Gi"
|
||||
cpu: "8"
|
||||
memory: "16Gi"
|
||||
# -- Pod priorityClassName.
|
||||
priorityClassName: ""
|
||||
# -- Node labels for pod assignment.
|
||||
|
@ -151,6 +153,10 @@ manager:
|
|||
key: ""
|
||||
# -- Work directory.
|
||||
workHome: ""
|
||||
# -- logLevel specifies the logging level for the manager.
|
||||
# Default: "info"
|
||||
# Supported values: "debug", "info", "warn", "error", "panic", "fatal"
|
||||
logLevel: "info"
|
||||
# -- Log directory.
|
||||
logDir: ""
|
||||
# -- Dynconfig cache directory.
|
||||
|
@ -177,7 +183,7 @@ manager:
|
|||
ttl: 5m
|
||||
local:
|
||||
# -- Size of LFU cache.
|
||||
size: 50000
|
||||
size: 30000
|
||||
# -- Local cache TTL duration.
|
||||
ttl: 3m
|
||||
job:
|
||||
|
@ -192,9 +198,9 @@ manager:
|
|||
# -- gc configuration.
|
||||
gc:
|
||||
# -- interval is the interval of gc.
|
||||
interval: 24h
|
||||
interval: 3h
|
||||
# -- ttl is the ttl of job.
|
||||
ttl: 24h
|
||||
ttl: 6h
|
||||
# -- Sync peers configuration.
|
||||
syncPeers:
|
||||
# -- interval is the interval for syncing all peers information from the scheduler and
|
||||
|
@ -212,41 +218,24 @@ manager:
|
|||
insecureSkipVerify: false
|
||||
# # caCert is the CA certificate for preheat tls handshake, it can be path or PEM format string.
|
||||
# caCert: ''
|
||||
objectStorage:
|
||||
# -- Enable object storage.
|
||||
enable: false
|
||||
# -- Name is object storage name of type, it can be s3 or oss.
|
||||
name: s3
|
||||
# -- Reigon is storage region.
|
||||
region: ""
|
||||
# -- Endpoint is datacenter endpoint.
|
||||
endpoint: ""
|
||||
# -- AccessKey is access key ID.
|
||||
accessKey: ""
|
||||
# -- SecretKey is access key secret.
|
||||
secretKey: ""
|
||||
# -- S3ForcePathStyle sets force path style for s3, true by default.
|
||||
# Set this to `true` to force the request to use path-style addressing,
|
||||
# i.e., `http://s3.amazonaws.com/BUCKET/KEY`. By default, the S3 client
|
||||
# will use virtual hosted bucket addressing when possible
|
||||
# (`http://BUCKET.s3.amazonaws.com/KEY`).
|
||||
# Refer to https://github.com/aws/aws-sdk-go/blob/main/aws/config.go#L118.
|
||||
s3ForcePathStyle: true
|
||||
network:
|
||||
# -- enableIPv6 enables ipv6.
|
||||
enableIPv6: false
|
||||
# -- Console shows log on console.
|
||||
console: true
|
||||
# -- Whether to enable debug level logger and enable pprof.
|
||||
verbose: false
|
||||
# -- Listen port for pprof, only valid when the verbose option is true
|
||||
# default is -1. If it is 0, pprof will use a random port.
|
||||
# -- Listen port for pprof, default is -1 (meaning disabled).
|
||||
pprofPort: -1
|
||||
# - Jaeger endpoint url, like: http://jaeger.dragonfly.svc:14268/api/traces.
|
||||
jaeger: ""
|
||||
tracing:
|
||||
# -- Protocol specifies the communication protocol for the tracing server.
|
||||
# Supported values: "http", "https", "grpc" (default: None).
|
||||
# This determines how tracing logs are transmitted to the server.
|
||||
protocol: "grpc"
|
||||
# # endpoint is the endpoint to report tracing log, example: "localhost:4317".
|
||||
# endpoint: ""
|
||||
# # path is the path to report tracing log, example: "/v1/traces" if the protocol is "http" or "https".
|
||||
# path: ""
|
||||
# # headers is the grpc's headers to send with tracing log.
|
||||
# headers: {}
|
||||
metrics:
|
||||
# -- Enable manager metrics.
|
||||
enable: false
|
||||
enable: true
|
||||
service:
|
||||
# -- Service type.
|
||||
type: ClusterIP
|
||||
|
@ -333,7 +322,7 @@ scheduler:
|
|||
# -- Image repository.
|
||||
repository: dragonflyoss/scheduler
|
||||
# -- Image tag.
|
||||
tag: v2.1.65
|
||||
tag: v2.3.1-rc.2
|
||||
# -- Image digest.
|
||||
digest: ""
|
||||
# -- Image pull policy.
|
||||
|
@ -343,14 +332,16 @@ scheduler:
|
|||
pullSecrets: []
|
||||
# -- Host Aliases.
|
||||
hostAliases: []
|
||||
# -- hostNetwork specify if host network should be enabled.
|
||||
hostNetwork: false
|
||||
# -- Pod resource requests and limits.
|
||||
resources:
|
||||
requests:
|
||||
cpu: "0"
|
||||
memory: "0"
|
||||
limits:
|
||||
cpu: "4"
|
||||
memory: "8Gi"
|
||||
cpu: "8"
|
||||
memory: "16Gi"
|
||||
service:
|
||||
# -- Service type.
|
||||
type: ClusterIP
|
||||
|
@ -427,6 +418,10 @@ scheduler:
|
|||
#
|
||||
# -- Work directory.
|
||||
workHome: ""
|
||||
# -- logLevel specifies the logging level for the scheduler.
|
||||
# Default: "info"
|
||||
# Supported values: "debug", "info", "warn", "error", "panic", "fatal"
|
||||
logLevel: "info"
|
||||
# -- Log directory.
|
||||
logDir: ""
|
||||
# -- Dynconfig cache directory.
|
||||
|
@ -446,19 +441,19 @@ scheduler:
|
|||
# -- backToSourceCount is single task allows the peer to back-to-source count.
|
||||
backToSourceCount: 200
|
||||
# -- retryBackToSourceLimit reaches the limit, then the peer back-to-source.
|
||||
retryBackToSourceLimit: 5
|
||||
retryBackToSourceLimit: 3
|
||||
# -- Retry scheduling limit times.
|
||||
retryLimit: 7
|
||||
retryLimit: 5
|
||||
# -- Retry scheduling interval.
|
||||
retryInterval: 700ms
|
||||
retryInterval: 1s
|
||||
gc:
|
||||
# -- pieceDownloadTimeout is the timeout of downloading piece.
|
||||
pieceDownloadTimeout: 30m
|
||||
# -- peerGCInterval is the interval of peer gc.
|
||||
peerGCInterval: 10s
|
||||
peerGCInterval: 5m
|
||||
# -- peerTTL is the ttl of peer. If the peer has been downloaded by other peers,
|
||||
# then PeerTTL will be reset.
|
||||
peerTTL: 24h
|
||||
peerTTL: 720h
|
||||
# -- taskGCInterval is the interval of task gc. If all the peers have been reclaimed in the task,
|
||||
# then the task will also be reclaimed.
|
||||
taskGCInterval: 30m
|
||||
|
@ -505,29 +500,24 @@ scheduler:
|
|||
# cert: /etc/ssl/certs/client.crt
|
||||
# # Key file path for mTLS.
|
||||
# key: /etc/ssl/private/client.pem
|
||||
storage:
|
||||
# -- maxSize sets the maximum size in megabytes of storage file.
|
||||
maxSize: 100
|
||||
# -- maxBackups sets the maximum number of storage files to retain.
|
||||
maxBackups: 10
|
||||
# -- bufferSize sets the size of buffer container,
|
||||
# if the buffer is full, write all the records in the buffer to the file.
|
||||
bufferSize: 100
|
||||
network:
|
||||
# -- enableIPv6 enables ipv6.
|
||||
enableIPv6: false
|
||||
# -- Console shows log on console.
|
||||
console: true
|
||||
# -- Whether to enable debug level logger and enable pprof.
|
||||
verbose: false
|
||||
# -- Listen port for pprof, only valid when the verbose option is true.
|
||||
# default is -1. If it is 0, pprof will use a random port.
|
||||
# -- Listen port for pprof, default is -1 (meaning disabled).
|
||||
pprofPort: -1
|
||||
# - Jaeger endpoint url, like: http://jaeger.dragonfly.svc:14268/api/traces.
|
||||
jaeger: ""
|
||||
tracing:
|
||||
# -- Protocol specifies the communication protocol for the tracing server.
|
||||
# Supported values: "http", "https", "grpc" (default: None).
|
||||
# This determines how tracing logs are transmitted to the server.
|
||||
protocol: ""
|
||||
# # endpoint is the endpoint to report tracing log, example: "localhost:4317".
|
||||
# endpoint: ""
|
||||
# # path is the path to report tracing log, example: "/v1/traces" if the protocol is "http" or "https".
|
||||
# path: ""
|
||||
# # headers is the grpc's headers to send with tracing log.
|
||||
# headers: {}
|
||||
metrics:
|
||||
# -- Enable scheduler metrics.
|
||||
enable: false
|
||||
enable: true
|
||||
# -- Enable host metrics.
|
||||
enableHost: false
|
||||
service:
|
||||
|
@ -712,7 +702,7 @@ seedClient:
|
|||
# -- Image repository.
|
||||
repository: dragonflyoss/client
|
||||
# -- Image tag.
|
||||
tag: v0.1.125
|
||||
tag: v1.0.9
|
||||
# -- Image digest.
|
||||
digest: ""
|
||||
# -- Image pull policy.
|
||||
|
@ -722,14 +712,16 @@ seedClient:
|
|||
pullSecrets: []
|
||||
# -- Host Aliases.
|
||||
hostAliases: []
|
||||
# -- hostNetwork specify if host network should be enabled.
|
||||
hostNetwork: false
|
||||
# -- Pod resource requests and limits.
|
||||
resources:
|
||||
requests:
|
||||
cpu: "0"
|
||||
memory: "0"
|
||||
limits:
|
||||
cpu: "2"
|
||||
memory: "4Gi"
|
||||
cpu: "8"
|
||||
memory: "16Gi"
|
||||
# -- Pod priorityClassName.
|
||||
priorityClassName: ""
|
||||
# -- Node labels for pod assignment.
|
||||
|
@ -783,7 +775,7 @@ seedClient:
|
|||
accessModes:
|
||||
- ReadWriteOnce
|
||||
# -- Persistence persistence size.
|
||||
size: 50Gi
|
||||
size: 100Gi
|
||||
# # Seed client data Persistent Volume Storage Class.
|
||||
# # If defined, storageClassName: <storageClass>.
|
||||
# # If set to "-", storageClassName: "", which disables dynamic provisioning.
|
||||
|
@ -802,8 +794,8 @@ seedClient:
|
|||
# -- Service nodePort.
|
||||
nodePort: ""
|
||||
config:
|
||||
# -- verbose prints log.
|
||||
verbose: true
|
||||
# -- console prints log.
|
||||
console: true
|
||||
log:
|
||||
# -- Specify the logging level [trace, debug, info, warn, error]
|
||||
level: info
|
||||
|
@ -819,17 +811,21 @@ seedClient:
|
|||
# ip: ""
|
||||
server:
|
||||
# -- pluginDir is the directory to store plugins.
|
||||
pluginDir: /var/lib/dragonfly/plugins/dfdaemon/
|
||||
pluginDir: /usr/local/lib/dragonfly/plugins/dfdaemon/
|
||||
# -- cacheDir is the directory to store cache files.
|
||||
cacheDir: /var/cache/dragonfly/dfdaemon/
|
||||
download:
|
||||
server:
|
||||
# -- socketPath is the unix socket path for dfdaemon GRPC service.
|
||||
socketPath: /var/run/dragonfly/dfdaemon.sock
|
||||
# -- request_rate_limit is the rate limit of the download request in the download grpc server, default is 4000 req/s.
|
||||
requestRateLimit: 4000
|
||||
# -- rateLimit is the default rate limit of the download speed in GiB/Mib/Kib per second, default is 50GiB/s.
|
||||
rateLimit: 50GiB
|
||||
# -- pieceTimeout is the timeout for downloading a piece from source.
|
||||
pieceTimeout: 30s
|
||||
pieceTimeout: 40s
|
||||
# -- collected_piece_timeout is the timeout for collecting one piece from the parent in the stream.
|
||||
collectedPieceTimeout: 10s
|
||||
# -- concurrentPieceCount is the number of concurrent pieces to download.
|
||||
concurrentPieceCount: 16
|
||||
upload:
|
||||
|
@ -844,7 +840,8 @@ seedClient:
|
|||
# cert: /etc/ssl/certs/server.crt
|
||||
# # GRPC server key file path for mTLS.
|
||||
# key: /etc/ssl/private/server.pem
|
||||
#
|
||||
# -- request_rate_limit is the rate limit of the upload request in the upload grpc server, default is 4000 req/s.
|
||||
requestRateLimit: 4000
|
||||
# # Client configuration for remote peer's upload server.
|
||||
# client:
|
||||
# # CA certificate file path for mTLS.
|
||||
|
@ -870,9 +867,36 @@ seedClient:
|
|||
# Announcer will provide the scheduler with peer information for scheduling,
|
||||
# peer information includes cpu, memory, etc.
|
||||
announceInterval: 1m
|
||||
# -- scheduleTimeout is the timeout for scheduling. If the scheduling timesout, dfdaemon will back-to-source
|
||||
# download if enableBackToSource is true, otherwise dfdaemon will return download failed.
|
||||
scheduleTimeout: 30s
|
||||
# -- scheduleTimeout is timeout for the scheduler to respond to a scheduling request from dfdaemon, default is 3 hours.
|
||||
#
|
||||
# If the scheduler's response time for a scheduling decision exceeds this timeout,
|
||||
# dfdaemon will encounter a `TokioStreamElapsed(Elapsed(()))` error.
|
||||
#
|
||||
# Behavior upon timeout:
|
||||
# - If `enable_back_to_source` is `true`, dfdaemon will attempt to download directly
|
||||
# from the source.
|
||||
# - Otherwise (if `enable_back_to_source` is `false`), dfdaemon will report a download failure.
|
||||
#
|
||||
# **Important Considerations Regarding Timeout Triggers**:
|
||||
# This timeout isn't solely for the scheduler's direct response. It can also be triggered
|
||||
# if the overall duration of the client's interaction with the scheduler for a task
|
||||
# (e.g., client downloading initial pieces and reporting their status back to the scheduler)
|
||||
# exceeds `schedule_timeout`. During such client-side processing and reporting,
|
||||
# the scheduler might be awaiting these updates before sending its comprehensive
|
||||
# scheduling response, and this entire period is subject to the `schedule_timeout`.
|
||||
#
|
||||
# **Configuration Guidance**:
|
||||
# To prevent premature timeouts, `schedule_timeout` should be configured to a value
|
||||
# greater than the maximum expected time for the *entire scheduling interaction*.
|
||||
# This includes:
|
||||
# 1. The scheduler's own processing and response time.
|
||||
# 2. The time taken by the client to download any initial pieces and download all pieces finished,
|
||||
# as this communication is part of the scheduling phase.
|
||||
#
|
||||
# Setting this value too low can lead to `TokioStreamElapsed` errors even if the
|
||||
# network and scheduler are functioning correctly but the combined interaction time
|
||||
# is longer than the configured timeout.
|
||||
scheduleTimeout: 3h
|
||||
# -- maxScheduleCount is the max count of schedule.
|
||||
maxScheduleCount: 5
|
||||
# # CA certificate file path for mTLS.
|
||||
|
@ -897,17 +921,31 @@ seedClient:
|
|||
# -- dir is the directory to store task's metadata and content.
|
||||
dir: /var/lib/dragonfly/
|
||||
# -- keep indicates whether keep the task's metadata and content when the dfdaemon restarts.
|
||||
keep: false
|
||||
# -- writeBufferSize is the buffer size for writing piece to disk, default is 128KB.
|
||||
writeBufferSize: 131072
|
||||
# -- readBufferSize is the buffer size for reading piece from disk, default is 128KB.
|
||||
readBufferSize: 131072
|
||||
keep: true
|
||||
# -- writeBufferSize is the buffer size for writing piece to disk, default is 4MiB.
|
||||
writeBufferSize: 4194304
|
||||
# -- readBufferSize is the buffer size for reading piece from disk, default is 4MiB.
|
||||
readBufferSize: 4194304
|
||||
# -- writePieceTimeout is the timeout for writing a piece to storage(e.g., disk or cache).
|
||||
writePieceTimeout: 30s
|
||||
gc:
|
||||
# -- interval is the interval to do gc.
|
||||
interval: 900s
|
||||
policy:
|
||||
# -- taskTTL is the ttl of the task.
|
||||
taskTTL: 168h
|
||||
taskTTL: 720h
|
||||
# # distThreshold optionally defines a specific disk capacity to be used as the base for
|
||||
# # calculating GC trigger points with `distHighThresholdPercent` and `distLowThresholdPercent`.
|
||||
# #
|
||||
# # - If a value is provided (e.g., "500GB"), the percentage-based thresholds (`distHighThresholdPercent`,
|
||||
# # `distLowThresholdPercent`) are applied relative to this specified capacity.
|
||||
# # - If not provided or set to 0 (the default behavior), these percentage-based thresholds are applied
|
||||
# # relative to the total actual disk space.
|
||||
# #
|
||||
# # This allows dfdaemon to effectively manage a logical portion of the disk for its cache,
|
||||
# # rather than always considering the entire disk volume.
|
||||
#
|
||||
# distThreshold: 10TiB
|
||||
# -- distHighThresholdPercent is the high threshold percent of the disk usage.
|
||||
# If the disk usage is greater than the threshold, dfdaemon will do gc.
|
||||
distHighThresholdPercent: 80
|
||||
|
@ -984,12 +1022,12 @@ seedClient:
|
|||
# `X-Dragonfly-Prefetch` header's priority is higher than prefetch in config.
|
||||
# If the value is "true", the range request will prefetch the entire file.
|
||||
# If the value is "false", the range request will fetch the range content.
|
||||
prefetch: false
|
||||
# -- prefetchRateLimit is the rate limit of prefetching in GiB/Mib/Kib per second, default is 2GiB/s.
|
||||
prefetch: true
|
||||
# -- prefetchRateLimit is the rate limit of prefetching in GiB/Mib/Kib per second, default is 5GiB/s.
|
||||
# The prefetch request has lower priority so limit the rate to avoid occupying the bandwidth impact other download tasks.
|
||||
prefetchRateLimit: 2GiB
|
||||
# -- readBufferSize is the buffer size for reading piece from disk, default is 32KB.
|
||||
readBufferSize: 32768
|
||||
prefetchRateLimit: 5GiB
|
||||
# -- readBufferSize is the buffer size for reading piece from disk, default is 4MiB.
|
||||
readBufferSize: 4194304
|
||||
health:
|
||||
server:
|
||||
# -- port is the port to the health server.
|
||||
|
@ -1008,13 +1046,20 @@ seedClient:
|
|||
port: 4004
|
||||
# # ip is the listen ip of the stats server.
|
||||
# ip: ""
|
||||
# # tracing is the tracing configuration for dfdaemon.
|
||||
# tracing:
|
||||
# # addr is the address to report tracing log.
|
||||
# addr: ""
|
||||
tracing:
|
||||
# -- Protocol specifies the communication protocol for the tracing server.
|
||||
# Supported values: "http", "https", "grpc" (default: None).
|
||||
# This determines how tracing logs are transmitted to the server.
|
||||
protocol: ""
|
||||
# # endpoint is the endpoint to report tracing log, example: "localhost:4317".
|
||||
# endpoint: ""
|
||||
# # path is the path to report tracing log, example: "/v1/traces" if the protocol is "http" or "https".
|
||||
# path: ""
|
||||
# # headers is the grpc's headers to send with tracing log.
|
||||
# headers: {}
|
||||
metrics:
|
||||
# -- Enable seed client metrics.
|
||||
enable: false
|
||||
enable: true
|
||||
service:
|
||||
# -- Service type.
|
||||
type: ClusterIP
|
||||
|
@ -1083,7 +1128,7 @@ client:
|
|||
# -- Image repository.
|
||||
repository: dragonflyoss/client
|
||||
# -- Image tag.
|
||||
tag: v0.1.125
|
||||
tag: v1.0.9
|
||||
# -- Image digest.
|
||||
digest: ""
|
||||
# -- Image pull policy.
|
||||
|
@ -1105,8 +1150,8 @@ client:
|
|||
cpu: "0"
|
||||
memory: "0"
|
||||
limits:
|
||||
cpu: "2"
|
||||
memory: "4Gi"
|
||||
cpu: "4"
|
||||
memory: "8Gi"
|
||||
# -- Pod priorityClassName.
|
||||
priorityClassName: ""
|
||||
# -- Node labels for pod assignment.
|
||||
|
@ -1120,7 +1165,11 @@ client:
|
|||
# -- Pod labels.
|
||||
podLabels: {}
|
||||
# -- Update strategy for replicas.
|
||||
updateStrategy: {}
|
||||
updateStrategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxSurge: 0
|
||||
maxUnavailable: 20
|
||||
# -- Statefulset annotations.
|
||||
statefulsetAnnotations: {}
|
||||
initContainer:
|
||||
|
@ -1146,9 +1195,7 @@ client:
|
|||
# -- Extra volumes for dfdaemon.
|
||||
extraVolumes:
|
||||
- name: storage
|
||||
hostPath:
|
||||
path: /var/lib/dragonfly/
|
||||
type: DirectoryOrCreate
|
||||
emptyDir: {}
|
||||
- name: logs
|
||||
emptyDir: {}
|
||||
# -- Extra volumeMounts for dfdaemon.
|
||||
|
@ -1160,20 +1207,22 @@ client:
|
|||
dfinit:
|
||||
# -- Enable dfinit to override configuration of container runtime.
|
||||
enable: false
|
||||
# -- restartContainerRuntime indicates whether to restart container runtime when dfinit is enabled. it should be set to true when your first install dragonfly. If non-hot load configuration changes are made, the container runtime needs to be restarted.
|
||||
restartContainerRuntime: true
|
||||
image:
|
||||
# -- Image registry.
|
||||
registry: docker.io
|
||||
# -- Image repository.
|
||||
repository: dragonflyoss/dfinit
|
||||
# -- Image tag.
|
||||
tag: v0.1.125
|
||||
tag: v1.0.9
|
||||
# -- Image digest.
|
||||
digest: ""
|
||||
# -- Image pull policy.
|
||||
pullPolicy: IfNotPresent
|
||||
config:
|
||||
# -- verbose prints log.
|
||||
verbose: true
|
||||
# -- console prints log.
|
||||
console: true
|
||||
log:
|
||||
# -- Specify the logging level [trace, debug, info, warn, error]
|
||||
level: info
|
||||
|
@ -1236,13 +1285,13 @@ client:
|
|||
# location: docker.io
|
||||
# - prefix: ghcr.io
|
||||
# location: ghcr.io
|
||||
# docker:
|
||||
# docker:
|
||||
# # -- configPath is the path of docker configuration file where the proxy addr will be set.
|
||||
# # Refer to https://docs.docker.com/engine/daemon/proxy/
|
||||
# configPath: /etc/docker/daemon.json
|
||||
config:
|
||||
# -- verbose prints log.
|
||||
verbose: true
|
||||
# -- console prints log.
|
||||
console: true
|
||||
log:
|
||||
# -- Specify the logging level [trace, debug, info, warn, error]
|
||||
level: info
|
||||
|
@ -1258,19 +1307,23 @@ client:
|
|||
# ip: ""
|
||||
server:
|
||||
# -- pluginDir is the directory to store plugins.
|
||||
pluginDir: /var/lib/dragonfly/plugins/dfdaemon/
|
||||
pluginDir: /usr/local/lib/dragonfly/plugins/dfdaemon/
|
||||
# -- cacheDir is the directory to store cache files.
|
||||
cacheDir: /var/cache/dragonfly/dfdaemon/
|
||||
download:
|
||||
server:
|
||||
# -- socketPath is the unix socket path for dfdaemon GRPC service.
|
||||
socketPath: /var/run/dragonfly/dfdaemon.sock
|
||||
# -- rateLimit is the default rate limit of the download speed in GiB/Mib/Kib per second, default is 10GiB/s.
|
||||
rateLimit: 10GiB
|
||||
# -- request_rate_limit is the rate limit of the download request in the download grpc server, default is 4000 req/s.
|
||||
requestRateLimit: 4000
|
||||
# -- rateLimit is the default rate limit of the download speed in GiB/Mib/Kib per second, default is 50GiB/s.
|
||||
rateLimit: 50GiB
|
||||
# -- pieceTimeout is the timeout for downloading a piece from source.
|
||||
pieceTimeout: 30s
|
||||
pieceTimeout: 40s
|
||||
# -- collected_piece_timeout is the timeout for collecting one piece from the parent in the stream.
|
||||
collectedPieceTimeout: 10s
|
||||
# -- concurrentPieceCount is the number of concurrent pieces to download.
|
||||
concurrentPieceCount: 16
|
||||
concurrentPieceCount: 8
|
||||
upload:
|
||||
server:
|
||||
# -- port is the port to the grpc server.
|
||||
|
@ -1283,7 +1336,8 @@ client:
|
|||
# cert: /etc/ssl/certs/server.crt
|
||||
# # GRPC server key file path for mTLS.
|
||||
# key: /etc/ssl/private/server.pem
|
||||
#
|
||||
# -- request_rate_limit is the rate limit of the upload request in the upload grpc server, default is 4000 req/s.
|
||||
requestRateLimit: 4000
|
||||
# # Client configuration for remote peer's upload server.
|
||||
# client:
|
||||
# # CA certificate file path for mTLS.
|
||||
|
@ -1295,8 +1349,8 @@ client:
|
|||
#
|
||||
# -- disableShared indicates whether disable to share data with other peers.
|
||||
disableShared: false
|
||||
# -- rateLimit is the default rate limit of the upload speed in GiB/Mib/Kib per second, default is 10GiB/s.
|
||||
rateLimit: 10GiB
|
||||
# -- rateLimit is the default rate limit of the upload speed in GiB/Mib/Kib per second, default is 50GiB/s.
|
||||
rateLimit: 50GiB
|
||||
manager:
|
||||
# -- addr is manager address.
|
||||
addr: ""
|
||||
|
@ -1311,9 +1365,36 @@ client:
|
|||
# Announcer will provide the scheduler with peer information for scheduling,
|
||||
# peer information includes cpu, memory, etc.
|
||||
announceInterval: 5m
|
||||
# -- scheduleTimeout is the timeout for scheduling. If the scheduling timesout, dfdaemon will back-to-source
|
||||
# download if enableBackToSource is true, otherwise dfdaemon will return download failed.
|
||||
scheduleTimeout: 30s
|
||||
# -- scheduleTimeout is timeout for the scheduler to respond to a scheduling request from dfdaemon, default is 3 hours.
|
||||
#
|
||||
# If the scheduler's response time for a scheduling decision exceeds this timeout,
|
||||
# dfdaemon will encounter a `TokioStreamElapsed(Elapsed(()))` error.
|
||||
#
|
||||
# Behavior upon timeout:
|
||||
# - If `enable_back_to_source` is `true`, dfdaemon will attempt to download directly
|
||||
# from the source.
|
||||
# - Otherwise (if `enable_back_to_source` is `false`), dfdaemon will report a download failure.
|
||||
#
|
||||
# **Important Considerations Regarding Timeout Triggers**:
|
||||
# This timeout isn't solely for the scheduler's direct response. It can also be triggered
|
||||
# if the overall duration of the client's interaction with the scheduler for a task
|
||||
# (e.g., client downloading initial pieces and reporting their status back to the scheduler)
|
||||
# exceeds `schedule_timeout`. During such client-side processing and reporting,
|
||||
# the scheduler might be awaiting these updates before sending its comprehensive
|
||||
# scheduling response, and this entire period is subject to the `schedule_timeout`.
|
||||
#
|
||||
# **Configuration Guidance**:
|
||||
# To prevent premature timeouts, `schedule_timeout` should be configured to a value
|
||||
# greater than the maximum expected time for the *entire scheduling interaction*.
|
||||
# This includes:
|
||||
# 1. The scheduler's own processing and response time.
|
||||
# 2. The time taken by the client to download any initial pieces and download all pieces finished,
|
||||
# as this communication is part of the scheduling phase.
|
||||
#
|
||||
# Setting this value too low can lead to `TokioStreamElapsed` errors even if the
|
||||
# network and scheduler are functioning correctly but the combined interaction time
|
||||
# is longer than the configured timeout.
|
||||
scheduleTimeout: 3h
|
||||
# -- maxScheduleCount is the max count of schedule.
|
||||
maxScheduleCount: 5
|
||||
# -- enableBackToSource indicates whether enable back-to-source download, when the scheduling failed.
|
||||
|
@ -1331,17 +1412,31 @@ client:
|
|||
# -- dir is the directory to store task's metadata and content.
|
||||
dir: /var/lib/dragonfly/
|
||||
# -- keep indicates whether keep the task's metadata and content when the dfdaemon restarts.
|
||||
keep: false
|
||||
# -- writeBufferSize is the buffer size for writing piece to disk, default is 128KB.
|
||||
writeBufferSize: 131072
|
||||
# -- readBufferSize is the buffer size for reading piece from disk, default is 128KB.
|
||||
readBufferSize: 131072
|
||||
keep: true
|
||||
# -- writeBufferSize is the buffer size for writing piece to disk, default is 4MiB.
|
||||
writeBufferSize: 4194304
|
||||
# -- readBufferSize is the buffer size for reading piece from disk, default is 4MiB.
|
||||
readBufferSize: 4194304
|
||||
# -- writePieceTimeout is the timeout for writing a piece to storage(e.g., disk or cache).
|
||||
writePieceTimeout: 30s
|
||||
gc:
|
||||
# -- interval is the interval to do gc.
|
||||
interval: 900s
|
||||
policy:
|
||||
# -- taskTTL is the ttl of the task.
|
||||
taskTTL: 168h
|
||||
taskTTL: 720h
|
||||
# # distThreshold optionally defines a specific disk capacity to be used as the base for
|
||||
# # calculating GC trigger points with `distHighThresholdPercent` and `distLowThresholdPercent`.
|
||||
# #
|
||||
# # - If a value is provided (e.g., "500GB"), the percentage-based thresholds (`distHighThresholdPercent`,
|
||||
# # `distLowThresholdPercent`) are applied relative to this specified capacity.
|
||||
# # - If not provided or set to 0 (the default behavior), these percentage-based thresholds are applied
|
||||
# # relative to the total actual disk space.
|
||||
# #
|
||||
# # This allows dfdaemon to effectively manage a logical portion of the disk for its cache,
|
||||
# # rather than always considering the entire disk volume.
|
||||
#
|
||||
# distThreshold: 10TiB
|
||||
# -- distHighThresholdPercent is the high threshold percent of the disk usage.
|
||||
# If the disk usage is greater than the threshold, dfdaemon will do gc.
|
||||
distHighThresholdPercent: 80
|
||||
|
@ -1418,12 +1513,12 @@ client:
|
|||
# `X-Dragonfly-Prefetch` header's priority is higher than prefetch in config.
|
||||
# If the value is "true", the range request will prefetch the entire file.
|
||||
# If the value is "false", the range request will fetch the range content.
|
||||
prefetch: false
|
||||
# -- prefetchRateLimit is the rate limit of prefetching in GiB/Mib/Kib per second, default is 2GiB/s.
|
||||
prefetch: true
|
||||
# -- prefetchRateLimit is the rate limit of prefetching in GiB/Mib/Kib per second, default is 5GiB/s.
|
||||
# The prefetch request has lower priority so limit the rate to avoid occupying the bandwidth impact other download tasks.
|
||||
prefetchRateLimit: 2GiB
|
||||
# -- readBufferSize is the buffer size for reading piece from disk, default is 32KB.
|
||||
readBufferSize: 32768
|
||||
prefetchRateLimit: 5GiB
|
||||
# -- readBufferSize is the buffer size for reading piece from disk, default is 4MiB.
|
||||
readBufferSize: 4194304
|
||||
health:
|
||||
server:
|
||||
# -- port is the port to the health server.
|
||||
|
@ -1442,13 +1537,20 @@ client:
|
|||
port: 4004
|
||||
# # ip is the listen ip of the stats server.
|
||||
# ip: ""
|
||||
# # tracing is the tracing configuration for dfdaemon.
|
||||
# tracing:
|
||||
# # addr is the address to report tracing log.
|
||||
# addr: ""
|
||||
tracing:
|
||||
# -- Protocol specifies the communication protocol for the tracing server.
|
||||
# Supported values: "http", "https", "grpc" (default: None).
|
||||
# This determines how tracing logs are transmitted to the server.
|
||||
protocol: ""
|
||||
# # endpoint is the endpoint to report tracing log, example: "localhost:4317".
|
||||
# endpoint: ""
|
||||
# # path is the path to report tracing log, example: "/v1/traces" if the protocol is "http" or "https".
|
||||
# path: ""
|
||||
# # headers is the grpc's headers to send with tracing log.
|
||||
# headers: {}
|
||||
metrics:
|
||||
# -- Enable client metrics.
|
||||
enable: false
|
||||
enable: true
|
||||
service:
|
||||
# -- Service type.
|
||||
type: ClusterIP
|
||||
|
@ -1570,6 +1672,10 @@ externalRedis:
|
|||
username: ""
|
||||
# -- External redis password.
|
||||
password: ""
|
||||
# -- External redis sentinel addresses.
|
||||
sentinelUsername: ""
|
||||
# -- External redis sentinel password.
|
||||
sentinelPassword: ""
|
||||
# -- External redis db.
|
||||
db: 0
|
||||
# -- External redis broker db.
|
||||
|
|
Loading…
Reference in New Issue