penguin/monok8s

k8s image for Mono Gateway Dev Kit

clitools/devtools/gen-admission-payload.sh

raw ยท 1102 bytes

#!/usr/bin/env bash

# Example: pipe this into curl
#   ../../devtools/test-upgrade.sh \
#   | this_script
#   | curl -k -H 'Content-Type: application/json' --data-binary @- https://127.0.0.1:8443/admission

set -euo pipefail

uid=$(uuidgen 2>/dev/null)

yq -o=json '.' | jq --arg uid "$uid" '
{
  apiVersion: "admission.k8s.io/v1",
  kind: "AdmissionReview",
  request: {
    uid: $uid,
    kind: {
      group: "monok8s.io",
      version: "v1alpha1",
      kind: "OSUpgrade"
    },
    resource: {
      group: "monok8s.io",
      version: "v1alpha1",
      resource: "osupgrades"
    },
    requestKind: {
      group: "monok8s.io",
      version: "v1alpha1",
      kind: "OSUpgrade"
    },
    requestResource: {
      group: "monok8s.io",
      version: "v1alpha1",
      resource: "osupgrades"
    },
    name: .metadata.name,
    namespace: (.metadata.namespace // ""),
    operation: "CREATE",
    userInfo: {
      username: "debug-user"
    },
    object: .,
    oldObject: null,
    dryRun: false,
    options: {
      apiVersion: "meta.k8s.io/v1",
      kind: "CreateOptions"
    }
  }
}'