docs: OlaresManifest 0.12.0 spec update#3247
Conversation
- 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
|
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. |
…start command updates" This reverts commit ef3f952.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
| - Added `appCommon` and `externalData` permissions | ||
| - Added `templateOnly` field to mark template-type applications | ||
|
|
||
| ::: |
There was a problem hiding this comment.
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' |
There was a problem hiding this comment.
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?
| `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. | ||
|
|
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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 | ||
| ``` |
There was a problem hiding this comment.
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: 1workloads:
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`. |
There was a problem hiding this comment.
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.
Co-authored-by: Meow33 <panpanswork@gmail.com>
Summary
Update OlaresManifest specification to version 0.12.0.
Changes:
Files:
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:
apiVersionv3for shared apps (withv2deprecation),permission.appCommon/externalData,spec.accelerator,workloadReplicas,options.LLMGatewaySupported, andoverlayGateway. The release note also calls outtemplateOnlywithout 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.