• Stars
    star
    143
  • Rank 257,007 (Top 6 %)
  • Language
    Ruby
  • License
    MIT License
  • Created over 16 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

a tool to organize and maintain an internal gem distribution server

Stickler

  • Homepage
  • GitHub
  • email jeremy at copiousfreetime dot org
  • git clone git://github.com/copiousfreetime/stickler.git

DESCRIPTION

Stickler is a tool to organize and maintain an internal gem repository. Primarily, you would want to use Stickler if:

  1. You have proprietary gems that you want to have available via a gem server so you may gem install them.
  2. You would like to have a local mirror of third party gems from either http://rubygems.org or some other gem server.
  3. You want both (1) and (2) in the same server.

INSTALLATION

Installing stickler may be done via the standard gem installation

gem install stickler

Or downloaded from http://github.com/copiousfreetime/stickler/downloads

USAGE

Stickler is broken up into a few commandline programs.

  • stickler - Used to mainpulate gems that are in a stickler-server.
  • stickler-server - The server process that manages gems.
  • stickler-passenger-config - A helper process to generate Passenger configurations for

The easiest way to get up and running with stickler is to run the standalone server stickler-server and then use stickler to interact with it.

Start up a standalone stickler server

% mkdir -p /tmp/stickler-test
% stickler-server start --daemonize /tmp/stickler-test

Set some sane defaults

% stickler config --add --server http://localhost:6789 --upstream https://rubygems.org
  server : http://localhost:6789
upstream : https://rubygems.org

% cat ~/.gem/stickler
---
:server: http://localhost:6789
:upstream: https://rubygems.org

Take a few gems and push them to the server

% ls -1
heel-2.0.0.gem
hitimes-1.1.1.gem
launchy-0.3.5.gem
stickler-2.0.0.gem

% stickler push *.gem
Pushing gem(s) to http://localhost:6789/ ...
  /Users/jeremy/tmp/gems/heel-2.0.0.gem     -> OK http://localhost:6789/gems/heel-2.0.0.gem
  /Users/jeremy/tmp/gems/hitimes-1.1.1.gem  -> OK http://localhost:6789/gems/hitimes-1.1.1.gem
  /Users/jeremy/tmp/gems/launchy-0.3.5.gem  -> OK http://localhost:6789/gems/launchy-0.3.5.gem
  /Users/jeremy/tmp/gems/stickler-2.0.0.gem -> OK http://localhost:6789/gems/stickler-2.0.0.gem

Mirror a gem from upstream

% stickler mirror --gem-version 1.4.3 logging
Asking http://localhost:6789/ to mirror logging-1.4.3 from rubygems.org : OK -> http://localhost:6789/gems/logging-1.4.3.gem
% stickler mirror --gem-version 1.16.2 trollop
Asking http://localhost:6789/ to mirror trollop-1.16.2 from rubygems.org : OK -> http://localhost:6789/gems/trollop-1.16.2.gem

Look at all the gems installed in your stickler server

Open your browser to http://localhost:6789

% launchy http://localhost:6789

Install a gem from your new stickler gem server

% gem install hitimes --source http://localhost:6789/

Configure your servers to globally use your internal stickler gem server

% cat /etc/gemrc
---
:benchmark: false
:verbose: false
:update_sources: true
:bulk_threshold: 1000
:backtrace: false
:sources:
- http://stickler.example.com
gem: --no-rdoc --no-ri

See Also

The man pages that ship with the gem. They may be viewed if you also install the gem-man gem.

% gem install gem-man
% gem man stickler
View which manual?
 1. stickler-passenger-config(1)
 2. stickler-server(1)
 3. stickler(1)
>

DEVELOPMENT

If you want to do development on stickler, please see CONTRIBUTING.md

CREDITS

LICENSE

Copyright (C) 2015 Jeremy Hinegardner MIT License, See LICENSE for details.

More Repositories

1

launchy

