diff --git a/CHANGELOG.md b/CHANGELOG.md index e3722fc..86a8c21 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ Versions follow [Semantic Versioning](https://semver.org). The newest entry must match `metadata.version` in `SKILL.md` and `__version__`/`VERSION` in both scripts (checked by `tests/test_skill_package.py`). +## [2.1.1] - 2026-10-28 + +### Changed + +- Made the project status explicit: personal project, not for production use, not endorsed or supported by Cisco or Splunk. Stated in the README banner, `SUPPORT.md` and a new Status section in `SKILL.md`, with a test that keeps all three in place. + ## [2.1.0] - 2026-10-28 Aligned with the conventions of the official [splunk-agent-skills](https://github.com/splunk/splunk-agent-skills). diff --git a/README.md b/README.md index 50143d7..2e7b354 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,11 @@ # splunkbase-skill +> [!WARNING] +> **Personal project, not for production use.** This is not a Splunk or Cisco +> product and is **not endorsed or supported by Cisco or Splunk**. It uses +> Splunkbase's undocumented API and is provided "as is" under the +> [Apache-2.0](LICENSE) license, without warranty. See [SUPPORT.md](SUPPORT.md). + A Claude Skill that resolves Splunkbase apps to their current download URLs (optionally for a given Splunk version) and finds app IDs by name. Built for generating `SPLUNK_APPS_URL` in `splunk/splunk` Docker Compose setups. ## Install diff --git a/SKILL.md b/SKILL.md index 23002f9..383e8ca 100644 --- a/SKILL.md +++ b/SKILL.md @@ -3,7 +3,7 @@ name: splunkbase-skill description: Resolve Splunkbase apps to their current download URLs, optionally for a specific Splunk version, and find app IDs by name. Use when the user wants the latest release URL of a Splunkbase app or add-on, needs SPLUNK_APPS_URL for splunk/splunk Docker Compose or Kubernetes deployments, asks which Splunkbase release supports their Splunk version, or gives a splunkbase.splunk.com link or app ID. Route app lifecycle, upgrade, or removal advice and general product questions to their owning workflows. license: Apache-2.0 metadata: - version: 2.1.0 + version: 2.1.1 splunk: domain: splunkbase-release-resolution products: @@ -37,6 +37,13 @@ Resolve Splunkbase apps to exact, current release URLs by running the bundled script. Never write a release URL or version from memory: versions change constantly and some releases have unusual names. +## Status + +Personal project, not meant for production use. It is not a Splunk or Cisco +product and is not endorsed or supported by Cisco or Splunk. It relies on +Splunkbase's undocumented API, so treat every result as something to verify. +When the output feeds a production system, say so and recommend review first. + ## Prerequisites - Python 3.9+ (standard library only) or `curl` and `jq` for the bash fallback. diff --git a/SUPPORT.md b/SUPPORT.md index ab8346c..84a6584 100644 --- a/SUPPORT.md +++ b/SUPPORT.md @@ -1,8 +1,17 @@ # Support -This is a personal, unofficial project. It is not a Splunk product and is not -covered by any Splunk support contract. It uses Splunkbase's undocumented JSON -API, which can change without notice; a weekly workflow checks for drift. +This is a personal project, developed and maintained on its own time. -Questions and bugs: open a GitHub issue. For supported Splunk products, see +- **Not for production use.** Use it for labs, demos and development + environments, and review the output before relying on it anywhere else. +- **Not endorsed or supported by Cisco or Splunk.** It is not a Splunk or + Cisco product, and no Cisco or Splunk support contract, including Splunk + Support cases, covers it. +- **Unofficial API.** It uses Splunkbase's undocumented JSON API, which can + change without notice; a weekly workflow checks for drift. +- **No warranty.** It is provided "as is" under the [Apache-2.0](LICENSE) + license. + +Questions and bugs: open a GitHub issue; responses are best effort. For +supported Splunk products, see [Working with Splunk Support](https://www.splunk.com/en_us/resources/working-with-splunk-support.html). diff --git a/scripts/get_splunkbase_urls.sh b/scripts/get_splunkbase_urls.sh index c72295d..e410588 100755 --- a/scripts/get_splunkbase_urls.sh +++ b/scripts/get_splunkbase_urls.sh @@ -13,7 +13,7 @@ set -euo pipefail -VERSION="2.1.0" +VERSION="2.1.1" BASE_URL="${SPLUNKBASE_BASE_URL:-https://splunkbase.splunk.com}" BASE_URL="${BASE_URL%/}" TIMEOUT=10 diff --git a/scripts/splunkbase_urls.py b/scripts/splunkbase_urls.py index 0419ecd..9e33312 100755 --- a/scripts/splunkbase_urls.py +++ b/scripts/splunkbase_urls.py @@ -29,7 +29,7 @@ from dataclasses import asdict, dataclass, field from typing import Any, Optional -__version__ = "2.1.0" +__version__ = "2.1.1" DEFAULT_BASE_URL = "https://splunkbase.splunk.com" USER_AGENT = f"splunkbase-skill/{__version__}" diff --git a/tests/test_skill_package.py b/tests/test_skill_package.py index a0d1c23..f4873a1 100644 --- a/tests/test_skill_package.py +++ b/tests/test_skill_package.py @@ -158,6 +158,14 @@ def test_license_file_matches_declared_license_and_ships(self): self.assertIn("Version 2.0, January 2004", text) self.assertNotRegex((ROOT / ".gitattributes").read_text(), r"(?m)^/LICENSE\s+export-ignore") + def test_personal_project_disclaimer_is_everywhere_users_look(self): + for name in ("README.md", "SUPPORT.md", "SKILL.md"): + text = " ".join((ROOT / name).read_text().split()).lower() + with self.subTest(file=name): + self.assertIn("personal project", text) + self.assertIn("production", text) + self.assertRegex(text, r"not endorsed or supported by cisco") + def test_no_hard_coded_release_versions_in_skill_instructions(self): # Versions rot; the skill must tell Claude to look them up instead. text = self.skill_md.read_text()