#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Claim an EBS PersistentVolume.
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: ebs-claim-exist
  labels:
    type: amazonEBS
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi

---
# Create a pod that reads and writes to the EBS mounted volume.
kind: Pod
apiVersion: v1
metadata:
  name: pod-with-volume
  labels:
    applicationId: "pod-with-ebs-exist"
    queue: "root.sandbox"
spec:
  schedulerName: yunikorn
  containers:
    - name: pod-with-ebs-exist
      image: alpine
      resources:
        requests:
          cpu: "100m"
          memory: "500M"
      # Mount the EBS volume in the container
      volumeMounts:
        - name: ebs-claim-exist
          mountPath: "/var/tmp/mytest"
      # Write to a file inside our mounted path
      command: ["/bin/sh"]
      args: ["-c", "while true; do date >> /var/tmp/mytest/dates.txt; sleep 5; done"]
  # Add the EBS volume claim
  volumes:
    - name: ebs-claim-exist
      persistentVolumeClaim:
        claimName: ebs-claim-exist

