Skip to content

docs: OlaresManifest 0.12.0 spec update#3247

Draft
TShentu wants to merge 10 commits into
beclab:mainfrom
TShentu:update-manifest-0.12.0
Draft

docs: OlaresManifest 0.12.0 spec update#3247
TShentu wants to merge 10 commits into
beclab:mainfrom
TShentu:update-manifest-0.12.0

Conversation

@TShentu

@TShentu TShentu commented Jun 3, 2026

Copy link
Copy Markdown
Member

Summary

Update OlaresManifest specification to version 0.12.0.

Changes:

  • Version bump: 0.11.0 → 0.12.0
  • apiVersion: Add shared apps field; deprecate old field
  • spec.accelerator: New GPU resource declaration field
  • workloadReplicas: New field for replica counts
  • overlayGateway: New L2 overlay LAN discovery support
  • LLMGatewaySupported: New option field
  • appCommon / externalData: New permission fields

Files:

  • docs/developer/develop/package/manifest.md (EN)
  • docs/zh/developer/develop/package/manifest.md (ZH)

Note

Low Risk
Documentation-only changes with no runtime or security-sensitive code paths.

Overview
Documentation updates for OlaresManifest 0.12.0 (English and Chinese developer guides) and expanded Hermes user guidance.

The manifest pages bump the spec to 0.12.0, move 0.11.0 into the changelog, and document new or changed fields: apiVersion v3 for shared apps (with v2 deprecation), permission.appCommon / externalData, spec.accelerator, workloadReplicas, options.LLMGatewaySupported, and overlayGateway. The release note also calls out templateOnly without a dedicated section in this diff.

The Hermes guide replaces the file-based gateway restart with hermes restart-gateway, and adds sections on Olares skills install, OpenAI-compatible Gateway API setup (including OpenWebUI), and API key troubleshooting.

Reviewed by Cursor Bugbot for commit 64df517. Bugbot is set up for automated code reviews on this repo. Configure here.

- Update version to 0.12.0
- Add apiVersion v3 for shared apps (v2 deprecated after 1.12.6)
- Add spec.accelerator for GPU resource declaration
- Add workloadReplicas field
- Add overlayGateway field
- Add LLMGatewaySupported in options
- Add appCommon and externalData permissions
- Mark spec.subCharts and options.appScope as deprecated for apiVersion v3
@vercel

vercel Bot commented Jun 3, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the Lucky's projects Team on Vercel.

A member of the Team first needs to authorize it.

@TShentu TShentu changed the title [UPDATE][manifest] OlaresManifest 0.12.0 spec update docs: OlaresManifest 0.12.0 spec update Jun 3, 2026
@TShentu TShentu marked this pull request as draft June 3, 2026 06:22
@vercel

vercel Bot commented Jun 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
olares Ready Ready Preview, Comment Jun 16, 2026 1:38pm
olares-docs Error Error Jun 16, 2026 1:38pm

- Added `appCommon` and `externalData` permissions
- Added `templateOnly` field to mark template-type applications

:::

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Should we add a callout below this note to ask users to give special attention to certain fields when upgrading to 0.12.0?
such as

:::tip Upgrading to Manifest 0.12.0
If you maintain an existing app chart, pay special attention to apiVersion, workloadReplicas, and permission.externalData before upgrading. These fields contain breaking changes or new mandatory requirements that may require updates to your existing configurations.
:::

::: details OlaresManifest.yaml Example

```yaml
olaresManifest.version: '0.10.0'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The example still uses olaresManifest.version: '0.10.0', while the page introduces 0.12.0 as the latest Manifest version. This may confuse users who copy the example as a starting point. Should we update it to 0.12.0 and include the newly introduced fields (like workloadReplicas and spec.accelerator) to reflect the absolute latest best practices?

Comment thread docs/developer/develop/package/manifest.md Outdated
`recommend` apps will not be listed in the Olares Market, but you can install recommendation algorithms for Wise by uploading a custom Chart.
:::
Olares currently supports 2 types of applications, each requiring different fields. This document uses `app` as an example to explain each field.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

In the previous versions, recommend was an accepted type. It may be helpful to explicitly mention that recommend has been removed to avoid confusion for developers familiar with the old spec.

:::info
The recommend type is no longer included in the current OlaresManifest specification. Use app or middleware according to your application type.
:::

- Type: `boolean`
- Optional

Whether the app requires read and write permission to the `App Common` folder (cross-node, cross-app shared files, such as models). Use `{{ .Values.userspace.appCommon }}` in the deployment YAML to get the App Common directory path.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Whether the app requires read and write permission to the App Common folder. When set to true, the app can access files shared across multiple apps or nodes, such as AI models. Use {{ .Values.userspace.appCommon }} in the deployment YAML to get the App Common directory path.

- Type: `map`
- Optional

Declares GPU resources required by the application. For apps that need GPU, use `spec.accelerator` to declare resources instead of `spec.requiredMemory` or similar fields.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can we better clarify this field?

Declares GPU or hardware accelerator resources required by the application. Use this field for accelerator-aware apps, such as LLMs, image generation, video processing, or AI model serving.

:::info NOTE
When accelerator is used, all related resource requirements (CPU, memory, disk, and GPU memory) must be declared inside this block, instead of relying on the root-level spec.requiredMemory or spec.requiredCpu fields.
:::

Supported Modes:

  • nvidia, nvidia-gb10, apple-m, strix-halo: For specific GPU/NPU hardware.
  • cpu: Used as a fallback or to explicitly force CPU-only computation in accelerator-aware applications.


## workloadReplicas
- Type: `map`
- Optional

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This field is marked as optional, but the description says that starting from 0.12.0, apps must add this variable to declare replica counts for all workloads. This may look contradictory to developers.

Could we clarify whether this field is required for Manifest 0.12.0 apps?
If it is strictly required for 0.12.0, it would be better described as:

  • Required (for Manifest 0.12.0 and later) / Optional (for earlier versions)

workloads:
affine:
replicaCount: 1
```

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

The current example splits OlaresManifest.yaml and values.yaml into separate blocks, which makes the mapping relationship a bit implicit. How about explicitly stating the naming rule and combining the code blocks so developers can compare them at a glance.

For example:

The workload name under workloadReplicas must match the corresponding workload name under workloads in values.yaml. This inclusion is required for backward compatibility.

workloadReplicas:
  affine: 1
workloads:
  affine:
    replicaCount: 1

- Default: `false`
- Optional

When set to `true`, this application is marked as a template app. The app cannot be installed directly. An instance must be created before installation. If this option is enabled, `allowMultipleInstall` must also be set to `true`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

How about adding the reason to help developers understand why these two fields are coupled?

When set to true, this application is marked as a template and cannot be installed directly. An instance must be created first. Because a template app is designed to spawn multiple instances, allowMultipleInstall must also be set to true.

Comment thread docs/developer/develop/package/manifest.md Outdated
@TShentu TShentu marked this pull request as ready for review June 23, 2026 13:05
@TShentu TShentu marked this pull request as draft June 23, 2026 13:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants