Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1273f94ae5 | |||
| 99bac773cc | |||
| 9fdb7c04cd | |||
| 975a31d1f3 | |||
| e54630410e | |||
| 4838b22a02 |
@@ -115,9 +115,6 @@ 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 \
|
||||||
@@ -166,36 +163,23 @@ 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"
|
||||||
# Determine which Gitea branch to update based on version suffix
|
git fetch origin main
|
||||||
if [[ "$VERSION" == *"-dev."* ]]; then
|
git checkout origin/main -B main
|
||||||
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 temp-update:${GITEA_BRANCH}
|
git push origin main
|
||||||
}
|
}
|
||||||
# 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}
|
||||||
# Only push to GitHub main branch for STABLE releases
|
# Also push to GitHub directly to avoid waiting for mirror sync
|
||||||
# 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
|
||||||
if [[ "$VERSION" != *"-dev."* ]]; then
|
git push github main 2>/dev/null || true
|
||||||
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,59 +83,6 @@ 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.2.0-dev.5
|
version: 0.2.0-dev.2
|
||||||
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.2.0-dev.5/headlamp-polaris-plugin-0.2.0-dev.5.tar.gz"
|
headlamp/plugin/archive-url: "https://github.com/cpfarhood/headlamp-polaris-plugin/releases/download/v0.2.0-dev.2/headlamp-polaris-plugin-0.2.0-dev.2.tar.gz"
|
||||||
headlamp/plugin/version-compat: ">=0.26"
|
headlamp/plugin/version-compat: ">=0.26"
|
||||||
headlamp/plugin/archive-checksum: sha256:cb8d03f52022590fce5565b4f08a3fb99d0e264f3ff6a1c99ab59bf48b33ef79
|
headlamp/plugin/archive-checksum: sha256:ffd430bfc5262fb592ecd8eb0f0d5d04e04845468737c5e4704dfe7cc7522963
|
||||||
headlamp/plugin/distro-compat: in-cluster
|
headlamp/plugin/distro-compat: in-cluster
|
||||||
|
|||||||
Reference in New Issue
Block a user