Skip to content
octolabPublic

About

🤴 Vanity URLs for OctoLab's Go modules.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

31 Commits

Folders and files

Repository files navigation

Vanity URLs

Mirror

🤴 go.octolab.org

Vanity URLs for OctoLab's Go modules.

🔗 Dependencies

Build and verify

.gitmodules is the registry of vanity prefixes and repositories. Submodules pin the source snapshots used to enumerate packages. Every registered module is published; the selection in go.work only affects local development.

git submodule update --init
make list    # print the manifest
make         # generate and validate dist/ before replacing the previous build
make verify  # check all module roots and generated package pages again

Authenticate gh and Git with access to the private repositories listed in .gitmodules. Install Maintainer from its v0.1.0-rc11 release; the delivery workflow downloads that binary and verifies its release checksum. Building Maintainer with go install can depend on this vanity service itself.

Package discovery runs separately in each module with GO111MODULE=off, GOWORK=off, GOPROXY=off, and go list -find: it inspects local directories without loading module graphs or downloading dependencies. A missing checkout, mismatched module path, or failed discovery stops the build instead of publishing an incomplete catalog. Repository branches and topics are read through gh.

GitHub Pages and HTTPS

The public endpoint is https://go.octolab.org. DNS must point the subdomain's CNAME to octomation.github.io (without /vanity). In this repository's Pages settings, configure:

  • Source: GitHub Actions.
  • Custom domain: go.octolab.org.
  • Enforce HTTPS, once GitHub has issued the domain certificate.

For an Actions deployment, a checked-in CNAME file does not configure the domain; GitHub ignores it. DNS alone is insufficient: without the Pages custom-domain setting, GitHub serves its default certificate, which does not cover go.octolab.org.

If GitHub requires domain verification, first add go.octolab.org under the organization's Pages settings. Publish the TXT name and value generated by GitHub, then complete verification before assigning the custom domain to this repository. Keep the TXT record after verification. See GitHub's domain verification instructions.

The delivery workflow needs DEPENDABOT_TOKEN with read access to all registered repositories, including private ones. An organization secret must also be available to this repository. The same secret name in Dependabot's settings is separate from an Actions secret. GITHUB_TOKEN is used for Pages deployment; it cannot check out private repositories in other projects.

If the scheduled delivery workflow is disabled due to inactivity, re-enable it in Actions after reviewing the changes. Dispatch Continuous delivery to publish. Its build verifies every module's discovery metadata and requires the expected Pages custom domain before deployment.

After restoring the domain and certificate:

make check

This checks the root, CLI, and config modules over verified HTTPS, then downloads the root module at v0.12.0 and v0.12.2, CLI at v0.6.4, and config at v0.0.5 into an empty temporary module cache with GOPROXY=direct and checksum verification enabled. These targets follow the dependency upgrade in indexit after the investigation in indexit#102 found that the historical config v0.0.4 tag is missing from GitHub. Run the check with each Go version used by the consuming project's CI, then rerun that project's dependency jobs. No TLS bypass or warm cache is required. To check the entire published catalog, run python3 bin/verify.py --url https://go.octolab.org after deploying the new build.

made with ❤️ for everyone by OctoLab

About

🤴 Vanity URLs for OctoLab's Go modules.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Sponsor this project

Used by

Contributors

Languages