Skip to content

codedevian/puppet-chocolatey_server

 
 

Repository files navigation

Chocolatey Simple Server

Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with chocolatey
  4. Usage - Configuration options and additional functionality
  5. Reference
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module

Overview

Sets up a Simple Server for Chocolatey packages. Allows you to host your own packages, many times as a private package repository (feed).

Module Description

There are three types of package feeds for Chocolatey - local folder/CIFS (UNC) share, simple server, and the sophisticated package gallery. Simple server is in the middle and most widely used Chocolatey/NuGet Package Server format.

Advantages:

  • Push over HTTP/HTTPS.
  • API key for pushing packages.
  • No direct access to packages - acls are locked down to just admins and push through api key.
  • Package store is file system.

Disadvantages:

  • Only one API key, so no multi user scenarios.
  • Starts to affect choco performance once the source has over 500 packages (maybe?).
  • No moderation.
  • No website to view packages.
  • No package statistics.

For more details about the other types of package feeds, see host your own feed.

Setup

What Chocolatey Server affects

  • Will create files at c:\tools\chocolatey.server.
  • Will install IIS and ASP.NET if not already installed.
  • Will remove the default website.
  • Sets up a website on port 80 (configurable) pointing to chocolatey.server

Setup Requirements

Beginning with Chocolatey Server

Install this module via any of these approaches:

Usage

Ensure the server is installed and configured:

include chocolatey_server

Use a different port

class {'chocolatey_server':
  port => '8080',
}

Use an internal source for installing the chocolatey.server package

class {'chocolatey_server':
  server_package_source => 'http://someinternal/nuget/odatafeed',
}

Use a local file location for the chocolatey.server package

class {'chocolatey_server':
  server_package_source => 'c:/folder/containing/packages',
}

Reference

Classes

Public classes

Class: chocolatey_server

Host your own Chocolatey package repository

Parameters

hostname

The hostname of which you want IIS to bind to. Defaults to blank.

port

The port for the server website. Defaults to '80'.

protocol

The protocal for IIS to use. Defaults to 'http'.

tls_cert_thumbprint

The thumbprint of the certificate Defaults to undefined.

tls_cert_storename

The location in the certificate store where the certificate is stored. Defaults to 'My'.

server_package_source

The Chocolatey source that contains the chocolatey.server package. Defaults to 'https://chocolatey.org/api/v2/'.

server_install_location

The location to that the chocolatey server will be installed. This is can be used if you are controlling the location that chocolatey packages are being installed via some other means. e.g. environment variable ChocolateyBinRoot. Defaults to 'C:\tools\chocolatey.server'

Limitations

Works with Windows only.

Development

We like Pull Requests!

About

Chocolatey Simple Server Puppet Module

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 60.6%
  • Puppet 39.4%