A helper for launching cross-platform applications in a fire and forget manner.
Ruby
775
star
2

hitimes

a fast, high resolution timer library for recording performance metrics
Ruby
144
star
3

amalgalite

SQLite database engine embedded in a ruby extension.
C
95
star
4

crate

(No longer in development) Tool for building and packaging standalone statically compiled ruby appliations
Ruby
92
star
5

heel

Heel is a small static web server for use when you need a quick web server for a directory.
Ruby
68
star
6

tyrantmanager

ARCHIVED - A command line tool for managing Tokyo Tyrant instances
Ruby
34
star
7

qup

Qup is a generalized Ruby API for Message Queue and Publish/Subscribe messaging patterns.
Ruby
31
star
8

torid

Temporally Ordered IDs. Generate universally unique identifiers (UUID) that sort lexically in time order.
Ruby
27
star
9

mp4parser

This is an old fork of the pre-github-migration mp4parser from google code. You really should be looking at https://github.com/sannies/mp4parser instead.
Java
22
star
10

http-parser.rb

A ruby gem that embedds ry/http-parser in it as an extension
C
15
star
11

keybox

secure password storage
Ruby
13
star
12

deprecatable

Deprecatable is a library to help you, as a developer, deprecate your API and be proactive about helping people who use your library find where they need to update.
Ruby
13
star
13

htauth

HTAuth is a pure ruby replacement for the Apache support programs 'htdigest' and 'htpasswd'
Ruby
11
star
14

ashbe

Asbhe is a Ruby wrapper around the HBase java client library. It aims to make accessing HBase a more Ruby-esque experience.
Ruby
11
star
15

tokyo-tools

Ad-hoc tools for working with tokyo cabinet databases
C
10
star
16

kjess

(inactive since kestrel itself is now inactive) KJess is a Ruby Kestrel client implementing Kestrel's Memcache style protocol
Ruby
9
star
17

libsql-ruby

libsql database engine embedded in a ruby extension.
C
8
star
18

halog

A log parser and reporter for haproxy logs
Ruby
7
star
19

stunnel

stunnel with x-forwarded-for patch and x-ssl-protocol patch
C
7
star
20

gemology

Excavating Ruby's gems, what do we find, what do we learn.
Ruby
6
star
21

bridgetown_reveal

A reveal.js plugin for the bridgetown static site generator
Ruby
6
star
22

rabal

Ruby Architecture for Building Applications and Libraries
Ruby
5
star
23

activerecord-amalgalite-adapter

The ActiveRecord Adapter for the Amalgalite database
Ruby
4
star
24

ghent

GitHub EveNT - for lack of a better acronym. An experiment in processing GitHub Events.
Ruby
3
star
25

ruby-libtommath

[Archived] a ruby extension containing the libtommath multiple-precision integer library
C
3
star
26

snipe

A system for scraping twitter content based upon the gnip notification feed
Ruby
3
star
27

plain-old-tokyo-storage-presentation

Plain Old Tokyo Storage talk given at Red Dirt Ruby Conference - 2010
3
star
28

readorder

Readorder orders a list of files into a more effective read order.
Ruby
3
star
29

fixme

A Starting Point.
Ruby
2
star
30

flat_kit

A library and commandline program for reading, writing, indexing, sorting, and merging CSV, TSV, JSON and other flat-file formats.
Ruby
2
star
31

libsimple_metrics

A very simple C library for capturing metrics
2
star
32

billys_billing

Ruby client for the v2 version of Billy's Billing
Ruby
1
star
33

thin_search

The thinnest full text search you'll find.
Ruby
1
star
34

docker-base-alpine-s6-overlay

A minimal alpine linux docker container using s6-overlay based upon alpine packages
Dockerfile
1
star
35

libsql-client-ruby

LibsqlClient is the Ruby library to the libSQL sqld server (including Turso).
Ruby
1
star
36

tbar

Playing with Accounting
Ruby
1
star