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

WIP - Camunda Hackathon 2025 - Download Hub #4913

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft
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
92 changes: 92 additions & 0 deletions docs/download-hub/helm-chart.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
{
"11.1.1": [
{
"system": "linux-x86_64",
"download": "https://github.com/camunda/camunda/releases/download/8.6.7/camunda8-run-8.6.7-linux-x86_64.tar.gz",
"links": [
{
"description": "Release Notes",
"link": "https://github.com/camunda/camunda-platform-helm/releases/tag/camunda-platform-11.1.1"
},
{
"description": "Values",
"link": "https://artifacthub.io/packages/helm/camunda/camunda-platform/11.1.1#parameters"
}
]
},
{
"system": "windows-x86_64",
"download": "https://github.com/camunda/camunda/releases/download/8.6.7/camunda8-run-8.6.7-windows-x86_64.tar.gz",
"links": [
{
"description": "Release Notes",
"link": "https://github.com/camunda/camunda-platform-helm/releases/tag/camunda-platform-11.1.1"
},
{
"description": "Values",
"link": "https://artifacthub.io/packages/helm/camunda/camunda-platform/11.1.1#parameters"
}
]
}
],
"11.1.0": [
{
"system": "linux-x86_64",
"download": "https://github.com/camunda/camunda/releases/download/8.6.7/camunda8-run-8.6.7-linux-x86_64.tar.gz",
"links": [
{
"description": "Release Notes",
"link": "https://github.com/camunda/camunda-platform-helm/releases/tag/camunda-platform-11.1.1"
},
{
"description": "Values",
"link": "https://artifacthub.io/packages/helm/camunda/camunda-platform/11.1.1#parameters"
}
]
},
{
"system": "windows-x86_64",
"download": "https://github.com/camunda/camunda/releases/download/8.6.7/camunda8-run-8.6.7-windows-x86_64.tar.gz",
"links": [
{
"description": "Release Notes",
"link": "https://github.com/camunda/camunda-platform-helm/releases/tag/camunda-platform-11.1.1"
},
{
"description": "Values",
"link": "https://artifacthub.io/packages/helm/camunda/camunda-platform/11.1.1#parameters"
}
]
}
],
"11.0.4": [
{
"system": "linux-x86_64",
"download": "https://github.com/camunda/camunda/releases/download/8.6.7/camunda8-run-8.6.7-linux-x86_64.tar.gz",
"links": [
{
"description": "Release Notes",
"link": "https://github.com/camunda/camunda-platform-helm/releases/tag/camunda-platform-11.1.1"
},
{
"description": "Values",
"link": "https://artifacthub.io/packages/helm/camunda/camunda-platform/11.1.1#parameters"
}
]
},
{
"system": "windows-x86_64",
"download": "https://github.com/camunda/camunda/releases/download/8.6.7/camunda8-run-8.6.7-windows-x86_64.tar.gz",
"links": [
{
"description": "Release Notes",
"link": "https://github.com/camunda/camunda-platform-helm/releases/tag/camunda-platform-11.1.1"
},
{
"description": "Values",
"link": "https://artifacthub.io/packages/helm/camunda/camunda-platform/11.1.1#parameters"
}
]
}
]
}
46 changes: 46 additions & 0 deletions docs/download-hub/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
title: Camunda Download Hub
description: One-stop shop for all Camunda 8 downloads
---

import {
C8Run,
DockerCompose,
Helm,
} from "@site/src/components/CamundaDistributions/DistributionCards";
import helmData from "./helm-chart.json";

# Camunda Download Hub

## Local Development Setup

### Camunda 8 Run

A one-click Java application with BPMN Workflow Engine, DMN Decision Engine, Tasklist, and Operate, enabling you to deploy, test, and run workflows locally.

<C8Run />

### Docker Compose

A Docker Compose configuration to run Camunda Self-Managed components (Zeebe, Operate, Tasklist, Optimize, Identity, and Connectors).

<DockerCompose />

### Kubernetes Local

We recommend using Kubernetes and Helm to deploy and run Camunda 8 Self-Managed in development too.

<Helm runCommandArgs={["--values https://helm.camunda.io/values-local.yaml"]} />

## Production Setup

### Kubernetes

We recommend using Kubernetes and Helm to deploy and run Camunda 8 Self-Managed in production.

<Helm />

## Tools

