├── .editorconfig
├── .github
├── issue_template.md
└── workflows
│ └── ci.yml
├── .gitignore
├── .rustfmt.toml
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Cargo.lock
├── Cargo.toml
├── LICENSE.md
├── Makefile
├── README.md
├── VERSION
├── bin
├── find-executables.sh
├── install-dependencies-debian.sh
├── install-dependencies-macos.sh
├── package.sh
├── tag-release.sh
└── update-homebrew-formula.sh
├── doc
├── .gitignore
├── book.toml
└── src
│ ├── SUMMARY.md
│ ├── compare.md
│ ├── index.md
│ ├── installation.md
│ ├── tools
│ ├── about.md
│ ├── extract.md
│ ├── fixtures
│ │ ├── extract
│ │ │ └── credentials.yml
│ │ ├── process
│ │ │ ├── game-config.yml
│ │ │ ├── multi-document.yml
│ │ │ ├── multi-stage-config.yml
│ │ │ ├── project.yml
│ │ │ └── team.yml
│ │ └── substitute
│ │ │ ├── base0.hbs
│ │ │ ├── base1.hbs
│ │ │ ├── data-processor
│ │ │ ├── data.json
│ │ │ ├── kubernetes-manifest.yaml.tpl
│ │ │ ├── project.yml
│ │ │ ├── team.yml
│ │ │ ├── template.hbs
│ │ │ └── template.tpl
│ ├── process.md
│ └── substitute.md
│ └── vault
│ ├── about.md
│ ├── add.md
│ ├── edit.md
│ ├── first-steps.md
│ ├── init.md
│ ├── list.md
│ ├── partitions
│ ├── about.md
│ ├── add.md
│ └── remove.md
│ ├── recipients
│ ├── about.md
│ ├── add.md
│ ├── init.md
│ ├── list.md
│ └── remove.md
│ ├── remove.md
│ └── show.md
├── etc
├── brew
│ └── sheesy.rb.in
└── docker
│ ├── Dockerfile.alpine-docs
│ ├── Dockerfile.alpine-gpg2
│ ├── Dockerfile.musl-build
│ ├── Dockerfile.rust
│ └── Dockerfile.travis-ubuntu
├── lib
├── tools
│ ├── Cargo.toml
│ ├── src
│ │ ├── lib.rs
│ │ ├── process
│ │ │ ├── mod.rs
│ │ │ ├── types.rs
│ │ │ └── util.rs
│ │ └── substitute
│ │ │ ├── mod.rs
│ │ │ ├── spec.rs
│ │ │ └── util.rs
│ └── tests
│ │ └── spec.rs
└── vault
│ ├── Cargo.toml
│ ├── src
│ ├── base.rs
│ ├── error.rs
│ ├── init.rs
│ ├── lib.rs
│ ├── partitions.rs
│ ├── recipients
│ │ ├── add.rs
│ │ ├── mod.rs
│ │ ├── other.rs
│ │ ├── remove.rs
│ │ └── util.rs
│ ├── resource.rs
│ ├── spec.rs
│ └── util.rs
│ └── tests
│ ├── spec.rs
│ └── vault-serde.rs
├── release.md
├── signing-keys.asc
├── src
├── cli
│ ├── completions.rs
│ ├── extract.rs
│ ├── merge.rs
│ ├── mod.rs
│ ├── substitute.rs
│ ├── util.rs
│ └── vault.rs
├── dispatch
│ ├── mod.rs
│ └── vault
│ │ ├── base.rs
│ │ ├── doit.rs
│ │ └── mod.rs
├── parse
│ ├── completions.rs
│ ├── extract.rs
│ ├── merge.rs
│ ├── mod.rs
│ ├── substitute.rs
│ ├── util.rs
│ └── vault.rs
├── sy.rs
├── sye.rs
├── syp.rs
├── sys.rs
├── syv.rs
└── util.rs
└── tests
├── gpg-helpers.sh
├── included-stateless-extract.sh
├── included-stateless-merge.sh
├── included-stateless-substitute.sh
├── included-stateless-vault.sh
├── journeys
├── 00-vault-init-no-gpg.sh
├── 01-vault-init.sh
├── 02-vault-edit.sh
├── 03-vault-recipients-verified.sh
├── 04-vault-recipients-unverified.sh
├── 05-vault-recipients-remove.sh
├── 06-vault-partition.sh
├── 07-vault-partition-and-recipients.sh
├── 08-vault-always-encrypt.sh
├── dockerfile-gen
│ ├── 00-vault-init-no-gpg.sh
│ ├── zz-getting-started.sh
│ └── zz-vault-gpg1.sh
├── fixtures
│ ├── a.sec.asc
│ ├── b.pub.asc
│ ├── b.sec.asc
│ ├── c.pub.asc
│ ├── c.sec.asc
│ ├── extract
│ │ └── sample.yml
│ ├── merge
│ │ ├── complex.yml
│ │ ├── good-answer.yml
│ │ ├── multi-docs-1.yml
│ │ ├── multi-docs-2.yml
│ │ ├── multi-docs-conflict.yml
│ │ ├── wrong-answer.json
│ │ └── wrong-answer.yml
│ ├── snapshots
│ │ ├── extract
│ │ │ ├── complex-value-as-yaml
│ │ │ ├── complex-value-json-output
│ │ │ ├── fail-file-cannot-be-read
│ │ │ ├── fail-invalid-output-mode
│ │ │ ├── fail-multiple-missing-keys
│ │ │ ├── fail-no-input
│ │ │ ├── fail-not-a-single-pointer
│ │ │ ├── fail-read-multiple-times-from-stdin
│ │ │ ├── fail-single-missing-key
│ │ │ ├── multiple-scalars
│ │ │ ├── multiple-scalars-and-array-explicit-output
│ │ │ ├── multiple-scalars-and-complex
│ │ │ ├── single-boolean
│ │ │ ├── single-boolean-as-json
│ │ │ ├── single-null
│ │ │ ├── single-null-as-yaml
│ │ │ ├── single-scalar
│ │ │ ├── single-scalar-as-json
│ │ │ └── single-string
│ │ ├── getting-started
│ │ │ └── syv-output-on-alpine
│ │ ├── merge
│ │ │ ├── allow-overwrite-file-from-stdin-with-one-conflicting-file-to-stdout
│ │ │ ├── allow-overwrite-multi-doc-yaml-with-conflict-from-file-to-stdout
│ │ │ ├── allow-overwrite-multi-doc-yaml-with-conflict-from-stdin-to-stdout
│ │ │ ├── allow-overwrite-no-stdin-with-two-conflicting-files-to-stdout
│ │ │ ├── allow-overwrite-no-stdin-with-two-conflicting-files-to-stdout-overwrite-persists
│ │ │ ├── allow-overwrite-yaml-conflicting-array-value-stdin-complex-yaml-file-to-stdout
│ │ │ ├── allow-overwrite-yaml-conflicting-nested-scalar-stdin-complex-yaml-file-to-stdout
│ │ │ ├── empty-environment-filtered-at-non-existing-key-a
│ │ │ ├── empty-stdin-input-from-file-to-stdout
│ │ │ ├── empty-stdin-input-from-key-value-pairs-to-stdout
│ │ │ ├── environment-filtered-at-new-key-a
│ │ │ ├── environment-filtered-at-new-nested-key-with-array
│ │ │ ├── environment-filtered-at-new-nested-key-with-object
│ │ │ ├── environment-filtered-at-root
│ │ │ ├── environment-filtered-no-match-at-root
│ │ │ ├── environment-unfiltered-at-root
│ │ │ ├── fail-environment-filtered-at-existing-key-a-which-is-no-map
│ │ │ ├── fail-environment-invalid-filter
│ │ │ ├── fail-invalid-dotted-pointer
│ │ │ ├── fail-invalid-json-stdin
│ │ │ ├── fail-invalid-output-format
│ │ │ ├── fail-invalid-yaml-stdin
│ │ │ ├── fail-multi-doc-yaml-with-conflict-from-file-to-stdout
│ │ │ ├── fail-multi-doc-yaml-with-conflict-from-stdin-to-stdout
│ │ │ ├── fail-no-data-from-stdin-and-no-file-specified
│ │ │ ├── fail-no-stdin-with-explicit-stdin
│ │ │ ├── fail-no-stdin-with-two-conflicting-files-to-stdout
│ │ │ ├── fail-select-non-existing-object
│ │ │ ├── fail-set-various-values-with-conflict
│ │ │ ├── fail-use-of-stdin-more-than-once
│ │ │ ├── fail-yaml-conflicting-array-value-stdin-complex-yaml-file-to-stdout
│ │ │ ├── fail-yaml-conflicting-nested-scalar-stdin-complex-yaml-file-to-stdout
│ │ │ ├── fail-yaml-stdin-with-yaml-file-conflicting-scalar-to-stdout
│ │ │ ├── json-stdin-at-before-path-to-stdout
│ │ │ ├── json-stdin-at-before-path-with-explicit-stdin-marker-and-various-at-flags-to-stdout
│ │ │ ├── json-stdin-at-before-path-with-explicit-stdin-marker-to-stdout
│ │ │ ├── multi-document-yaml-stdin-to-stdout
│ │ │ ├── no-stdin-ignores-input-from-stdin
│ │ │ ├── no-stdin-with-two-similar-complex-yaml-files-to-stdout
│ │ │ ├── select-nested-scalar-value-array
│ │ │ ├── select-nested-scalar-value-array-on-merged-value
│ │ │ ├── select-nested-scalar-value-array-on-merged-value-with-move
│ │ │ ├── select-single-scalar-value
│ │ │ ├── select-single-scalar-value-with-move
│ │ │ ├── set-various-values-with-conflict-and-overwrite
│ │ │ ├── set-various-values-without-conflict
│ │ │ ├── unconsumed-at-flag-applies-to-final-value
│ │ │ ├── yaml-stdin-to-stdout-as-yaml
│ │ │ ├── yaml-stdin-to-stdout-output-format-unspecified
│ │ │ ├── yaml-stdin-with-at-to-stdout-as-yaml
│ │ │ └── yaml-stdin-with-yaml-file-same-scalar-value-to-stdout
│ │ ├── substitute
│ │ │ ├── data-stdin-json-data-partial-input-success
│ │ │ ├── data-stdin-json-data-validated-fix-with-replacements-stdout
│ │ │ ├── data-stdin-json-single-template-stdout
│ │ │ ├── data-stdin-partial-0-output-stdout
│ │ │ ├── data-stdin-partial-1-output-stdout
│ │ │ ├── data-stdin-yaml-multi-template-stdout
│ │ │ ├── data-stdin-yaml-multi-template-stdout-explicit-separator
│ │ │ ├── data-stdin-yaml-multi-template-to-same-file
│ │ │ ├── data-stdin-yaml-multi-template-to-same-file-again
│ │ │ ├── data-stdin-yaml-multi-template-to-same-file-again-more
│ │ │ ├── data-stdin-yaml-multi-template-to-same-file-again-more-output
│ │ │ ├── data-stdin-yaml-multi-template-to-same-file-again-output
│ │ │ ├── data-stdin-yaml-multi-template-to-same-file-explicit-separator
│ │ │ ├── data-stdin-yaml-multi-template-to-same-file-explicit-separator-output
│ │ │ ├── data-stdin-yaml-multi-template-to-same-file-more
│ │ │ ├── data-stdin-yaml-multi-template-to-same-file-more-output
│ │ │ ├── data-stdin-yaml-multi-template-to-same-file-output
│ │ │ ├── data-stdin-yaml-single-relative-template-stdout
│ │ │ ├── data-stdin-yaml-single-template-file-non-existing-directory
│ │ │ ├── data-stdin-yaml-single-template-output-file-with-nonexisting-directory
│ │ │ │ └── some
│ │ │ │ │ └── sub
│ │ │ │ │ └── directory
│ │ │ │ │ └── output
│ │ │ ├── data-stdin-yaml-single-template-stdout
│ │ │ ├── fail-data-stdin-and-no-specs
│ │ │ ├── fail-data-stdin-json-data-validated-stdout
│ │ │ ├── fail-data-stdin-template-misses-key
│ │ │ ├── fail-data-stdin-template-stdin
│ │ │ ├── fail-invalid-data-format
│ │ │ ├── fail-invalid-data-format-multi-document-yaml
│ │ │ ├── fail-multiple-templates-from-stdin
│ │ │ ├── fail-no-data-and-no-specs
│ │ │ ├── fail-not-enough-replacements
│ │ │ ├── fail-source-is-destination-single-spec
│ │ │ ├── fail-validation-data-stdin-json-template
│ │ │ ├── handlebars
│ │ │ │ ├── data-stdin-partial-0-output-stdout
│ │ │ │ └── data-stdin-partial-1-output-stdout
│ │ │ ├── liquid
│ │ │ │ └── filter-base64
│ │ │ ├── template-from-complex-template
│ │ │ ├── template-stdin-hbs-output-stdout
│ │ │ ├── template-stdin-hbs-output-stdout-to-file
│ │ │ ├── template-stdin-hbs-output-stdout-to-file-output
│ │ │ └── validation-success-data-stdin-json-template
│ │ └── vault
│ │ │ ├── always-encrypt
│ │ │ ├── add-success-as-unknown-user
│ │ │ ├── list-with-relative-secrets-dir
│ │ │ ├── precondition-vault-config-after-init
│ │ │ ├── show-fail-for-new-secret-as-unknown-user
│ │ │ └── show-failure-as-unknown-user
│ │ │ ├── edit
│ │ │ ├── add-from-stdin-no-tty-show
│ │ │ ├── edit-changed-file
│ │ │ ├── edit-new-resource-with-changed-secrets-dir
│ │ │ ├── known-resource-edit-editor-not-in-path
│ │ │ ├── ls-with-single-resource
│ │ │ ├── resource-add-from-stdin
│ │ │ ├── resource-add-from-stdin-no-tty
│ │ │ ├── resource-add-overwrite-protection
│ │ │ ├── resource-edit-encrypt-failure
│ │ │ ├── resource-edit-encrypt-failure-no-try-encrypt
│ │ │ ├── resource-remove-multiple-existing
│ │ │ ├── resource-remove-multiple-existing-after
│ │ │ ├── resource-remove-non-existing
│ │ │ ├── resource-show
│ │ │ ├── show-new-resource-with-changed-secrets-dir
│ │ │ ├── unknown-resource-edit
│ │ │ └── unknown-resource-show
│ │ │ ├── init-no-gpg-installed
│ │ │ ├── add-empty-recipients
│ │ │ ├── add-no-gpg
│ │ │ ├── init-no-gpg
│ │ │ └── show-no-gpg
│ │ │ ├── init-with-gpg1
│ │ │ ├── gpg1-vault-recipient-add-untrusted-user-with-fingerprint
│ │ │ └── gpg1-vault-recipient-add-untrusted-user-with-fingerprint-metadata
│ │ │ │ ├── keys
│ │ │ │ ├── 7435ACDC03D55429C41637C4DB9831D842C18D28
│ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ └── recipients
│ │ │ ├── init
│ │ │ ├── add-with-subdirectory
│ │ │ ├── add-without-vault-description
│ │ │ ├── edit-with-absolute-vault-directory
│ │ │ ├── init-change-secrets-location-folder-structure
│ │ │ │ ├── keys
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ └── recipients
│ │ │ ├── init-explicit-recipients-path
│ │ │ │ ├── .gpg-keys
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── recipients
│ │ │ │ └── sy-vault.yml
│ │ │ ├── init-failure-no-secret-key
│ │ │ ├── init-first-partition-flag
│ │ │ │ ├── .gpg-keys
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── sec
│ │ │ │ │ └── .gpg-id
│ │ │ │ └── sy-vault.yml
│ │ │ ├── init-first-partition-invalid-secrets-dir-dot
│ │ │ ├── init-first-partition-no-secrets-dir
│ │ │ ├── init-multiple-users
│ │ │ │ ├── .gpg-id
│ │ │ │ ├── .gpg-keys
│ │ │ │ │ ├── 905E53FE2FC0A500100AB80B056F92A52DF04D4E
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ └── sy-vault.yml
│ │ │ ├── init-relative-named-recipients
│ │ │ │ ├── .gpg-keys
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── secrets
│ │ │ │ │ └── recipients
│ │ │ │ └── sy-vault.yml
│ │ │ ├── init-relative-unnamed-recipients
│ │ │ │ ├── .gpg-keys
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── secrets
│ │ │ │ │ └── .gpg-id
│ │ │ │ └── sy-vault.yml
│ │ │ ├── init-single-user-absolute-directory
│ │ │ │ ├── keys
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── recipients
│ │ │ │ └── vault.yml
│ │ │ ├── init-single-user-with-multiple-signatures
│ │ │ │ ├── .gpg-id
│ │ │ │ ├── .gpg-keys
│ │ │ │ │ └── 905E53FE2FC0A500100AB80B056F92A52DF04D4E
│ │ │ │ └── sy-vault.yml
│ │ │ ├── init-single-user
│ │ │ │ ├── .gpg-id
│ │ │ │ ├── .gpg-keys
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ └── sy-vault.yml
│ │ │ ├── init-will-not-overwrite-vault-config
│ │ │ ├── init-will-not-write-into-existing-nonempty-directory
│ │ │ ├── init-will-overwrite-recipients-file
│ │ │ ├── init-with-at-argument
│ │ │ ├── init-with-key-specified-explicitly
│ │ │ ├── init-with-multiple-specified-keys
│ │ │ ├── init-with-multiple-viable-keys
│ │ │ ├── list-changed-secrets-location
│ │ │ ├── list-with-name
│ │ │ ├── resource-add-relative-dir-failure
│ │ │ ├── resource-add-relative-dir-success
│ │ │ └── successful-init
│ │ │ ├── partitions
│ │ │ ├── partition-add-ambiguous-private-keys
│ │ │ ├── partition-add-as-another-user-no-recipient
│ │ │ ├── partition-add-as-another-user-no-recipient-directory
│ │ │ │ ├── etc
│ │ │ │ │ ├── keys
│ │ │ │ │ │ ├── 7435ACDC03D55429C41637C4DB9831D842C18D28
│ │ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ │ └── recipients
│ │ │ │ ├── private-partition
│ │ │ │ │ └── recipients
│ │ │ │ └── sy-vault.yml
│ │ │ ├── partition-add-failure
│ │ │ ├── partition-add-failure-duplicate-recipients
│ │ │ ├── partition-add-fourth-directory
│ │ │ │ ├── etc
│ │ │ │ │ ├── keys
│ │ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ │ └── recipients
│ │ │ │ ├── first
│ │ │ │ │ └── recipients
│ │ │ │ ├── subdir
│ │ │ │ │ ├── second
│ │ │ │ │ │ └── recipients
│ │ │ │ │ └── third
│ │ │ │ │ │ └── recipients
│ │ │ │ └── sy-vault.yml
│ │ │ ├── partition-add-fourth-named-absolute-path
│ │ │ ├── partition-add-multiple-non-existing-user-ids
│ │ │ ├── partition-add-multiple-private-keys
│ │ │ ├── partition-add-qualified-resource
│ │ │ ├── partition-add-second-named
│ │ │ ├── partition-add-second-named-directory
│ │ │ │ ├── etc
│ │ │ │ │ ├── keys
│ │ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ │ └── recipients
│ │ │ │ ├── first
│ │ │ │ │ └── recipients
│ │ │ │ ├── subdir
│ │ │ │ │ └── second
│ │ │ │ │ │ └── recipients
│ │ │ │ └── sy-vault.yml
│ │ │ ├── partition-add-third-named-directory
│ │ │ │ ├── etc
│ │ │ │ │ ├── keys
│ │ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ │ └── recipients
│ │ │ │ ├── first
│ │ │ │ │ └── recipients
│ │ │ │ ├── subdir
│ │ │ │ │ ├── second
│ │ │ │ │ │ └── recipients
│ │ │ │ │ └── third
│ │ │ │ │ │ └── recipients
│ │ │ │ └── sy-vault.yml
│ │ │ ├── partition-add-third-unnamed-relative-path
│ │ │ ├── partition-add-to-existing-empty-directory
│ │ │ ├── partition-add-to-existing-non-empty-directory
│ │ │ ├── partition-add-unqualified-resource
│ │ │ ├── partition-first-unnamed
│ │ │ ├── partition-first-unnamed-directory
│ │ │ │ ├── etc
│ │ │ │ │ ├── keys
│ │ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ │ └── recipients
│ │ │ │ ├── first
│ │ │ │ │ └── recipients
│ │ │ │ └── sy-vault.yml
│ │ │ ├── partition-recipients-list-fail-missing-key
│ │ │ ├── partition-recipients-list-fail-missing-key-as-prime-recipient
│ │ │ ├── partition-remove-by-index-failure-cannot-remove-leader
│ │ │ ├── partition-remove-by-index-failure-does-not-exist
│ │ │ ├── partition-remove-by-name-failure-does-not-exist
│ │ │ ├── partition-remove-by-path-failure-does-not-exist
│ │ │ ├── partition-remove-failure-ambiguous-name
│ │ │ ├── partition-remove-fourth-by-index
│ │ │ ├── partition-remove-fourth-by-index-directory
│ │ │ │ ├── etc
│ │ │ │ │ ├── keys
│ │ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ │ └── recipients
│ │ │ │ ├── first
│ │ │ │ │ └── recipients
│ │ │ │ ├── subdir
│ │ │ │ │ ├── second
│ │ │ │ │ │ └── recipients
│ │ │ │ │ └── third
│ │ │ │ │ │ └── recipients
│ │ │ │ └── sy-vault.yml
│ │ │ ├── partition-remove-qualified-resource
│ │ │ ├── partition-remove-second-by-resource-dir
│ │ │ ├── partition-remove-second-by-resource-dir-directory
│ │ │ │ ├── etc
│ │ │ │ │ ├── keys
│ │ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ │ └── recipients
│ │ │ │ ├── first
│ │ │ │ │ └── recipients
│ │ │ │ ├── subdir
│ │ │ │ │ ├── second
│ │ │ │ │ │ └── recipients
│ │ │ │ │ └── third
│ │ │ │ │ │ └── recipients
│ │ │ │ └── sy-vault.yml
│ │ │ ├── partition-remove-success-similarly-named-leader
│ │ │ ├── partition-remove-success-similarly-named-leader-directory
│ │ │ │ └── sy-vault.yml
│ │ │ ├── partition-remove-third-by-name
│ │ │ ├── partition-remove-third-by-name-directory
│ │ │ │ ├── etc
│ │ │ │ │ ├── keys
│ │ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ │ └── recipients
│ │ │ │ ├── first
│ │ │ │ │ └── recipients
│ │ │ │ ├── subdir
│ │ │ │ │ ├── second
│ │ │ │ │ │ └── recipients
│ │ │ │ │ └── third
│ │ │ │ │ │ └── recipients
│ │ │ │ └── sy-vault.yml
│ │ │ ├── partition-remove-unqualified-resource
│ │ │ ├── partition-resource-list
│ │ │ ├── partition-resource-show-qualified-non-existing-resource
│ │ │ ├── partition-resource-show-qualified-path
│ │ │ └── partition-resource-show-unqualified-resource
│ │ │ ├── recipients-and-partitions-always-encrypt
│ │ │ ├── fail-invalid-trust-model
│ │ │ ├── fail-recipient-add-without-prior-import-of-all-users-wrong-partition
│ │ │ ├── precondition-vault-with-multiple-partitions-config
│ │ │ ├── precondition-vault-with-multiple-partitions
│ │ │ │ ├── keys
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── p1
│ │ │ │ ├── p2
│ │ │ │ └── p3
│ │ │ ├── recipient-add-without-prior-import-of-all-users-right-partition
│ │ │ ├── resource-add-from-stdin-with-editor
│ │ │ ├── vault-listing-with-missing-key
│ │ │ ├── vault-with-multiple-partitions-after-recipient-add
│ │ │ │ ├── keys
│ │ │ │ │ ├── 1E1114E11B362B46B53E1ABAEF17047AB488BD82
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── p1
│ │ │ │ ├── p2
│ │ │ │ └── p3
│ │ │ ├── vault-with-multiple-partitions-after-recipient-init
│ │ │ │ ├── keys
│ │ │ │ │ ├── 1E1114E11B362B46B53E1ABAEF17047AB488BD82
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── p1
│ │ │ │ ├── p2
│ │ │ │ └── p3
│ │ │ ├── vault-with-multiple-partitions-new-recipient-add-resource-to-p1
│ │ │ ├── vault-with-multiple-partitions-new-recipient-add-resource-to-p2
│ │ │ ├── vault-with-multiple-partitions-new-recipient-add-resource-to-p3
│ │ │ ├── vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-directory
│ │ │ │ ├── keys
│ │ │ │ │ ├── 7435ACDC03D55429C41637C4DB9831D842C18D28
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── p1
│ │ │ │ ├── p2
│ │ │ │ └── p3
│ │ │ ├── vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-with-import
│ │ │ ├── vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-directory
│ │ │ │ ├── keys
│ │ │ │ │ ├── 1E1114E11B362B46B53E1ABAEF17047AB488BD82
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── p1
│ │ │ │ ├── p2
│ │ │ │ └── p3
│ │ │ ├── vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-with-import
│ │ │ ├── vault-with-multiple-partitions-recipient-add-to-multiple
│ │ │ └── vault-with-multiple-partitions-recipient-init
│ │ │ ├── recipients-and-partitions
│ │ │ ├── precondition-vault-with-multiple-partitions
│ │ │ │ ├── keys
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── p1
│ │ │ │ ├── p2
│ │ │ │ └── p3
│ │ │ ├── vault-with-multiple-partitions-after-recipient-add
│ │ │ │ ├── keys
│ │ │ │ │ ├── 1E1114E11B362B46B53E1ABAEF17047AB488BD82
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── p1
│ │ │ │ ├── p2
│ │ │ │ └── p3
│ │ │ ├── vault-with-multiple-partitions-after-recipient-init
│ │ │ │ ├── keys
│ │ │ │ │ ├── 1E1114E11B362B46B53E1ABAEF17047AB488BD82
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── p1
│ │ │ │ ├── p2
│ │ │ │ └── p3
│ │ │ ├── vault-with-multiple-partitions-new-recipient-remove-oneself-from-p3-fails-directory
│ │ │ │ ├── keys
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── p1
│ │ │ │ ├── p2
│ │ │ │ └── p3
│ │ │ ├── vault-with-multiple-partitions-new-recipient-removes-themselves-from-p1-fail
│ │ │ ├── vault-with-multiple-partitions-new-recipient-removes-themselves-from-p1-fail-directory
│ │ │ │ ├── keys
│ │ │ │ │ ├── 1E1114E11B362B46B53E1ABAEF17047AB488BD82
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── p1
│ │ │ │ ├── p2
│ │ │ │ └── p3
│ │ │ ├── vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-directory
│ │ │ │ ├── keys
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── p1
│ │ │ │ ├── p2
│ │ │ │ └── p3
│ │ │ ├── vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-with-import
│ │ │ ├── vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-directory
│ │ │ │ ├── keys
│ │ │ │ │ ├── 1E1114E11B362B46B53E1ABAEF17047AB488BD82
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── p1
│ │ │ │ ├── p2
│ │ │ │ └── p3
│ │ │ ├── vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-no-import
│ │ │ ├── vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-no-import-directory
│ │ │ │ ├── keys
│ │ │ │ │ ├── 1E1114E11B362B46B53E1ABAEF17047AB488BD82
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ ├── p1
│ │ │ │ ├── p2
│ │ │ │ └── p3
│ │ │ ├── vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-with-import
│ │ │ ├── vault-with-multiple-partitions-new-recipient-show-resource-in-p1
│ │ │ ├── vault-with-multiple-partitions-new-recipient-show-resource-in-p2
│ │ │ ├── vault-with-multiple-partitions-new-recipient-show-resource-in-p3
│ │ │ ├── vault-with-multiple-partitions-recipient-add-to-multiple
│ │ │ ├── vault-with-multiple-partitions-recipient-add-to-unknown
│ │ │ ├── vault-with-multiple-partitions-recipient-init
│ │ │ └── vault-with-multiple-partitions-remove-oneself-from-p3-fails
│ │ │ ├── recipients
│ │ │ ├── remove
│ │ │ │ ├── recipient-after-remove-show-failure
│ │ │ │ ├── recipient-remove-failure-just-in-keychain
│ │ │ │ ├── recipient-remove-failure-one-correct-and-one-unknown-key
│ │ │ │ ├── recipient-remove-failure-unknown-key
│ │ │ │ └── recipient-remove-success
│ │ │ ├── unverified
│ │ │ │ ├── vault-recipient-add-metadata-right-after-init
│ │ │ │ │ ├── keys
│ │ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ │ └── recipients
│ │ │ │ ├── vault-recipient-add-untrusted-user-a-with-fingerprint
│ │ │ │ ├── vault-recipient-add-untrusted-user-a-with-fingerprint-ambiguously
│ │ │ │ ├── vault-recipient-add-untrusted-user-a-with-fingerprint-invalid-signing-key
│ │ │ │ ├── vault-recipient-add-untrusted-user-a-with-fingerprint-valid-signing-key
│ │ │ │ ├── vault-recipient-add-untrusted-user-with-fingerprint
│ │ │ │ ├── vault-recipient-add-untrusted-user-with-fingerprint-metadata
│ │ │ │ ├── vault-recipient-add-unverified-invalid-fingerprint
│ │ │ │ ├── vault-recipient-add-unverified-unchanged-state
│ │ │ │ │ ├── .gpg-id
│ │ │ │ │ ├── keys
│ │ │ │ │ │ ├── 7435ACDC03D55429C41637C4DB9831D842C18D28
│ │ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ │ └── sy-vault.yml
│ │ │ │ ├── vault-recipient-add-valid-fingerprint-key-not-present-in-keys-dir
│ │ │ │ └── vault-recipients-add-unverified-failure-with-multi-recipient-keyfile
│ │ │ └── verified
│ │ │ │ ├── add-success-as-unknown-user
│ │ │ │ ├── list-with-relative-secrets-dir
│ │ │ │ ├── recipient-add-b-failure
│ │ │ │ ├── recipient-add-b-recipients
│ │ │ │ ├── recipient-add-b-success-after-signing
│ │ │ │ ├── recipient-add-c
│ │ │ │ ├── recipient-add-c-keys-dir
│ │ │ │ ├── keys
│ │ │ │ │ ├── 905E53FE2FC0A500100AB80B056F92A52DF04D4E
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ └── recipients
│ │ │ │ ├── recipient-add-from-keychain
│ │ │ │ ├── recipient-add-from-keychain-recipients
│ │ │ │ ├── recipient-init-c-config-dir
│ │ │ │ ├── keys
│ │ │ │ │ ├── 905E53FE2FC0A500100AB80B056F92A52DF04D4E
│ │ │ │ │ └── D6339718E9B58FCE3C66C78AAA5B7BF150F48332
│ │ │ │ └── recipients
│ │ │ │ ├── recipients-add-from-keychain-show-as-recipient
│ │ │ │ ├── recipients-init-single-secret-key
│ │ │ │ ├── recipients-list-after-adding-c-successfully
│ │ │ │ ├── recipients-list-after-requesting-membership
│ │ │ │ ├── show-fail-for-new-secret-as-unknown-user
│ │ │ │ ├── show-failure-as-unknown-user
│ │ │ │ ├── show-failure-encrypt-new-secret-missing-pub-key
│ │ │ │ ├── show-success-as-user-b
│ │ │ │ └── show-success-as-user-c
│ │ │ └── stateless
│ │ │ ├── invalid-vault-path
│ │ │ └── unsupported-shell
│ ├── substitute
│ │ ├── complex.tpl
│ │ ├── data-for-complex.tpl.yml
│ │ ├── data.json.hbs
│ │ ├── partials
│ │ │ ├── base0.hbs
│ │ │ ├── base1.hbs
│ │ │ ├── included.liquid
│ │ │ └── template.hbs
│ │ ├── the-answer.hbs
│ │ └── with-partial.liquid
│ └── tester.sec.asc
├── zz-getting-started.sh
└── zz-vault-gpg1.sh
├── stateful-journey-test.sh
├── stateless-journey-test.sh
└── utilities.sh
/.editorconfig:
--------------------------------------------------------------------------------
1 | # 4 space indentation
2 | [*.sh]
3 | indent_style = space
4 | indent_size = 2
5 |
6 | [*.rs]
7 | indent_style = space
8 | indent_size = 4
9 |
--------------------------------------------------------------------------------
/.github/issue_template.md:
--------------------------------------------------------------------------------
1 | _Please choose what applies in your case, these headings are just guides_
2 |
3 | ### Expected behaviour
4 |
5 | ### Actual behavior
6 |
7 | ### Steps to reproduce
8 |
9 | ### The version you were using
10 |
11 | ```
12 | sy --version
13 | ```
14 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .idea/
2 | /.tools/
3 | .vscode/
4 | /.docker-cargo-cache
5 | .DS_Store
6 | target/
7 | sy-*.tar.gz*
8 |
--------------------------------------------------------------------------------
/.rustfmt.toml:
--------------------------------------------------------------------------------
1 | max_width = 120
2 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | ### Contributing to Share Secrets Safely
2 |
3 | 👍🎉 First off, thanks a lot for taking the time! 🎉👍
4 |
5 | In order not to waste it, let's keep things short and simple :).
6 |
7 | 1. Write a unit-test or journey test which tests for the desired change.
8 | * run unitests with `cargo test --all`
9 | * run journey tests with `make state(less|ful)-journey-tests`
10 | 1. Implement the change so that the tests written above pass.
11 |
12 | If you think your changes could be controversial, maybe because it's a feature, please create an issue before to give it some exposure and create a space for discussion. This can be as easy as: `Hey, do you need Derived from base0.hbs
Derived from base1.hbs
: What is the answer to everything? 2 | : 42 -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-partial-0-output-stdout: -------------------------------------------------------------------------------- 1 | 2 | example 0 3 | 4 |5 |Derived from base0.hbs
Rendered in partial, parent is base0
6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-partial-1-output-stdout: -------------------------------------------------------------------------------- 1 | 2 | other example 3 | 4 |5 |Derived from base1.hbs
Rendered in partial, parent is base1
6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-stdout: -------------------------------------------------------------------------------- 1 |: What is the answer to everything? 2 | : 42 3 | 4 |: What is the answer to everything? 5 | : 42 -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-stdout-explicit-separator: -------------------------------------------------------------------------------- 1 |: What is the answer to everything? 2 | : 42 3 | <-> 4 |: What is the answer to everything? 5 | : 42 -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/share-secrets-safely/cli/4bee79baf0440dddb663227e7e8bf160e7df9016/tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file-again: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/share-secrets-safely/cli/4bee79baf0440dddb663227e7e8bf160e7df9016/tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file-again -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file-again-more: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/share-secrets-safely/cli/4bee79baf0440dddb663227e7e8bf160e7df9016/tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file-again-more -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file-again-more-output: -------------------------------------------------------------------------------- 1 |: What is the answer to everything? 2 | : 42 3 | 4 |: What is the answer to everything? 5 | : 42 6 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file-again-output: -------------------------------------------------------------------------------- 1 |: What is the answer to everything? 2 | : 42 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file-explicit-separator: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/share-secrets-safely/cli/4bee79baf0440dddb663227e7e8bf160e7df9016/tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file-explicit-separator -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file-explicit-separator-output: -------------------------------------------------------------------------------- 1 |: What is the answer to everything? 2 | : 42 3 | --- 4 |: What is the answer to everything? 5 | : 42 6 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file-more: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/share-secrets-safely/cli/4bee79baf0440dddb663227e7e8bf160e7df9016/tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file-more -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file-more-output: -------------------------------------------------------------------------------- 1 |: What is the answer to everything? 2 | : 42 3 | 4 |: What is the answer to everything? 5 | : 42 6 | 7 |: What is the answer to everything? 8 | : 42 9 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-multi-template-to-same-file-output: -------------------------------------------------------------------------------- 1 |: What is the answer to everything? 2 | : 42 3 | 4 |: What is the answer to everything? 5 | : 42 6 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-single-relative-template-stdout: -------------------------------------------------------------------------------- 1 |: What is the answer to everything? 2 | : 42 -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-single-template-file-non-existing-directory: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/share-secrets-safely/cli/4bee79baf0440dddb663227e7e8bf160e7df9016/tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-single-template-file-non-existing-directory -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-single-template-output-file-with-nonexisting-directory/some/sub/directory/output: -------------------------------------------------------------------------------- 1 |: What is the answer to everything? 2 | : 42 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/data-stdin-yaml-single-template-stdout: -------------------------------------------------------------------------------- 1 |: What is the answer to everything? 2 | : 42 -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/fail-data-stdin-and-no-specs: -------------------------------------------------------------------------------- 1 | error: No spec provided, neither from standard input, nor from file -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/fail-data-stdin-json-data-validated-stdout: -------------------------------------------------------------------------------- 1 | error: Validation of template output at 'stream' failed. It's neither valid YAML, nor JSON 2 | Caused by: 3 | 1: while parsing a flow mapping, did not find expected ',' or '}' at line 2 column 21 -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/fail-data-stdin-template-misses-key: -------------------------------------------------------------------------------- 1 | error: Failed to render template from template at 'the-answer' 2 | Caused by: 3 | 1: liquid: Unknown variable 4 | with: 5 | requested variable=the-answer 6 | available variables=hi -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/fail-data-stdin-template-stdin: -------------------------------------------------------------------------------- 1 | error: Stdin is a TTY. Cannot substitute a template without any data. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/fail-invalid-data-format: -------------------------------------------------------------------------------- 1 | error: Could not deserialize data, tried JSON and YAML 2 | Caused by: 3 | 4: JSON deserialization failed 4 | 3: expected value at line 1 column 1 5 | 2: YAML deserialization failed 6 | 1: while parsing node, found unknown anchor at line 1 column 4 -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/fail-invalid-data-format-multi-document-yaml: -------------------------------------------------------------------------------- 1 | error: Could not deserialize data, tried JSON and YAML 2 | Caused by: 3 | 4: JSON deserialization failed 4 | 3: invalid number at line 1 column 2 5 | 2: YAML deserialization failed 6 | 1: deserializing from YAML containing more than one document is not supported -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/fail-multiple-templates-from-stdin: -------------------------------------------------------------------------------- 1 | error: Cannot read more than one template spec from standard input -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/fail-no-data-and-no-specs: -------------------------------------------------------------------------------- 1 | error: Stdin is a TTY. Cannot substitute a template without any data. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/fail-not-enough-replacements: -------------------------------------------------------------------------------- 1 | error: Please provide --replace-value arguments in pairs of two. First the value to find, second the one to replace it with -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/fail-source-is-destination-single-spec: -------------------------------------------------------------------------------- 1 | error: Refusing to overwrite input file at 'tests/journeys/fixtures/substitute/the-answer.hbs' with output -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/fail-validation-data-stdin-json-template: -------------------------------------------------------------------------------- 1 | error: Validation of template output at 'stream' failed. It's neither valid YAML, nor JSON 2 | Caused by: 3 | 1: while parsing a flow mapping, did not find expected ',' or '}' at line 2 column 20 -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/handlebars/data-stdin-partial-0-output-stdout: -------------------------------------------------------------------------------- 1 | 2 | example 0 3 | 4 |5 |Derived from base0.hbs
Rendered in partial, parent is base0
6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/handlebars/data-stdin-partial-1-output-stdout: -------------------------------------------------------------------------------- 1 | 2 | other example 3 | 4 |5 |Derived from base1.hbs
Rendered in partial, parent is base1
6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/liquid/filter-base64: -------------------------------------------------------------------------------- 1 | aGVsbG8= -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/template-stdin-hbs-output-stdout: -------------------------------------------------------------------------------- 1 | hello world -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/template-stdin-hbs-output-stdout-to-file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/share-secrets-safely/cli/4bee79baf0440dddb663227e7e8bf160e7df9016/tests/journeys/fixtures/snapshots/substitute/template-stdin-hbs-output-stdout-to-file -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/template-stdin-hbs-output-stdout-to-file-output: -------------------------------------------------------------------------------- 1 | hello world 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/substitute/validation-success-data-stdin-json-template: -------------------------------------------------------------------------------- 1 | { 2 | "password": "geheim" 3 | } -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/always-encrypt/add-success-as-unknown-user: -------------------------------------------------------------------------------- 1 | Imported recipient key at path 'etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 2 | Added 'new-secret'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/always-encrypt/list-with-relative-secrets-dir: -------------------------------------------------------------------------------- 1 | syv://secrets 2 | secret -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/always-encrypt/precondition-vault-config-after-init: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: true 4 | trust_model: always 5 | secrets: "./secrets" 6 | gpg_keys: "./etc/keys" 7 | recipients: "./etc/recipients" 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/always-encrypt/show-fail-for-new-secret-as-unknown-user: -------------------------------------------------------------------------------- 1 | error: Export your public key using 'sy vault recipient init', then ask one of the existing recipients to import your public key using 'sy vault recipients add.' 2 | Caused by: 3 | 2: The content was not encrypted for you. 4 | 1: No secret key (gpg error 17) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/always-encrypt/show-failure-as-unknown-user: -------------------------------------------------------------------------------- 1 | error: Export your public key using 'sy vault recipient init', then ask one of the existing recipients to import your public key using 'sy vault recipients add .' 2 | Caused by: 3 | 2: The content was not encrypted for you. 4 | 1: No secret key (gpg error 17) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/add-from-stdin-no-tty-show: -------------------------------------------------------------------------------- 1 | vault add from editor -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/edit-changed-file: -------------------------------------------------------------------------------- 1 | ho -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/edit-new-resource-with-changed-secrets-dir: -------------------------------------------------------------------------------- 1 | Edited 'new-resource'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/known-resource-edit-editor-not-in-path: -------------------------------------------------------------------------------- 1 | error: Failed to start editor program at 'foo'. 2 | Caused by: 3 | 1: No such file or directory (os error 2) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/ls-with-single-resource: -------------------------------------------------------------------------------- 1 | syv://. 2 | from-stdin -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/resource-add-from-stdin: -------------------------------------------------------------------------------- 1 | Added 'from-stdin'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/resource-add-from-stdin-no-tty: -------------------------------------------------------------------------------- 1 | Added 'from-stdin-no-tty'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/resource-add-overwrite-protection: -------------------------------------------------------------------------------- 1 | error: Refusing to overwrite existing file at './from-stdin.gpg' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/resource-edit-encrypt-failure: -------------------------------------------------------------------------------- 1 | error: Aborted edit operation as you cannot encrypt resources. 2 | Caused by: 3 | 1: At least one recipient you try to encrypt for is untrusted. Consider (locally) signing the key with `gpg --sign-key ` or ultimately trusting them. 4 | Could not encrypt for recipient D6339718E9B58FCE3C66C78AAA5B7BF150F48332 (Tester (for testing only) ) with error: Unusable public key (gpg error 53) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/resource-edit-encrypt-failure-no-try-encrypt: -------------------------------------------------------------------------------- 1 | error: Failed to start editor program at 'does-not-matter'. 2 | Caused by: 3 | 1: No such file or directory (os error 2) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/resource-remove-multiple-existing: -------------------------------------------------------------------------------- 1 | Removed file at './a.ext.gpg' 2 | Removed file at './b.gpg' 3 | Removed file at './c.gpg' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/resource-remove-multiple-existing-after: -------------------------------------------------------------------------------- 1 | syv://. 2 | from-stdin-no-tty 3 | from-stdin 4 | new-edited-file -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/resource-remove-non-existing: -------------------------------------------------------------------------------- 1 | Removed file at './existing.gpg' 2 | error: No file present at './non-existing.gpg' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/resource-show: -------------------------------------------------------------------------------- 1 | hi -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/show-new-resource-with-changed-secrets-dir: -------------------------------------------------------------------------------- 1 | vault add from editor -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/unknown-resource-edit: -------------------------------------------------------------------------------- 1 | error: Failed to decrypt file at 'some-unknown-resource'. 2 | Caused by: 3 | 2: Could not open input file at './some-unknown-resource.gpg' for reading. Tried './some-unknown-resource' as well. 4 | 1: No such file or directory (os error 2) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/edit/unknown-resource-show: -------------------------------------------------------------------------------- 1 | error: Could not open input file at './some-unknown-resource.gpg' for reading. Tried './some-unknown-resource' as well. 2 | Caused by: 3 | 1: No such file or directory (os error 2) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init-no-gpg-installed/add-empty-recipients: -------------------------------------------------------------------------------- 1 | error: No recipients found in recipients file at '.gpg-id'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init-no-gpg-installed/add-no-gpg: -------------------------------------------------------------------------------- 1 | error: The GNU Privacy Guard (GPG) is not available on your system. 2 | Please install it and try again. 3 | See https://www.gnupg.org for more information. 4 | Caused by: 5 | 2: Could not iterate keys for given recipients 6 | 1: Unsupported protocol (gpg error 121) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init-no-gpg-installed/init-no-gpg: -------------------------------------------------------------------------------- 1 | error: The GNU Privacy Guard (GPG) is not available on your system. 2 | Please install it and try again. 3 | See https://www.gnupg.org for more information. 4 | Caused by: 5 | 1: Unsupported protocol (gpg error 121) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init-no-gpg-installed/show-no-gpg: -------------------------------------------------------------------------------- 1 | error: The GNU Privacy Guard (GPG) is not available on your system. 2 | Please install it and try again. 3 | See https://www.gnupg.org for more information. 4 | Caused by: 5 | 2: Failed to decrypt data. 6 | 1: Unsupported protocol (gpg error 121) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init-with-gpg1/gpg1-vault-recipient-add-untrusted-user-with-fingerprint: -------------------------------------------------------------------------------- 1 | Imported recipient key at path 'etc/keys/7435ACDC03D55429C41637C4DB9831D842C18D28' 2 | error: The GNU Privacy Guard (GPG) does not supported the attempted operation. 3 | GPG v2 is known to work, and you can install it here: 4 | https://www.gnupg.org for more information. 5 | Caused by: 6 | 2: Could not sign key of recipient 7435ACDC03D55429C41637C4DB9831D842C18D28 with signing key Tester (for testing only) (D6339718E9B58FCE3C66C78AAA5B7BF150F48332) 7 | 1: Not supported (gpg error 60) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init-with-gpg1/gpg1-vault-recipient-add-untrusted-user-with-fingerprint-metadata/keys/7435ACDC03D55429C41637C4DB9831D842C18D28: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWj96MgEEALuEFf+3Xu1f69nludvCDZSb1sT6hPQqfib73tTBL/jxc9AjiT1b 4 | iGug1aQR6LWinc64AHUqfFja/JpeOrtKSoxhswrh+k36IgEs/7h8VZW3WIct5XsN 5 | KlHVi/i9iWx6aIScQxoNYH0DEYX/wcWMCfxXpZvNuQx8tRRqO5M9NgGXABEBAAG0 6 | FnVzZXIgYiA8YkBleGFtcGxlLmNvbT6IzgQTAQgAOBYhBHQ1rNwD1VQpxBY3xNuY 7 | MdhCwY0oBQJaP3oyAhsDBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJENuYMdhC 8 | wY0oFSID/2xeUJJOdATwm0IDxw/+PJxtnKcBI1JUkOKOtwwYtva44pFz7TkxMdo1 9 | t8wa5BWVCx+J7jjFtW1BV2vTm29it8kJpBTQ8axhdFh63qhgE95qqfKlNrsIxcwV 10 | 94uWORUrzjH9aQgwfdfGhPD5O1BjariFHbZlnz7YxVbZBjmcvcqOiLMEEAEIAB0W 11 | IQQeERThGzYrRrU+GrrvFwR6tIi9ggUCWj+b/QAKCRDvFwR6tIi9grsQA/9wZQke 12 | X8eR3cD0dllJ8QiiBeh1Z1qIoeZCdak9FTA89ZulUVT4tKAdS+Ubh1e5RfhmGTX7 13 | j/Uex0Dm3Xm/jrYjcK+EmC36eiqyXxlUddOqZ6bJoiLTcIJdoRA9OWfkVrvTm7IT 14 | DHNiQJkvxJCSmN7cW9oAX0Q3EHQfCdtzxGh6FLiNBFo/ejIBBACl8QZxeD8rtOoG 15 | jb+trAB5XAggcmoF8JgtbtW1jvKuk6GFw8CIUutRFzWVeozPPMSHszUs54szWtCb 16 | BHPKsUxgnGLXiV/Mu//janhvmtNtmAcTheB8EHTv/Mjllp+qipq5uIarKc0nIHEe 17 | 4gRuCnr2gYT1wDto7jepQ2yom39WowARAQABiLYEGAEIACAWIQR0NazcA9VUKcQW 18 | N8TbmDHYQsGNKAUCWj96MgIbDAAKCRDbmDHYQsGNKCTZBACotJ1ldF+aXJUp2x63 19 | okR2ch1NqEk0ESmvRGRnBZq5M4++7izFZfq9ZgwQaAk0pCrtd7R4x3uQl7nK/hce 20 | KaTF5LlJ+vGzFDmeIbpRDx0OYfAUiGDqHFCZ+NyUUgIg1qfX8gEM//9cMwnMmLBA 21 | l5jUUC0yoCbsaZgIPDTb7A2xmA== 22 | =g/LT 23 | -----END PGP PUBLIC KEY BLOCK----- 24 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init-with-gpg1/gpg1-vault-recipient-add-untrusted-user-with-fingerprint-metadata/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init-with-gpg1/gpg1-vault-recipient-add-untrusted-user-with-fingerprint-metadata/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/add-with-subdirectory: -------------------------------------------------------------------------------- 1 | Created intermediate directory at 'vault/secrets/partition/subdir' 2 | Added 'partition/subdir/secret'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/add-without-vault-description: -------------------------------------------------------------------------------- 1 | Added 'resource'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/edit-with-absolute-vault-directory: -------------------------------------------------------------------------------- 1 | Edited 'new-resource'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-change-secrets-location-folder-structure/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-change-secrets-location-folder-structure/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-explicit-recipients-path/.gpg-keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-explicit-recipients-path/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-explicit-recipients-path/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: "./secrets" 6 | gpg_keys: ".gpg-keys" 7 | recipients: "./recipients" 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-failure-no-secret-key: -------------------------------------------------------------------------------- 1 | error: No existing GPG key found for which you have a secret key. Please create one with 'gpg --gen-key' and try again. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-first-partition-flag/.gpg-keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-first-partition-flag/sec/.gpg-id: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-first-partition-flag/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: sec 6 | gpg_keys: ".gpg-keys" 7 | recipients: sec/.gpg-id 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-first-partition-invalid-secrets-dir-dot: -------------------------------------------------------------------------------- 1 | error: If --first-partition is present, --secrets-dir must not be set to '.' or left unset -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-first-partition-no-secrets-dir: -------------------------------------------------------------------------------- 1 | error: If --first-partition is present, --secrets-dir must not be set to '.' or left unset -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-multiple-users/.gpg-id: -------------------------------------------------------------------------------- 1 | 905E53FE2FC0A500100AB80B056F92A52DF04D4E 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-multiple-users/.gpg-keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-multiple-users/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: "." 6 | gpg_keys: ".gpg-keys" 7 | recipients: "./.gpg-id" 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-relative-named-recipients/.gpg-keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-relative-named-recipients/secrets/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-relative-named-recipients/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: "./secrets" 6 | gpg_keys: ".gpg-keys" 7 | recipients: "./secrets/recipients" 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-relative-unnamed-recipients/.gpg-keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-relative-unnamed-recipients/secrets/.gpg-id: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-relative-unnamed-recipients/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: secrets 6 | gpg_keys: ".gpg-keys" 7 | recipients: secrets/.gpg-id 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-single-user-absolute-directory/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-single-user-absolute-directory/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-single-user-absolute-directory/vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: custom-name 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: "." 6 | gpg_keys: keys 7 | recipients: "./recipients" 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-single-user-with-multiple-signatures/.gpg-id: -------------------------------------------------------------------------------- 1 | 905E53FE2FC0A500100AB80B056F92A52DF04D4E 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-single-user-with-multiple-signatures/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: vault-name 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: "." 6 | gpg_keys: ".gpg-keys" 7 | recipients: "./.gpg-id" 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-single-user/.gpg-id: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-single-user/.gpg-keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-single-user/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: "." 6 | gpg_keys: ".gpg-keys" 7 | recipients: "./.gpg-id" 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-will-not-overwrite-vault-config: -------------------------------------------------------------------------------- 1 | error: Cannot overwrite vault configuration file as it already exists at './sy-vault.yml' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-will-not-write-into-existing-nonempty-directory: -------------------------------------------------------------------------------- 1 | error: Cannot create gpg keys directory 2 | Caused by: 3 | 1: Refusing to write into non-empty directory at '.gpg-keys' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-will-overwrite-recipients-file: -------------------------------------------------------------------------------- 1 | error: Cannot write recipients into existing file at '.gpg-id' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-with-at-argument: -------------------------------------------------------------------------------- 1 | Exported public key for user Tester (for testing only) to 'vault/etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 2 | vault initialized at 'vault/vault.yml' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-with-key-specified-explicitly: -------------------------------------------------------------------------------- 1 | Exported public key for user user c to '.gpg-keys/905E53FE2FC0A500100AB80B056F92A52DF04D4E' 2 | vault initialized at './sy-vault.yml' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-with-multiple-specified-keys: -------------------------------------------------------------------------------- 1 | Exported public key for user Tester (for testing only) to '.gpg-keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 2 | Exported public key for user user c to '.gpg-keys/905E53FE2FC0A500100AB80B056F92A52DF04D4E' 3 | vault initialized at './sy-vault.yml' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/init-with-multiple-viable-keys: -------------------------------------------------------------------------------- 1 | error: Found 2 viable keys for key-ids (Tester (for testing only) , user c ), which is ambiguous. Please specify one with the --gpg-key-id argument. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/list-changed-secrets-location: -------------------------------------------------------------------------------- 1 | syv://customized@vault/secrets 2 | secret -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/list-with-name: -------------------------------------------------------------------------------- 1 | syv://vault-name@. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/resource-add-relative-dir-failure: -------------------------------------------------------------------------------- 1 | error: Relative parent directories in source '../content' need the destination set explicitly. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/resource-add-relative-dir-success: -------------------------------------------------------------------------------- 1 | Added 'content'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/init/successful-init: -------------------------------------------------------------------------------- 1 | Exported public key for user Tester (for testing only) to '.gpg-keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 2 | vault initialized at './sy-vault.yml' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-ambiguous-private-keys: -------------------------------------------------------------------------------- 1 | error: Found 2 viable keys for key-ids (Tester (for testing only) , user b ), which is ambiguous. Please specify one with the --gpg-key-id argument. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-as-another-user-no-recipient: -------------------------------------------------------------------------------- 1 | Exported public key for user user b to 'etc/keys/7435ACDC03D55429C41637C4DB9831D842C18D28' 2 | Added partition 'mine' with resources at 'private-partition' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-as-another-user-no-recipient-directory/etc/keys/7435ACDC03D55429C41637C4DB9831D842C18D28: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWj96MgEEALuEFf+3Xu1f69nludvCDZSb1sT6hPQqfib73tTBL/jxc9AjiT1b 4 | iGug1aQR6LWinc64AHUqfFja/JpeOrtKSoxhswrh+k36IgEs/7h8VZW3WIct5XsN 5 | KlHVi/i9iWx6aIScQxoNYH0DEYX/wcWMCfxXpZvNuQx8tRRqO5M9NgGXABEBAAG0 6 | FnVzZXIgYiA8YkBleGFtcGxlLmNvbT6IzgQTAQgAOBYhBHQ1rNwD1VQpxBY3xNuY 7 | MdhCwY0oBQJaP3oyAhsDBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJENuYMdhC 8 | wY0oFSID/2xeUJJOdATwm0IDxw/+PJxtnKcBI1JUkOKOtwwYtva44pFz7TkxMdo1 9 | t8wa5BWVCx+J7jjFtW1BV2vTm29it8kJpBTQ8axhdFh63qhgE95qqfKlNrsIxcwV 10 | 94uWORUrzjH9aQgwfdfGhPD5O1BjariFHbZlnz7YxVbZBjmcvcqOiLMEEAEIAB0W 11 | IQQeERThGzYrRrU+GrrvFwR6tIi9ggUCWj+b/QAKCRDvFwR6tIi9grsQA/9wZQke 12 | X8eR3cD0dllJ8QiiBeh1Z1qIoeZCdak9FTA89ZulUVT4tKAdS+Ubh1e5RfhmGTX7 13 | j/Uex0Dm3Xm/jrYjcK+EmC36eiqyXxlUddOqZ6bJoiLTcIJdoRA9OWfkVrvTm7IT 14 | DHNiQJkvxJCSmN7cW9oAX0Q3EHQfCdtzxGh6FLiNBFo/ejIBBACl8QZxeD8rtOoG 15 | jb+trAB5XAggcmoF8JgtbtW1jvKuk6GFw8CIUutRFzWVeozPPMSHszUs54szWtCb 16 | BHPKsUxgnGLXiV/Mu//janhvmtNtmAcTheB8EHTv/Mjllp+qipq5uIarKc0nIHEe 17 | 4gRuCnr2gYT1wDto7jepQ2yom39WowARAQABiLYEGAEIACAWIQR0NazcA9VUKcQW 18 | N8TbmDHYQsGNKAUCWj96MgIbDAAKCRDbmDHYQsGNKCTZBACotJ1ldF+aXJUp2x63 19 | okR2ch1NqEk0ESmvRGRnBZq5M4++7izFZfq9ZgwQaAk0pCrtd7R4x3uQl7nK/hce 20 | KaTF5LlJ+vGzFDmeIbpRDx0OYfAUiGDqHFCZ+NyUUgIg1qfX8gEM//9cMwnMmLBA 21 | l5jUUC0yoCbsaZgIPDTb7A2xmA== 22 | =g/LT 23 | -----END PGP PUBLIC KEY BLOCK----- 24 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-as-another-user-no-recipient-directory/etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-as-another-user-no-recipient-directory/etc/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-as-another-user-no-recipient-directory/private-partition/recipients: -------------------------------------------------------------------------------- 1 | 7435ACDC03D55429C41637C4DB9831D842C18D28 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-as-another-user-no-recipient-directory/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: secrets 6 | gpg_keys: etc/keys 7 | recipients: etc/recipients 8 | --- 9 | name: mine 10 | auto_import: ~ 11 | trust_model: ~ 12 | secrets: private-partition 13 | gpg_keys: ~ 14 | recipients: private-partition/recipients 15 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-failure: -------------------------------------------------------------------------------- 1 | error: Partition at './two' is contained in another partitions resources directory at './.' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-failure-duplicate-recipients: -------------------------------------------------------------------------------- 1 | error: Recipients path '.gpg-id' is already used, but must be unique across all partitions -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-fourth-directory/etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-fourth-directory/etc/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-fourth-directory/first/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-fourth-directory/subdir/second/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-fourth-directory/subdir/third/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-fourth-directory/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: secrets 6 | gpg_keys: etc/keys 7 | recipients: etc/recipients 8 | --- 9 | name: first 10 | auto_import: ~ 11 | trust_model: ~ 12 | secrets: first 13 | gpg_keys: ~ 14 | recipients: first/recipients 15 | --- 16 | name: second-partition 17 | auto_import: ~ 18 | trust_model: ~ 19 | secrets: "./subdir/second" 20 | gpg_keys: ~ 21 | recipients: "./subdir/second/recipients" 22 | --- 23 | name: third 24 | auto_import: ~ 25 | trust_model: ~ 26 | secrets: subdir/third 27 | gpg_keys: ~ 28 | recipients: subdir/third/recipients 29 | --- 30 | name: second-partition 31 | auto_import: ~ 32 | trust_model: ~ 33 | secrets: /tmp/some-empty-dir 34 | gpg_keys: ~ 35 | recipients: /tmp/some-empty-dir/recipients 36 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-fourth-named-absolute-path: -------------------------------------------------------------------------------- 1 | Exported public key for user Tester (for testing only) to 'etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 2 | Added partition 'second-partition' with resources at '/tmp/some-empty-dir' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-multiple-non-existing-user-ids: -------------------------------------------------------------------------------- 1 | error: No secret key matched any of the given user ids: 'foo', 'bar' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-multiple-private-keys: -------------------------------------------------------------------------------- 1 | Exported public key for user Tester (for testing only) to 'etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 2 | Added unnamed partition with resources at 'with-multiple-keys' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-qualified-resource: -------------------------------------------------------------------------------- 1 | Added 'private-partition/hello'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-second-named: -------------------------------------------------------------------------------- 1 | Exported public key for user Tester (for testing only) to 'etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 2 | Added partition 'second-partition' with resources at './subdir/second' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-second-named-directory/etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-second-named-directory/etc/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-second-named-directory/first/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-second-named-directory/subdir/second/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-second-named-directory/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: secrets 6 | gpg_keys: etc/keys 7 | recipients: etc/recipients 8 | --- 9 | name: first 10 | auto_import: ~ 11 | trust_model: ~ 12 | secrets: first 13 | gpg_keys: ~ 14 | recipients: first/recipients 15 | --- 16 | name: second-partition 17 | auto_import: ~ 18 | trust_model: ~ 19 | secrets: "./subdir/second" 20 | gpg_keys: ~ 21 | recipients: "./subdir/second/recipients" 22 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-third-named-directory/etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-third-named-directory/etc/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-third-named-directory/first/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-third-named-directory/subdir/second/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-third-named-directory/subdir/third/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-third-named-directory/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: secrets 6 | gpg_keys: etc/keys 7 | recipients: etc/recipients 8 | --- 9 | name: first 10 | auto_import: ~ 11 | trust_model: ~ 12 | secrets: first 13 | gpg_keys: ~ 14 | recipients: first/recipients 15 | --- 16 | name: second-partition 17 | auto_import: ~ 18 | trust_model: ~ 19 | secrets: "./subdir/second" 20 | gpg_keys: ~ 21 | recipients: "./subdir/second/recipients" 22 | --- 23 | name: third 24 | auto_import: ~ 25 | trust_model: ~ 26 | secrets: subdir/third 27 | gpg_keys: ~ 28 | recipients: subdir/third/recipients 29 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-third-unnamed-relative-path: -------------------------------------------------------------------------------- 1 | Exported public key for user Tester (for testing only) to 'etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 2 | Added unnamed partition with resources at 'subdir/third' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-to-existing-empty-directory: -------------------------------------------------------------------------------- 1 | Exported public key for user Tester (for testing only) to '.gpg-keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 2 | Added unnamed partition with resources at 'partition2' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-to-existing-non-empty-directory: -------------------------------------------------------------------------------- 1 | error: Cannot create secrets directory 2 | Caused by: 3 | 1: Refusing to write into non-empty directory at 'partition' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-add-unqualified-resource: -------------------------------------------------------------------------------- 1 | error: Path 'hello' could not be associated with any partition. Prefix it with the partition resource directory. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-first-unnamed: -------------------------------------------------------------------------------- 1 | Exported public key for user Tester (for testing only) to 'etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 2 | Added unnamed partition with resources at 'first' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-first-unnamed-directory/etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-first-unnamed-directory/etc/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-first-unnamed-directory/first/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-first-unnamed-directory/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: secrets 6 | gpg_keys: etc/keys 7 | recipients: etc/recipients 8 | --- 9 | name: first 10 | auto_import: ~ 11 | trust_model: ~ 12 | secrets: first 13 | gpg_keys: ~ 14 | recipients: first/recipients 15 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-recipients-list-fail-missing-key: -------------------------------------------------------------------------------- 1 | syv://secrets 2 | error: Didn't find the key for 1 recipient(s) in the gpg database. This might mean it wasn't imported yet from the 'etc/keys' directory. 3 | The following recipient(s) could not be found in the gpg key database: 4 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 (Import key-file using 'gpg --import 'etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332') -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-recipients-list-fail-missing-key-as-prime-recipient: -------------------------------------------------------------------------------- 1 | syv://secrets 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 (Tester (for testing only) ) 3 | syv://mine@private-partition 4 | error: Didn't find the key for 1 recipient(s) in the gpg database. 5 | The following recipient(s) could not be found in the gpg key database: 6 | 7435ACDC03D55429C41637C4DB9831D842C18D28 (No GPG keys directory) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-by-index-failure-cannot-remove-leader: -------------------------------------------------------------------------------- 1 | error: Refusing to remove the leading partition at index 0 -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-by-index-failure-does-not-exist: -------------------------------------------------------------------------------- 1 | error: Could not find partition with index 99 -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-by-name-failure-does-not-exist: -------------------------------------------------------------------------------- 1 | error: No partition matched the given selector 'some-invalid-name' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-by-path-failure-does-not-exist: -------------------------------------------------------------------------------- 1 | error: No partition matched the given selector '../some-path-which-is-not-there' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-failure-ambiguous-name: -------------------------------------------------------------------------------- 1 | error: Multiple partitions matched the ambiguous selector 'same' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-fourth-by-index: -------------------------------------------------------------------------------- 1 | Removed partition matching selector '4' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-fourth-by-index-directory/etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-fourth-by-index-directory/etc/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-fourth-by-index-directory/first/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-fourth-by-index-directory/subdir/second/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-fourth-by-index-directory/subdir/third/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-fourth-by-index-directory/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: secrets 6 | gpg_keys: etc/keys 7 | recipients: etc/recipients 8 | --- 9 | name: first 10 | auto_import: ~ 11 | trust_model: ~ 12 | secrets: first 13 | gpg_keys: ~ 14 | recipients: first/recipients 15 | --- 16 | name: second-partition 17 | auto_import: ~ 18 | trust_model: ~ 19 | secrets: "./subdir/second" 20 | gpg_keys: ~ 21 | recipients: "./subdir/second/recipients" 22 | --- 23 | name: third 24 | auto_import: ~ 25 | trust_model: ~ 26 | secrets: subdir/third 27 | gpg_keys: ~ 28 | recipients: subdir/third/recipients 29 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-qualified-resource: -------------------------------------------------------------------------------- 1 | Removed file at 'private-partition/hello.gpg' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-second-by-resource-dir: -------------------------------------------------------------------------------- 1 | Removed partition matching selector './subdir/second' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-second-by-resource-dir-directory/etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-second-by-resource-dir-directory/etc/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-second-by-resource-dir-directory/first/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-second-by-resource-dir-directory/subdir/second/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-second-by-resource-dir-directory/subdir/third/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-second-by-resource-dir-directory/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: secrets 6 | gpg_keys: etc/keys 7 | recipients: etc/recipients 8 | --- 9 | name: first 10 | auto_import: ~ 11 | trust_model: ~ 12 | secrets: first 13 | gpg_keys: ~ 14 | recipients: first/recipients 15 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-success-similarly-named-leader: -------------------------------------------------------------------------------- 1 | Removed partition matching selector 'same' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-success-similarly-named-leader-directory/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: same 3 | auto_import: ~ 4 | trust_model: ~ 5 | secrets: one 6 | gpg_keys: ".gpg-keys" 7 | recipients: bar 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-third-by-name: -------------------------------------------------------------------------------- 1 | Removed partition matching selector 'third' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-third-by-name-directory/etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-third-by-name-directory/etc/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-third-by-name-directory/first/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-third-by-name-directory/subdir/second/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-third-by-name-directory/subdir/third/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-third-by-name-directory/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: secrets 6 | gpg_keys: etc/keys 7 | recipients: etc/recipients 8 | --- 9 | name: first 10 | auto_import: ~ 11 | trust_model: ~ 12 | secrets: first 13 | gpg_keys: ~ 14 | recipients: first/recipients 15 | --- 16 | name: second-partition 17 | auto_import: ~ 18 | trust_model: ~ 19 | secrets: "./subdir/second" 20 | gpg_keys: ~ 21 | recipients: "./subdir/second/recipients" 22 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-remove-unqualified-resource: -------------------------------------------------------------------------------- 1 | error: Path 'hello' could not be associated with any partition. Prefix it with the partition resource directory. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-resource-list: -------------------------------------------------------------------------------- 1 | syv://secrets 2 | syv://mine@private-partition 3 | private-partition/hello -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-resource-show-qualified-non-existing-resource: -------------------------------------------------------------------------------- 1 | error: Could not open input file at 'private-partition/non-existing.gpg' for reading. Tried 'private-partition/non-existing' as well. 2 | Caused by: 3 | 1: No such file or directory (os error 2) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-resource-show-qualified-path: -------------------------------------------------------------------------------- 1 | hi to partition -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/partitions/partition-resource-show-unqualified-resource: -------------------------------------------------------------------------------- 1 | error: Path 'hello' could not be associated with any partition. Prefix it with the partition resource directory. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/fail-invalid-trust-model: -------------------------------------------------------------------------------- 1 | error: 'something-new' isn't a valid value for '--trust-model ' 2 | [possible values: always, web-of-trust] 3 | 4 | 5 | USAGE: 6 | syv --config-file init --gpg-keys-dir --recipients-file --secrets-dir --trust-model 7 | 8 | For more information try --help -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/fail-recipient-add-without-prior-import-of-all-users-wrong-partition: -------------------------------------------------------------------------------- 1 | Exported public key for user user b to 'etc/keys/7435ACDC03D55429C41637C4DB9831D842C18D28' 2 | Added recipient user b 3 | Imported recipient key at path 'etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 4 | error: Export your public key using 'sy vault recipient init', then ask one of the existing recipients to import your public key using 'sy vault recipients add .' 5 | Caused by: 6 | 3: Could not decrypt 'p3/added-by-new-user.gpg' to re-encrypt for new recipients. 7 | 2: The content was not encrypted for you. 8 | 1: No secret key (gpg error 17) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/precondition-vault-with-multiple-partitions-config: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: true 4 | trust_model: always 5 | secrets: p1 6 | gpg_keys: etc/keys 7 | recipients: etc/p1 8 | --- 9 | name: second 10 | auto_import: ~ 11 | trust_model: ~ 12 | secrets: p2 13 | gpg_keys: ~ 14 | recipients: etc/p2 15 | --- 16 | name: third 17 | auto_import: ~ 18 | trust_model: ~ 19 | secrets: p3 20 | gpg_keys: ~ 21 | recipients: etc/p3 22 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/precondition-vault-with-multiple-partitions/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/precondition-vault-with-multiple-partitions/p1: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/precondition-vault-with-multiple-partitions/p2: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/precondition-vault-with-multiple-partitions/p3: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/recipient-add-without-prior-import-of-all-users-right-partition: -------------------------------------------------------------------------------- 1 | Exported public key for user user b to 'etc/keys/7435ACDC03D55429C41637C4DB9831D842C18D28' 2 | Added recipient user b 3 | Re-encrypted 'p2/added-by-new-user' for new recipient(s) 4 | Re-encrypted 'p2/two' for new recipient(s) 5 | Re-encrypted 'p2/with-editor' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/resource-add-from-stdin-with-editor: -------------------------------------------------------------------------------- 1 | Imported recipient key at path 'etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 2 | Added 'p2/with-editor'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-listing-with-missing-key: -------------------------------------------------------------------------------- 1 | syv://p1 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 (Tester (for testing only) ) 3 | syv://second@p2 4 | Imported recipient key at path 'etc/keys/7435ACDC03D55429C41637C4DB9831D842C18D28' 5 | 7435ACDC03D55429C41637C4DB9831D842C18D28 (user b ) 6 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 (Tester (for testing only) ) 7 | syv://third@p3 8 | 7435ACDC03D55429C41637C4DB9831D842C18D28 (user b ) 9 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 (Tester (for testing only) ) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-after-recipient-add/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-after-recipient-add/p1: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-after-recipient-add/p2: -------------------------------------------------------------------------------- 1 | 1E1114E11B362B46B53E1ABAEF17047AB488BD82 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-after-recipient-add/p3: -------------------------------------------------------------------------------- 1 | 1E1114E11B362B46B53E1ABAEF17047AB488BD82 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-after-recipient-init/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-after-recipient-init/p1: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-after-recipient-init/p2: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-after-recipient-init/p3: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-new-recipient-add-resource-to-p1: -------------------------------------------------------------------------------- 1 | Added 'p1/added-by-new-user'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-new-recipient-add-resource-to-p2: -------------------------------------------------------------------------------- 1 | Imported recipient key at path 'etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 2 | Added 'p2/added-by-new-user'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-new-recipient-add-resource-to-p3: -------------------------------------------------------------------------------- 1 | Added 'p3/added-by-new-user'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-directory/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-directory/p1: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-directory/p2: -------------------------------------------------------------------------------- 1 | 7435ACDC03D55429C41637C4DB9831D842C18D28 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-directory/p3: -------------------------------------------------------------------------------- 1 | 7435ACDC03D55429C41637C4DB9831D842C18D28 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-with-import: -------------------------------------------------------------------------------- 1 | Imported recipient key at path 'etc/keys/7435ACDC03D55429C41637C4DB9831D842C18D28' 2 | Imported recipient key at path 'etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332' 3 | Removed key file at 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 4 | Wrote changed recipients to file at 'etc/p2' 5 | Re-encrypted 'p2/added-by-new-user' for new recipient(s) 6 | Re-encrypted 'p2/two' for new recipient(s) 7 | Re-encrypted 'p2/with-editor' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-directory/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-directory/p1: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-directory/p2: -------------------------------------------------------------------------------- 1 | 1E1114E11B362B46B53E1ABAEF17047AB488BD82 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-directory/p3: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-with-import: -------------------------------------------------------------------------------- 1 | Wrote changed recipients to file at 'etc/p3' 2 | Re-encrypted 'p3/added-by-new-user' for new recipient(s) 3 | Re-encrypted 'p3/three' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-recipient-add-to-multiple: -------------------------------------------------------------------------------- 1 | Imported recipient key at path 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 2 | Signed recipients key user a (a test account user a) (1E1114E11B362B46B53E1ABAEF17047AB488BD82) with signing key Tester (for testing only) (D6339718E9B58FCE3C66C78AAA5B7BF150F48332) 3 | Exported public key for user user a (a test account user a) to 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 4 | Added recipient user a (a test account user a) 5 | Re-encrypted 'p2/two' for new recipient(s) 6 | Imported recipient key at path 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 7 | Signed recipients key user a (a test account user a) (1E1114E11B362B46B53E1ABAEF17047AB488BD82) with signing key Tester (for testing only) (D6339718E9B58FCE3C66C78AAA5B7BF150F48332) 8 | Exported public key for user user a (a test account user a) to 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 9 | Added recipient user a (a test account user a) 10 | Re-encrypted 'p3/three' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions-always-encrypt/vault-with-multiple-partitions-recipient-init: -------------------------------------------------------------------------------- 1 | Exported public key for user a (a test account user a) (1E1114E11B362B46B53E1ABAEF17047AB488BD82). -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/precondition-vault-with-multiple-partitions/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/precondition-vault-with-multiple-partitions/p1: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/precondition-vault-with-multiple-partitions/p2: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/precondition-vault-with-multiple-partitions/p3: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-after-recipient-add/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWj95tQEEALwHDOYX7FTRshbzGnEwNLKcctQmW63OdaAkkitBdFKIKrsUjqup 4 | BcxmuUxZ6iP8Qw36I2TEVjzdXmZCkCV19q0d7Lfe0aPWZwk//oCCSYl+t2EWFodi 5 | vnBOX/Evs31IYRRV+3uIJVmoBBlskgRK9eLIpmY0XkdTZaDb0YJCz0FpABEBAAG0 6 | LnVzZXIgYSAoYSB0ZXN0IGFjY291bnQgdXNlciBhKSA8YUBleGFtcGxlLmNvbT6I 7 | zgQTAQgAOBYhBB4RFOEbNitGtT4auu8XBHq0iL2CBQJaP3m1AhsDBQsJCAcCBhUI 8 | CQoLAgQWAgMBAh4BAheAAAoJEO8XBHq0iL2CGkoD/imHME2ukMynRy73UybaRHMs 9 | oOxEx/4j6O0CInfclon47bjm8L454xwnSvdjqHw/jOa5NXeXeGvHc/1Al1MFkEp+ 10 | +JMnuuZJXm/tQpjQ4j6GojlIGuw8JumkDy+3FmyjDz8KxJ54HtQ9AXv8VXCQin8P 11 | vNRqmgujwTkYgVgVf5sfiLMEEAEIAB0WIQTWM5cY6bWPzjxmx4qqW3vxUPSDMgUC 12 | Wj+COQAKCRCqW3vxUPSDMnIABACdsTOPM9fiV5+LS5q6powbol+nUXkACmFXWGRk 13 | 0uAI1qPA2dAE6AhRJ/Of1H/F4FfTpYTcCGJicd/c1ihUkrrUCD8CY03rU9F056Ls 14 | BVdDTIjSijbAZnWFZbN/27VwlDbWyICLDmAmPthnpga1lc/Y1MdmqsNwnQVvTk97 15 | IV0el7iNBFo/ebUBBAC8kwFUhSGj8V+Sylxu97/vCeMw/tav4DHtpaJ3cr+GPIXV 16 | YugXm5S/gjFtu0j/yJJ1xs0fIMXvfQVe8qW41L1yTDv1kKo3P2VwE6NdDGSLKCeG 17 | cJ2E/VM/vyHYinndtbvkZscxaElgRDR8bjR7JkzyhstHV7JbM2H5ivYZdlPdXwAR 18 | AQABiLYEGAEIACAWIQQeERThGzYrRrU+GrrvFwR6tIi9ggUCWj95tQIbDAAKCRDv 19 | FwR6tIi9glzTBACo4/IZbkHWu63fMuvnhyGXusgH/4qYC5R5ozN82Ir6xSTXpi7u 20 | YlMtle6HHMjjQ8xoBAgUVhYP2VhenN6sS/CzH8ftbIy6SOeSU6wJnwQZ0XNkSHPF 21 | gMshBAiduBQjwWXCgFC7f2ZKGeAiGcVLIg4Kl/XyggF8BOT/hB0ekfz3sQ== 22 | =KPOh 23 | -----END PGP PUBLIC KEY BLOCK----- 24 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-after-recipient-add/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-after-recipient-add/p1: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-after-recipient-add/p2: -------------------------------------------------------------------------------- 1 | 1E1114E11B362B46B53E1ABAEF17047AB488BD82 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-after-recipient-add/p3: -------------------------------------------------------------------------------- 1 | 1E1114E11B362B46B53E1ABAEF17047AB488BD82 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-after-recipient-init/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWj95tQEEALwHDOYX7FTRshbzGnEwNLKcctQmW63OdaAkkitBdFKIKrsUjqup 4 | BcxmuUxZ6iP8Qw36I2TEVjzdXmZCkCV19q0d7Lfe0aPWZwk//oCCSYl+t2EWFodi 5 | vnBOX/Evs31IYRRV+3uIJVmoBBlskgRK9eLIpmY0XkdTZaDb0YJCz0FpABEBAAG0 6 | LnVzZXIgYSAoYSB0ZXN0IGFjY291bnQgdXNlciBhKSA8YUBleGFtcGxlLmNvbT6I 7 | zgQTAQgAOBYhBB4RFOEbNitGtT4auu8XBHq0iL2CBQJaP3m1AhsDBQsJCAcCBhUI 8 | CQoLAgQWAgMBAh4BAheAAAoJEO8XBHq0iL2CGkoD/imHME2ukMynRy73UybaRHMs 9 | oOxEx/4j6O0CInfclon47bjm8L454xwnSvdjqHw/jOa5NXeXeGvHc/1Al1MFkEp+ 10 | +JMnuuZJXm/tQpjQ4j6GojlIGuw8JumkDy+3FmyjDz8KxJ54HtQ9AXv8VXCQin8P 11 | vNRqmgujwTkYgVgVf5sfiLMEEAEIAB0WIQTWM5cY6bWPzjxmx4qqW3vxUPSDMgUC 12 | Wj+COQAKCRCqW3vxUPSDMnIABACdsTOPM9fiV5+LS5q6powbol+nUXkACmFXWGRk 13 | 0uAI1qPA2dAE6AhRJ/Of1H/F4FfTpYTcCGJicd/c1ihUkrrUCD8CY03rU9F056Ls 14 | BVdDTIjSijbAZnWFZbN/27VwlDbWyICLDmAmPthnpga1lc/Y1MdmqsNwnQVvTk97 15 | IV0el7iNBFo/ebUBBAC8kwFUhSGj8V+Sylxu97/vCeMw/tav4DHtpaJ3cr+GPIXV 16 | YugXm5S/gjFtu0j/yJJ1xs0fIMXvfQVe8qW41L1yTDv1kKo3P2VwE6NdDGSLKCeG 17 | cJ2E/VM/vyHYinndtbvkZscxaElgRDR8bjR7JkzyhstHV7JbM2H5ivYZdlPdXwAR 18 | AQABiLYEGAEIACAWIQQeERThGzYrRrU+GrrvFwR6tIi9ggUCWj95tQIbDAAKCRDv 19 | FwR6tIi9glzTBACo4/IZbkHWu63fMuvnhyGXusgH/4qYC5R5ozN82Ir6xSTXpi7u 20 | YlMtle6HHMjjQ8xoBAgUVhYP2VhenN6sS/CzH8ftbIy6SOeSU6wJnwQZ0XNkSHPF 21 | gMshBAiduBQjwWXCgFC7f2ZKGeAiGcVLIg4Kl/XyggF8BOT/hB0ekfz3sQ== 22 | =KPOh 23 | -----END PGP PUBLIC KEY BLOCK----- 24 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-after-recipient-init/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-after-recipient-init/p1: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-after-recipient-init/p2: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-after-recipient-init/p3: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-remove-oneself-from-p3-fails-directory/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-remove-oneself-from-p3-fails-directory/p1: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-remove-oneself-from-p3-fails-directory/p2: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-remove-oneself-from-p3-fails-directory/p3: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p1-fail: -------------------------------------------------------------------------------- 1 | error: Didn't find the key for 1 recipient(s) in the gpg database. This might mean it wasn't imported yet from the 'etc/keys' directory. 2 | The following recipient(s) could not be found in the gpg key database: 3 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 (Import key-file using 'gpg --import 'etc/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332') -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p1-fail-directory/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p1-fail-directory/p1: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p1-fail-directory/p2: -------------------------------------------------------------------------------- 1 | 1E1114E11B362B46B53E1ABAEF17047AB488BD82 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p1-fail-directory/p3: -------------------------------------------------------------------------------- 1 | 1E1114E11B362B46B53E1ABAEF17047AB488BD82 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-directory/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-directory/p1: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-directory/p2: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-directory/p3: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p2-with-import: -------------------------------------------------------------------------------- 1 | Removed key file at 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 2 | Wrote changed recipients to file at 'etc/p2' 3 | Re-encrypted 'p2/two' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-directory/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-directory/p1: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-directory/p2: -------------------------------------------------------------------------------- 1 | 1E1114E11B362B46B53E1ABAEF17047AB488BD82 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-directory/p3: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-no-import: -------------------------------------------------------------------------------- 1 | error: Didn't find the key for 1 recipient(s) in the gpg database. 2 | The following recipient(s) could not be found in the gpg key database: 3 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 (No GPG keys directory) 4 | All recipients found in gpg database: 5 | 1E1114E11B362B46B53E1ABAEF17047AB488BD82 (user a (a test account user a) ) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-no-import-directory/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-no-import-directory/p1: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-no-import-directory/p2: -------------------------------------------------------------------------------- 1 | 1E1114E11B362B46B53E1ABAEF17047AB488BD82 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-no-import-directory/p3: -------------------------------------------------------------------------------- 1 | 1E1114E11B362B46B53E1ABAEF17047AB488BD82 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-removes-themselves-from-p3-with-import: -------------------------------------------------------------------------------- 1 | Wrote changed recipients to file at 'etc/p3' 2 | Re-encrypted 'p3/three' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-show-resource-in-p1: -------------------------------------------------------------------------------- 1 | error: Export your public key using 'sy vault recipient init', then ask one of the existing recipients to import your public key using 'sy vault recipients add .' 2 | Caused by: 3 | 2: The content was not encrypted for you. 4 | 1: No secret key (gpg error 17) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-show-resource-in-p2: -------------------------------------------------------------------------------- 1 | 2 -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-new-recipient-show-resource-in-p3: -------------------------------------------------------------------------------- 1 | 3 -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-recipient-add-to-multiple: -------------------------------------------------------------------------------- 1 | Imported recipient key at path 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 2 | Signed recipients key user a (a test account user a) (1E1114E11B362B46B53E1ABAEF17047AB488BD82) with signing key Tester (for testing only) (D6339718E9B58FCE3C66C78AAA5B7BF150F48332) 3 | Exported public key for user user a (a test account user a) to 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 4 | Added recipient user a (a test account user a) 5 | Re-encrypted 'p2/two' for new recipient(s) 6 | Imported recipient key at path 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 7 | Signed recipients key user a (a test account user a) (1E1114E11B362B46B53E1ABAEF17047AB488BD82) with signing key Tester (for testing only) (D6339718E9B58FCE3C66C78AAA5B7BF150F48332) 8 | Exported public key for user user a (a test account user a) to 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 9 | Added recipient user a (a test account user a) 10 | Re-encrypted 'p3/three' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-recipient-add-to-unknown: -------------------------------------------------------------------------------- 1 | error: No partition matched the given selector 'unknown' -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-recipient-init: -------------------------------------------------------------------------------- 1 | Exported public key for user a (a test account user a) (1E1114E11B362B46B53E1ABAEF17047AB488BD82). -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients-and-partitions/vault-with-multiple-partitions-remove-oneself-from-p3-fails: -------------------------------------------------------------------------------- 1 | error: Cannot remove user Tester (for testing only) (D6339718E9B58FCE3C66C78AAA5B7BF150F48332) from 'etc/p3' as it would be empty afterwards. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/remove/recipient-after-remove-show-failure: -------------------------------------------------------------------------------- 1 | error: Export your public key using 'sy vault recipient init', then ask one of the existing recipients to import your public key using 'sy vault recipients add .' 2 | Caused by: 3 | 2: The content was not encrypted for you. 4 | 1: No secret key (gpg error 17) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/remove/recipient-remove-failure-just-in-keychain: -------------------------------------------------------------------------------- 1 | error: The following key(s) for removal could not be found in the recipients list. 2 | user c (905E53FE2FC0A500100AB80B056F92A52DF04D4E) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/remove/recipient-remove-failure-one-correct-and-one-unknown-key: -------------------------------------------------------------------------------- 1 | error: Didn't find the key for 1 user-id(s) in the gpg database. This might mean it wasn't imported yet from the 'keys' directory. 2 | The following user-id(s) could not be found in the gpg key database: 3 | unkown@example.com (Key-file does not exist at 'keys/unkown@example.com') 4 | All user-ids found in gpg database: 5 | 7435ACDC03D55429C41637C4DB9831D842C18D28 (user b ) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/remove/recipient-remove-failure-unknown-key: -------------------------------------------------------------------------------- 1 | error: Didn't find the key for 1 user-id(s) in the gpg database. This might mean it wasn't imported yet from the 'keys' directory. 2 | The following user-id(s) could not be found in the gpg key database: 3 | unkown@example.com (Key-file does not exist at 'keys/unkown@example.com') -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/remove/recipient-remove-success: -------------------------------------------------------------------------------- 1 | Removed key file at 'keys/7435ACDC03D55429C41637C4DB9831D842C18D28' 2 | Wrote changed recipients to file at '.gpg-id' 3 | Re-encrypted 'a' for new recipient(s) 4 | Re-encrypted 'subdir/b' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/unverified/vault-recipient-add-metadata-right-after-init/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/unverified/vault-recipient-add-metadata-right-after-init/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/unverified/vault-recipient-add-untrusted-user-a-with-fingerprint: -------------------------------------------------------------------------------- 1 | Imported recipient key at path 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 2 | Signed recipients key user a (a test account user a) (1E1114E11B362B46B53E1ABAEF17047AB488BD82) with signing key Tester (for testing only) (D6339718E9B58FCE3C66C78AAA5B7BF150F48332) 3 | Exported public key for user user a (a test account user a) to 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 4 | Added recipient user a (a test account user a) 5 | Re-encrypted 'secret' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/unverified/vault-recipient-add-untrusted-user-a-with-fingerprint-ambiguously: -------------------------------------------------------------------------------- 1 | Imported recipient key at path 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 2 | error: Did not manage to find suitable signing key for re-exporting the recipient keys. 3 | Caused by: 4 | 1: Multiple keys are suitable for signing, which is ambiguous. 5 | Tester (for testing only) (D6339718E9B58FCE3C66C78AAA5B7BF150F48332) 6 | user a (a test account user a) (1E1114E11B362B46B53E1ABAEF17047AB488BD82) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/unverified/vault-recipient-add-untrusted-user-a-with-fingerprint-invalid-signing-key: -------------------------------------------------------------------------------- 1 | Imported recipient key at path 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 2 | error: Did not manage to find suitable signing key for re-exporting the recipient keys. 3 | Caused by: 4 | 2: The given signing key named 'foo@example.com' could not be found in the keychain. 5 | 1: End of file (gpg error 16383) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/unverified/vault-recipient-add-untrusted-user-a-with-fingerprint-valid-signing-key: -------------------------------------------------------------------------------- 1 | Imported recipient key at path 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 2 | Signed recipients key user a (a test account user a) (1E1114E11B362B46B53E1ABAEF17047AB488BD82) with signing key Tester (for testing only) (D6339718E9B58FCE3C66C78AAA5B7BF150F48332) 3 | Exported public key for user user a (a test account user a) to 'etc/keys/1E1114E11B362B46B53E1ABAEF17047AB488BD82' 4 | Added recipient user a (a test account user a) 5 | Re-encrypted 'secret' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/unverified/vault-recipient-add-untrusted-user-with-fingerprint: -------------------------------------------------------------------------------- 1 | Imported recipient key at path 'etc/keys/7435ACDC03D55429C41637C4DB9831D842C18D28' 2 | Signed recipients key user b (7435ACDC03D55429C41637C4DB9831D842C18D28) with signing key Tester (for testing only) (D6339718E9B58FCE3C66C78AAA5B7BF150F48332) 3 | Exported public key for user user b to 'etc/keys/7435ACDC03D55429C41637C4DB9831D842C18D28' 4 | Added recipient user b 5 | Re-encrypted 'secret' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/unverified/vault-recipient-add-untrusted-user-with-fingerprint-metadata: -------------------------------------------------------------------------------- 1 | 7435ACDC03D55429C41637C4DB9831D842C18D28 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/unverified/vault-recipient-add-unverified-unchanged-state/.gpg-id: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/unverified/vault-recipient-add-unverified-unchanged-state/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/unverified/vault-recipient-add-unverified-unchanged-state/sy-vault.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: ~ 3 | auto_import: false 4 | trust_model: gpg-web-of-trust 5 | secrets: "." 6 | gpg_keys: "./keys" 7 | recipients: "./.gpg-id" 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/unverified/vault-recipient-add-valid-fingerprint-key-not-present-in-keys-dir: -------------------------------------------------------------------------------- 1 | error: Could not find fingerprint 'abcabc12', tried local file as well as gpg keychain. 2 | Caused by: 3 | 1: Did not find key file matching glob pattern '*abcabc12' in directory 'etc/keys'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/unverified/vault-recipients-add-unverified-failure-with-multi-recipient-keyfile: -------------------------------------------------------------------------------- 1 | Imported recipient key at path 'keys/7435ACDC03D55429C41637C4DB9831D842C18D28' 2 | error: One of the imported key-files contained more than one recipient. 3 | This might mean somebody trying to sneak in their key. The offending fingerprints are listed below 4 | 905E53FE2FC0A500100AB80B056F92A52DF04D4E -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/add-success-as-unknown-user: -------------------------------------------------------------------------------- 1 | Added 'new-secret'. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/list-with-relative-secrets-dir: -------------------------------------------------------------------------------- 1 | syv://secrets 2 | secret -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipient-add-b-failure: -------------------------------------------------------------------------------- 1 | Exported public key for user user b to 'etc/keys/7435ACDC03D55429C41637C4DB9831D842C18D28' 2 | Added recipient user b 3 | error: At least one recipient you try to encrypt for is untrusted. Consider (locally) signing the key with `gpg --sign-key ` or ultimately trusting them. 4 | Could not encrypt for recipient 7435ACDC03D55429C41637C4DB9831D842C18D28 (user b ) with error: Unusable public key (gpg error 53) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipient-add-b-recipients: -------------------------------------------------------------------------------- 1 | 7435ACDC03D55429C41637C4DB9831D842C18D28 2 | 905E53FE2FC0A500100AB80B056F92A52DF04D4E 3 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 4 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipient-add-b-success-after-signing: -------------------------------------------------------------------------------- 1 | Exported public key for user user b to 'etc/keys/7435ACDC03D55429C41637C4DB9831D842C18D28' 2 | Added recipient user b 3 | Re-encrypted 'secret' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipient-add-c: -------------------------------------------------------------------------------- 1 | Exported public key for user user c to 'etc/keys/905E53FE2FC0A500100AB80B056F92A52DF04D4E' 2 | Added recipient user c 3 | Re-encrypted 'secret' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipient-add-c-keys-dir/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipient-add-c-keys-dir/recipients: -------------------------------------------------------------------------------- 1 | 905E53FE2FC0A500100AB80B056F92A52DF04D4E 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipient-add-from-keychain: -------------------------------------------------------------------------------- 1 | Signed recipients key user b (7435ACDC03D55429C41637C4DB9831D842C18D28) with signing key Tester (for testing only) (D6339718E9B58FCE3C66C78AAA5B7BF150F48332) 2 | Exported public key for user user b to 'etc/keys/7435ACDC03D55429C41637C4DB9831D842C18D28' 3 | Added recipient user b 4 | Re-encrypted 'a' for new recipient(s) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipient-add-from-keychain-recipients: -------------------------------------------------------------------------------- 1 | 7435ACDC03D55429C41637C4DB9831D842C18D28 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipient-init-c-config-dir/keys/D6339718E9B58FCE3C66C78AAA5B7BF150F48332: -------------------------------------------------------------------------------- 1 | -----BEGIN PGP PUBLIC KEY BLOCK----- 2 | 3 | mI0EWjkZ6wEEAL/ktneGTtpESmy1EwxetQUHJVN2JpzGGqYwJhzikmFEcJRz7epZ 4 | Q91dGRDJlYjoAlkq+AZnaKalaXEJjPhsk3LegX+GpjQ5stcXaDybfVTH5ivHmp/C 5 | Disuno4Yd/NmosftxpreXoP59lAyCXcFqwrfoO9zBtq2bY/VpCpuJq/NABEBAAG0 6 | LlRlc3RlciAoZm9yIHRlc3Rpbmcgb25seSkgPHRlc3RlckBleGFtcGxlLmNvbT6I 7 | uAQTAQIAIgUCWjkZ6wIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQqlt7 8 | 8VD0gzJ4jQQAuH3T9/EcUJvCJWYobHJ4ZjbwCtsoYDs3SsSUGX1ZLAA7wf1+Qhqx 9 | mXVL/zKa0yw0dS7qmNpmVzqnK47fmEmqKr8PVcoJ/cYpYGUGpNAJj9CW4SYekoXS 10 | VYCtUtKA/l7vjVGrgqqRtPDyXHqf9dEfHGbdvUvjY9LF3WXKNroxgp24jQRaORnr 11 | AQQAtCZKPyai7iDXiLRLkiEvoldB+KEKZmPgEvtSYbnsYNGlCY8bZuzx+0utLQPM 12 | itTwfds7DijouRZBthsvapQaxt09MT7lbT1kWvSe/4SUDv/Jwb5sMUu+O1/PZa90 13 | ks/+bBjywHYe2P+xhKKUL/Ld2BevCT5izTqVt8CfCTTuSgUAEQEAAYifBBgBAgAJ 14 | BQJaORnrAhsMAAoJEKpbe/FQ9IMyTwUD/2mFXUY44mV+8qQ5IAcIMMvZ1LfPSLo5 15 | of0VksizITnoBYNzbHoqO34iqta7vbOn2kVmpkjvT1asGIvvTH/TgiZiJTOpDm0i 16 | reAtWyW2kmtPCS1ElFcqHKlDsrE5mn5PtOpvmyncgELpUVakABNgXW2sjdOVzvfh 17 | 0IZcNRhTy/8m 18 | =qlYm 19 | -----END PGP PUBLIC KEY BLOCK----- 20 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipient-init-c-config-dir/recipients: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 2 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipients-add-from-keychain-show-as-recipient: -------------------------------------------------------------------------------- 1 | a -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipients-init-single-secret-key: -------------------------------------------------------------------------------- 1 | Exported public key for user c (905E53FE2FC0A500100AB80B056F92A52DF04D4E). -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipients-list-after-adding-c-successfully: -------------------------------------------------------------------------------- 1 | 905E53FE2FC0A500100AB80B056F92A52DF04D4E (user c ) 2 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 (Tester (for testing only) ) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/recipients-list-after-requesting-membership: -------------------------------------------------------------------------------- 1 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 (Tester (for testing only) ) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/show-fail-for-new-secret-as-unknown-user: -------------------------------------------------------------------------------- 1 | error: Export your public key using 'sy vault recipient init', then ask one of the existing recipients to import your public key using 'sy vault recipients add .' 2 | Caused by: 3 | 2: The content was not encrypted for you. 4 | 1: No secret key (gpg error 17) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/show-failure-as-unknown-user: -------------------------------------------------------------------------------- 1 | error: Export your public key using 'sy vault recipient init', then ask one of the existing recipients to import your public key using 'sy vault recipients add .' 2 | Caused by: 3 | 2: The content was not encrypted for you. 4 | 1: No secret key (gpg error 17) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/show-failure-encrypt-new-secret-missing-pub-key: -------------------------------------------------------------------------------- 1 | error: Didn't find the key for 1 recipient(s) in the gpg database. This might mean it wasn't imported yet from the 'etc/keys' directory. 2 | The following recipient(s) could not be found in the gpg key database: 3 | 7435ACDC03D55429C41637C4DB9831D842C18D28 (Import key-file using 'gpg --import 'etc/keys/7435ACDC03D55429C41637C4DB9831D842C18D28') 4 | All recipients found in gpg database: 5 | 905E53FE2FC0A500100AB80B056F92A52DF04D4E (user c ) 6 | D6339718E9B58FCE3C66C78AAA5B7BF150F48332 (Tester (for testing only) ) -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/show-success-as-user-b: -------------------------------------------------------------------------------- 1 | secret -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/recipients/verified/show-success-as-user-c: -------------------------------------------------------------------------------- 1 | secret -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/stateless/invalid-vault-path: -------------------------------------------------------------------------------- 1 | error: The vault file path '/' is invalid. -------------------------------------------------------------------------------- /tests/journeys/fixtures/snapshots/vault/stateless/unsupported-shell: -------------------------------------------------------------------------------- 1 | error: The shell 'foobar' is unsupported 2 | Caused by: 3 | 1: [valid values: bash, fish, zsh, powershell, elvish] -------------------------------------------------------------------------------- /tests/journeys/fixtures/substitute/data-for-complex.tpl.yml: -------------------------------------------------------------------------------- 1 | page: 2 | title: Introduction 3 | 4 | user: 5 | name: Harald 6 | 7 | customer: 8 | name: anonymous 9 | 10 | product: 11 | title: BarPackFoo 12 | 13 | site: 14 | pages: 15 | - category: one 16 | - category: ~ 17 | - category: two 18 | users: 19 | - Harald 20 | - Schneider 21 | - Meier 22 | 23 | null: ~ 24 | array: 25 | - 1 26 | - 2 27 | - 3 28 | - 4 29 | 30 | 31 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/substitute/data.json.hbs: -------------------------------------------------------------------------------- 1 | { 2 | "password": "{{secret}}" 3 | } -------------------------------------------------------------------------------- /tests/journeys/fixtures/substitute/partials/base0.hbs: -------------------------------------------------------------------------------- 1 | 2 | {{title}} 3 | 4 | 5 | {{~> page}} 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/substitute/partials/base1.hbs: -------------------------------------------------------------------------------- 1 | 2 | {{title}} 3 | 4 |Derived from base0.hbs
5 | {{~> page}} 6 | 7 | 8 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/substitute/partials/included.liquid: -------------------------------------------------------------------------------- 1 | from global: {{global}} 2 | as argument: {{arg}} -------------------------------------------------------------------------------- /tests/journeys/fixtures/substitute/partials/template.hbs: -------------------------------------------------------------------------------- 1 | {{#*inline "page"}} 2 |Derived from base1.hbs
Rendered in partial, parent is {{parent}}
3 | {{/inline}} 4 | {{~> (parent)~}} 5 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/substitute/the-answer.hbs: -------------------------------------------------------------------------------- 1 |: What is the answer to everything? 2 | : {{the-answer}} 3 | -------------------------------------------------------------------------------- /tests/journeys/fixtures/substitute/with-partial.liquid: -------------------------------------------------------------------------------- 1 | from source: {{global}} 2 | {% assign arg = 'argument from caller' %} 3 | included: {% include 'included' %} -------------------------------------------------------------------------------- /tests/journeys/zz-getting-started.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eu 4 | 5 | root="$(cd "${0%/*}" && pwd)" 6 | # shellcheck source=./tests/utilities.sh 7 | source "$root/../utilities.sh" 8 | 9 | SUCCESSFULLY=0 10 | 11 | fixture="$root/fixtures" 12 | snapshot="$fixture/snapshots/getting-started" 13 | 14 | (sandbox 15 | title "getting started" 16 | (with "a standard alpine image" 17 | (with "a clone of the getting-started repository" 18 | { 19 | git clone https://github.com/share-secrets-safely/getting-started /getting-started 20 | cd /getting-started/ 21 | } > /dev/null 22 | 23 | (when "executing one of the wrappers" 24 | it "succeeds" && { 25 | WITH_SNAPSHOT="$snapshot/syv-output-on-alpine" \ 26 | expect_run $SUCCESSFULLY ./syp a=42 27 | } 28 | ) 29 | ) 30 | ) 31 | ) 32 | -------------------------------------------------------------------------------- /tests/journeys/zz-vault-gpg1.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eu 4 | exe=${1:?First argument is the executable under test} 5 | 6 | root="$(cd "${0%/*}" && pwd)" 7 | exe="$root/../../$exe" 8 | # shellcheck source=./tests/gpg-helpers.sh 9 | source "$root/../gpg-helpers.sh" 10 | 11 | WITH_FAILURE=1 12 | 13 | fixture="$root/fixtures" 14 | snapshot="$fixture/snapshots/vault/init-with-gpg1" 15 | 16 | (sandboxed 17 | title "'vault recipient add unverified'" 18 | (with "a vault initialized for a single recipient and an existing secret" 19 | { import_user "$fixture/tester.sec.asc" 20 | mkdir secrets 21 | "$exe" init --secrets-dir secrets --gpg-keys-dir ./etc/keys --recipients-file ./etc/recipients 22 | echo -n secret | "$exe" add :secret 23 | } &>/dev/null 24 | 25 | (with "an untrusted user requesting membership" 26 | (as_user "$fixture/b.sec.asc" 27 | "$exe" recipient init 28 | ) > /dev/null 29 | 30 | (when "adding them as recipient via fingerprint" 31 | it "fails with an error message indicating the GPG version doesn't support signing" && { 32 | WITH_SNAPSHOT="$snapshot/gpg1-vault-recipient-add-untrusted-user-with-fingerprint" \ 33 | expect_run $WITH_FAILURE "$exe" recipient add DB9831D842C18D28 34 | } 35 | 36 | it "does not alter the meta-data structure" && { 37 | expect_snapshot "$snapshot/gpg1-vault-recipient-add-untrusted-user-with-fingerprint-metadata" etc 38 | } 39 | ) 40 | ) 41 | ) 42 | ) 43 | -------------------------------------------------------------------------------- /tests/stateful-journey-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -u 4 | exe=${1:?First argument is the executable under test} 5 | image=${2:?Second argument is the docker image to use as basis} 6 | 7 | relative_root="${0%/*}" 8 | absolute_root="$(cd "$relative_root/.." && pwd)" 9 | RED="$(tput setaf 1)" 10 | 11 | function in_red() { 12 | echo "$RED" "$@" 13 | } 14 | 15 | find "$relative_root/journeys" -maxdepth 1 -type f -name "*.sh" | sort | \ 16 | while read -r journey; do 17 | make_journey_dockerfile="${journey%/*}/dockerfile-gen/${journey##*/}" 18 | journey_image="$image" 19 | if [[ -x "$make_journey_dockerfile" ]]; then 20 | journey_image="${journey##*/}" 21 | BASE_IMAGE="$image" "$make_journey_dockerfile" | docker build -t "$journey_image" - 22 | else 23 | echo 1>&2 "Custom docker image supported via script at 'BASE_IMAGE=$image $make_journey_dockerfile'" 24 | fi || exit $? 25 | 26 | docker_args=( docker run -v "$absolute_root/.docker-cargo-cache:/usr/local/cargo/registry" -v "$absolute_root:/volume" -w '/volume' --rm -t "$journey_image" "$journey" "$exe" ) 27 | in_red "Running '${docker_args[*]}'" 28 | eval "${docker_args[@]}" || exit $? 29 | done 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /tests/stateless-journey-test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eu -o pipefail 4 | exe=${1:?First argument is the executable under test} 5 | exe="$(cd "${exe%/*}" && pwd)/${exe##*/}" 6 | 7 | rela_root="${0%/*}" 8 | root="$(cd "${rela_root}" && pwd)" 9 | # shellcheck source=./tests/gpg-helpers.sh 10 | source "$root/gpg-helpers.sh" 11 | 12 | WITH_FAILURE=1 13 | SUCCESSFULLY=0 14 | 15 | fixture="$root/journeys/fixtures" 16 | 17 | # shellcheck source=./tests/included-stateless-merge.sh 18 | source "$root/included-stateless-merge.sh" 19 | 20 | # shellcheck source=./tests/included-stateless-vault.sh 21 | source "$root/included-stateless-vault.sh" 22 | 23 | # shellcheck source=./tests/included-stateless-substitute.sh 24 | source "$root/included-stateless-substitute.sh" 25 | 26 | # shellcheck source=./tests/included-stateless-extract.sh 27 | source "$root/included-stateless-extract.sh" 28 | 29 | --------------------------------------------------------------------------------