vanity
A (moderately) simple vanity module/package server for golang
It provides a server that can enable the vanity import paths for your golang applications and packages.
But why?
A vanity namespace offers developers and organizations more control over how their Go packages are organized, branded, and maintained. Here are some reasons why I built this thing:
Branding and Ownership
Using a vanity import path like gopher.town/vanity instead of a generic URL (gitlab.com/rayaz/vanity) creates a sense of ownership and professionalism. It provides consistency, making it easier for users to recognize and trust the source of your packages. You also control the hosting, giving you full authority over the infrastructure serving your modules.
Flexibility with Repository Providers
A vanity path abstracts where your Go code is stored. If you move from GitHub to GitLab or a private server, you can update the vanity URL without requiring users to change their import paths. This flexibility allows you to manage your hosting without locking users into any specific platform.
Enhanced Security and Access Control
Vanity namespaces make it easy to host private or internal modules, helping organizations share code securely without exposing it to the public.
Independence from Third-Party Services
With a vanity URL, you're not reliant on services like GitHub or GitLab. If these platforms experience downtime or you choose to migrate, your packages remain accessible, giving you long-term stability and control.
Installation
This is still mostly a work in progress, but for now, you'll need to have a working installation of go.
Install from source
go install gopher.town/vanity@latest
Running & Configuration
TBD
You can view the configuration for gopher.town in its repo: gitlab.com/gopher-town/vanity.