Drafting ctl controller
This commit is contained in:
52
clitools/devtools/gen-admission-payload.sh
Executable file
52
clitools/devtools/gen-admission-payload.sh
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/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"
|
||||
}
|
||||
}
|
||||
}'
|
||||
17
clitools/devtools/run-controller.sh
Executable file
17
clitools/devtools/run-controller.sh
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
SCRIPT_DIR="$(dirname "${BASH_SOURCE[0]}")"
|
||||
PROJ_ROOT="$( realpath "$SCRIPT_DIR"/../ )"
|
||||
OUT_DIR="$PROJ_ROOT"/out
|
||||
|
||||
if [ -f "$OUT_DIR/tls.key" ] && [ -f "$OUT_DIR/tls.crt" ]; then
|
||||
echo "Use existing certs"
|
||||
else
|
||||
echo "Generating self signed certs"
|
||||
openssl req -x509 -newkey rsa:2048 -nodes -days 365 \
|
||||
-keyout "$OUT_DIR"/tls.key -out "$OUT_DIR"/tls.crt \
|
||||
-subj "/CN=127.0.0.1" \
|
||||
-addext "subjectAltName=IP:127.0.0.1,DNS:localhost"
|
||||
fi
|
||||
|
||||
go run "$PROJ_ROOT"/cmd/ctl controller --tls-cert-file "$OUT_DIR"/tls.crt --tls-private-key-file "$OUT_DIR"/tls.key
|
||||
Reference in New Issue
Block a user