diff --git a/modules/README.md b/modules/README.md new file mode 100644 index 0000000..cac2c9b --- /dev/null +++ b/modules/README.md @@ -0,0 +1,38 @@ +# Modules + +- [brokers](modules/brokers/) + - [rabbitmq](modules/brokers/rabbitmq/) +- [cloud](modules/cloud/) + - [grafana](modules/cloud/grafana/) + - [cloud](modules/cloud/grafana/cloud/) +- [collectors](modules/collectors/) + - [agent](modules/collectors/agent/) + - [push-gateway](modules/collectors/push-gateway/) +- [databases](modules/databases/) + - [kv](modules/databases/kv/) + - [etcd](modules/databases/kv/etcd/) + - [memcached](modules/databases/kv/memcached/) + - [redis](modules/databases/kv/redis/) + - [sql](modules/databases/sql/) + - [mysql](modules/databases/sql/mysql/) + - [postgres](modules/databases/sql/postgres/) + - [timeseries](modules/databases/timeseries/) + - [loki](modules/databases/timeseries/loki/) + - [mimir](modules/databases/timeseries/mimir/) + - [pyroscope](modules/databases/timeseries/pyroscope/) + - [tempo](modules/databases/timeseries/tempo/) +- [kubernetes](modules/kubernetes/) + - [cert-manager](modules/kubernetes/cert-manager/) + - [core](modules/kubernetes/core/) + - [konnectivity-agent](modules/kubernetes/konnectivity-agent/) + - [kube-state-metrics](modules/kubernetes/kube-state-metrics/) + - [opencost](modules/kubernetes/opencost/) +- [networking](modules/networking/) + - [consul](modules/networking/consul/) + - [haproxy](modules/networking/haproxy/) +- [source-control](modules/source-control/) + - [gitlab](modules/source-control/gitlab/) +- [system](modules/system/) + - [node-exporter](modules/system/node-exporter/) +- [ui](modules/ui/) + - [grafana](modules/ui/grafana/) diff --git a/tools/generate-toc.sh b/tools/generate-toc.sh new file mode 100755 index 0000000..528e430 --- /dev/null +++ b/tools/generate-toc.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +echo "# Modules" +echo "" + +# Function to check if directory (or its subdirectories) contains .md files +contains_md_files() { + local dir="$1" + if find "$dir" -type f -name "*.md" | read; then + return 0 # True, contains .md files + else + return 1 # False, does not contain .md files + fi +} + +# Function to generate nested markdown list +generate_list() { + local parent_path="$1" + local indent="$2" + # List directories first + for dir in $(find "$parent_path" -mindepth 1 -maxdepth 1 -type d | sort); do + if contains_md_files "$dir"; then + local dir_name=$(basename "$dir") + echo "${indent}- [${dir_name}](${dir}/)" + # Check and list subdirectories if they contain .md files + if [ "$(find "$dir" -mindepth 1 -maxdepth 1 -type d)" ]; then + generate_list "$dir" "$indent " + fi + fi + done +} + +# Start from the top-level "modules" directory +generate_list "modules" ""