Skip to content

Commit

Permalink
Site: display download options for each artifact in tabs (#8946)
Browse files Browse the repository at this point in the history
  • Loading branch information
adutra authored Jun 28, 2024
1 parent dc91ad1 commit c648800
Show file tree
Hide file tree
Showing 4 changed files with 394 additions and 156 deletions.
191 changes: 129 additions & 62 deletions site/docs/downloads/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,135 +22,149 @@ See also the [Nessie release page page for version {{ versions.nessie }} on GitH

The main Nessie server serves the Nessie repository using the Iceberg REST API and Nessie's native REST API.

### Docker image
=== "Docker Image"

Docker images are multiplatform images for amd64, arm64, ppc64le, s390x.
Docker images are multiplatform images for amd64, arm64, ppc64le and s390x.
They are available from the following repositories:

* [GitHub Container Registry](https://ghcr.io/projectnessie/nessie):

=== "GitHub Container Registry"
[GitHub Container Registry](https://ghcr.io/projectnessie/nessie)
```bash
docker pull ghcr.io/projectnessie/nessie:{{ versions.nessie }}
docker run -p 19120:19120 -p 9000:9000 ghcr.io/projectnessie/nessie:{{ versions.nessie }}
```
=== "Quay.io"
[quay.io](https://quay.io/repository/projectnessie/nessie?tab=tags)

* [Quay.io](https://quay.io/repository/projectnessie/nessie?tab=tags):

```bash
docker pull quay.io/projectnessie/nessie:{{ versions.nessie }}
docker run -p 19120:19120 -p 9000:9000 quay.io/projectnessie/nessie:{{ versions.nessie }}
```

### Helm Chart
=== "Helm Chart"

=== "Artifact Hub"
[Artifact Hub](https://artifacthub.io/packages/search?repo=nessie)
=== "Nessie Helmchart Repo"
[https://charts.projectnessie.org/](https://charts.projectnessie.org/)
=== "Tarball"
[Nessie {{ versions.nessie }} Helm Chart](https://github.com/projectnessie/nessie/releases/download/nessie-{{ versions.nessie }}/nessie-helm-{{ versions.nessie }}.tgz)
Nessie {{ versions.nessie }} Helm chart is available from the following locations:

### Standalone uber jar
* [Nessie Helm Repo](https://charts.projectnessie.org/):

```bash
helm repo add nessie https://charts.projectnessie.org/
helm repo update
helm install my-nessie nessie/nessie --version "{{ versions.nessie }}"
```

* [Artifact Hub](https://artifacthub.io/packages/helm/nessie/nessie).
* [Nessie {{ versions.nessie }} Helm Chart Tarball](https://github.com/projectnessie/nessie/releases/download/nessie-{{ versions.nessie }}/nessie-helm-{{ versions.nessie }}.tgz).

Requires Java 17 or newer.
=== "Standalone Jar"

```bash
curl -L -o nessie-quarkus-{{ versions.nessie }}-runner.jar \
https://github.com/projectnessie/nessie/releases/download/nessie-{{ versions.nessie }}/nessie-quarkus-{{ versions.nessie }}-runner.jar
java -jar nessie-quarkus-{{ versions.nessie }}-runner.jar
```
Requires Java 17 or newer.

```bash
curl -L -o nessie-quarkus-{{ versions.nessie }}-runner.jar \
https://github.com/projectnessie/nessie/releases/download/nessie-{{ versions.nessie }}/nessie-quarkus-{{ versions.nessie }}-runner.jar
java -jar nessie-quarkus-{{ versions.nessie }}-runner.jar
```

## Nessie CLI & REPL

[Nessie CLI](/nessie-latest/cli/) is both a command-line interface but primarily a REPL.

### Docker image
=== "Docker Image"

Docker images are multiplatform images for amd64, arm64, ppc64le, s390x.
Docker images are multiplatform images for amd64, arm64, ppc64le, s390x.
They are available from the following repositories:
* [GitHub Container Registry](https://github.com/projectnessie/nessie/pkgs/container/nessie-cli):

=== "GitHub Container Registry"
[GitHub Container Registry](https://github.com/projectnessie/nessie/pkgs/container/nessie-cli)
```bash
docker pull ghcr.io/projectnessie/nessie-cli:{{ versions.nessie }}
docker run -it ghcr.io/projectnessie/nessie-cli:{{ versions.nessie }}
```
=== "Quay.io"
[quay.io](https://quay.io/repository/projectnessie/nessie-cli?tab=tags)

* [Quay.io](https://quay.io/repository/projectnessie/nessie-cli?tab=tags):

```bash
docker pull quay.io/projectnessie/nessie-cli:{{ versions.nessie }}
docker run -it quay.io/projectnessie/nessie-cli:{{ versions.nessie }}
```

### Standalone uber jar
=== "Standalone Jar"

Requires Java 11 or newer.
Requires Java 11 or newer.

```bash
curl -L -o nessie-cli-{{ versions.nessie }}.jar \
https://github.com/projectnessie/nessie/releases/download/nessie-{{ versions.nessie }}/nessie-cli-{{ versions.nessie }}.jar
java -jar nessie-cli-{{ versions.nessie }}.jar
```
```bash
curl -L -o nessie-cli-{{ versions.nessie }}.jar \
https://github.com/projectnessie/nessie/releases/download/nessie-{{ versions.nessie }}/nessie-cli-{{ versions.nessie }}.jar
java -jar nessie-cli-{{ versions.nessie }}.jar
```

## Nessie GC Tool

[Nessie GC](/nessie-latest/gc/) allows mark and sweep data files based on flexible expiration policies.

### Docker image
=== "Docker Image"

Docker images are multiplatform images for amd64, arm64, ppc64le, s390x.
Docker images are multiplatform images for amd64, arm64, ppc64le, s390x.
They are available from the following repositories:

* [GitHub Container Registry](https://github.com/projectnessie/nessie/pkgs/container/nessie-gc):

=== "GitHub Container Registry"
[GitHub Container Registry](https://github.com/projectnessie/nessie/pkgs/container/nessie-gc)
```bash
docker pull ghcr.io/projectnessie/nessie-gc:{{ versions.nessie }}
docker run ghcr.io/projectnessie/nessie-gc:{{ versions.nessie }} --help
```
=== "Quay.io"
[quay.io](https://quay.io/repository/projectnessie/nessie-gc?tab=tags)

* [Quay.io](https://quay.io/repository/projectnessie/nessie-gc?tab=tags):

```bash
docker pull quay.io/projectnessie/nessie-gc:{{ versions.nessie }}
docker run quay.io/projectnessie/nessie-gc:{{ versions.nessie }} --help
```

### Standalone uber jar
=== "Standalone Jar"

Requires Java 11, Java 17 recommended.

```bash
curl -L -o nessie-gc-{{ versions.nessie }}.jar \
https://github.com/projectnessie/nessie/releases/download/nessie-{{ versions.nessie }}/nessie-gc-{{ versions.nessie }}.jar
java -jar nessie-gc-{{ versions.nessie }}.jar
```
Requires Java 11, Java 17 recommended.
```bash
curl -L -o nessie-gc-{{ versions.nessie }}.jar \
https://github.com/projectnessie/nessie/releases/download/nessie-{{ versions.nessie }}/nessie-gc-{{ versions.nessie }}.jar
java -jar nessie-gc-{{ versions.nessie }}.jar
```

## Nessie Server Admin Tool

Nessie's [Server Admin Tool](/nessie-latest/export-import/) allows migration (export/import) of a
Nessie repository.

### Docker image
=== "Docker Image"

Docker images are multiplatform images for amd64, arm64, ppc64le, s390x.
Docker images are multiplatform images for amd64, arm64, ppc64le, s390x.
They are available from the following repositories:

* [GitHub Container Registry](https://github.com/projectnessie/nessie/pkgs/container/nessie-server-admin);

=== "GitHub Container Registry"
[GitHub Container Registry](https://github.com/projectnessie/nessie/pkgs/container/nessie-server-admin)
```bash
docker pull ghcr.io/projectnessie/nessie-server-admin:{{ versions.nessie }}
docker run ghcr.io/projectnessie/nessie-server-admin:{{ versions.nessie }} --help
```
=== "Quay.io"
[quay.io](https://quay.io/repository/projectnessie/nessie-server-admin?tab=tags)

* [Quay.io](https://quay.io/repository/projectnessie/nessie-server-admin?tab=tags);

```bash
docker pull quay.io/projectnessie/nessie-server-admin:{{ versions.nessie }}
docker run quay.io/projectnessie/nessie-server-admin:{{ versions.nessie }} --help
```

### Standalone uber jar

Requires Java 17 or newer.
=== "Standalone Jar"

```bash
curl -L -o nessie-server-admin-tool-{{ versions.nessie }}-runner.jar \
https://github.com/projectnessie/nessie/releases/download/nessie-{{ versions.nessie }}/nessie-server-admin-tool-{{ versions.nessie }}-runner.jar
java -jar nessie-server-admin-tool-{{ versions.nessie }}-runner.jar
```
Requires Java 17 or newer.

```bash
curl -L -o nessie-server-admin-tool-{{ versions.nessie }}-runner.jar \
https://github.com/projectnessie/nessie/releases/download/nessie-{{ versions.nessie }}/nessie-server-admin-tool-{{ versions.nessie }}-runner.jar
java -jar nessie-server-admin-tool-{{ versions.nessie }}-runner.jar
```

## Nessie REST API

Expand All @@ -161,7 +175,60 @@ java -jar nessie-server-admin-tool-{{ versions.nessie }}-runner.jar

## Nessie artifacts on Maven Central

[Maven Central](https://search.maven.org/artifact/org.projectnessie.nessie/nessie)
Artifacts are available in two groups: `org.projectnessie.nessie` and
`org.projectnessie.nessie-integrations`. Most users will only need the `org.projectnessie.nessie`
group, which contains the Nessie server and CLI. The `org.projectnessie.nessie-integrations` group
contains additional tools and integrations:

* Spark extensions
* Nessie GC tool

Useful links:

* [Nessie {{ versions.nessie }} BOM (Bill of Materials)](https://search.maven.org/artifact/org.projectnessie.nessie/nessie/{{ versions.nessie }}/pom)
* [Nessie {{ versions.nessie }} `org.projectnessie.nessie` artifacts](https://search.maven.org/search?q=g:org.projectnessie.nessie%20v:{{ versions.nessie }})
* [Nessie {{ versions.nessie }} `org.projectnessie.nessie-integrations` artifacts](https://search.maven.org/search?q=g:org.projectnessie.nessie-integrations%20v:{{ versions.nessie }})

The following examples show how to add the Nessie BOM to your build configuration:

=== "Maven"
In your Maven `pom.xml` add the Nessie BOM as a dependency:
```xml
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectnessie.nessie</groupId>
<artifactId>nessie-bom</artifactId>
<version>{{ versions.nessie }}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
```
Then you can use all Nessie artifacts like this:
```xml
<dependencies>
<dependency>
<groupId>org.projectnessie.nessie</groupId>
<artifactId>nessie-client</artifactId>
</dependency>
</dependencies>
```
=== "Gradle (Kotlin)"
In your Gradle project's `build.gradle.kts` add the Nessie BOM as an enforced platform:
```kotlin
dependencies {
enforcedPlatform("org.projectnessie.nessie:nessie-bom:{{ versions.nessie }}")
}
```
A full example using the `nessie-client` artifact:
```kotlin
dependencies {
enforcedPlatform("org.projectnessie.nessie:nessie-bom:{{ versions.nessie }}")
implementation("org.projectnessie.nessie:nessie-client")
}
```

## License Reports

Expand Down
39 changes: 39 additions & 0 deletions site/docs/stylesheets/extra.css
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,42 @@ img.bordered {
.md-typeset td code {
word-break: revert;
}

.md-typeset .tabbed-set>.tabbed-content {
padding: 0 .5em 0 .5em;
border: 1px solid #ababab;
border-bottom-left-radius: .3em;
border-bottom-right-radius: .3em;
}

.md-typeset .tabbed-labels>label {
background-color: #efefef;
border-top-left-radius: .3em;
border-top-right-radius: .3em;
margin-left: 1px;
margin-right: 1px;
}

/* Highlights the current selected tab (matches the nth tab corresponding to the nth checked input). */
.md-typeset .tabbed-set > input:first-child:checked ~ .tabbed-labels > :first-child,
.md-typeset .tabbed-set > input:nth-child(2):checked ~ .tabbed-labels > :nth-child(2),
.md-typeset .tabbed-set > input:nth-child(3):checked ~ .tabbed-labels > :nth-child(3),
.md-typeset .tabbed-set > input:nth-child(4):checked ~ .tabbed-labels > :nth-child(4),
.md-typeset .tabbed-set > input:nth-child(5):checked ~ .tabbed-labels > :nth-child(5),
.md-typeset .tabbed-set > input:nth-child(6):checked ~ .tabbed-labels > :nth-child(6),
.md-typeset .tabbed-set > input:nth-child(7):checked ~ .tabbed-labels > :nth-child(7),
.md-typeset .tabbed-set > input:nth-child(8):checked ~ .tabbed-labels > :nth-child(8),
.md-typeset .tabbed-set > input:nth-child(9):checked ~ .tabbed-labels > :nth-child(9),
.md-typeset .tabbed-set > input:nth-child(10):checked ~ .tabbed-labels > :nth-child(10),
.md-typeset .tabbed-set > input:nth-child(11):checked ~ .tabbed-labels > :nth-child(11),
.md-typeset .tabbed-set > input:nth-child(12):checked ~ .tabbed-labels > :nth-child(12),
.md-typeset .tabbed-set > input:nth-child(13):checked ~ .tabbed-labels > :nth-child(13),
.md-typeset .tabbed-set > input:nth-child(14):checked ~ .tabbed-labels > :nth-child(14),
.md-typeset .tabbed-set > input:nth-child(15):checked ~ .tabbed-labels > :nth-child(15),
.md-typeset .tabbed-set > input:nth-child(16):checked ~ .tabbed-labels > :nth-child(16),
.md-typeset .tabbed-set > input:nth-child(17):checked ~ .tabbed-labels > :nth-child(17),
.md-typeset .tabbed-set > input:nth-child(18):checked ~ .tabbed-labels > :nth-child(18),
.md-typeset .tabbed-set > input:nth-child(19):checked ~ .tabbed-labels > :nth-child(19),
.md-typeset .tabbed-set > input:nth-child(20):checked ~ .tabbed-labels > :nth-child(20) {
background-color: lightblue;
}
Loading

0 comments on commit c648800

Please sign in to comment.