Skip to content
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
7 changes: 7 additions & 0 deletions astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,13 @@ export default defineConfig({
},
slug: 'service/models'
},
{
label: 'Repositories',
translations: {
'zh-Hant': '儲存庫'
},
slug: 'service/repositories'
},
{
label: 'Applications',
translations: {
Expand Down
3 changes: 3 additions & 0 deletions src/content/docs/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
title: A unified platform for simplified compute, storage, and networking.
description: Get started building your docs site with Starlight.
template: splash # Remove or comment out this line to display the site sidebar on this page.
banner:
content: |
<strong>🚀 OtterScale has shipped!</strong> — <a href="/whats-new/otterscale-0.6.0/">See what's new in OtterScale 0.6.0</a>

Copilot AI Dec 19, 2025

Copy link

Choose a reason for hiding this comment

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

The banner links to "/whats-new/otterscale-0.6.0/" but this page doesn't appear to exist in the repository. This will result in a broken link. Either create the corresponding page at src/content/docs/whats-new/otterscale-0.6.0.mdx or update the link to point to an existing page.

Suggested change
<strong>🚀 OtterScale has shipped!</strong> — <a href="/whats-new/otterscale-0.6.0/">See what's new in OtterScale 0.6.0</a>
<strong>🚀 OtterScale has shipped!</strong> — <a href="/introduction/">See what's new in OtterScale 0.6.0</a>

Copilot uses AI. Check for mistakes.
hero:
title: |
OtterScale:
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/introduction.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ The platform utilizes Ceph to provide a robust, self-healing storage fabric. Sto
<Card icon="gitter" title="Monitoring">
Integrated Prometheus and Grafana stack
</Card>
<Card icon="approve-check" title="Security">
<Card icon="seti:lock" title="Security">
RBAC with LDAP/AD integration and SSO
</Card>
<Card icon="puzzle" title="Application Marketplace">
Expand Down
21 changes: 19 additions & 2 deletions src/content/docs/service/applications/04-store.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,29 @@ To deploy a new application:
1. Click on the application card to open the details panel.
2. Click the **Install** button.
3. **Configuration**:

- **Name**: Enter a name for the release.
- **Namespace**: Specify the target namespace.
- **Version**: Select the chart version to install.
- **Dry Run**: Toggle to simulate the installation without making changes.
- **Configuration**: Customize the `values.yaml` configuration for the chart.
4. Click **Confirm** to start the installation.
- **Configuration**: Customize the `values.yaml` configuration for the chart. You can modify the parameters to override the chart's defaults, such as replica counts, resource limits, or service settings. The editor supports YAML syntax highlighting and validation.

```yaml
# Example Configuration
replicaCount: 1
image:
repository: nginx
tag: stable
service:
type: ClusterIP
port: 80
resources:
limits:
cpu: 100m
memory: 128Mi
```

4. Click **Confirm** to start the installation. Once installed, the application will appear in the **Releases** tab.

</Steps>

Expand Down
132 changes: 132 additions & 0 deletions src/content/docs/service/repositories.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
---
title: Repositories
description: Manage container images and Helm charts in the registry.
---

import { Steps, Aside, Tabs, TabItem } from '@astrojs/starlight/components';

The Repositories page allows you to view and manage the container images and Helm charts stored in your private registry.

## Introduction

The Repositories table displays a list of all repositories. The table includes the following information:

| Column | Description |
| :------------- | :----------------------------------------------------------------------------------------------------------------------------- |
| **Name** | The name of the repository. |
| **Latest Tag** | The most recent tag associated with the repository. |
| **Size** | The total size of the repository. |
| **Manifests** | The number of manifests (versions/tags) in the repository. Clicking the external link icon opens a detailed list of manifests. |

## Upload Instructions

You can upload Docker images and Helm charts to the repository via your local terminal.

<Aside type="tip" title="Registry URL">
To obtain the `<registry_url>`, click the **Commands** button on this page or check the **Applications Services** page.

Copilot AI Dec 19, 2025

Copy link

Choose a reason for hiding this comment

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

The reference to "Applications Services" page is ambiguous. Based on the documentation structure, it's unclear which specific page is being referenced. If this refers to the Services page under Applications (service/applications/02-services.mdx), that page is about Kubernetes Services and doesn't appear to contain registry URL information. Consider clarifying this reference or verifying the correct page name where users can find the registry URL.

Suggested change
To obtain the `<registry_url>`, click the **Commands** button on this page or check the **Applications Services** page.
To obtain the `<registry_url>`, click the **Commands** button on this page or refer to your platform documentation for the registry URL.

Copilot uses AI. Check for mistakes.
</Aside>

<Aside title="Prerequisites">
Ensure you have the necessary tools installed:

- **Docker**: [Installation Guide](https://www.docker.com/)
- **Helm**: [Installation Guide](https://helm.sh/)

</Aside>

<Tabs>
<TabItem label="Docker Image">
<Steps>

1. Tag the image:

```bash
docker tag <repository>:<tag> <registry_url>/<repository>:<tag>
```

2. Push the image:

```bash
docker push <registry_url>/<repository>:<tag>
```

3. After uploading, navigate to the [Applications Store](/service/applications/04-store/) to update the Helm chart configuration to use your custom image:

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

The link to the Applications Store appears to be incorrect. Starlight automatically removes number prefixes like 04- from filenames when generating page URLs. Therefore, the file service/applications/04-store.mdx will likely be available at /service/applications/store, not /service/applications/04-store/. Please update the link to ensure it works correctly.

    3.  After uploading, navigate to the [Applications Store](/service/applications/store) to update the Helm chart configuration to use your custom image:


```yaml
# Docker image
image:
# -- Docker image registry
repository: <registry_url>/<repository>
# -- Docker pull policy
pullPolicy: IfNotPresent
# -- Docker image tag, overrides the image tag whose default is the chart appVersion.
tag: <tag>
```

</Steps>

</TabItem>

<TabItem label="Helm Chart">
<Steps>

1. Download a chart package from [Artifact Hub](https://artifacthub.io/).

2. Upload the downloaded chart:

```bash
helm push <chart_package> oci://<registry_url>/<namespace> --plain-http

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

medium

The use of the --plain-http flag in the helm push command allows for insecure connections to the registry. This poses a security risk in production environments as credentials and chart data are transmitted unencrypted. It is highly recommended to add a warning about the security implications of this flag. Consider using an <Aside> component to alert users.

For example:

<Aside type="caution" title="Security Warning">
  The `--plain-http` flag allows insecure connections and should only be used for local development. For production, always use a secure registry with TLS enabled.
</Aside>

```

Comment on lines +78 to +80

Copilot AI Dec 19, 2025

Copy link

Choose a reason for hiding this comment

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

The helm push example uses the --plain-http flag, which forces Helm to upload charts over unencrypted HTTP even when a TLS-capable registry is available. This exposes chart contents to interception and tampering on the network, enabling an attacker to inject malicious code into deployments. Update the documentation to use secure HTTPS by default (removing --plain-http and/or clearly scoping its use only to explicitly non-sensitive, internal test setups).

Suggested change
helm push <chart_package> oci://<registry_url>/<namespace> --plain-http
```
helm push <chart_package> oci://<registry_url>/<namespace>
```
If your registry is configured without TLS for local, non-sensitive testing only, you may add the `--plain-http` flag. Do not use `--plain-http` for production or Internet-exposed registries.

Copilot uses AI. Check for mistakes.
3. After uploading, navigate to the [Applications Store](/service/applications/04-store/) to deploy the Helm chart.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

high

The link to the Applications Store appears to be incorrect. Starlight automatically removes number prefixes like 04- from filenames when generating page URLs. Therefore, the file service/applications/04-store.mdx will likely be available at /service/applications/store, not /service/applications/04-store/. Please update the link to ensure it works correctly.

    3.  After uploading, navigate to the [Applications Store](/service/applications/store) to deploy the Helm chart.


</Steps>

</TabItem>
</Tabs>

## Manage Repositories

<Aside>
While you cannot create repositories directly from the UI (they are created when you push images
or charts), you can manage the existing contents.
</Aside>

### View Manifests

To view the specific versions or tags within a repository:

<Steps>

1. Locate the repository in the list.
2. Click the external link icon in the **Manifests** column.
3. A side panel will open displaying all manifests (tags) for that repository.

</Steps>

### View Manifest Details

You can inspect the details of a specific image or chart version.

<Steps>

1. Open the **Manifests** list for a repository.
2. Click on any manifest item.
3. A dialog will appear showing detailed information:
- **Charts**: Displays version, description, dependencies, maintainers, and source links.
- **Images**: Displays author, creation time, architecture, and container configuration (ports, entrypoint, commands, etc.).

</Steps>

### Delete Manifest

You can delete specific versions (manifests) from a repository.

<Steps>

1. Open the **Manifests** list for a repository.
2. Locate the specific tag/version you want to remove.
3. Click the **Delete** button (trash icon).
4. Confirm the deletion to permanently remove the manifest.

</Steps>
Loading