Skip to content

Kubernetes

Deployment and service

apiVersion: apps/v1
kind: Deployment
metadata:
  name: garf
  labels:
    app: garf
spec:
  replicas: 1
  selector:
    matchLabels:
      app: garf
  template:
    metadata:
      labels:
        app: garf
    spec:
      containers:
       name: garf
        image: ghcr.io/google/garf:latest
        ports:
        - containerPort: 8000

---
apiVersion: v1
kind: Service
metadata:
  name: garf
spec:
  selector:
      app: garf
  type: NodePort
  ports:
    - protocol: TCP
      port: 30003
      targetPort: 8000

Cron job

apiVersion: batch/v1
kind: CronJob
metadata:
  name: garf-rest
spec:
  schedule: "0 * * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
            - name: garf
              image: ghcr.io/google/garf:latest
              imagePullPolicy: IfNotPresent
              command: ["garf"]
              args:
                - "'SELECT id AS device_id, name AS device_name, data.color AS device_color FROM objects'"
                - "--input"
                - "console"
                - "--source"
                - "rest"
                - "--source.endpoint=https://api.restful-api.dev"
                - "--output"
                - "csv"
                - "--logger"
                - "local"
          restartPolicy: OnFailure