https://github.com/uber-go/sally
A tiny HTTP server for supporting custom Golang import paths
https://github.com/uber-go/sally
Last synced: about 1 month ago
JSON representation
A tiny HTTP server for supporting custom Golang import paths
- Host: GitHub
- URL: https://github.com/uber-go/sally
- Owner: uber-go
- License: mit
- Created: 2016-06-27T23:20:29.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2025-04-08T03:28:46.000Z (3 months ago)
- Last Synced: 2025-04-19T11:16:42.502Z (2 months ago)
- Language: Go
- Homepage:
- Size: 5.25 MB
- Stars: 327
- Watchers: 8
- Forks: 33
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# sally
sally is a small HTTP service you can host
to serve vanity import paths for Go modules.## Installation
To build sally from source, use:
```bash
go install go.uber.org/sally@latest
```Alternatively, get a pre-built Docker image from
https://github.com/uber-go/sally/pkgs/container/sally.## Usage
Create a YAML file with the following structure:
```yaml
# sally.yaml# Configures documentation linking.
# Optional.
godoc:
# Host for the Go documentation server.
# Defaults to pkg.go.dev.
host: pkg.go.dev# Base URL for your package site.
# If you want your modules available under "example.com",
# specify example.com here.
# This field is required.
url: go.uber.org# Collection of packages under example.com
# and their Git repositories.
packages:# The key is the name of the package following the base URL.
# For example, if you want to make a package available at
# "example.com/foo", you'd specify "foo" here.
zap:
# Path to the Git repository.
#
# This field is required.
repo: github.com/uber-go/zap# Optional description of the package.
description: A fast, structured-logging library.# Alternative base URL instead of the value configured at the top-level.
# This is useful if the same sally instance is
# hosted behind multiple base URLs.
#
# Defaults to the value of the top-level url field.
url: example.com# Optional URL to the package's documentation.
#
# Defaults to the documentation site at pkg.go.dev with the package's
# module path appended.
doc_url: example.com/go-pkg/docs/zap# Optional URL to the badge image which appears in the index page.
#
# Defaults to the badge image at pkg.go.dev, using the package's module
# path followed by .svg as the filename.
doc_badge: example.com/go-pkg/badge/zap
```Run sally like so:
```shell
$ sally
```This will read from sally.yaml and serve on port 8080.
To use a different port and/or configuration file,
use the `-yml` and `-port` flags.```
$ sally -yml site.yaml -port 5000
```### Custom Templates
You can provide your own custom templates. For this, create a directory with `.html`
templates and provide it via the `-templates` flag. You only need to provide the
templates you want to override. See [templates](./templates/) for the available
templates.