You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by xi...@apache.org on 2026/03/22 07:29:09 UTC
(pinot-site) 02/02: Use multi-arch Docker tags — remove x86/ARM64 toggle
This is an automated email from the ASF dual-hosted git repository.
xiangfu pushed a commit to branch docker-multi-arch-and-scarf
in repository https://gitbox.apache.org/repos/asf/pinot-site.git
commit 7a0c71ea3d92c90ec58934c7aa58da7de966eb97
Author: Xiang Fu <xi...@startree.ai>
AuthorDate: Sun Mar 22 00:27:29 2026 -0700
Use multi-arch Docker tags — remove x86/ARM64 toggle
Pinot publishes multi-arch Docker manifests, so the same tag works
for both x86 and ARM64. Removes architecture toggles from both the
download page (DownloadInstall) and homepage (Terminal) components.
Co-Authored-By: Claude Opus 4.6 <no...@anthropic.com>
---
components/DownloadInstall.tsx | 60 ++++++++++--------------------------------
components/Terminal.tsx | 43 +++++++-----------------------
2 files changed, 23 insertions(+), 80 deletions(-)
diff --git a/components/DownloadInstall.tsx b/components/DownloadInstall.tsx
index 561623da..cb8747af 100644
--- a/components/DownloadInstall.tsx
+++ b/components/DownloadInstall.tsx
@@ -4,7 +4,6 @@ import React, { useState } from 'react';
import pinotMeta from '@/data/pinot-meta.json';
type Tab = 'docker' | 'k8s';
-type Arch = 'x86' | 'ARM64';
const CopyButton: React.FC<{ text: string }> = ({ text }) => {
const [copied, setCopied] = useState(false);
@@ -43,31 +42,17 @@ const CodeBlock: React.FC<{ lines: string[] }> = ({ lines }) => {
const version = pinotMeta.latestVersion;
-const dockerCommands: Record<Arch, string[]> = {
- x86: [
- `# Pull and run Apache Pinot ${version}`,
- `docker run -p 2123:2123 -p 9000:9000 -p 8000:8000 \\`,
- ` apachepinot.docker.scarf.sh/apachepinot/pinot:${version} \\`,
- ` QuickStart -type hybrid`
- ],
- ARM64: [
- `# Pull and run Apache Pinot ${version} (ARM64)`,
- `docker run -p 2123:2123 -p 9000:9000 -p 8000:8000 \\`,
- ` apachepinot.docker.scarf.sh/apachepinot/pinot:${version}-arm64 \\`,
- ` QuickStart -type hybrid`
- ]
-};
+const dockerCommands = [
+ `# Pull and run Apache Pinot ${version}`,
+ `docker run -p 2123:2123 -p 9000:9000 -p 8000:8000 \\`,
+ ` apachepinot.docker.scarf.sh/apachepinot/pinot:${version} \\`,
+ ` QuickStart -type hybrid`
+];
-const nightlyCommands: Record<Arch, string[]> = {
- x86: [
- `# Pull the latest nightly build`,
- `docker pull apachepinot.docker.scarf.sh/apachepinot/pinot:latest`
- ],
- ARM64: [
- `# Pull the latest nightly build (ARM64)`,
- `docker pull apachepinot.docker.scarf.sh/apachepinot/pinot:latest-arm64`
- ]
-};
+const nightlyCommands = [
+ `# Pull the latest nightly build`,
+ `docker pull apachepinot.docker.scarf.sh/apachepinot/pinot:latest`
+];
const k8sCommands = [
`# Add the Pinot Helm repository`,
@@ -81,7 +66,6 @@ const k8sCommands = [
const DownloadInstall: React.FC = () => {
const [activeTab, setActiveTab] = useState<Tab>('docker');
- const [arch, setArch] = useState<Arch>('x86');
return (
<section className="mx-auto max-w-5xl px-4 py-10 md:px-8 md:py-16">
@@ -114,28 +98,12 @@ const DownloadInstall: React.FC = () => {
{activeTab === 'docker' && (
<div>
- {/* Arch toggle */}
- <div className="mb-4 flex space-x-2">
- {(['x86', 'ARM64'] as const).map((a) => (
- <button
- key={a}
- className={`rounded-md px-3 py-1 text-sm font-medium transition-colors ${
- arch === a
- ? 'bg-vine-100 text-white'
- : 'bg-gray-100 text-gray-600 hover:bg-gray-200'
- }`}
- onClick={() => setArch(a)}
- >
- {a}
- </button>
- ))}
- </div>
-
{/* Stable release */}
<h3 className="mb-3 text-lg font-semibold">Stable Release ({version})</h3>
- <CodeBlock lines={dockerCommands[arch]} />
+ <CodeBlock lines={dockerCommands} />
<p className="mt-3 text-sm text-gray-500">
- This starts a standalone Pinot cluster with the controller UI at{' '}
+ Multi-arch image — works on both x86 and ARM64. This starts a standalone
+ Pinot cluster with the controller UI at{' '}
<code className="rounded bg-gray-100 px-1 py-0.5 text-xs">
http://localhost:9000
</code>
@@ -149,7 +117,7 @@ const DownloadInstall: React.FC = () => {
tag points to the most recent nightly build from the main branch. Use it to
test unreleased features — not recommended for production.
</p>
- <CodeBlock lines={nightlyCommands[arch]} />
+ <CodeBlock lines={nightlyCommands} />
</div>
)}
diff --git a/components/Terminal.tsx b/components/Terminal.tsx
index dcea8c48..47fd0ad8 100644
--- a/components/Terminal.tsx
+++ b/components/Terminal.tsx
@@ -3,27 +3,19 @@ import React, { FC, useState } from 'react';
import { Button } from './ui/button';
const Terminal: FC = () => {
- const [activeTab, setActiveTab] = useState<'x86' | 'ARM64'>('x86');
const [copied, setCopied] = useState(false);
- const commands = {
- x86: [
- 'docker run -p 9000:9000 \\',
- 'apachepinot.docker.scarf.sh/apachepinot/pinot:1.4.0 \\',
- 'QuickStart -type hybrid'
- ],
- ARM64: [
- 'docker run -p 9000:9000 \\',
- 'apachepinot.docker.scarf.sh/apachepinot/pinot:1.4.0-arm64 \\',
- 'QuickStart -type hybrid'
- ]
- };
+ const commands = [
+ 'docker run -p 9000:9000 \\',
+ 'apachepinot.docker.scarf.sh/apachepinot/pinot:1.4.0 \\',
+ 'QuickStart -type hybrid'
+ ];
const handleCopy = async () => {
try {
- await navigator.clipboard.writeText(commands[activeTab].join('\n'));
+ await navigator.clipboard.writeText(commands.join('\n'));
setCopied(true);
- setTimeout(() => setCopied(false), 2000); // Show copied status for 2 seconds
+ setTimeout(() => setCopied(false), 2000);
} catch (err) {
console.error('Failed to copy text: ', err);
}
@@ -49,25 +41,8 @@ const Terminal: FC = () => {
<div className="h-3 w-3 rounded-full bg-green-500"></div>
</div>
</div>
- {/* Tab buttons */}
- <div className="mb-2 ml-8 flex space-x-1 border-b-2">
- {(['x86', 'ARM64'] as const).map((arch) => (
- <button
- key={arch}
- className={`border-b-4 px-4 py-2 pt-5 font-[Source_Code_Pro]
- ${
- activeTab === arch
- ? 'border-rose-700 text-base font-semibold'
- : 'border-transparent opacity-30'
- }`}
- onClick={() => setActiveTab(arch)}
- >
- {arch}
- </button>
- ))}
- </div>
- <div className="table w-full whitespace-pre-wrap p-4 font-[Source_Code_Pro] leading-loose">
- {renderCommandWithNumbers(commands[activeTab])}
+ <div className="table w-full whitespace-pre-wrap p-4 pt-6 font-[Source_Code_Pro] leading-loose">
+ {renderCommandWithNumbers(commands)}
</div>
</div>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org