npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

dspp

v9.3.1

Published

[dspp](https://github.com/131/dspp) is a **d**ocker **s**tack **p**re**p**rocessor

Downloads

129

Readme

dspp is a docker stack preprocessor

Build Status Coverage Status Version License

Motivation

Complex docker stack will be composed out of dozen/hundreds of microservices, volumes, and config. Wrapping all of them in a single compose file is tedious, and lacks flexibility.

dspp allows you to split your compose file, define YAML macros/anchor, use services as metadata references, inline configuration contents, use directories as provided.

Features

  • Write your Docker stack as individual YAML service files, use dspp to compile it
  • Deploy an entire stack or filtered by service name
  • Availability of YAML macros
  • Each YAML file is parsed as a JavaScript literal: they can have embedded JS code
  • Configs can be written as files, directories, bundles, embedded YAML converted to JSON on the fly, or other formats

Usage

production.yml

version: "3.3"

name: my-stack

services:
  service1:
    image: httpd:2.4

On the entire stack:

# interactive session
dspp production.yml

# then use "plan" and "apply" command in the interactive session

# alternatively
dspp production.yml --ir://raw --ir://run=parse --write | docker stack deploy --compose-file - my-stack

On a specific service in the stack:

# Use
dspp production.yml service1
# to work only on the specific "service1" service

See all available commands in Commands docs.

Installation instructions


# requires git, most & colordiff
apt-get install git most colordiff

npx dspp my-stack.yml

The dspp stack file: syntax and examples

The dspp stack file is classic compose file that can include / reference other ones, to compile all them in a stack.

To add configs and other native Compose Spec elements to your services, follow the same rules as the services. Split them into individual files, reference them in your dspp stack file, and redeploy.

Advanced usage

Interpolating JavaScript variables in plain YAML files

Reusable snippets with YAML macros

Command-line flags

YAML object merging: overrides, or how to set up qa/staging/local alternate stacks

Credits