Helm Deployment Configuration
Deploy the RTFS service on Kubernetes using the Helm chart's image, database, and scaling settings.
This reference covers the Helm chart configuration for deploying the Repository Federation Service (RTFS) on Kubernetes.
Chart Location
The Helm chart is located at artifactory-federation/helm-chart/stable/artifactory-federation/.
Image Configuration
The following parameters configure the RTFS container image.
| Parameter | Default | Description |
|---|---|---|
global.imageRegistry | "" | Global image registry override. |
global.imagePullSecrets | [] | Global image pull secrets. |
image.registry | releases-docker.jfrog.io | RTFS image registry. |
image.repository | jfrog/artifactory-federation | RTFS image repository. |
image.pullPolicy | IfNotPresent | Image pull policy. |
image.tag | "" | Image tag (defaults to chart appVersion). |
imagePullSecrets | [] | Additional image pull secrets. |
Service Configuration
The following parameters configure the RTFS service.
| Parameter | Default | Description |
|---|---|---|
jfrogUrl | "" | URL of the JFrog Platform. Required. |
replicaCount | 1 | Number of RTFS replicas. |
internalRestPort | 8025 | Internal REST API port. |
apiContext | rtfs | API context path. |
fullnameOverride | "" | Override the full resource name. |
Autoscaling
The following parameters configure horizontal pod autoscaling for RTFS.
| Parameter | Default | Description |
|---|---|---|
autoscaling.enabled | false | Enable horizontal pod autoscaling. |
autoscaling.minReplicas | 1 | Minimum replicas. |
autoscaling.maxReplicas | 11 | Maximum replicas. |
autoscaling.targetCPU | "" | Target CPU utilization percentage. |
autoscaling.targetMemory | "" | Target memory utilization percentage. |
Database
The following parameters configure the RTFS database connection. See RTFS Database Requirements for provisioning steps.
| Parameter | Default | Description |
|---|---|---|
database.type | postgresql | Database type. |
database.driver | org.postgresql.Driver | JDBC driver class. |
database.url | "" | JDBC connection URL. Required. |
database.username | "" | Database username. Required. |
database.password | "" | Database password. Required. |
Persistence
The following parameters configure RTFS data persistence.
| Parameter | Default | Description |
|---|---|---|
persistence.mountPath | /var/opt/jfrog/federation | Data mount path inside the container. |
persistence.federationProperties | Additional RTFS properties to inject (key-value pairs from application.properties). |
Use persistence.federationProperties to override any RTFS application.properties value at deployment time:
persistence:
federationProperties:
rtfs.full.sync.batch.size: "5000"
rtfs.auto.healing.enabled: "true"
rtfs.reactive.http.client.connect.timeout.sec: "300"Kubernetes Service
The following parameters configure the Kubernetes service for RTFS.
| Parameter | Default | Description |
|---|---|---|
service.type | ClusterIP | Kubernetes service type. |
service.restPort | 8025 | REST API service port. |
service.grpcPort | 8026 | gRPC service port. |
service.loadBalancerSourceRanges | [] | Load balancer source ranges. |
service.externalIPs | [] | External IPs. |
service.externalTrafficPolicy | Cluster | External traffic policy. |
service.loadBalancerIP | "" | Load balancer IP. |
service.labels | Additional service labels. | |
service.annotations | Additional service annotations. |
JVM Options
The following parameters configure JVM options for RTFS.
| Parameter | Default | Description |
|---|---|---|
javaOpts | "" | Additional JVM options (for example, -Xms2g -Xmx4g). |
extraEnvironmentVariables | [] | Additional environment variables. |
Pod Configuration
The following parameters configure RTFS pod settings.
| Parameter | Default | Description |
|---|---|---|
podLabels | Additional pod labels. | |
deploymentLabels | Additional deployment labels. | |
resources | CPU and memory requests and limits. | |
extraVolumeMounts | [] | Additional volume mounts. |
Pod Security Context
The following parameters configure the pod security context for RTFS.
| Parameter | Default | Description |
|---|---|---|
podSecurityContext.enabled | true | Enable pod security context. |
podSecurityContext.runAsNonRoot | true | Run as non-root user. |
podSecurityContext.runAsUser | 1030 | User ID. |
podSecurityContext.runAsGroup | 1030 | Group ID. |
podSecurityContext.fsGroup | 1030 | FS group ID. |
Router Sidecar
The following parameters configure the router sidecar container.
| Parameter | Default | Description |
|---|---|---|
router.name | router | Router container name. |
router.image.registry | releases-docker.jfrog.io | Router image registry. |
router.image.repository | jfrog/router | Router image repository. |
router.image.tag | 7.205.10 | Router image tag. |
router.serviceRegistry.insecure | false | Disable TLS for service registry. |
router.internalPort | 8046 | Router internal port. |
router.externalPort | 8082 | Router external port. |
router.tlsEnabled | false | Enable TLS. |
Observability
The following parameter enables observability features for RTFS.
| Parameter | Default | Description |
|---|---|---|
observability.enabled | false | Enable observability features. |
Probes
The following parameter configures the timeout for liveness and readiness probes.
| Parameter | Default | Description |
|---|---|---|
probes.timeoutSeconds | 5 | Timeout for liveness and readiness probes. |
RTFS exposes the following probe endpoints:
- Liveness:
/rtfs/api/v1/system/liveness - Readiness:
/rtfs/api/v1/system/readiness
Ingress
The following parameter enables ingress for RTFS.
| Parameter | Default | Description |
|---|---|---|
ingress.enabled | false | Enable ingress. |
Prometheus Service Monitor
The following parameters configure the Prometheus ServiceMonitor.
| Parameter | Default | Description |
|---|---|---|
serviceMonitor.enabled | true | Enable Prometheus ServiceMonitor. |
serviceMonitor.interval | 60s | Scrape interval. |
serviceMonitor.scrapeTimeout | 15s | Scrape timeout. |
serviceMonitor.jobLabel | federation-metrics | Job label. |
serviceMonitor.kubePromApp | federation | kube-prometheus app label. |
serviceMonitor.kubePromFullName | federation | kube-prometheus full name label. |
Production Recommendations
Based on the automation templates, a production deployment typically uses the following resource settings.
| Resource | Value |
|---|---|
| CPU requests | 4 |
| CPU limits | 6 |
| Memory requests | 8Gi |
| Memory limits | 12Gi |
| Node affinity | pool_type: federated |
| Tolerations | pool_type=federated:NoSchedule |
Related Topics
Updated about 7 hours ago
