perfsonar / perfsonar/pscompose

Confirm all the different archive schemas are working

Open
#186 0 comments 0 reactions 1 assignee View on GitHub

@sartaj10 is already working on this.

Since May 27, 2026.

Dominant language
Python
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

  • Kafka Archiver
    Currently, we have to define _ssl-key, _ssl-cert etc in the main object even though they are specified in the allOf list. mergeSchemaProperties in mergeSchema.js only merges versionData.properties into the base schema. The allOf block is never merged

  • SNMPTrap archiver isn't working

  • retry-policy is an array of structured objects {attempts, wait}.

    • Eg: [ {“attempts”: 5, “wait”: 5}, { } ]
    • Archivers: KAFKA, RABBITMQ, HTTP, TCP, UDP
  • summaries in esmond — similar to retry-policy, it’s an array of structured objects {event-type, summary-type, summary-window}, not a flat list.

  • routing-key in rabbitmq v2/v3 - it’s an anyOf that can be either a plain string or a complex object with script, args, output-raw

  • trap-varbinds in snmptrap — array of {oid, value} objects, where value has no schema at all ({}), meaning it can be anything.

  • kafka v2 allOf if/then — the SSL fields only appear conditionally based on security-protocol. Already leaving this as {}

  • snmptrap v1 oneOf — already leaving as {}

  • _dsn in postgresql — it’s a password field (leading _) which maps correctly to ps-input-password, but a DSN is actually a connection string like postgresql://user:pass@host/db. You might want a dedicated component for that

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.