- Clients
- SDK
7 changes: 7 additions & 0 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,13 @@ module.exports = {
label: "Reference",
position: "left",
},
{
type: "doc",
docId: "download-hub/index",
label: "Download Hub",
class: "badge badge--primary",
position: "left",
},
],
},
footer: {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"scripts": {
"docusaurus": "docusaurus",
"start": "docusaurus start",
"build": "docusaurus build",
"build": "NODE_OPTIONS='--max_old_space_size=12288' docusaurus build",
"build:docker": "docker build -f Dockerfile.build --output ./build --target=outputs . ",
"swizzle": "docusaurus swizzle",
"deploy": "docusaurus deploy",
Expand Down
161 changes: 161 additions & 0 deletions src/components/CamundaDistributions/ArtifactCard.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
// import React, { useState } from "react";
// import Link from "@docusaurus/Link";
// import CodeBlock from "@theme/CodeBlock";
// import styles from "./styles.module.css";

// const ArtifactCard = (artifactData = Object) => {
// const versions = artifactData.keys()
// return (
// <div className={styles.card}>
// <div className={styles.dropdownContainer}>
// {version != null && (
// <>
// <label>Version</label>
// <select
// value={version}
// onChange={(e) => setVersion(e.target.value)}
// >
// {versions.map((version) => (
// <option key={version} value={version}>
// {version}
// </option>
// ))}
// </select>
// </>
// )}
// {artifactData.system != "" && (
// <>
// <label>System</label>
// <select
// value={artifactData.system}
// onChange={(e) => setArchitecture(e.target.value)}
// >
// {artifactData.system.map((os) => (
// <option key={os} value={os}>
// {os}
// </option>
// ))}
// </select>
// </>
// )}
// </div>
// <div>
// {downloadURL != "" && (
// <Link
// to={downloadURL}
// title={downloadURL}
// className={styles.downloadURL}
// >
// Download
// </Link>
// )}
// <br />
// {runCommand != "" && (
// <CodeBlock language="shell">
// {runCommand.replaceAll("${version}", version)}
// </CodeBlock>
// )}
// </div>
// <div className={styles.linkContainer}>
// {extraLinks.forEach(element => {
// <Link to={element.url}>{element.desc}</Link>
// })}
// </div>
// </div>
// );
// };

// export default ArtifactCard;
import React, { useState } from "react";
import styles from "./styles.module.css";
import Link from "@docusaurus/Link";
import CodeBlock from "@theme/CodeBlock";

const ArtifactCard = ({ data, runCommand = "" }) => {
const versions = Object.keys(data);

// Ensure at least one version exists
const [selectedVersion, setSelectedVersion] = useState(versions[0] || "");
const [selectedSystem, setSelectedSystem] = useState(
data[versions[0]]?.[0]?.system || ""
);

const handleVersionChange = (event) => {
const newVersion = event.target.value;
setSelectedVersion(newVersion);
setSelectedSystem(data[newVersion]?.[0]?.system || "");
};

const handleSystemChange = (event) => {
setSelectedSystem(event.target.value);
};

const selectedData =
data[selectedVersion]?.find((item) => item.system === selectedSystem) || {};

return (
<div className={styles.card}>
<div className={styles.dropdownContainer}>
<label>
Version:
<select value={selectedVersion} onChange={handleVersionChange}>
{versions.map((version) => (
<option key={version} value={version}>
{version}
</option>
))}
</select>
</label>
{selectedSystem && (
<label>
System:
<select value={selectedSystem} onChange={handleSystemChange}>
{data[selectedVersion]?.map((item) => (
<option key={item.system} value={item.system}>
{item.system}
</option>
))}
</select>
</label>
)}
</div>

{selectedData.download && (
<>
<h4>Get</h4>
<Link
to={selectedData.download}
title={selectedData.download}
className={styles.downloadURL}
>
Download
</Link>
</>
)}

<h4>Run</h4>
{runCommand && (
<CodeBlock language="shell">
{runCommand.replace("${version}", selectedVersion)}
</CodeBlock>
)}

{selectedData.links && (
<>
<h4>Links</h4>
<ul>
{selectedData.links.map((link, index) => (
<li key={index}>
<a href={link.link} target="_blank" rel="noopener noreferrer">
{link.description}
</a>
</li>
))}
</ul>
</>
)}
</div>
);
};

export default ArtifactCard;
Loading
Loading