Skip to main content

add-bareos-version

Add a new Bareos version directory (Dockerfile + docker-entrypoint.sh) for a given component and flavor (alpine|ubuntu). Use when the user asks to add support for Bareos N-ubuntu or N-alpine, or fill missing version/flavor combos. Also use when the user types "add Bareos 26 ubuntu" or "generate missing Bareos versions".

الانتقال إلى التثبيت

معلومات المصدر

المستودع
dark-vex/bareos
آخر نشاط في المصدر
١٦ سبتمبر ٢٠٢٦ في ١٤:٣١
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
١
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
2 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
add-bareos-version
description
Add a new Bareos version directory (Dockerfile + docker-entrypoint.sh) for a given component and flavor (alpine|ubuntu). Use when the user asks to add support for Bareos N-ubuntu or N-alpine, or fill missing version/flavor combos. Also use when the user types "add Bareos 26 ubuntu" or "generate missing Bareos versions".
allowed-tools
["Read","Write","Edit","Glob","Grep","Bash"]
# add-bareos-version skill Generates missing Bareos Docker image directories. ## Upstream source table See `references/upstream-sources.md` for the authoritative mapping of Bareos version → Alpine tag and Ubuntu repo URL. **Verify this table before generating** — do not assume; run the probe commands in that file if unsure. ## Workflow ### 1. Resolve inputs Accept: a list of `{component, version, flavor}` tuples. Examples: - "Add 26-ubuntu for all standard components" → four tuples: director-pgsql, storage, client, webui, each with version=26, flavor=ubuntu - "Generate client/23-alpine" → one tuple **Standard components** = director-pgsql, storage, client, webui. The api component uses a pip-pinned pattern; handle it separately only if explicitly requested. ### 2. Look up upstream source From `references/upstream-sources.md`: - If the version has no upstream source for the requested flavor → stop and tell the user what's missing. - If the source is marked `current/` → note that the image will install whatever Bareos is current (as of the build date, not the directory name). ### 3. Find the reference template Find the nearest existing directory with the **same component** and **same flavor**: - Same component, closest version, same flavor (e.g. for client/26-ubuntu, reference is client/25-ubuntu) - Read its `Dockerfile` and `docker-entrypoint.sh` in full — use these as the basis for the new files ### 4. Generate the Dockerfile and entrypoint Write the new `Dockerfile` and `docker-entrypoint.sh` directly, adapting the reference template with: - The target directory name (e.g. `client/26-ubuntu`) - The FROM change: e.g. `FROM ubuntu:jammy` (Ubuntu 22.04) - The BAREOS_KEY and BAREOS_REPO values from the upstream sources table - Any differences in how the gpg key is handled between v21 and v22+ style (see below) ### 5. Write files ```bash mkdir -p <component>/<version>-<flavor> # Write Dockerfile # Write docker-entrypoint.sh chmod +x <component>/<version>-<flavor>/docker-entrypoint.sh ``` ### 6. Validate one representative build Run `docker build --check` (or `docker build --platform linux/amd64 --no-cache -t test-bareos:local .`) from inside the new directory. If it fails, fix the Dockerfile/entrypoint directly and rebuild. Do not attempt to build all generated dirs in one pass — do one, verify, then continue. ### 7. Report State what was generated, which tuples were skipped (upstream not found), whether the test build passed. ## Ubuntu key handling difference - v20–21 (old style): `curl -Ls $BAREOS_KEY -o /tmp/bareos.key` then `apt-key add /tmp/bareos.key` - v22+ (new style): `curl -Ls $BAREOS_KEY | gpg --dearmor -o /usr/share/keyrings/bareos.gpg` then `[signed-by=/usr/share/keyrings/bareos.gpg]` in sources.list When generating v26-ubuntu, ensure the reference (v21-ubuntu old style) is adapted to the new gpg style shown in v24-ubuntu.
عرض على GitHub