get.porter.sh/porter@v1.3.0/infra/cdn.md (about) 1 # Porter's CDN Setup 2 3 Porter uses a variety of services to distribute its CLI, mixin and plugin binaries. 4 5 ## GitHub Releases 6 7 Binaries and install scripts are attached to GitHub releases upon relevant events in our GitHub repositories, such as merges to the "main" branch (producing `canary` artifacts) and official releases (producing `latest` and semver-tagged artifacts). We create releases for the following tags: 8 9 * vX.Y.Z - a tagged version of Porter. Recommended. 10 * latest - the most recent tagged version of Porter. Stable but you should use a specific version in prod. 11 * canary - the tip of the main branch. Unstable. 12 13 We use our own tag for latest (instead of relying upon GitHub's latest release logic) so that we have consistent URLs. 14 15 ## GitHub Packages Repo 16 17 We have a [packages](https://github.com/getporter/packages) repository that has our official mixin and plugin atom feeds used by porter mixin install and porter plugin install. It also contains an index of all known mixins and plugins from both the Porter Authors and the community, which is used by porter mixins search and porter plugins search. 18 19 ## DNS 20 21 DNS entries for the `porter.sh` and `porter.sh` domains are managed via a [Netlify](https://www.netlify.com/) account. A `cdn` CNAME record exists in this configuration such that `cdn.porter.sh` can represent the hostname for all artifact URLs. 22 23 Netlify handles redirecting traffic to cdn.porter.sh to the appropriate backing store (either a GH release artifact or a file in a repo).