DevOps Plan persistent volumes

Learn the default value settings for persistent volumes in DevOps Plan.

Persistent Volumes that will hold the devopsplan data, config, share, and logs folders for DevOps Plan are required. If your cluster supports default StorageClass and dynamic volume provisioning, you will not need to create a StorageClass (SC) and PersistentVolume (PV) before installing DevOps Plan. If your cluster does not support default SC and dynamic volume provisioning, you must either ensure an SC and PV is available, or disable the persistent volume by setting persistence.enabled to false before installing DevOps Plan.

By default, DevOps Plan helm charts are set to persist the data configuration files to the following mounted folders:
  • hcl-devopsplan data, config, share and logs folders.
  • hcl-devopsplan-analytics data, config, share and logs folders.
  • hcl-devopsplan-opensearch data folder.
  • hcl-devopsplan-keycloak data folder.
  • hcl-devopsplan-postgresql data folder.
The default value settings for the persistent volumes are shown below. You can update these values based on your requirements.
hcl-devopsplan:
 persistence:
  ## Enable persistence
  enabled: true
  ccm:
    storageClass: ''
    enabled: true
    data: 
      enabled: true
      accessModes: 
        - ReadWriteOnce
      size: 2Gi 
      reclaimPolicy: Retain
      existingClaim: ""
    config:
      enabled: true
      accessModes: 
        - ReadWriteOnce
      size: 2Gi
      reclaimPolicy: Retain
      existingClaim: ""
    share:
      enabled: true
      accessModes:
        - ReadWriteOnce
      size: 2Gi
      reclaimPolicy: Retain
      existingClaim: ""
    logs: 
      enabled: true
      accessModes: 
        - ReadWriteOnce
      size: 2Gi
      reclaimPolicy: Retain
      existingClaim: ""
  analytics:
    enabled: true
    storageClass: ''
    data: 
      enabled: true
      accessModes: 
        - ReadWriteOnce
      size: 2Gi 
      reclaimPolicy: Retain
      existingClaim: ""
    config:
      enabled: true
      accessModes: 
        - ReadWriteOnce
      size: 2Gi
      reclaimPolicy: Retain
      existingClaim: ""
    share:
      enabled: true
      accessModes:
        - ReadWriteOnce
      size: 2Gi
      reclaimPolicy: Retain
      existingClaim: ""
    logs: 
      enabled: true
      accessModes: 
        - ReadWriteOnce
      size: 2Gi
      reclaimPolicy: Retain
      existingClaim: ""
  opensearch:
    enabled: true
    storageClass: ''
    accessModes:
      - ReadWriteOnce
    size: 2Gi
    reclaimPolicy: Retain
    existingClaim: ""
  postgresql:
    enabled: true
    storageClass: ''
    accessModes:
      - ReadWriteOnce
    size: 2Gi
    reclaimPolicy: Retain
    existingClaim: ""
    initPostgres: false
    tag: data
  keycloak:
    enabled: true
    storageClass: ''
    accessModes:
      - ReadWriteOnce
    size: 2Gi
    reclaimPolicy: Retain
    existingClaim: ""
  connectOption:
    ccm: false
    path: ""

  ## Type of storage class to be used
  ## If defined, storageClassName: <storageClass>
  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
  ##   GKE, AWS & OpenStack)
  storageClass: ''

  ## Annotations for PVC
  annotations: {}

  ## Enabling/disabling the application.properties and analytics.properties configmap.
  ## If it is enabled, then it will update the values of the application.properties 
  ## and analytics.properties files as set in the /config/ folder.
  properties:
    application:
      enabled: false
    analytics:
      enabled: false

You can list PVs and PVCs using *kubectl get pv* and *kubectl get pvc* commands.

```bash 
$ kubectl get pvc --namespace [namespace_name]
You can use kubectl describe pv [pv-name] and kubectl describe pvc [pvc-name] commands to see more detailed information for each PV and PVC.
Note: Note that the DevOps Plan Helm Chart sets the persistent volume by default. If your Kubernetes environment does not provide default StoreageClass, then you must create your own default StorageClass and set the StorageClass name to persistence.storageClass or disable the persistent volume by setting persistence.enabled=false.