diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 548d3ab..decde4b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,11 +51,11 @@ jobs: - name: Check links run: | - liche -r docs -d $(pwd) -c 10 -p -h -l -s -x '^(.*golang.org.*|.*github.com.*|.*api.slack.com.*|.*twitter.com.*|.*linode.com.*|.*helm.sh.*|.*k8s.io.*|.*percona.com.*|.*kubernetes.io.*|.*search-guard.com.*|.*hub.docker.com.*|.*appscode.com.*|.*mongodb.com.*|.*community.arm.com.*|.*cluster.com.*|.*proxysql.com.*|.*postgresql.org.*|.*kafka.com.*|.*stackoverflow.com.*|.*redis.io.*|.*elastic.co.*|.*mysql.*|.*developer.hashicorp.com.*|.*pgpool.net.*|.*clickhouse.com.*|.*portal.azure.com.*|.*vultr.com.*)$' + liche -r docs -d $(pwd) -c 10 -p -h -l -s -i '^README\.md$' -x '^(.*golang.org.*|.*github.com.*|.*api.slack.com.*|.*twitter.com.*|.*linode.com.*|.*helm.sh.*|.*k8s.io.*|.*percona.com.*|.*kubernetes.io.*|.*search-guard.com.*|.*hub.docker.com.*|.*appscode.com.*|.*mongodb.com.*|.*community.arm.com.*|.*cluster.com.*|.*proxysql.com.*|.*postgresql.org.*|.*kafka.com.*|.*stackoverflow.com.*|.*redis.io.*|.*elastic.co.*|.*mysql.*|.*developer.hashicorp.com.*|.*pgpool.net.*|.*clickhouse.com.*|.*portal.azure.com.*|.*vultr.com.*)$' max_retries=5 retry_count=0 while [ $retry_count -lt $max_retries ]; do - if liche -r docs -d $(pwd) -c 10 -p -h -l -s -x '^(.*golang.org.*|.*github.com.*|.*api.slack.com.*|.*twitter.com.*|.*linode.com.*|.*helm.sh.*|.*k8s.io.*|.*percona.com.*|.*kubernetes.io.*|.*search-guard.com.*|.*hub.docker.com.*|.*appscode.com.*|.*mongodb.com.*|.*community.arm.com.*|.*cluster.com.*|.*proxysql.com.*|.*postgresql.org.*|.*kafka.com.*|.*stackoverflow.com.*|.*redis.io.*|.*elastic.co.*|.*mysql.*|.*developer.hashicorp.com.*|.*pgpool.net.*|.*clickhouse.com.*|.*portal.azure.com.*|.*vultr.com.*)$'; then + if liche -r docs -d $(pwd) -c 10 -p -h -l -s -i '^README\.md$' -x '^(.*golang.org.*|.*github.com.*|.*api.slack.com.*|.*twitter.com.*|.*linode.com.*|.*helm.sh.*|.*k8s.io.*|.*percona.com.*|.*kubernetes.io.*|.*search-guard.com.*|.*hub.docker.com.*|.*appscode.com.*|.*mongodb.com.*|.*community.arm.com.*|.*cluster.com.*|.*proxysql.com.*|.*postgresql.org.*|.*kafka.com.*|.*stackoverflow.com.*|.*redis.io.*|.*elastic.co.*|.*mysql.*|.*developer.hashicorp.com.*|.*pgpool.net.*|.*clickhouse.com.*|.*portal.azure.com.*|.*vultr.com.*)$'; then echo "Link check passed" exit 0 fi diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..83b92dd --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,37 @@ +# Docs repo notes + +Migrated from VitePress to Hugo (`98965f8`). Content lives under `docs/platform/`. + +## The extra `../` convention (intentional, do not "fix") + +Every relative link/image in this repo needs **one extra `../`** beyond what the +real filesystem nesting implies — this applies uniformly to `_index.md` section +pages AND regular leaf `.md` pages, even for files in the *same* directory +(e.g. `cluster-overview.md` links to its sibling `images/` dir as `../images/...`). +This is real, required Hugo behavior on the live site — verified by checking +which files actually 404 vs render. Don't "correct" it back to matching disk +paths; that breaks the live site even though it looks more "correct". + +Plain file links keep the `.md` extension (e.g. `../mongodb.md`) — this is fine, +Hugo resolves it. Only anchor links were converted from `.md#anchor` to `/#anchor` +form (`#134`), because `.md#anchor` doesn't resolve but `.md` alone does. + +## liche (CI link checker) + +CI uses a custom fork (`appscodelabs/liche`, branch `arnob-strip-prefix`) with +extra flags: `-s, --strip-relative-prefix` — strips one leading `../` from +each relative link before checking it against the filesystem. This exists +*because* of the extra-`../` convention above: it lets the checker validate +against real on-disk paths without every link failing. + +`-i, --skip-filename ` excludes files by base name from being scanned +entirely — CI passes `-i '^README\.md$'` because leftover `README.md` files +(see the section below) intentionally use non-standard link paths that +aren't meant to be checked. + +To check a file the same way CI does: +``` +liche -p -h -l -s -i '^README\.md$' +``` +Never validate without `-s` and conclude links are broken — that check +deliberately ignores the site's real routing. diff --git a/docs/platform/guides/README.md b/docs/platform/guides/README.md index 96b4bfd..8cffd24 100644 --- a/docs/platform/guides/README.md +++ b/docs/platform/guides/README.md @@ -19,14 +19,15 @@ This section contains practical, task-oriented guides for operating and managing ## Guide categories -- [Account Management](../account-management/) -- [Billing and Usage Guide](../billing-and-usage-guide/) -- [Cluster Management](../cluster-management/) -- [Database Management](../database-management/) -- [Get Started](../get-started/) -- [Integrations](../integrations/) -- [License Management](../license-management/) +- [Account Management](../guides/account-management/manage-profile/) +- [Billing and Usage Guide](../guides/billing-and-usage-guide/overview) +- [License Management](../guides/license-management/overview) +- [Cluster Management](../guides/cluster-management/cluster-overview) +- [Database Management](../guides/database-management/overview) +- [Get Started](../guides/get-started/architecture) +- [Integrations](../guides/integrations/rancher-extension) + ## Recommended path -For first-time users, start with [Get Started](../get-started/) and then move to the specific management areas relevant to your workflow. +For first-time users, start with [Get Started](../guides/get-started/architecture) and then move to the specific management areas relevant to your workflow. diff --git a/docs/platform/guides/database-management/images/db-create/mongodb/horizon.png b/docs/platform/guides/database-management/images/db-create/mongodb/horizon.png new file mode 100644 index 0000000..82af5dd Binary files /dev/null and b/docs/platform/guides/database-management/images/db-create/mongodb/horizon.png differ diff --git a/docs/platform/guides/database-management/overview.md b/docs/platform/guides/database-management/overview.md new file mode 100644 index 0000000..e48a7ab --- /dev/null +++ b/docs/platform/guides/database-management/overview.md @@ -0,0 +1,31 @@ +--- +layout: docs +menu: + docsplatform_{{.version}}: + identifier: database-management-overview + name: Overview + parent: database-management + weight: 10 +menu_name: docsplatform_{{.version}} +section_menu_id: guides +--- + +## Overview
+ +**Database Management** is where you operate the databases provisioned through KubeDB Platform after they've been created. It brings the day-2 operational tasks — scaling, backup, restore, version upgrades, reconfiguration, TLS, monitoring, and more — into a single, per-database console so you don't need to reach for `kubectl` or hand-craft custom resources for routine work. + +**Target Audience:** This guide is intended for `database administrators` and `operators` responsible for the ongoing health, availability, and data protection of databases running on KubeDB Platform. + +![Database overview page showing status, resource usage, and available operations](../images/db-overview.png) + +### Key Sections + +- **[Database Usage & Insights](../database-usage-insight):** Monitor resource consumption and get at-a-glance health information for a database. +- **[Scaling Databases](../scaling) / [Scaling Storages](../scaling-storage):** Adjust CPU, memory, replica count, or storage size — manually or through autoscaling policies. +- **[Configure Backups](../backup), [Instant Backup & Restore](../instant-backup-restore), [Backup Restore](../restore):** Set up scheduled backups, trigger on-demand backups, and restore data when needed. +- **[Upgrade Database Version](../upgrade-version), [Database Restarts](../restart-database), [Reconfigure Databases](../reconfigure-database):** Perform version upgrades, restarts, and configuration changes with minimal disruption. +- **[Configure TLS](../tls), [Configure Monitoring](../monitoring), [Expose via Gateway](../expose-via-gateway):** Secure connections, enable Prometheus-based monitoring, and expose databases outside the cluster. +- **[Manage Recommendations](../manage-recommendations), [Database Security Report](../security-report), [Database Constraint Violations](../contraint-violations):** Review platform-generated recommendations and compliance findings for a database. +- **[Delete Database](../delete-database):** Safely remove a database and its associated resources. + +Each operation is exposed as a dedicated form or panel in the left sidebar of a database's detail page. Under the hood, most actions are translated into Kubernetes `OpsRequest` custom resources, so every change is applied declaratively and can be tracked through its lifecycle — giving you the convenience of a UI with the auditability of GitOps-style operations. diff --git a/docs/platform/selfhost-setup/README.md b/docs/platform/selfhost-setup/README.md index bd92331..5800252 100644 --- a/docs/platform/selfhost-setup/README.md +++ b/docs/platform/selfhost-setup/README.md @@ -19,7 +19,7 @@ Welcome to KubeDB Platform's Self-Hosted deployment! Whether you're looking for Navigate to [KubeDB Platform Self-Hosted](https://appscode.com/selfhost). Here you will find your previously generated self-hosted installers. -![Installer Home](../images/installer-home.png) +![Installer Home](../selfhost-setup/images/installer-home.png)

@@ -29,9 +29,9 @@ Click on the `Create New Installer` button to get started. You can choose variou
-To get detailed documentation on `Cloud Demo` installer, head over to [Demo Deployment](../install/cloud-demo.md). +To get detailed documentation on `Cloud Demo` installer, head over to [Demo Deployment](../selfhost-setup/install/cloud-demo).

-To get detailed documentation on `Self Hosted Production` installer, head over to [Production Deployment](../install/selfhosted-production.md). +To get detailed documentation on `Self Hosted Production` installer, head over to [Production Deployment](../selfhost-setup/install/selfhosted-production).