|
| 1 | +# Spegel |
| 2 | + |
| 3 | +Stateless cluster local OCI registry mirror. |
| 4 | + |
| 5 | +Read the [getting started](https://spegel.dev/docs/getting-started/) guide to deploy Spegel. |
| 6 | + |
| 7 | +## Values |
| 8 | + |
| 9 | +| Key | Type | Default | Description | |
| 10 | +|-----|------|---------|-------------| |
| 11 | +| affinity | object | `{}` | Affinity settings for pod assignment. | |
| 12 | +| clusterDomain | string | `"cluster.local."` | Domain configured for service domain names. | |
| 13 | +| commonLabels | object | `{}` | Common labels to apply to all rendered resources. | |
| 14 | +| fullnameOverride | string | `""` | Overrides the full name of the chart. | |
| 15 | +| grafanaDashboard.annotations | object | `{}` | Annotations that ConfigMaps can have to get configured in Grafana, See: sidecar.dashboards.folderAnnotation for specifying the dashboard folder. https://github.com/grafana/helm-charts/tree/main/charts/grafana | |
| 16 | +| grafanaDashboard.enabled | bool | `false` | If true creates a Grafana dashboard. | |
| 17 | +| grafanaDashboard.sidecarLabel | string | `"grafana_dashboard"` | Label that ConfigMaps should have to be loaded as dashboards. | |
| 18 | +| grafanaDashboard.sidecarLabelValue | string | `"1"` | Label value that ConfigMaps should have to be loaded as dashboards. | |
| 19 | +| image.digest | string | `""` | Image digest. | |
| 20 | +| image.pullPolicy | string | `"IfNotPresent"` | Image Pull Policy. | |
| 21 | +| image.repository | string | `"ghcr.io/spegel-org/spegel"` | Image repository. | |
| 22 | +| image.tag | string | `""` | Overrides the image tag whose default is the chart appVersion. | |
| 23 | +| imagePullSecrets | list | `[]` | Image Pull Secrets | |
| 24 | +| nameOverride | string | `""` | Overrides the name of the chart. | |
| 25 | +| namespaceOverride | string | `""` | Overrides the namespace where spegel resources are installed. | |
| 26 | +| nodeSelector | object | `{"kubernetes.io/os":"linux"}` | Node selector for pod assignment. | |
| 27 | +| podAnnotations | object | `{}` | Annotations to add to the pod. | |
| 28 | +| podSecurityContext | object | `{}` | Security context for the pod. | |
| 29 | +| priorityClassName | string | `"system-node-critical"` | Priority class name to use for the pod. | |
| 30 | +| resources | object | `{}` | Resource requests and limits for the Spegel container. | |
| 31 | +| revisionHistoryLimit | int | `10` | The number of old history to retain to allow rollback. | |
| 32 | +| securityContext | object | `{}` | Security context for the Spegel container. | |
| 33 | +| service.metrics.port | int | `9090` | Port to expose the metrics via the service. | |
| 34 | +| service.registry.hostPort | int | `30020` | Local host port to expose the registry. | |
| 35 | +| service.registry.nodeIp | string | `""` | Override the NODE_ID environment variable. It defaults to the field status.hostIP | |
| 36 | +| service.registry.nodePort | int | `30021` | Node port to expose the registry via the service. | |
| 37 | +| service.registry.port | int | `5000` | Port to expose the registry via the service. | |
| 38 | +| service.registry.topologyAwareHintsEnabled | bool | `true` | If true adds topology aware hints annotation to node port service. | |
| 39 | +| service.router.port | int | `5001` | Port to expose the router via the service. | |
| 40 | +| serviceAccount.annotations | object | `{}` | Annotations to add to the service account | |
| 41 | +| serviceAccount.name | string | `""` | The name of the service account to use. If not set and create is true, a name is generated using the fullname template. | |
| 42 | +| serviceMonitor.enabled | bool | `false` | If true creates a Prometheus Service Monitor. | |
| 43 | +| serviceMonitor.interval | string | `"60s"` | Prometheus scrape interval. | |
| 44 | +| serviceMonitor.labels | object | `{}` | Service monitor specific labels for prometheus to discover servicemonitor. | |
| 45 | +| serviceMonitor.metricRelabelings | list | `[]` | List of relabeling rules to apply to the samples before ingestion. | |
| 46 | +| serviceMonitor.relabelings | list | `[]` | List of relabeling rules to apply the target’s metadata labels. | |
| 47 | +| serviceMonitor.scrapeTimeout | string | `"30s"` | Prometheus scrape interval timeout. | |
| 48 | +| spegel.additionalMirrorRegistries | list | `[]` | Additional target mirror registries other than Spegel. | |
| 49 | +| spegel.appendMirrors | bool | `false` | When true existing mirror configuration will be appended to instead of replaced. | |
| 50 | +| spegel.containerdContentPath | string | `"/var/lib/containerd/io.containerd.content.v1.content"` | Path to Containerd content store.. | |
| 51 | +| spegel.containerdMirrorAdd | bool | `true` | If true Spegel will add mirror configuration to the node. | |
| 52 | +| spegel.containerdNamespace | string | `"k8s.io"` | Containerd namespace where images are stored. | |
| 53 | +| spegel.containerdRegistryConfigPath | string | `"/etc/containerd/certs.d"` | Path to Containerd mirror configuration. | |
| 54 | +| spegel.containerdSock | string | `"/run/containerd/containerd.sock"` | Path to Containerd socket. | |
| 55 | +| spegel.logLevel | string | `"INFO"` | Minimum log level to output. Value should be DEBUG, INFO, WARN, or ERROR. | |
| 56 | +| spegel.mirrorResolveRetries | int | `3` | Max ammount of mirrors to attempt. | |
| 57 | +| spegel.mirrorResolveTimeout | string | `"20ms"` | Max duration spent finding a mirror. | |
| 58 | +| spegel.registries | list | `["https://cgr.dev","https://docker.io","https://ghcr.io","https://quay.io","https://mcr.microsoft.com","https://public.ecr.aws","https://gcr.io","https://registry.k8s.io","https://k8s.gcr.io","https://lscr.io"]` | Registries for which mirror configuration will be created. | |
| 59 | +| spegel.resolveLatestTag | bool | `true` | When true latest tags will be resolved to digests. | |
| 60 | +| spegel.resolveTags | bool | `true` | When true Spegel will resolve tags to digests. | |
| 61 | +| tolerations | list | `[{"key":"CriticalAddonsOnly","operator":"Exists"},{"effect":"NoExecute","operator":"Exists"},{"effect":"NoSchedule","operator":"Exists"}]` | Tolerations for pod assignment. | |
| 62 | +| updateStrategy | object | `{}` | An update strategy to replace existing pods with new pods. | |
| 63 | +| verticalPodAutoscaler.controlledResources | list | `[]` | List of resources that the vertical pod autoscaler can control. Defaults to cpu and memory | |
| 64 | +| verticalPodAutoscaler.controlledValues | string | `"RequestsAndLimits"` | Specifies which resource values should be controlled: RequestsOnly or RequestsAndLimits. | |
| 65 | +| verticalPodAutoscaler.enabled | bool | `false` | If true creates a Vertical Pod Autoscaler. | |
| 66 | +| verticalPodAutoscaler.maxAllowed | object | `{}` | Define the max allowed resources for the pod | |
| 67 | +| verticalPodAutoscaler.minAllowed | object | `{}` | Define the min allowed resources for the pod | |
| 68 | +| verticalPodAutoscaler.recommenders | list | `[]` | Recommender responsible for generating recommendation for the object. List should be empty (then the default recommender will generate the recommendation) or contain exactly one recommender. | |
| 69 | +| verticalPodAutoscaler.updatePolicy.minReplicas | int | `2` | Specifies minimal number of replicas which need to be alive for VPA Updater to attempt pod eviction | |
| 70 | +| verticalPodAutoscaler.updatePolicy.updateMode | string | `"Auto"` | Specifies whether recommended updates are applied when a Pod is started and whether recommended updates are applied during the life of a Pod. Possible values are "Off", "Initial", "Recreate", and "Auto". | |
0 commit comments