Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f2a2176eb6 | |||
| 73939e66ad | |||
| 2c26d49bf9 | |||
| 679be5dedc |
@@ -115,6 +115,9 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: |
|
run: |
|
||||||
[ "$SKIP_BUILD" = "true" ] && exit 0
|
[ "$SKIP_BUILD" = "true" ] && exit 0
|
||||||
|
# Push tag to GitHub first so it exists before creating the release
|
||||||
|
git remote add github-release https://x-access-token:${{ secrets.GH_PAT }}@github.com/cpfarhood/headlamp-polaris-plugin.git 2>/dev/null || true
|
||||||
|
git push -f github-release ${GITHUB_REF_NAME} 2>/dev/null || true
|
||||||
GH_API="https://api.github.com/repos/cpfarhood/headlamp-polaris-plugin"
|
GH_API="https://api.github.com/repos/cpfarhood/headlamp-polaris-plugin"
|
||||||
# Create release or fetch existing one
|
# Create release or fetch existing one
|
||||||
BODY=$(curl -s -X POST \
|
BODY=$(curl -s -X POST \
|
||||||
@@ -163,23 +166,36 @@ jobs:
|
|||||||
VERSION=${GITHUB_REF_NAME#v}
|
VERSION=${GITHUB_REF_NAME#v}
|
||||||
git config user.name "gitea-actions[bot]"
|
git config user.name "gitea-actions[bot]"
|
||||||
git config user.email "gitea-actions[bot]@git.farh.net"
|
git config user.email "gitea-actions[bot]@git.farh.net"
|
||||||
git fetch origin main
|
# Determine which Gitea branch to update based on version suffix
|
||||||
git checkout origin/main -B main
|
if [[ "$VERSION" == *"-dev."* ]]; then
|
||||||
|
GITEA_BRANCH="dev"
|
||||||
|
else
|
||||||
|
GITEA_BRANCH="main"
|
||||||
|
fi
|
||||||
|
git fetch origin ${GITEA_BRANCH}
|
||||||
|
git checkout origin/${GITEA_BRANCH} -B temp-update
|
||||||
sed -i "s|headlamp/plugin/archive-checksum:.*|headlamp/plugin/archive-checksum: sha256:${CHECKSUM}|" artifacthub-pkg.yml
|
sed -i "s|headlamp/plugin/archive-checksum:.*|headlamp/plugin/archive-checksum: sha256:${CHECKSUM}|" artifacthub-pkg.yml
|
||||||
sed -i "s|headlamp/plugin/archive-url:.*|headlamp/plugin/archive-url: \"https://github.com/cpfarhood/headlamp-polaris-plugin/releases/download/${GITHUB_REF_NAME}/headlamp-polaris-plugin-${VERSION}.tar.gz\"|" artifacthub-pkg.yml
|
sed -i "s|headlamp/plugin/archive-url:.*|headlamp/plugin/archive-url: \"https://github.com/cpfarhood/headlamp-polaris-plugin/releases/download/${GITHUB_REF_NAME}/headlamp-polaris-plugin-${VERSION}.tar.gz\"|" artifacthub-pkg.yml
|
||||||
sed -i "s|^version:.*|version: ${VERSION}|" artifacthub-pkg.yml
|
sed -i "s|^version:.*|version: ${VERSION}|" artifacthub-pkg.yml
|
||||||
git add artifacthub-pkg.yml
|
git add artifacthub-pkg.yml
|
||||||
git diff --cached --quiet || {
|
git diff --cached --quiet || {
|
||||||
git commit -m "ci: update artifact hub metadata for ${GITHUB_REF_NAME}"
|
git commit -m "ci: update artifact hub metadata for ${GITHUB_REF_NAME}"
|
||||||
git push origin main
|
git push origin temp-update:${GITEA_BRANCH}
|
||||||
}
|
}
|
||||||
# Force-move tag to the commit with correct checksum.
|
# Force-move tag to the commit with correct checksum.
|
||||||
# This triggers a new CI run, but the guard step will detect
|
# This triggers a new CI run, but the guard step will detect
|
||||||
# that the release checksum already matches and skip the build.
|
# that the release checksum already matches and skip the build.
|
||||||
git tag -f ${GITHUB_REF_NAME}
|
git tag -f ${GITHUB_REF_NAME}
|
||||||
git push -f origin ${GITHUB_REF_NAME}
|
git push -f origin ${GITHUB_REF_NAME}
|
||||||
# Also push to GitHub directly to avoid waiting for mirror sync
|
# Only push to GitHub main branch for STABLE releases
|
||||||
|
# Dev releases only create GitHub releases, don't update main branch
|
||||||
|
# This keeps GitHub main branch at latest stable for ArtifactHub
|
||||||
git remote add github https://x-access-token:${{ secrets.GH_PAT }}@github.com/cpfarhood/headlamp-polaris-plugin.git 2>/dev/null || true
|
git remote add github https://x-access-token:${{ secrets.GH_PAT }}@github.com/cpfarhood/headlamp-polaris-plugin.git 2>/dev/null || true
|
||||||
git push github main 2>/dev/null || true
|
if [[ "$VERSION" != *"-dev."* ]]; then
|
||||||
|
echo "Stable release detected - pushing to GitHub main branch"
|
||||||
|
git push github temp-update:main 2>/dev/null || true
|
||||||
|
else
|
||||||
|
echo "Dev release detected - skipping GitHub main branch update"
|
||||||
|
fi
|
||||||
git push -f github ${GITHUB_REF_NAME} 2>/dev/null || true
|
git push -f github ${GITHUB_REF_NAME} 2>/dev/null || true
|
||||||
echo "Tag ${GITHUB_REF_NAME} aligned with updated metadata"
|
echo "Tag ${GITHUB_REF_NAME} aligned with updated metadata"
|
||||||
|
|||||||
@@ -83,6 +83,59 @@ npm run build
|
|||||||
npx @kinvolk/headlamp-plugin extract . /headlamp/plugins
|
npx @kinvolk/headlamp-plugin extract . /headlamp/plugins
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Installing Dev/Preview Versions
|
||||||
|
|
||||||
|
Dev preview versions (e.g., `v0.2.0-dev.4`) are published to [GitHub Releases](https://github.com/cpfarhood/headlamp-polaris-plugin/releases) but are **not available via ArtifactHub**. These versions contain experimental features and are intended for testing.
|
||||||
|
|
||||||
|
To install a dev version, use the direct URL method:
|
||||||
|
|
||||||
|
### Sidecar container pattern (recommended)
|
||||||
|
|
||||||
|
Create a ConfigMap with the dev version URL:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: headlamp-plugin-config
|
||||||
|
namespace: kube-system
|
||||||
|
data:
|
||||||
|
plugin.yml: |
|
||||||
|
plugins:
|
||||||
|
- url: https://github.com/cpfarhood/headlamp-polaris-plugin/releases/download/v0.2.0-dev.4/headlamp-polaris-plugin-0.2.0-dev.4.tar.gz
|
||||||
|
```
|
||||||
|
|
||||||
|
Then configure Headlamp to use a sidecar container that installs from this config:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
# In Headlamp Helm values or deployment
|
||||||
|
containers:
|
||||||
|
- name: headlamp-plugin-installer
|
||||||
|
image: node:lts-alpine
|
||||||
|
command: ["/bin/sh", "-c"]
|
||||||
|
args:
|
||||||
|
- |
|
||||||
|
npm install -g @kinvolk/headlamp-plugin
|
||||||
|
headlamp-plugin install --config /config/plugin.yml
|
||||||
|
volumeMounts:
|
||||||
|
- name: plugins
|
||||||
|
mountPath: /headlamp/plugins
|
||||||
|
- name: plugin-config
|
||||||
|
mountPath: /config
|
||||||
|
volumes:
|
||||||
|
- name: plugins
|
||||||
|
emptyDir: {}
|
||||||
|
- name: plugin-config
|
||||||
|
configMap:
|
||||||
|
name: headlamp-plugin-config
|
||||||
|
```
|
||||||
|
|
||||||
|
### Manual download
|
||||||
|
|
||||||
|
Browse [GitHub Releases](https://github.com/cpfarhood/headlamp-polaris-plugin/releases), download the dev version tarball, and extract it to your Headlamp plugins directory.
|
||||||
|
|
||||||
|
**Note:** Dev versions are tagged with the `-dev.N` suffix and may introduce breaking changes or unstable features. Use stable versions for production deployments.
|
||||||
|
|
||||||
## RBAC / Security Setup
|
## RBAC / Security Setup
|
||||||
|
|
||||||
The plugin fetches audit data through the Kubernetes API server's **service proxy** sub-resource. The identity making the request (Headlamp's service account, or the user's own token in token-auth mode) must be granted:
|
The plugin fetches audit data through the Kubernetes API server's **service proxy** sub-resource. The identity making the request (Headlamp's service account, or the user's own token in token-auth mode) must be granted:
|
||||||
|
|||||||
+3
-3
@@ -1,4 +1,4 @@
|
|||||||
version: 0.1.6
|
version: 0.2.0-dev.5
|
||||||
name: headlamp-polaris-plugin
|
name: headlamp-polaris-plugin
|
||||||
displayName: Polaris
|
displayName: Polaris
|
||||||
createdAt: "2026-02-05T19:00:00Z"
|
createdAt: "2026-02-05T19:00:00Z"
|
||||||
@@ -28,7 +28,7 @@ maintainers:
|
|||||||
- name: cpfarhood
|
- name: cpfarhood
|
||||||
email: "chris@farhood.org"
|
email: "chris@farhood.org"
|
||||||
annotations:
|
annotations:
|
||||||
headlamp/plugin/archive-url: "https://github.com/cpfarhood/headlamp-polaris-plugin/releases/download/v0.1.6/headlamp-polaris-plugin-0.1.6.tar.gz"
|
headlamp/plugin/archive-url: "https://github.com/cpfarhood/headlamp-polaris-plugin/releases/download/v0.2.0-dev.5/headlamp-polaris-plugin-0.2.0-dev.5.tar.gz"
|
||||||
headlamp/plugin/version-compat: ">=0.26"
|
headlamp/plugin/version-compat: ">=0.26"
|
||||||
headlamp/plugin/archive-checksum: sha256:7e56af04bcd9121e09eab092608c774b3aa2137d1e0338f1bb06149dd3f5c3ce
|
headlamp/plugin/archive-checksum: sha256:cb8d03f52022590fce5565b4f08a3fb99d0e264f3ff6a1c99ab59bf48b33ef79
|
||||||
headlamp/plugin/distro-compat: in-cluster
|
headlamp/plugin/distro-compat: in-cluster
|
||||||
|
|||||||
Reference in New Issue
Block a user