Skip to content

feat(qualys-cve-enrichment): migrate connector to manager-supported mode (#7130) - #7341

Open
Hugo Dupras (jabesq) wants to merge 6 commits into
masterfrom
feat/7130-manager-supported-qualys-cve-enrichment
Open

feat(qualys-cve-enrichment): migrate connector to manager-supported mode (#7130)#7341
Hugo Dupras (jabesq) wants to merge 6 commits into
masterfrom
feat/7130-manager-supported-qualys-cve-enrichment

Conversation

@jabesq

Copy link
Copy Markdown
Member

Proposed changes

  • Normalize config.yml.sample and src/requirements.txt (defaulted keys commented out, required keys as ChangeMe; declare pydantic explicitly)
  • Add src/__init__.py re-exporting ConnectorSettings so the config-schema generator can import the model
  • Set manager_supported: true in the connector manifest
  • Regenerate __metadata__/connector_config_schema.json and CONNECTOR_CONFIG_DOC.md
  • Add unit tests covering settings validation and the manager-supported wiring, including the connector.id default

Related issues

Checklist

  • I consider the submitted work as finished
  • I have signed my commits using GPG key.
  • I tested the code for its functionality using different use cases
  • I added/update the relevant documentation (either on github or on notion)
  • Where necessary I refactored code to improve the overall quality

Further comments

Structure-preserving ("lite") migration. This connector already had Pydantic settings
and already built the helper from to_helper_config(), so no rewiring was needed. It
was blocked from being manager-supported by two things: the manifest flag was false,
and config-schema regeneration failed because neither generator import path resolved.

Worth noting for review: the previously committed schema was therefore stale
OPENCTI_TOKEN was missing format: password / writeOnly: true, so the API token
was not being treated as a secret. Regeneration fixes that.

Validation: isort, black, flake8 --ignore=E,W and the custom STIX-ID pylint checker
(10.00/10) all pass; 154 unit tests pass. Schema regeneration is idempotent.

Copilot AI lite review requested due to automatic review settings August 21, 2026 13:35
@jabesq Hugo Dupras (jabesq) added the filigran team Item from the Filigran team. label Aug 21, 2026
@github-actions

Copy link
Copy Markdown

🔴 Connector Linter errors detected

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates the Qualys CVE Enrichment connector to manager-supported mode so it can be deployed via XTM Composer, while keeping the existing runtime wiring (settings → helper → connector) and regenerating the connector’s config artifacts.

Changes:

  • Mark the connector as manager_supported: true and normalize sample configuration/dependencies (including explicitly declaring pydantic).
  • Add a src/__init__.py re-export to make ConnectorSettings importable by the config-schema generator, then regenerate the config schema and documentation (fixing secret handling for OPENCTI_TOKEN).
  • Add unit tests covering settings validation and the manager-supported wiring (including the default connector.id).

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
internal-enrichment/qualys-cve-enrichment/tests/test_main.py Adds wiring tests for manager-supported settings → helper → connector flow.
internal-enrichment/qualys-cve-enrichment/tests/test_connector/test_settings.py Adds settings-validation tests using explicit config dicts and default assertions.
internal-enrichment/qualys-cve-enrichment/src/requirements.txt Declares pydantic explicitly for settings validation.
internal-enrichment/qualys-cve-enrichment/src/config.yml.sample Normalizes sample config; required values use ChangeMe, optional keys are commented out.
internal-enrichment/qualys-cve-enrichment/src/init.py Exposes ConnectorSettings for schema generation import path resolution.
internal-enrichment/qualys-cve-enrichment/metadata/connector_manifest.json Sets manager_supported to true.
internal-enrichment/qualys-cve-enrichment/metadata/connector_config_schema.json Regenerated schema; marks OPENCTI_TOKEN as a password/writeOnly secret.
internal-enrichment/qualys-cve-enrichment/metadata/CONNECTOR_CONFIG_DOC.md Regenerated docs reflecting OPENCTI_TOKEN password formatting.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

import os
import sys

sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

filigran team Item from the Filigran team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(qualys-cve-enrichment): migrate connector to be "manager_supported"

3 participants