# Default values for rustfs. # This is a YAML-formatted file. # Declare variables to be passed into your templates. # This will set the replicaset count more information can be found here: https://kubernetes.io/docs/concepts/workloads/controllers/replicaset/ replicaCount: 4 # This sets the container image more information can be found here: https://kubernetes.io/docs/concepts/containers/images/ image: rustfs: # This sets the rustfs image repository and tag. repository: rustfs/rustfs # This sets the pull policy for images. pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: "" initImage: # This sets the init container image repository and tag. repository: busybox pullPolicy: IfNotPresent tag: "stable" # This is for the secrets for pulling an image from a private repository more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ imagePullSecrets: [] imageRegistryCredentials: enabled: false registry: "" username: "" password: "" email: "" # This is to override the chart name. nameOverride: "" fullnameOverride: "" mode: standalone: enabled: false strategy: type: RollingUpdate rollingUpdate: maxSurge: 0 maxUnavailable: 1 existingClaim: dataClaim: "" logsClaim: "" distributed: enabled: true secret: existingSecret: "" rustfs: access_key: rustfsadmin secret_key: rustfsadmin config: rustfs: # Examples # volumes: "/data/rustfs0,/data/rustfs1,/data/rustfs2,/data/rustfs3" # volumes: "http://rustfs-{0...3}.rustfs-headless:9000/data/rustfs{0...3}" volumes: "" address: ":9000" console_enable: "true" console_address: ":9001" log_level: "info" region: "us-east-1" obs_log_directory: "/logs" obs_environment: "development" # Optionally enable support for virtual-hosted-style requests. # See more information: https://docs.rustfs.com/integration/virtual.html domains: "" # e.g. "example.com" log_rotation: # Specify log rotation settings # size: 100 # Default value: 100 MB # time: hour # Default value: hour, eg: day,hour,minute,second # keep_files: 30 # number of rotated log files to keep # This section builds out the service account more information can be found here: https://kubernetes.io/docs/concepts/security/service-accounts/ serviceAccount: # Specifies whether a service account should be created create: true # Automatically mount a ServiceAccount's API credentials? automount: true # Annotations to add to the service account annotations: {} # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: "" # This is for setting Kubernetes Annotations to a Pod. # For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ podAnnotations: {} # This is for setting Kubernetes Labels to a Pod. # For more information checkout: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ podLabels: {} # Labels to add to all deployed objects commonLabels: {} podSecurityContext: fsGroup: 10001 runAsUser: 10001 runAsGroup: 10001 containerSecurityContext: capabilities: drop: - ALL readOnlyRootFilesystem: true allowPrivilegeEscalation: false runAsNonRoot: true service: type: ClusterIP endpoint: port: 9000 nodePort: 32000 console: port: 9001 nodePort: 32001 # This block is for setting up the ingress for more information can be found here: https://kubernetes.io/docs/concepts/services-networking/ingress/ ingress: enabled: true className: "nginx" # Specify the classname, traefik or nginx. Different classname has different annotations for session sticky. traefikAnnotations: traefik.ingress.kubernetes.io/service.sticky.cookie: "true" traefik.ingress.kubernetes.io/service.sticky.cookie.httponly: "true" traefik.ingress.kubernetes.io/service.sticky.cookie.name: rustfs traefik.ingress.kubernetes.io/service.sticky.cookie.samesite: none traefik.ingress.kubernetes.io/service.sticky.cookie.secure: "true" nginxAnnotations: nginx.ingress.kubernetes.io/affinity: cookie nginx.ingress.kubernetes.io/proxy-body-size: "0" nginx.ingress.kubernetes.io/session-cookie-expires: "3600" nginx.ingress.kubernetes.io/session-cookie-hash: sha1 nginx.ingress.kubernetes.io/session-cookie-max-age: "3600" nginx.ingress.kubernetes.io/session-cookie-name: rustfs customAnnotations: # Specify custom annotations {} # Customize annotations hosts: - host: example.rustfs.com paths: - path: / pathType: Prefix tls: enabled: false # Enable tls and access rustfs via https. certManager: enabled: false # Enable certmanager to generate certificate for rustfs, default false. secretName: secret-tls crt: tls.crt key: tls.key gatewayApi: enabled: false gatewayClass: traefik listeners: # Specify which listeners to create on the Gateway. Only support for traefik gatewayClass at the moment. http: name: web port: 8000 https: name: websecure port: 8443 hostname: example.rustfs.com existingGateway: name: "" namespace: "" mtls: enabled: false serverOnly: false # If true, only server side TLS will be enabled. If false, both server and client side TLS will be enabled. # This is for setting up mTLS for ingress. resources: {} # We usually recommend not to specify default resources and to leave this as a conscious # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. # limits: # cpu: 200m # memory: 512Mi # requests: # cpu: 100m # memory: 128Mi # This is to setup the liveness and readiness probes more information can be found here: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/ livenessProbe: httpGet: path: /health port: endpoint initialDelaySeconds: 10 periodSeconds: 5 timeoutSeconds: 3 successThreshold: 1 failureThreshold: 3 readinessProbe: httpGet: path: /health/ready port: endpoint initialDelaySeconds: 30 periodSeconds: 5 timeoutSeconds: 3 successThreshold: 1 failureThreshold: 3 nodeSelector: {} tolerations: [] affinity: podAntiAffinity: enabled: true topologyKey: kubernetes.io/hostname nodeAffinity: {} storageclass: name: local-path dataStorageSize: 256Mi logStorageSize: 256Mi pdb: create: false # Minimum number/percentage of pods that should remain scheduled minAvailable: "" # Maximum number/percentage of pods that may be made unavailable maxUnavailable: 1 # Whether information about services should be injected into pod's environment variable enableServiceLinks: false extraManifests: []