Skip to main content Link Menu Expand (external link) Document Search Copy Copied

How to attach the storage

The platform offers several methods to attach different types of storage to the applications. Mainly you can either setup storage using the options already included in the Component definitions, or attach the storage with traits.

Setting storage using the component properties

Default component types such as webservice or worker offer a set of parameters to configure the component storage. As an example, to attach storage with the most common components use:

kind: Application
  name: my-app
    - name: backend # Name of the component
      type: webservice # Set to webservice
        image: my-app-image:v1.0.0 # (Required) Container image
        volumeMounts: # (Optional) Definition of the volumes to be mounted
          pvc: # Using a Persistent Volume Claim
          - name: data
            mountPath: "/var/lib/db"
            claimName: "db-pvc"
          configMap: # Using a Config Map
          - name: cm-data
            mountPath: "/config"
            cmName: "db-config"
          secret: # Using a Secret
          - name: cert-data
            mountPath: "/certs"
            secretName: "db-certs"
          emptyDir: # Using an ephemeral mount
          - name: temp-data
            mountPath: "/var/lib/tmp"

For other component types, check the specific component documentation.

Setting storage using a trait

Similarly to the component types, some traits such as the storage one offer a method to attach volumes to a component. As an example, to attach storage using the previous trait use:

kind: Application
  name: my-app
    - name: my-comp
      type: worker
        image: my-app-image:v1.0.0
        - type: storage # Set to storage
            emptyDir: # EmptyDir type storage
              - name: empty-name # (Required) the name of the volume
                mountPath: /mount/emptydir # (Required) mount path    

For more information, check the specific trait documentation.