Drop admission logic. Use a plain controller instead

This commit is contained in:
2026-04-22 05:01:48 +08:00
parent 6ddff7c433
commit 9eba55e7ee
9 changed files with 535 additions and 276 deletions

View File

@@ -1,52 +0,0 @@
#!/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"
}
}
}'

View File

@@ -14,4 +14,4 @@ else
-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
go run "$PROJ_ROOT"/cmd/ctl controller --tls-cert-file "$OUT_DIR"/tls.crt --tls-private-key-file "$OUT_DIR"/tls.key --namespace default