Resource Definitions

Driver

Capability

Resource Type

Volumes

This example illustrates how a Workload can use persistent storage service through the Kubernetes volumes system. It uses the volume-pvc Driver to create a PersistentVolume for your application. If you have special requirements for your PersistentVolume, you can also use the Template Driver to create it as shown in this other example.


score.yaml (view on GitHub) :

apiVersion: score.dev/v1b1
metadata:
  name: my-workload
containers:
  my-container:
    image: .
    volumes:
    - source: ${resources.my-pvc}
      target: /target/dir
resources:
  my-pvc:
    type: volume

Resource Definitions


volume-pvc.yaml (view on GitHub) :

apiVersion: entity.humanitec.io/v1b1
kind: Definition
metadata:
  id: volume-pvc
entity:
  type: volume
  driver_type: humanitec/volume-pvc
  name: volume-pvc
  driver_inputs:
    values:
      access_modes: ReadWriteOnce
      capacity: 10Gi
  criteria:
  - {}


volume-pvc.tf (view on GitHub) :

resource "humanitec_resource_definition" "volume-pvc" {
  driver_type = "humanitec/volume-pvc"
  id          = "volume-pvc"
  name        = "volume-pvc"
  type        = "volume"
  driver_inputs = {
    values_string = jsonencode({
      "access_modes" = "ReadWriteOnce"
      "capacity"     = "10Gi"
    })
  }
}

resource "humanitec_resource_definition_criteria" "volume-pvc_criteria_0" {
  resource_definition_id = resource.humanitec_resource_definition.volume-pvc.id

}

Top