# hopsfs

![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 3.2.0.17-EE-RC2](https://img.shields.io/badge/AppVersion-3.2.0.17--EE--RC2-informational?style=flat-square)

## Requirements

| Repository | Name | Version |
|------------|------|---------|
| file://../hopsworkslib | hopsworkslib | 0.1.0 |

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| bypassBucketValidation | bool | `false` | Do not run HopsFS bucket validation pre-install, pre-upgrade Job |
| client.failureReplacementPolicy | string | `"NEVER"` |  |
| client.locateFollowingBlockRetries | int | `10` |  |
| dataDir | string | `"/srv/hops/hopsdata/hdfs"` |  |
| datanode.count | int | `1` |  |
| datanode.dataPort | int | `50010` |  |
| datanode.httpPort | int | `50075` |  |
| datanode.httpsPort | int | `50475` |  |
| datanode.ipcPort | int | `50020` |  |
| datanode.jvmOpts | string | `""` |  |
| datanode.loadBalancer.annotations | object | `{}` | annotations for load balancer |
| datanode.loadBalancer.enabled | string | `nil` | Enable External Load Balancers for datanode. If not set the .global._hopsworks.externalLoadBalancers.enabled will be used instead |
| datanode.loadBalancer.loadBalancerClass | string | `nil` | load balancer class name |
| datanode.loadBalancer.managed | string | `nil` | Cloud provider provisions Load Balancers. If not set the .global._hopsworks.externalLoadBalancers.managed will be used instead |
| datanode.monitoringPort | int | `50076` |  |
| datanode.nodeSelector | object | `{}` | node selector configuration |
| datanode.resources.limits.cpu | string | `"1000m"` |  |
| datanode.resources.limits.memory | string | `"750Mi"` |  |
| datanode.resources.requests.cpu | string | `"500m"` |  |
| datanode.resources.requests.memory | string | `"500Mi"` |  |
| datanode.rpcHandlerCount | int | `20` |  |
| datanode.storage.size | string | `"100Gi"` |  |
| datanode.storage.storageClassName | string | `nil` | storage class name to request for volumes attached to the data nodes |
| datanode.tls.extraDnsNames | list | `[]` | Additional DNS names to add as SAN to Datanode x.509 certificate |
| datanode.tls.extraIpAddresses | list | `[]` | Additional IP addresses to add as SAN to Datanode x.509 certificate |
| datanode.tolerations | list | `[]` |  |
| datanode.topologySpreadConstraint | object | `{}` | The default topology spread constraint. If not defined the global topology spread constraint would be used instead. |
| datanode.xmx | int | `500` |  |
| dependencies.glassfish.consulServiceName | string | `"glassfish"` |  |
| dependencies.glassfish.consulServiceTag | string | `"ca"` |  |
| dependencies.glassfish.port | int | `8182` |  |
| dependencies.mgmd.consulServiceName | string | `"mgmd"` |  |
| dependencies.mgmd.port | int | `1186` |  |
| dependencies.mysql.consulServiceName | string | `"mysql"` |  |
| dependencies.mysql.port | int | `3306` |  |
| dependencies.objectStorage.consulServiceName | string | `"minio"` |  |
| dependencies.objectStorage.port | int | `9000` |  |
| hopsworkslib | object | `{}` | override hopsworkslib values |
| image.name | string | `"hopsfs"` |  |
| image.pullPolicy | string | `"IfNotPresent"` |  |
| image.registry | string | `"mycluster-registry:6060"` |  |
| image.tag | string | `"3.2.0.17-EE-RC2"` |  |
| log4j.enable_audit_log | bool | `true` |  |
| log4j.level | string | `"WARN"` |  |
| namenode.acls.enabled | bool | `true` |  |
| namenode.blockreportExecutorCount | int | `40` |  |
| namenode.clusterIp.name | string | `"namenode-cluster-ip"` |  |
| namenode.count | int | `1` |  |
| namenode.customConfig | object | `{}` | Set/Override hdfs-site.xml properties. Each entry in this map will template a <property></property> entry at the bottom of the hdfs-site.xml. The name of the property is the map entry key and the value of the property is the value of the map entry key. |
| namenode.dirs[0].group | string | `"hdfs"` |  |
| namenode.dirs[0].mode | int | `1775` |  |
| namenode.dirs[0].owner | string | `"payara"` |  |
| namenode.dirs[0].path | string | `"/Projects"` |  |
| namenode.dirs[1].group | string | `"hadoop"` |  |
| namenode.dirs[1].mode | int | `1775` |  |
| namenode.dirs[1].owner | string | `"hdfs"` |  |
| namenode.dirs[1].path | string | `"/user"` |  |
| namenode.dirs[2].group | string | `"hadoop"` |  |
| namenode.dirs[2].mode | int | `1775` |  |
| namenode.dirs[2].owner | string | `"hdfs"` |  |
| namenode.dirs[2].path | string | `"/apps"` |  |
| namenode.dirs[3].group | string | `"hadoop"` |  |
| namenode.dirs[3].mode | int | `1775` |  |
| namenode.dirs[3].owner | string | `"hdfs"` |  |
| namenode.dirs[3].path | string | `"/tmp"` |  |
| namenode.dirs[4].group | string | `"hadoop"` |  |
| namenode.dirs[4].mode | int | `1777` |  |
| namenode.dirs[4].owner | string | `"hive"` |  |
| namenode.dirs[4].path | string | `"/tmp/hive"` |  |
| namenode.httpPort | int | `50070` |  |
| namenode.httpsPort | int | `50470` |  |
| namenode.jvmOpts | string | `""` |  |
| namenode.loadBalancer.annotations | object | `{}` | annotations for load balancer |
| namenode.loadBalancer.enabled | string | `nil` | Enable External Load Balancers for namenode. If not set the .global._hopsworks.externalLoadBalancers.enabled will be used instead |
| namenode.loadBalancer.loadBalancerClass | string | `nil` | load balancer class name |
| namenode.loadBalancer.managed | string | `nil` | Cloud provider provisions Load Balancers. If not set the .global._hopsworks.externalLoadBalancers.managed will be used instead |
| namenode.maxBlocksPerFile | int | `10240` | Maximum number of blocks per file |
| namenode.maxDirectMemorySize | int | `500` |  |
| namenode.maxDirectoryItems | int | `131072` | Maximum number of items (files and directories) allowed in a directory |
| namenode.monitoringPort | int | `50071` |  |
| namenode.nodeSelector | object | `{}` | node selector configuration |
| namenode.numBlockReplicas | int | `1` |  |
| namenode.quotaEnabled | bool | `true` |  |
| namenode.resources.limits.cpu | string | `"1000m"` |  |
| namenode.resources.limits.memory | string | `"750Mi"` |  |
| namenode.resources.requests.cpu | string | `"500m"` |  |
| namenode.resources.requests.memory | string | `"500Mi"` |  |
| namenode.rpcHandlerCount | int | `120` |  |
| namenode.rpcPort | int | `8020` |  |
| namenode.service.annotations."consul.hashicorp.com/service-name" | string | `"namenode"` |  |
| namenode.service.annotations."consul.hashicorp.com/service-tags" | string | `"rpc,http"` |  |
| namenode.service.annotations."prometheus.io/path" | string | `"/metrics"` |  |
| namenode.service.annotations."prometheus.io/port" | int | `50071` |  |
| namenode.service.annotations."prometheus.io/scheme" | string | `"http"` |  |
| namenode.service.annotations."prometheus.io/scrape" | string | `"true"` |  |
| namenode.service.name | string | `"namenode"` |  |
| namenode.setupBackOffLimit | int | `10` | Back off limit for database migration job. Default to be 10, i.e. 34 minutes, 30 seconds |
| namenode.startupProbe.failureThreshold | int | `50` |  |
| namenode.startupProbe.initialDelaySeconds | int | `10` |  |
| namenode.startupProbe.periodSeconds | int | `15` |  |
| namenode.startupProbe.timeoutSeconds | int | `10` |  |
| namenode.stoCleanFaildOpsDelay | int | `600000` |  |
| namenode.stoCleanSlowOpsDelay | int | `900000` |  |
| namenode.subtreeExecutorCount | int | `40` |  |
| namenode.tls.extraDnsNames | list | `[]` | Additional DNS names to add as SAN to Datanode x.509 certificate |
| namenode.tls.extraIpAddresses | list | `[]` | Additional IP addresses to add as SAN to Datanode x.509 certificate |
| namenode.tolerations | list | `[]` |  |
| namenode.topologySpreadConstraint | object | `{}` | The default topology spread constraint. If not defined the global topology spread constraint would be used instead. |
| namenode.txRetryCount | int | `10` |  |
| namenode.users[0].gid | int | `1508` |  |
| namenode.users[0].group | string | `"airflow"` |  |
| namenode.users[0].mode | int | `1750` |  |
| namenode.users[0].name | string | `"airflow"` |  |
| namenode.users[0].uid | int | `1512` |  |
| namenode.users[1].extra_folders[0] | string | `"/user/spark/applicationHistory"` |  |
| namenode.users[1].extra_folders[1] | string | `"/user/spark/eventlog"` |  |
| namenode.users[1].extra_folders[2] | string | `"/user/spark/share"` |  |
| namenode.users[1].extra_folders[3] | string | `"/user/spark/spark-warehouse"` |  |
| namenode.users[1].group | string | `"hadoop"` |  |
| namenode.users[1].mode | int | `1777` |  |
| namenode.users[1].name | string | `"spark"` |  |
| namenode.users[1].uid | int | `1505` |  |
| namenode.users[2].extra_folders[0] | string | `"/apps/hive"` |  |
| namenode.users[2].extra_folders[1] | string | `"/apps/hive/warehouse"` |  |
| namenode.users[2].group | string | `"hadoop"` |  |
| namenode.users[2].mode | int | `1755` |  |
| namenode.users[2].name | string | `"hive"` |  |
| namenode.users[3].group | string | `"hdfs"` |  |
| namenode.users[3].mode | int | `1750` |  |
| namenode.users[3].name | string | `"payara"` |  |
| namenode.users[4].extra_folders[0] | string | `"/user/ray/applications"` |  |
| namenode.users[4].group | string | `"hadoop"` |  |
| namenode.users[4].mode | int | `1750` |  |
| namenode.users[4].name | string | `"ray"` |  |
| namenode.users[5].group | string | `"hadoop"` |  |
| namenode.users[5].mode | int | `1750` |  |
| namenode.users[5].name | string | `"brewer"` |  |
| namenode.xattrs.enabled | bool | `true` |  |
| namenode.xattrs.maxXAttrSize | int | `1039755` |  |
| namenode.xattrs.maxXAttrsPerInode | int | `32` |  |
| namenode.xmx | int | `500` |  |
| nuke_db_in_retry | bool | `false` |  |
| objectStorage.azure.storage.account | string | `"hopsfsdatastore"` |  |
| objectStorage.azure.storage.container | string | `"hopsfs"` |  |
| objectStorage.azure.storage.enableSoftDeletes | bool | `false` |  |
| objectStorage.azure.storage.identityClientId | string | `"9cf39842-07c7-444a-8a44-63ee91411b70"` |  |
| objectStorage.azure.storage.softDeletesRetentionDays | int | `90` |  |
| objectStorage.datanode.cache.bypass | bool | `false` |  |
| objectStorage.datanode.cache.deleteActivationPercentage | int | `70` |  |
| objectStorage.datanode.maxUploadThreads | int | `20` |  |
| objectStorage.enabled | bool | `true` |  |
| objectStorage.gcs.bucket.enableVersioning | bool | `true` |  |
| objectStorage.gcs.bucket.location | string | `"europe-north1"` |  |
| objectStorage.gcs.bucket.name | string | `"hopsfs"` |  |
| objectStorage.provider | string | `"S3"` | object storage provicer, possible values are ["S3", "AZURE", "GCS"] |
| objectStorage.restoreFromBackup | bool | `false` |  |
| objectStorage.s3.bucket.aclBucketOwnerFullControl | bool | `false` |  |
| objectStorage.s3.bucket.encryption.bucketKeyEnabled | bool | `true` |  |
| objectStorage.s3.bucket.encryption.enabled | bool | `false` |  |
| objectStorage.s3.bucket.encryption.mode | string | `"SSE-KMS"` | s3 encryption mode, possible values are [SSE-S3, SSE-KMS] |
| objectStorage.s3.bucket.encryption.userKeyARN | string | `""` |  |
| objectStorage.s3.bucket.name | string | `"hopsfs"` |  |
| objectStorage.s3.bucket.versioning | bool | `true` |  |
| objectStorage.s3.bypassGovernanceRetention | bool | `false` |  |
| objectStorage.s3.endpoint | string | `""` |  |
| objectStorage.s3.region | string | `"eu-north-1"` |  |
| objectStorage.s3.signingRegion | string | `""` |  |
| objectStorage.storeSmallFilesInDB | bool | `false` |  |
| parallel_preset | int | `3` |  |
| presetJob.clientRetryCount | int | `10` |  |
| presetJob.clientRetryIntervalSeconds | int | `10` |  |
| presetJob.runIndex | int | `0` | Index to make job names unique if necessary |
| security.fsGroup | int | `1234` |  |
| security.runAsGroup | int | `1234` |  |
| security.runAsUser | int | `1506` |  |
| security.securityActions.maxConnectionsPerRoute | int | `30` | Maximum number of concurrent HTTP connections to Hopsworks CA. Currently used only by WebHDFS |
| security.tde | object | `{"enabled":false,"kmsUri":""}` | Configuration for Transparent Data Encryption |
| security.tde.enabled | bool | `false` | Flag to enable encryption-at-rest |
| security.tde.kmsUri | string | `""` | KMS URI when encryption-at-rest is enabled ie http://10.1.1.2:9600 |
| security.tls.enabled | bool | `true` |  |
| serviceAccount.annotations | object | `{}` | service account annotations |
| setupJob.timeoutMinutes | int | `25` |  |