RESTful API to file IO
A light-weight module that brings Fetch API to node.js
Fixes stack traces for files with source maps
Cross Platform Smart Fetch Ponyfill
Temporary file and directory creator
Tools for dealing with node-gyp packages
Fetches the contents of a file accross node and browsers.
Fixes stack traces for files with source maps
Include Flmngr file manager server-side into your Express app or website
Spec-compliant FormData implementation for Node.js
Node.js API (Node-API)
Node.js Google Authentication Service Account Tokens
Core libraries that every NodeJS toolchain project should use
File system walker with Readable stream interface.
Fork pseudoterminals in Node.JS
A system for sharing tool configurations between projects without duplicating config files.
node.js library for reading and extraction of ZIP archives
The Node.js bindings of the humanfs library.
like touch(1) in node
Node server-side implementation of Flmngr file manager
tar for node
safely create multiple ReadStream or WriteStream objects from the same file descriptor
Sentry Node-Core SDK
Convert character encodings in pure javascript.
Provides Ruby APIs for syncing CircleCI parallel nodes and transferring files between the nodes
`fingerpuppet` is a simple library and commandline tool to interact with Puppet's REST API without needing to have Puppet itself installed. This may be integrated, for example, into a provisioning tool to allow your provisioning process to remotely sign certificates of newly built systems. Alternatively, you could use it to request known facts about a node from your Puppet Master, or even to request a catalog for a node to, for example, perform acceptance testing against a new version of Puppet before upgrading your production master. Install the binford2k/fingerpuppet puppet module to get a class that can automatically configure your `auth.conf` file under Puppet Enterprise, where that file is managed.
This is the start of a Puppet provisioning system. It provides a graphical web service, a JSON rest API and command line interface that will manage Hiera YAML files and a few functions to read them and apply classes and parameters to a node. It works like a lightweight External Node Classifier. It also provides provisioning functionality to spin up new instances after classifying them. It currently has a backend for Cloud Provisioner and will shortly have a VMWare plugin to spin up new instances for Razor to provision. New backend plugins are quite easy to create. Documentation forthcoming.
GQLite is a Rust-language library, with a C interface, that implements a small, fast, self-contained, high-reliability, full-featured, Graph Query database engine. GQLite support multiple database backends, such as SQLite and redb. This enable to achieve high performance and for application to combine Graph queries with traditional SQL queries. GQLite source code is license under the [MIT License](LICENSE) and is free to everyone to use for any purpose. The official repositories contains bindings/APIs for C, C++, Python, Ruby and Crystal. The library is still in its early stage, but it is now fully functional. Development effort has now slowed down and new features are added on a by-need basis. It supports a subset of OpenCypher, with some ISO GQL extensions. Example of use -------------- ```ruby require 'gqlite' begin # Create a database on the file "test.db" connection = GQLite::Connection.new filename: "test.db" # Execute a simple query to create a node and return all the nodes value = connection.execute_oc_query("CREATE () MATCH (n) RETURN n") # Print the result if value.nil? puts "Empty results" else puts "Results are #{value.to_s}" end rescue GQLite::Error => ex # Report any error puts "An error has occured: #{ex.message}" end ``` The documentation for the GQL query language can found in [OpenCypher](https://auksys.org/documentation/5/libraries/gqlite/opencypher/) and for the [API](https://auksys.org/documentation/5/libraries/gqlite/api/).
# Chef Data Region ## Description Chef Data Region extends the `Chef::DSL::DataQuery` module's `data_bag_item` method with the ability to dynamically expand the data bag name in a configurable, environment-specific manner. ## Motivation This gem exists to address the following scenario: An organization maintains data in Chef data bag items. The data is deployed to several data center environments and is stored in data bags whose names reference the environments. The organization wants to write environment-agnostic recipes that access the data bags without explicitly referencing the data bags by their environment names. As a concrete example, imagine the organization maintains encrypted data for three deployment environments: development, staging, and production. It maintains this data in three data bags, one for each environment, with data for services named `gadget` and `widget` in items: | Environment | Bag | Item | |-------------+----------------+--------| | Development | secure-dev | gadget | | Development | secure-dev | widget | | Production | secure-prod | gadget | | Production | secure-prod | widget | | Staging | secure-staging | gadget | | Staging | secure-staging | widget | The items are encrypted with a key unique to that environment to maximize security. Now consider how a recipe would access these bags. When then recipe is running, it needs to know the data center environment in order to construct the bag name. The organization would most likely assign the enviroment name to a node attribute. In a naive implementation, each recipe would include logic that examined the attribute's value to determine which bag to load. This would obviously duplicate code. Imagine instead that the organization wants to reference the bag by the name `secure` and rely on an _abstraction_ to translate `secure` into the environment-specific bag name. This gem provides that abstraction. ## Features This gem overrides the `data_bag_item` method with configurable logic that dynamically decides which bag to load. It retains API compatibility with `Chef::DSL::DataQuery#data_bag_item`, so existing recipes that call `data_bag_item` work without modification. The gem imposes no constraints on data bag item structure. ## Configuration Assign the region name to a node attribute that varies by environment: node.default['local'][region'] = 'staging' Add the following configuration to Chef Client's `client.rb` file. * Require the gem: require 'chef/data_region' * Configure the gem with a hash that maps a bag name to an expansion pattern: Chef::DataRegion.add( 'secure', { attribute: %w(local region), pattern: 'secure-%<attribute>s' } ) ## Bag name expansion The gem expands bag names using Ruby's `format` method. _More pending..._
Diff and patch tables
Contentful API wrapper library exposing an ActiveRecord-like interface
Diff and patch tables
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.
No description provided.