Skip to main content

build-images

Build the monitoring-plugin and monitoring-console-plugin development images with a unique tag. Use when the user asks to build both repository images.

Quellinformationen

Repository
openshift/monitoring-plugin
Letzte Quellaktivität
23. September 2026 um 13:56
Erkannte Sprache von SKILL.md
Englisch
Sterne
12
Forks
71

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
build-images
description
Build the monitoring-plugin and monitoring-console-plugin development images with a unique tag. Use when the user asks to build both repository images.
# Build images Run this workflow only when the user explicitly asks to build the images. The build script pushes by default; do not change that behavior without a separate request. 1. Read `Makefile` and `scripts/build-image.sh` before running the build so current image names and environment defaults take precedence over this skill. 2. Select the container engine as `scripts/build-image.sh` does. Determine `REGISTRY_ORG` from the environment, falling back to the build script default. 3. If the user did not provide a tag, derive the base tag from a Jira-style current branch name. If that is not possible, ask for a tag. 4. Query both repositories before selecting the tag: ```bash if [[ -x "$(command -v podman)" && ${PREFER_PODMAN:-1} == 1 ]]; then OCI_BIN=podman else OCI_BIN=docker fi "$OCI_BIN" image ls --filter "reference=quay.io/${REGISTRY_ORG:-openshift-observability-ui}/monitoring-plugin*" --format '{{.Repository}}:{{.Tag}}' "$OCI_BIN" image ls --filter "reference=quay.io/${REGISTRY_ORG:-openshift-observability-ui}/monitoring-console-plugin*" --format '{{.Repository}}:{{.Tag}}' ``` 5. For each candidate tag, query Quay for the exact active tag in both repositories with `GET https://quay.io/api/v1/repository/${REGISTRY_ORG:-openshift-observability-ui}/<repository>/tag/?specificTag=<URL-encoded-tag>&onlyActiveTags=true` (authenticate if needed). Treat any matching remote tag as taken. Choose the next unused numeric suffix across both image names (`TAG-2`, `TAG-3`, and so on) if the base exists locally or remotely. Stop if either remote query fails; a failed lookup does not mean the tag is free. 6. Before pushing, verify that Quay has an enabled organization or repository [immutability policy](https://docs.projectquay.io/quay_jtbd-administer.html#immutable-tags-overview) matching the selected tag for **both** repositories. The policy must make each tag immutable on its first push so a concurrent push cannot move it. Stop if this cannot be verified; the remote lookup alone does not reserve a tag, and making it immutable after pushing leaves a race. 7. From the repository root, run both builds with the same tag: ```bash INTERACTIVE=0 TAG=<unique-tag> make build-image INTERACTIVE=0 TAG=<unique-tag> make build-dev-mcp-image ``` Stop on the first failure, preserve the error output, and report which build failed. Do not push any additional tags or retry with changed settings unless the user asks.
Auf GitHub ansehen