Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Site: display download options for each artifact in tabs #8946

Merged
merged 9 commits into from
Jun 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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>
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
```
```
Then you can use all Nessie artifacts like this:
```xml
<dependencies>
<dependency>
<groupId>org.projectnessie.nessie</groupId>
<artifactId>nessie-client</artifactId>
</dependency>
</dependencies>
```

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")
}
```
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
```
```
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;
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mind adding this as well?

Suggested change
.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;
}

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quite frankly I don't like it :-D but I added it nonetheless.

.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