Skip to content

systeminit/swamp-extensions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Swamp Extensions

Official extensions for swamp.

Vault Extensions

Extension Description Dependencies
@swamp/1password 1Password vault provider via the op CLI None (shells out to op)
@swamp/aws-sm AWS Secrets Manager vault provider @aws-sdk/client-secrets-manager
@swamp/azure-kv Azure Key Vault vault provider @azure/identity, @azure/keyvault-secrets

Datastore Extensions

Extension Description Dependencies
@swamp/s3-datastore Amazon S3 datastore with local cache sync and distributed locking @aws-sdk/client-s3

Installation

Extensions are installed automatically when referenced in a swamp repository (via auto-resolution), or manually with:

# Vault extensions
swamp extension pull @swamp/1password
swamp extension pull @swamp/aws-sm
swamp extension pull @swamp/azure-kv

# Datastore extensions
swamp extension pull @swamp/s3-datastore

Usage

Vault extensions

Create a vault using an extension type:

# 1Password
swamp vault create @swamp/1password my-vault --config '{"op_vault":"Private"}'

# AWS Secrets Manager
swamp vault create @swamp/aws-sm my-vault --config '{"region":"us-east-1"}'

# Azure Key Vault
swamp vault create @swamp/azure-kv my-vault --config '{"vault_url":"https://myvault.vault.azure.net/"}'

Datastore extensions

Configure a datastore in .swamp.yaml:

datastore:
  type: "@swamp/s3-datastore"
  config:
    bucket: my-bucket
    prefix: swamp-data
    region: us-east-1

Or set up interactively:

swamp datastore setup @swamp/s3-datastore \
  --config '{"bucket":"my-bucket","prefix":"swamp-data","region":"us-east-1"}'

Issues and Contributing

Issues and pull requests for these extensions are managed in the main swamp repository. Issues and PRs are disabled on this repo.

Development

Each extension is a standalone package with its own deno.json. All npm dependencies are pinned to exact versions for reproducible builds.

# Vault extension example
cd vault/aws-sm
deno check extensions/vaults/aws_sm.ts
deno lint extensions/vaults/
deno fmt extensions/vaults/
deno test --allow-env extensions/vaults/

# Datastore extension example
cd datastore/s3
deno check extensions/datastores/s3.ts
deno lint extensions/datastores/
deno fmt extensions/datastores/
deno test --allow-read --allow-write --allow-env --allow-net --allow-sys extensions/datastores/

# Generate / update lockfile
deno install

Publishing

cd vault/aws-sm     # or datastore/s3
swamp extension push manifest.yaml

License

Copyright (C) 2026 System Initiative, Inc.

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License version 3 as published by the Free Software Foundation, with the Swamp Extension and Definition Exception (found in COPYING-EXCEPTION).

See COPYING for the full license text.

About

A repository that holds the extensions for vaults, datastores and drivers.

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE
AGPL-3.0
COPYING
Unknown
COPYING-EXCEPTION

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors