mirror of
https://github.com/pomerium/pomerium.git
synced 2025-05-03 20:36:03 +02:00
* remove user impersonation and service account cli * update doc * remove user impersonation url query params * fix flaky test
143 lines
4.4 KiB
Markdown
143 lines
4.4 KiB
Markdown
---
|
|
title: Download
|
|
sidebarDepth: 2
|
|
description: This article describes various ways to install pomerium
|
|
---
|
|
|
|
# Releases
|
|
|
|
Pomerium is shipped in multiple formats and architectures to suit a variety of deployment patterns. There are two binaries:
|
|
|
|
- `pomerium` is the primary server component. It is a monolithic binary that can perform the function of any [services mode](/reference/#service-mode).
|
|
- `pomerium-cli` (optional) is a command-line client for working with Pomerium. Functions include acting as an authentication helper for tools like [kubtctl](topics/kubernetes-integration.md).
|
|
|
|
|
|
[[toc]]
|
|
|
|
|
|
## pomerium
|
|
|
|
- Supported Operating Systems: `linux`, `darwin`
|
|
- Supported Architectures: `amd64`, `arm64`
|
|
|
|
### Binaries
|
|
|
|
Official binaries can be found on our [GitHub Releases](https://github.com/pomerium/pomerium/releases) page.
|
|
|
|
```shell
|
|
ARCH=[your arch]
|
|
OS=[your os]
|
|
VERSION=[desired version]
|
|
curl -L https://github.com/pomerium/pomerium/releases/download/${VERSION}/pomerium-${OS}-${ARCH}.tar.gz \
|
|
| tar -z -x
|
|
```
|
|
|
|
### Packages
|
|
|
|
- Supported formats: `rpm`, `deb`
|
|
- Requires `systemd` support
|
|
|
|
Official packages can be found on our [GitHub Releases](https://github.com/pomerium/pomerium/releases) page.
|
|
|
|
### Docker Image
|
|
|
|
Pomerium utilizes a [minimal](https://github.com/GoogleContainerTools/distroless) [docker container](https://www.docker.com/resources/what-container). You can find Pomerium's images on [dockerhub](https://hub.docker.com/r/pomerium/pomerium). Pomerium can be pulled in several flavors and architectures.
|
|
|
|
- `:vX.Y.Z`: which will pull the a [specific tagged release](https://github.com/pomerium/pomerium/tags).
|
|
|
|
```bash
|
|
$ docker run pomerium/pomerium:v0.1.0 --version
|
|
v0.1.0+53bfa4e
|
|
```
|
|
|
|
- `:latest`: which will pull the [most recent tagged release](https://github.com/pomerium/pomerium/releases).
|
|
|
|
```bash
|
|
$ docker pull pomerium/pomerium:latest && docker run pomerium/pomerium:latest --version
|
|
v0.2.0+87e214b
|
|
```
|
|
|
|
- `:master` : which will pull an image in sync with git's [master](https://github.com/pomerium/pomerium/tree/master) branch.
|
|
|
|
```bash
|
|
docker pull pomerium/pomerium:latest
|
|
```
|
|
|
|
### Helm
|
|
|
|
Pomerium maintains a [helm](https://helm.sh) chart for easy Kubernetes deployment with best practices <https://helm.pomerium.io/>
|
|
|
|
```bash
|
|
helm repo add pomerium https://helm.pomerium.io
|
|
helm install pomerium/pomerium
|
|
```
|
|
|
|
See the [README](https://github.com/pomerium/pomerium-helm/blob/master/charts/pomerium/README.md) for up to date install options.
|
|
|
|
### Source
|
|
|
|
::: tip
|
|
|
|
Officially supported build platforms are limited by [envoy proxy](https://www.envoyproxy.io/). If you have an enoy binary for your platform in your path at start time, `pomerium` should function correctly.
|
|
|
|
:::
|
|
|
|
```bash
|
|
git clone git@github.com:pomerium/pomerium.git
|
|
cd pomerium
|
|
make
|
|
./bin/pomerium --version
|
|
```
|
|
|
|
## pomerium-cli
|
|
|
|
- Supported Operating Systems: `linux`, `darwin`, `windows`, `freebsd`
|
|
- Supported Architectures: `amd64`, `arm64`, `armv6`, `armv7`
|
|
|
|
### Binaries
|
|
|
|
Official binaries can be found on our [GitHub Releases](https://github.com/pomerium/pomerium/releases) page.
|
|
|
|
```shell
|
|
ARCH=[your arch]
|
|
OS=[your os]
|
|
VERSION=[desired version]
|
|
curl -L https://github.com/pomerium/pomerium/releases/download/${VERSION}/pomerium-cli-${OS}-${ARCH}.tar.gz \
|
|
| tar -z -x
|
|
```
|
|
|
|
### Packages
|
|
|
|
- Supported formats: `rpm`, `deb`
|
|
|
|
Official packages can be found on our [GitHub Releases](https://github.com/pomerium/pomerium/releases) page.
|
|
|
|
### Homebrew
|
|
|
|
```shell
|
|
brew tap pomerium/tap
|
|
brew install pomerium-cli
|
|
```
|
|
|
|
### Source
|
|
|
|
```shell
|
|
git clone git@github.com:pomerium/pomerium.git
|
|
cd pomerium
|
|
make build NAME=pomerium-cli
|
|
./bin/pomerium-cli --help
|
|
```
|
|
|
|
## Release cycle
|
|
|
|
The current release cycle is aligned on a monthly basis. Pre-`1.0.0` we target a `MINOR` release on or around the **first day of each month**. We try to hit the targets as closely as possible, while still delivering a quality release.
|
|
|
|
Pomerium uses [Semantic Versioning](https://semver.org/). In practice this means for a given version number **vMAJOR**.**MINOR**.**PATCH** (e.g. `v0.1.0`):
|
|
|
|
- **MAJOR** indicates an incompatible API change,
|
|
- **MINOR** indicates a new functionality in a backwards-compatible manner, and
|
|
- **PATCH** indicates a backwards-compatible bug fixe.
|
|
|
|
As Pomerium is still pre-`v1.0.0`, breaking changes between releases should be expected.
|
|
|
|
To see difference between releases, please refer to the changelog and upgrading documents.
|