Files
st-flow-tests/specs/compress-pgp-passthrough.yaml

92 lines
2.7 KiB
YAML

# ST Flow Spec — Compress + PGP Encrypt + Pass-through
# Version: 1.0
# Description: Reference 3-step AR flow.
# - .txt files → ZIP compressed
# - .md files → PGP encrypted (binary, recipient's public key)
# - all others → pass-through unchanged
# Canonical test suite: st-flow-tests (this repo)
version: "1.0"
meta:
name: compress-pgp-passthrough
description: >
Compress .txt to ZIP, PGP-encrypt .md, pass all other files through unchanged
to a partner destination.
application:
name: skill-test-ar
type: AdvancedRouting
subscription:
account: conan
folder: /skill-test
application: skill-test-ar
post_transmission_actions:
ptaOnSuccessDoInAdvancedRoutingWildcardPull: true
submitFilenamePatternExpression: "*"
submitFilterType: FILENAME_PATTERN
triggerFileOption: fail
triggerOnSuccessfulWildcardPull: true
routes:
simple:
name: skill-test-simple
conditionType: ALWAYS
steps:
- type: Compress
conditionType: ALWAYS
actionOnStepFailure: PROCEED
fileFilterExpression: "*.txt"
fileFilterExpressionType: GLOB
usePrecedingStepFiles: false
singleArchiveEnabled: false
compressionMode: ZIP
- type: PgpEncryption
conditionType: ALWAYS
actionOnStepFailure: PROCEED
fileFilterExpression: "*.md"
fileFilterExpressionType: GLOB
usePrecedingStepFiles: false
encryptKeyExpression: test-pgp-public # cert name = ALIAS
encryptKeyExpressionType: ALIAS # only ALIAS or EXPRESSION_WILDCARD valid
encryptKeyOwnerExpression: conan # account that owns the cert
encryptKeyOwnerExpressionType: NAME
compressionType: "0" # no PGP internal compression
useAsciiArmour: false # binary output
- type: SendToPartner
conditionType: ALWAYS
actionOnStepFailure: FAIL
fileFilterExpression: "*"
fileFilterExpressionType: GLOB
usePrecedingStepFiles: false
partnerName: clawdbox_partner
partnerSite: clawdbox-partner-site-1771557836
template:
name: skill-test-template
conditionType: MATCH_ALL
composite:
name: skill-test-composite
conditionType: MATCH_ALL
# Prerequisites (validated by st_env_snapshot.py before deploy)
prerequisites:
accounts:
- name: conan
type: individual
partner_accounts:
- name: clawdbox_partner
partner_sites:
- name: clawdbox-partner-site-1771557836
partner: clawdbox_partner
certificates:
- name: test-pgp-public
type: pgp
usage: partner
account: conan
accessLevel: PUBLIC