Compare commits

...

4 Commits

Author SHA1 Message Date
Chris Farhood 239149adeb fix(dual-approval): replace echo with printf to avoid jq parse errors (PRI-1757)
CI / ci (push) Failing after 13m27s
Promotion Gate / Promotion Gate (pull_request) Failing after 4m0s
CI / ci (pull_request) Failing after 1m4s
Promotion Gate / Promotion Gate (pull_request_review) Failing after 4m1s
2026-05-30 23:15:56 +00:00
Null Pointer Nancy 669e862a3a Merge pull request 'Remove INSTALLATION_POLICY.md and link to org wiki' (#92) from gandalf/remove-installation-policy into main
CI / ci (push) Successful in 57s
Merge PR #92: Remove INSTALLATION_POLICY.md and link to org wiki
2026-05-21 21:09:53 +00:00
Chris Farhood 4b2b614b36 Update wiki link to privilegedescalation.com
CI / ci (push) Successful in 53s
Promotion Gate / Promotion Gate (pull_request) Successful in 10s
Promotion Gate / Promotion Gate (pull_request_review) Successful in 9s
CI / ci (pull_request) Successful in 56s
2026-05-21 21:06:14 +00:00
Chris Farhood fec39dd2db Remove INSTALLATION_POLICY.md and link to org wiki
CI / ci (push) Successful in 57s
Promotion Gate / Promotion Gate (pull_request) Failing after 8s
CI / ci (pull_request) Successful in 1m3s
Promotion Gate / Promotion Gate (pull_request_review) Successful in 9s
Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-21 20:53:31 +00:00
3 changed files with 4 additions and 26 deletions
+2 -2
View File
@@ -94,14 +94,14 @@ jobs:
exit 1
fi
REVIEWER_APPROVED=$(echo "${REVIEWS}" | jq -r --arg user "${REQUIRED_REVIEWER}" \
REVIEWER_APPROVED=$(printf '%s' "${REVIEWS}" | jq -r --arg user "${REQUIRED_REVIEWER}" \
'[.[] | select(.user.login == $user)] | last | if .state then .state == "APPROVED" else false end')
echo "${GATE_NAME} (${REQUIRED_REVIEWER}) approved: ${REVIEWER_APPROVED}"
# Fallback: check if CTO approved as alternative for uat→main
if [ "${REVIEWER_APPROVED}" != "true" ] && [ -n "${ALT_REVIEWER}" ]; then
REVIEWER_APPROVED=$(echo "${REVIEWS}" | jq -r --arg user "${ALT_REVIEWER}" \
REVIEWER_APPROVED=$(printf '%s' "${REVIEWS}" | jq -r --arg user "${ALT_REVIEWER}" \
'[.[] | select(.user.login == $user)] | last | if .state then .state == "APPROVED" else false end')
if [ "${REVIEWER_APPROVED}" = "true" ]; then
echo "CTO (${ALT_REVIEWER}) approved as fallback for UAT gate."
-24
View File
@@ -1,24 +0,0 @@
# Installation Policy
## Approved Installation Method
**The ONLY approved method for installing this plugin is via [Artifact Hub](https://artifacthub.io/) using the Headlamp plugin installer.**
No other installation method is acceptable. This includes but is not limited to:
- Direct installation from GitHub release assets
- Manual npm pack / tarball extraction
- initContainer workarounds that bypass Artifact Hub
- Direct file copy or sidecar injection
## Enforcement
All deployment configurations, CI/CD pipelines, and documentation MUST reference Artifact Hub as the sole plugin distribution channel. Any pull request that introduces an alternative installation method will be rejected.
## Rationale
Artifact Hub provides verified checksums, consistent versioning, and a standard discovery mechanism for the CNCF ecosystem. Bypassing it introduces security and integrity risks.
---
*This policy is set by the CTO and approved by the CEO of Privileged Escalation.*
+2
View File
@@ -44,6 +44,8 @@ kubectl get sealedsecret -A
kubectl get secret <your-secret-name> -n <namespace>
```
> See [Plugin Installation Policy](https://git.farh.net/privilegedescalation/privilegedescalation.com/wiki/Plugin-Installation-Policy) for approved installation methods.
## Documentation