container-superposition 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +843 -0
- package/dist/scripts/init.d.ts +3 -0
- package/dist/scripts/init.d.ts.map +1 -0
- package/dist/scripts/init.js +1190 -0
- package/dist/scripts/init.js.map +1 -0
- package/dist/scripts/migrate-to-manifests.d.ts +12 -0
- package/dist/scripts/migrate-to-manifests.d.ts.map +1 -0
- package/dist/scripts/migrate-to-manifests.js +230 -0
- package/dist/scripts/migrate-to-manifests.js.map +1 -0
- package/dist/tool/questionnaire/composer.d.ts +6 -0
- package/dist/tool/questionnaire/composer.d.ts.map +1 -0
- package/dist/tool/questionnaire/composer.js +1232 -0
- package/dist/tool/questionnaire/composer.js.map +1 -0
- package/dist/tool/readme/markdown-parser.d.ts +30 -0
- package/dist/tool/readme/markdown-parser.d.ts.map +1 -0
- package/dist/tool/readme/markdown-parser.js +139 -0
- package/dist/tool/readme/markdown-parser.js.map +1 -0
- package/dist/tool/readme/readme-generator.d.ts +9 -0
- package/dist/tool/readme/readme-generator.d.ts.map +1 -0
- package/dist/tool/readme/readme-generator.js +422 -0
- package/dist/tool/readme/readme-generator.js.map +1 -0
- package/dist/tool/schema/custom-loader.d.ts +17 -0
- package/dist/tool/schema/custom-loader.d.ts.map +1 -0
- package/dist/tool/schema/custom-loader.js +149 -0
- package/dist/tool/schema/custom-loader.js.map +1 -0
- package/dist/tool/schema/overlay-loader.d.ts +47 -0
- package/dist/tool/schema/overlay-loader.d.ts.map +1 -0
- package/dist/tool/schema/overlay-loader.js +252 -0
- package/dist/tool/schema/overlay-loader.js.map +1 -0
- package/dist/tool/schema/types.d.ts +212 -0
- package/dist/tool/schema/types.d.ts.map +1 -0
- package/dist/tool/schema/types.js +5 -0
- package/dist/tool/schema/types.js.map +1 -0
- package/docs/README.md +308 -0
- package/docs/architecture.md +233 -0
- package/docs/creating-overlays.md +549 -0
- package/docs/custom-patches.md +540 -0
- package/docs/dependencies.md +279 -0
- package/docs/examples/custom-patches-example.md +85 -0
- package/docs/examples.md +576 -0
- package/docs/messaging-comparison.md +265 -0
- package/docs/messaging-quick-start.md +385 -0
- package/docs/observability-workflow.md +537 -0
- package/docs/overlay-manifest-refactoring.md +214 -0
- package/docs/overlay-metadata-archive.md +54 -0
- package/docs/overlays.md +523 -0
- package/docs/presets-architecture.md +498 -0
- package/docs/presets.md +366 -0
- package/docs/publishing.md +476 -0
- package/docs/quick-reference.md +326 -0
- package/docs/ux.md +170 -0
- package/features/README.md +85 -0
- package/features/cross-distro-packages/README.md +146 -0
- package/features/cross-distro-packages/devcontainer-feature.json +20 -0
- package/features/cross-distro-packages/install.sh +58 -0
- package/features/local-secrets-manager/devcontainer-feature.json +18 -0
- package/features/local-secrets-manager/install.sh +127 -0
- package/features/project-scaffolder/devcontainer-feature.json +24 -0
- package/features/project-scaffolder/install.sh +100 -0
- package/features/team-conventions/devcontainer-feature.json +24 -0
- package/features/team-conventions/install.sh +93 -0
- package/overlays/.registry/README.md +14 -0
- package/overlays/.registry/base-images.yml +26 -0
- package/overlays/.registry/base-templates.yml +7 -0
- package/overlays/README.md +155 -0
- package/overlays/alertmanager/.env.example +5 -0
- package/overlays/alertmanager/README.md +465 -0
- package/overlays/alertmanager/alert-rules.yml +56 -0
- package/overlays/alertmanager/alertmanager.yml +42 -0
- package/overlays/alertmanager/devcontainer.patch.json +12 -0
- package/overlays/alertmanager/docker-compose.yml +20 -0
- package/overlays/alertmanager/overlay.yml +17 -0
- package/overlays/alertmanager/setup.sh +53 -0
- package/overlays/alertmanager/verify.sh +31 -0
- package/overlays/aws-cli/README.md +473 -0
- package/overlays/aws-cli/devcontainer.patch.json +13 -0
- package/overlays/aws-cli/overlay.yml +13 -0
- package/overlays/azure-cli/README.md +551 -0
- package/overlays/azure-cli/devcontainer.patch.json +8 -0
- package/overlays/azure-cli/overlay.yml +13 -0
- package/overlays/bun/README.md +312 -0
- package/overlays/bun/devcontainer.patch.json +41 -0
- package/overlays/bun/overlay.yml +16 -0
- package/overlays/bun/setup.sh +79 -0
- package/overlays/bun/verify.sh +30 -0
- package/overlays/codex/README.md +128 -0
- package/overlays/codex/devcontainer.patch.json +3 -0
- package/overlays/codex/overlay.yml +14 -0
- package/overlays/codex/setup.sh +24 -0
- package/overlays/codex/verify.sh +30 -0
- package/overlays/commitlint/README.md +333 -0
- package/overlays/commitlint/devcontainer.patch.json +8 -0
- package/overlays/commitlint/overlay.yml +16 -0
- package/overlays/commitlint/setup.sh +234 -0
- package/overlays/direnv/README.md +504 -0
- package/overlays/direnv/devcontainer.patch.json +6 -0
- package/overlays/direnv/overlay.yml +13 -0
- package/overlays/direnv/setup.sh +139 -0
- package/overlays/docker-in-docker/README.md +534 -0
- package/overlays/docker-in-docker/devcontainer.patch.json +10 -0
- package/overlays/docker-in-docker/overlay.yml +13 -0
- package/overlays/docker-sock/README.md +256 -0
- package/overlays/docker-sock/devcontainer.patch.json +9 -0
- package/overlays/docker-sock/docker-compose.yml +8 -0
- package/overlays/docker-sock/overlay.yml +13 -0
- package/overlays/dotnet/README.md +147 -0
- package/overlays/dotnet/devcontainer.patch.json +51 -0
- package/overlays/dotnet/global-tools.txt +24 -0
- package/overlays/dotnet/overlay.yml +13 -0
- package/overlays/dotnet/setup.sh +51 -0
- package/overlays/dotnet/verify.sh +26 -0
- package/overlays/gcloud/README.md +269 -0
- package/overlays/gcloud/devcontainer.patch.json +14 -0
- package/overlays/gcloud/overlay.yml +14 -0
- package/overlays/gcloud/verify.sh +52 -0
- package/overlays/git-helpers/README.md +168 -0
- package/overlays/git-helpers/devcontainer.patch.json +33 -0
- package/overlays/git-helpers/overlay.yml +15 -0
- package/overlays/git-helpers/setup.sh +91 -0
- package/overlays/go/README.md +293 -0
- package/overlays/go/devcontainer.patch.json +43 -0
- package/overlays/go/overlay.yml +15 -0
- package/overlays/go/setup.sh +33 -0
- package/overlays/go/verify.sh +40 -0
- package/overlays/grafana/.env.example +9 -0
- package/overlays/grafana/README.md +462 -0
- package/overlays/grafana/dashboard-provider.yml +11 -0
- package/overlays/grafana/dashboards/observability-overview.json +263 -0
- package/overlays/grafana/devcontainer.patch.json +12 -0
- package/overlays/grafana/docker-compose.yml +27 -0
- package/overlays/grafana/grafana-datasources.yml +57 -0
- package/overlays/grafana/overlay.yml +21 -0
- package/overlays/grafana/verify.sh +34 -0
- package/overlays/jaeger/.env.example +7 -0
- package/overlays/jaeger/README.md +867 -0
- package/overlays/jaeger/devcontainer.patch.json +12 -0
- package/overlays/jaeger/docker-compose.yml +17 -0
- package/overlays/jaeger/overlay.yml +19 -0
- package/overlays/java/README.md +267 -0
- package/overlays/java/devcontainer.patch.json +44 -0
- package/overlays/java/overlay.yml +16 -0
- package/overlays/java/setup.sh +41 -0
- package/overlays/java/verify.sh +42 -0
- package/overlays/just/README.md +443 -0
- package/overlays/just/devcontainer.patch.json +3 -0
- package/overlays/just/overlay.yml +13 -0
- package/overlays/just/setup.sh +182 -0
- package/overlays/kubectl-helm/README.md +660 -0
- package/overlays/kubectl-helm/devcontainer.patch.json +10 -0
- package/overlays/kubectl-helm/overlay.yml +13 -0
- package/overlays/loki/.env.example +5 -0
- package/overlays/loki/README.md +1156 -0
- package/overlays/loki/devcontainer.patch.json +12 -0
- package/overlays/loki/docker-compose.yml +18 -0
- package/overlays/loki/loki-config.yaml +45 -0
- package/overlays/loki/overlay.yml +17 -0
- package/overlays/minio/.env.example +9 -0
- package/overlays/minio/README.md +639 -0
- package/overlays/minio/devcontainer.patch.json +30 -0
- package/overlays/minio/docker-compose.yml +28 -0
- package/overlays/minio/overlay.yml +18 -0
- package/overlays/minio/setup.sh +61 -0
- package/overlays/minio/verify.sh +64 -0
- package/overlays/mkdocs/README.md +309 -0
- package/overlays/mkdocs/devcontainer.patch.json +24 -0
- package/overlays/mkdocs/overlay.yml +15 -0
- package/overlays/modern-cli-tools/README.md +556 -0
- package/overlays/modern-cli-tools/devcontainer.patch.json +3 -0
- package/overlays/modern-cli-tools/overlay.yml +13 -0
- package/overlays/modern-cli-tools/setup.sh +153 -0
- package/overlays/mongodb/.env.example +9 -0
- package/overlays/mongodb/README.md +481 -0
- package/overlays/mongodb/devcontainer.patch.json +32 -0
- package/overlays/mongodb/docker-compose.yml +44 -0
- package/overlays/mongodb/overlay.yml +17 -0
- package/overlays/mongodb/verify.sh +48 -0
- package/overlays/mysql/.env.example +11 -0
- package/overlays/mysql/README.md +542 -0
- package/overlays/mysql/devcontainer.patch.json +34 -0
- package/overlays/mysql/docker-compose.yml +55 -0
- package/overlays/mysql/overlay.yml +16 -0
- package/overlays/mysql/verify.sh +48 -0
- package/overlays/nats/.env.example +5 -0
- package/overlays/nats/README.md +762 -0
- package/overlays/nats/devcontainer.patch.json +24 -0
- package/overlays/nats/docker-compose.yml +31 -0
- package/overlays/nats/overlay.yml +18 -0
- package/overlays/nats/verify.sh +50 -0
- package/overlays/ngrok/README.md +503 -0
- package/overlays/ngrok/devcontainer.patch.json +3 -0
- package/overlays/ngrok/overlay.yml +14 -0
- package/overlays/ngrok/setup.sh +125 -0
- package/overlays/nodejs/README.md +192 -0
- package/overlays/nodejs/devcontainer.patch.json +49 -0
- package/overlays/nodejs/global-packages.txt +16 -0
- package/overlays/nodejs/overlay.yml +14 -0
- package/overlays/nodejs/setup.sh +46 -0
- package/overlays/nodejs/verify.sh +32 -0
- package/overlays/otel-collector/.env.example +9 -0
- package/overlays/otel-collector/README.md +1257 -0
- package/overlays/otel-collector/devcontainer.patch.json +28 -0
- package/overlays/otel-collector/docker-compose.yml +22 -0
- package/overlays/otel-collector/otel-collector-config.yaml +68 -0
- package/overlays/otel-collector/overlay.yml +21 -0
- package/overlays/otel-collector/setup.sh +49 -0
- package/overlays/otel-demo-nodejs/.env.example +2 -0
- package/overlays/otel-demo-nodejs/Dockerfile-otel-demo-nodejs +17 -0
- package/overlays/otel-demo-nodejs/README.md +409 -0
- package/overlays/otel-demo-nodejs/devcontainer.patch.json +12 -0
- package/overlays/otel-demo-nodejs/docker-compose.yml +19 -0
- package/overlays/otel-demo-nodejs/overlay.yml +23 -0
- package/overlays/otel-demo-nodejs/package-otel-demo-nodejs.json +20 -0
- package/overlays/otel-demo-nodejs/server-otel-demo-nodejs.js +259 -0
- package/overlays/otel-demo-nodejs/tracing-otel-demo-nodejs.js +57 -0
- package/overlays/otel-demo-nodejs/verify.sh +31 -0
- package/overlays/otel-demo-python/.env.example +2 -0
- package/overlays/otel-demo-python/Dockerfile-otel-demo-python +16 -0
- package/overlays/otel-demo-python/README.md +82 -0
- package/overlays/otel-demo-python/app-otel-demo-python.py +208 -0
- package/overlays/otel-demo-python/devcontainer.patch.json +12 -0
- package/overlays/otel-demo-python/docker-compose.yml +19 -0
- package/overlays/otel-demo-python/overlay.yml +23 -0
- package/overlays/otel-demo-python/requirements-otel-demo-python.txt +4 -0
- package/overlays/otel-demo-python/verify.sh +31 -0
- package/overlays/playwright/README.md +629 -0
- package/overlays/playwright/devcontainer.patch.json +9 -0
- package/overlays/playwright/overlay.yml +13 -0
- package/overlays/postgres/.env.example +6 -0
- package/overlays/postgres/README.md +602 -0
- package/overlays/postgres/devcontainer.patch.json +21 -0
- package/overlays/postgres/docker-compose.yml +22 -0
- package/overlays/postgres/overlay.yml +15 -0
- package/overlays/postgres/verify.sh +45 -0
- package/overlays/powershell/README.md +314 -0
- package/overlays/powershell/devcontainer.patch.json +22 -0
- package/overlays/powershell/overlay.yml +13 -0
- package/overlays/powershell/setup.sh +29 -0
- package/overlays/powershell/verify.sh +38 -0
- package/overlays/pre-commit/README.md +263 -0
- package/overlays/pre-commit/devcontainer.patch.json +9 -0
- package/overlays/pre-commit/overlay.yml +16 -0
- package/overlays/pre-commit/setup.sh +129 -0
- package/overlays/presets/docs-site.yml +118 -0
- package/overlays/presets/fullstack.yml +181 -0
- package/overlays/presets/microservice.yml +118 -0
- package/overlays/presets/web-api.yml +109 -0
- package/overlays/prometheus/.env.example +5 -0
- package/overlays/prometheus/README.md +1246 -0
- package/overlays/prometheus/devcontainer.patch.json +12 -0
- package/overlays/prometheus/docker-compose.yml +22 -0
- package/overlays/prometheus/overlay.yml +17 -0
- package/overlays/prometheus/prometheus.yml +12 -0
- package/overlays/prometheus/verify.sh +34 -0
- package/overlays/promtail/.env.example +2 -0
- package/overlays/promtail/README.md +357 -0
- package/overlays/promtail/devcontainer.patch.json +5 -0
- package/overlays/promtail/docker-compose.yml +16 -0
- package/overlays/promtail/overlay.yml +17 -0
- package/overlays/promtail/promtail-config.yaml +60 -0
- package/overlays/promtail/verify.sh +31 -0
- package/overlays/pulumi/README.md +472 -0
- package/overlays/pulumi/devcontainer.patch.json +13 -0
- package/overlays/pulumi/overlay.yml +14 -0
- package/overlays/pulumi/verify.sh +31 -0
- package/overlays/python/README.md +919 -0
- package/overlays/python/devcontainer.patch.json +41 -0
- package/overlays/python/overlay.yml +12 -0
- package/overlays/python/requirements-overlay.txt +13 -0
- package/overlays/python/setup.sh +47 -0
- package/overlays/python/verify.sh +32 -0
- package/overlays/rabbitmq/.env.example +7 -0
- package/overlays/rabbitmq/README.md +680 -0
- package/overlays/rabbitmq/devcontainer.patch.json +28 -0
- package/overlays/rabbitmq/docker-compose.yml +30 -0
- package/overlays/rabbitmq/overlay.yml +18 -0
- package/overlays/rabbitmq/verify.sh +41 -0
- package/overlays/redis/.env.example +4 -0
- package/overlays/redis/README.md +776 -0
- package/overlays/redis/devcontainer.patch.json +21 -0
- package/overlays/redis/docker-compose.yml +21 -0
- package/overlays/redis/overlay.yml +15 -0
- package/overlays/redis/verify.sh +41 -0
- package/overlays/redpanda/.env.example +10 -0
- package/overlays/redpanda/README.md +703 -0
- package/overlays/redpanda/devcontainer.patch.json +37 -0
- package/overlays/redpanda/docker-compose.yml +67 -0
- package/overlays/redpanda/overlay.yml +21 -0
- package/overlays/redpanda/verify.sh +48 -0
- package/overlays/rust/README.md +299 -0
- package/overlays/rust/devcontainer.patch.json +39 -0
- package/overlays/rust/overlay.yml +15 -0
- package/overlays/rust/setup.sh +36 -0
- package/overlays/rust/verify.sh +51 -0
- package/overlays/sqlite/README.md +584 -0
- package/overlays/sqlite/devcontainer.patch.json +14 -0
- package/overlays/sqlite/overlay.yml +15 -0
- package/overlays/sqlite/setup.sh +27 -0
- package/overlays/sqlite/verify.sh +43 -0
- package/overlays/sqlserver/.env.example +6 -0
- package/overlays/sqlserver/README.md +592 -0
- package/overlays/sqlserver/devcontainer.patch.json +22 -0
- package/overlays/sqlserver/docker-compose.yml +32 -0
- package/overlays/sqlserver/overlay.yml +17 -0
- package/overlays/sqlserver/verify.sh +30 -0
- package/overlays/tempo/.env.example +5 -0
- package/overlays/tempo/README.md +273 -0
- package/overlays/tempo/devcontainer.patch.json +12 -0
- package/overlays/tempo/docker-compose.yml +20 -0
- package/overlays/tempo/overlay.yml +20 -0
- package/overlays/tempo/tempo-config.yaml +32 -0
- package/overlays/tempo/verify.sh +31 -0
- package/overlays/terraform/README.md +389 -0
- package/overlays/terraform/devcontainer.patch.json +15 -0
- package/overlays/terraform/overlay.yml +14 -0
- package/overlays/terraform/verify.sh +63 -0
- package/package.json +74 -0
- package/templates/README.md +285 -0
- package/templates/compose/.devcontainer/devcontainer.json +46 -0
- package/templates/compose/.devcontainer/docker-compose.yml +12 -0
- package/templates/compose/README.md +20 -0
- package/templates/plain/.devcontainer/devcontainer.json +35 -0
- package/templates/plain/README.md +21 -0
- package/tool/README.md +281 -0
- package/tool/schema/base-images.schema.json +43 -0
- package/tool/schema/base-templates.schema.json +34 -0
- package/tool/schema/config.schema.json +71 -0
- package/tool/schema/overlay-manifest.schema.json +86 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# MinIO setup script - installs MinIO client (mc) and creates default bucket
|
|
3
|
+
|
|
4
|
+
set -e
|
|
5
|
+
|
|
6
|
+
echo "🔧 Setting up MinIO client..."
|
|
7
|
+
|
|
8
|
+
# Install MinIO client (mc)
|
|
9
|
+
echo "📦 Installing MinIO client (mc)..."
|
|
10
|
+
if ! command -v mc &> /dev/null; then
|
|
11
|
+
# Pin to a specific version for security and reproducibility
|
|
12
|
+
MC_VERSION="RELEASE.2024-11-17T19-35-25Z"
|
|
13
|
+
MC_URL="https://dl.min.io/client/mc/release/linux-amd64/archive/mc.${MC_VERSION}"
|
|
14
|
+
MC_CHECKSUM="27e18faeabd9a0c8066e3b4aadb13a2c0ae4dac09a1e24defe34c99a11b59e26"
|
|
15
|
+
|
|
16
|
+
echo " Downloading MinIO client version ${MC_VERSION}..."
|
|
17
|
+
wget -q "${MC_URL}" -O /tmp/mc
|
|
18
|
+
|
|
19
|
+
# Verify checksum
|
|
20
|
+
echo " Verifying checksum..."
|
|
21
|
+
echo "${MC_CHECKSUM} /tmp/mc" | sha256sum -c - || {
|
|
22
|
+
echo " ❌ Checksum verification failed!"
|
|
23
|
+
rm -f /tmp/mc
|
|
24
|
+
exit 1
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
sudo install /tmp/mc /usr/local/bin/
|
|
28
|
+
rm /tmp/mc
|
|
29
|
+
echo " ✅ MinIO client installed (${MC_VERSION})"
|
|
30
|
+
else
|
|
31
|
+
echo " ✅ MinIO client already installed"
|
|
32
|
+
fi
|
|
33
|
+
|
|
34
|
+
# Wait for MinIO to be ready
|
|
35
|
+
echo "⏳ Waiting for MinIO service..."
|
|
36
|
+
for i in {1..30}; do
|
|
37
|
+
if curl -s http://minio:9000/minio/health/live &> /dev/null; then
|
|
38
|
+
echo " ✅ MinIO is ready"
|
|
39
|
+
break
|
|
40
|
+
fi
|
|
41
|
+
sleep 2
|
|
42
|
+
done
|
|
43
|
+
|
|
44
|
+
# Configure mc alias
|
|
45
|
+
echo "🔗 Configuring MinIO client..."
|
|
46
|
+
mc alias set local http://minio:9000 minioadmin minioadmin || echo "⚠️ MinIO alias setup failed (may already exist)"
|
|
47
|
+
|
|
48
|
+
# Create default bucket if specified in .env
|
|
49
|
+
if [ -f ".devcontainer/.env" ] && grep -q "MINIO_DEFAULT_BUCKET=" .devcontainer/.env; then
|
|
50
|
+
BUCKET_NAME=$(grep "MINIO_DEFAULT_BUCKET=" .devcontainer/.env | cut -d'=' -f2)
|
|
51
|
+
if [ -n "$BUCKET_NAME" ]; then
|
|
52
|
+
echo "📦 Creating default bucket: $BUCKET_NAME"
|
|
53
|
+
mc mb local/$BUCKET_NAME --ignore-existing || echo " ⚠️ Bucket may already exist"
|
|
54
|
+
fi
|
|
55
|
+
fi
|
|
56
|
+
|
|
57
|
+
echo "✅ MinIO setup complete"
|
|
58
|
+
echo ""
|
|
59
|
+
echo "📝 MinIO Console: http://localhost:9001"
|
|
60
|
+
echo " Username: minioadmin"
|
|
61
|
+
echo " Password: minioadmin"
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Verification script for MinIO overlay
|
|
3
|
+
# Confirms MinIO service and client are accessible
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
echo "🔍 Verifying MinIO overlay..."
|
|
8
|
+
echo ""
|
|
9
|
+
|
|
10
|
+
# Check MinIO client is installed
|
|
11
|
+
echo "1️⃣ Checking MinIO client (mc)..."
|
|
12
|
+
if command -v mc &> /dev/null; then
|
|
13
|
+
mc --version
|
|
14
|
+
echo " ✅ MinIO client found"
|
|
15
|
+
else
|
|
16
|
+
echo " ❌ MinIO client not found"
|
|
17
|
+
exit 1
|
|
18
|
+
fi
|
|
19
|
+
|
|
20
|
+
# Check if MinIO service is running
|
|
21
|
+
echo ""
|
|
22
|
+
echo "2️⃣ Checking MinIO service..."
|
|
23
|
+
MINIO_READY=false
|
|
24
|
+
for i in {1..15}; do
|
|
25
|
+
if curl -s http://minio:9000/minio/health/live &> /dev/null; then
|
|
26
|
+
echo " ✅ MinIO service is ready"
|
|
27
|
+
MINIO_READY=true
|
|
28
|
+
break
|
|
29
|
+
fi
|
|
30
|
+
sleep 1
|
|
31
|
+
done
|
|
32
|
+
|
|
33
|
+
if [ "$MINIO_READY" = false ]; then
|
|
34
|
+
echo " ❌ MinIO service not ready after 15 seconds"
|
|
35
|
+
exit 1
|
|
36
|
+
fi
|
|
37
|
+
|
|
38
|
+
# Check MinIO Console
|
|
39
|
+
echo ""
|
|
40
|
+
echo "3️⃣ Checking MinIO Console..."
|
|
41
|
+
if curl -s -o /dev/null -w "%{http_code}" http://minio:9001 | grep -q "200\|307"; then
|
|
42
|
+
echo " ✅ MinIO Console is accessible"
|
|
43
|
+
else
|
|
44
|
+
echo " ⚠️ MinIO Console may still be starting up"
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
# Test MinIO client connection
|
|
48
|
+
echo ""
|
|
49
|
+
echo "4️⃣ Testing MinIO client connection..."
|
|
50
|
+
if mc alias list | grep -q "local"; then
|
|
51
|
+
echo " ✅ MinIO client configured"
|
|
52
|
+
|
|
53
|
+
# Try listing buckets
|
|
54
|
+
if mc ls local &> /dev/null; then
|
|
55
|
+
echo " ✅ Can list buckets"
|
|
56
|
+
else
|
|
57
|
+
echo " ⚠️ Cannot list buckets (may need credentials)"
|
|
58
|
+
fi
|
|
59
|
+
else
|
|
60
|
+
echo " ⚠️ MinIO client alias not configured"
|
|
61
|
+
fi
|
|
62
|
+
|
|
63
|
+
echo ""
|
|
64
|
+
echo "✅ MinIO overlay verification complete"
|
|
@@ -0,0 +1,309 @@
|
|
|
1
|
+
# MkDocs Overlay
|
|
2
|
+
|
|
3
|
+
Material for MkDocs - professional documentation generator.
|
|
4
|
+
|
|
5
|
+
## Features
|
|
6
|
+
|
|
7
|
+
- **MkDocs** with Material theme (via official devcontainers-extra feature)
|
|
8
|
+
- **Common MkDocs plugins:**
|
|
9
|
+
- mkdocs-material
|
|
10
|
+
- mkdocs-minify-plugin
|
|
11
|
+
- mkdocs-redirects
|
|
12
|
+
- pymdown-extensions
|
|
13
|
+
- **Python dependency:** Automatically includes Python overlay (required)
|
|
14
|
+
- **VS Code Extensions:**
|
|
15
|
+
- Markdown All in One
|
|
16
|
+
- Markdown Lint
|
|
17
|
+
- Markdown Mermaid
|
|
18
|
+
- **Port forwarding:** 8000 (MkDocs dev server, auto-opens in browser)
|
|
19
|
+
|
|
20
|
+
## Dependencies
|
|
21
|
+
|
|
22
|
+
This overlay requires the **Python** overlay, which is automatically selected through the dependency model.
|
|
23
|
+
|
|
24
|
+
## Customizing MkDocs Plugins
|
|
25
|
+
|
|
26
|
+
To add more MkDocs plugins, you can install them via pip in your project's container:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# In devcontainer terminal
|
|
30
|
+
pip install mkdocs-git-revision-date-localized-plugin
|
|
31
|
+
pip install mkdocs-awesome-pages-plugin
|
|
32
|
+
pip install mkdocs-macros-plugin
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Or add them to your project's `requirements.txt`:
|
|
36
|
+
|
|
37
|
+
```plaintext
|
|
38
|
+
mkdocs-git-revision-date-localized-plugin>=1.2.0
|
|
39
|
+
mkdocs-awesome-pages-plugin>=2.9.0
|
|
40
|
+
mkdocs-macros-plugin>=1.0.0
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Rebuild container** after editing to install new plugins.
|
|
44
|
+
|
|
45
|
+
## Quick Start
|
|
46
|
+
|
|
47
|
+
### New Documentation Site
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Create new MkDocs project
|
|
51
|
+
mkdocs new .
|
|
52
|
+
|
|
53
|
+
# Start development server
|
|
54
|
+
mkdocs serve
|
|
55
|
+
# Opens at http://localhost:8000
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Existing Site
|
|
59
|
+
|
|
60
|
+
If you already have `mkdocs.yml`:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
# Start development server
|
|
64
|
+
mkdocs serve
|
|
65
|
+
|
|
66
|
+
# Build static site
|
|
67
|
+
mkdocs build
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## MkDocs Configuration
|
|
71
|
+
|
|
72
|
+
### Basic mkdocs.yml
|
|
73
|
+
|
|
74
|
+
```yaml
|
|
75
|
+
site_name: My Documentation
|
|
76
|
+
theme:
|
|
77
|
+
name: material
|
|
78
|
+
palette:
|
|
79
|
+
scheme: default
|
|
80
|
+
primary: indigo
|
|
81
|
+
accent: indigo
|
|
82
|
+
features:
|
|
83
|
+
- navigation.sections
|
|
84
|
+
- navigation.expand
|
|
85
|
+
- toc.integrate
|
|
86
|
+
|
|
87
|
+
nav:
|
|
88
|
+
- Home: index.md
|
|
89
|
+
- About: about.md
|
|
90
|
+
|
|
91
|
+
markdown_extensions:
|
|
92
|
+
- pymdownx.highlight
|
|
93
|
+
- pymdownx.superfences
|
|
94
|
+
- pymdownx.tabbed
|
|
95
|
+
- admonition
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Common Plugins
|
|
99
|
+
|
|
100
|
+
```yaml
|
|
101
|
+
plugins:
|
|
102
|
+
- search
|
|
103
|
+
- minify:
|
|
104
|
+
minify_html: true
|
|
105
|
+
- redirects:
|
|
106
|
+
redirect_maps:
|
|
107
|
+
'old-page.md': 'new-page.md'
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## Project Structure
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
my-docs/
|
|
114
|
+
├── .devcontainer/
|
|
115
|
+
│ └── devcontainer.json
|
|
116
|
+
├── mkdocs.yml # Configuration
|
|
117
|
+
├── docs/ # Markdown files
|
|
118
|
+
│ ├── index.md
|
|
119
|
+
│ ├── about.md
|
|
120
|
+
│ └── images/
|
|
121
|
+
├── requirements.txt # Optional: additional dependencies
|
|
122
|
+
└── site/ # Built site (git-ignored)
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
## Additional Dependencies
|
|
126
|
+
|
|
127
|
+
If you need extra Python packages for MkDocs plugins, you have two options:
|
|
128
|
+
|
|
129
|
+
### Option 1: Edit requirements-overlay.txt (Recommended)
|
|
130
|
+
|
|
131
|
+
Edit `.devcontainer/requirements-overlay.txt`:
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
mkdocs>=1.5.0
|
|
135
|
+
mkdocs-material>=9.0.0
|
|
136
|
+
mkdocs-git-revision-date-localized-plugin>=1.2.0
|
|
137
|
+
mkdocs-awesome-pages-plugin>=2.9.0
|
|
138
|
+
mkdocs-macros-plugin>=1.0.0
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Rebuild the container to install.
|
|
142
|
+
|
|
143
|
+
### Option 2: Project requirements.txt
|
|
144
|
+
|
|
145
|
+
Create `requirements.txt` in your project root:
|
|
146
|
+
|
|
147
|
+
```
|
|
148
|
+
mkdocs-git-revision-date-localized-plugin
|
|
149
|
+
mkdocs-awesome-pages-plugin
|
|
150
|
+
mkdocs-macros-plugin
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
This is useful if you want to version control plugin dependencies separately.
|
|
154
|
+
|
|
155
|
+
## Common Workflows
|
|
156
|
+
|
|
157
|
+
### Documentation as Code
|
|
158
|
+
|
|
159
|
+
```yaml
|
|
160
|
+
# mkdocs.yml
|
|
161
|
+
plugins:
|
|
162
|
+
- search
|
|
163
|
+
- git-revision-date-localized:
|
|
164
|
+
type: date
|
|
165
|
+
- macros # Use variables and macros
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### API Documentation
|
|
169
|
+
|
|
170
|
+
```yaml
|
|
171
|
+
markdown_extensions:
|
|
172
|
+
- pymdownx.highlight:
|
|
173
|
+
linenums: true
|
|
174
|
+
- pymdownx.superfences:
|
|
175
|
+
custom_fences:
|
|
176
|
+
- name: mermaid
|
|
177
|
+
class: mermaid
|
|
178
|
+
format: !!python/name:pymdownx.superfences.fence_code_format
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Multi-language Docs
|
|
182
|
+
|
|
183
|
+
```yaml
|
|
184
|
+
plugins:
|
|
185
|
+
- search:
|
|
186
|
+
lang:
|
|
187
|
+
- en
|
|
188
|
+
- es
|
|
189
|
+
- i18n:
|
|
190
|
+
default_language: en
|
|
191
|
+
languages:
|
|
192
|
+
en: English
|
|
193
|
+
es: Español
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Building and Deploying
|
|
197
|
+
|
|
198
|
+
### Build Static Site
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
mkdocs build
|
|
202
|
+
# Output in site/ directory
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Deploy to GitHub Pages
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
mkdocs gh-deploy
|
|
209
|
+
# Builds and pushes to gh-pages branch
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### CI/CD Example (.github/workflows/docs.yml)
|
|
213
|
+
|
|
214
|
+
```yaml
|
|
215
|
+
name: Deploy Docs
|
|
216
|
+
on:
|
|
217
|
+
push:
|
|
218
|
+
branches: [main]
|
|
219
|
+
|
|
220
|
+
jobs:
|
|
221
|
+
deploy:
|
|
222
|
+
runs-on: ubuntu-latest
|
|
223
|
+
steps:
|
|
224
|
+
- uses: actions/checkout@v4
|
|
225
|
+
- uses: actions/setup-python@v5
|
|
226
|
+
with:
|
|
227
|
+
python-version: 3.12
|
|
228
|
+
- run: pip install mkdocs mkdocs-material
|
|
229
|
+
- run: mkdocs gh-deploy --force
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
## Material Theme Features
|
|
233
|
+
|
|
234
|
+
### Navigation
|
|
235
|
+
|
|
236
|
+
```yaml
|
|
237
|
+
theme:
|
|
238
|
+
features:
|
|
239
|
+
- navigation.instant # Instant loading
|
|
240
|
+
- navigation.sections # Group pages
|
|
241
|
+
- navigation.tabs # Top-level tabs
|
|
242
|
+
- toc.integrate # Integrated ToC
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
### Search
|
|
246
|
+
|
|
247
|
+
```yaml
|
|
248
|
+
theme:
|
|
249
|
+
features:
|
|
250
|
+
- search.suggest
|
|
251
|
+
- search.highlight
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Code Blocks
|
|
255
|
+
|
|
256
|
+
```yaml
|
|
257
|
+
markdown_extensions:
|
|
258
|
+
- pymdownx.highlight:
|
|
259
|
+
anchor_linenums: true
|
|
260
|
+
- pymdownx.inlinehilite
|
|
261
|
+
- pymdownx.snippets
|
|
262
|
+
- pymdownx.superfences
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
## Best Practices
|
|
266
|
+
|
|
267
|
+
1. **Keep docs close to code** - Documentation in the same repo
|
|
268
|
+
2. **Use includes** - Reuse content with `--8<--` includes
|
|
269
|
+
3. **Add diagrams** - Use Mermaid for architecture diagrams
|
|
270
|
+
4. **Version docs** - Use mike for multiple versions
|
|
271
|
+
5. **Add search** - Always enable search plugin
|
|
272
|
+
|
|
273
|
+
## Troubleshooting
|
|
274
|
+
|
|
275
|
+
### Module not found after adding plugin
|
|
276
|
+
|
|
277
|
+
Rebuild the container:
|
|
278
|
+
|
|
279
|
+
- **VS Code:** `Cmd+Shift+P` → "Dev Containers: Rebuild Container"
|
|
280
|
+
|
|
281
|
+
### MkDocs command not found
|
|
282
|
+
|
|
283
|
+
Setup script may have failed. Run manually:
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
pip install --user mkdocs mkdocs-material
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### Port 8000 already in use
|
|
290
|
+
|
|
291
|
+
Change the port in mkdocs.yml:
|
|
292
|
+
|
|
293
|
+
```yaml
|
|
294
|
+
dev_addr: '0.0.0.0:8001'
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
And update devcontainer.json forwardPorts.
|
|
298
|
+
|
|
299
|
+
## Related Overlays
|
|
300
|
+
|
|
301
|
+
- **python** - For docs with custom Python scripts
|
|
302
|
+
- **pre-commit** - Lint markdown before commits
|
|
303
|
+
- **modern CLI tools** - ripgrep for searching docs
|
|
304
|
+
|
|
305
|
+
## Resources
|
|
306
|
+
|
|
307
|
+
- [MkDocs Documentation](https://www.mkdocs.org/)
|
|
308
|
+
- [Material for MkDocs](https://squidfunk.github.io/mkdocs-material/)
|
|
309
|
+
- [PyMdown Extensions](https://facelessuser.github.io/pymdown-extensions/)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.base.schema.json",
|
|
3
|
+
"features": {
|
|
4
|
+
"ghcr.io/devcontainers-extra/features/mkdocs:2": {
|
|
5
|
+
"plugins": "mkdocs-material mkdocs-minify-plugin mkdocs-redirects pymdown-extensions"
|
|
6
|
+
}
|
|
7
|
+
},
|
|
8
|
+
"customizations": {
|
|
9
|
+
"vscode": {
|
|
10
|
+
"extensions": [
|
|
11
|
+
"yzhang.markdown-all-in-one",
|
|
12
|
+
"DavidAnson.vscode-markdownlint",
|
|
13
|
+
"bierner.markdown-mermaid"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"forwardPorts": [8000],
|
|
18
|
+
"portsAttributes": {
|
|
19
|
+
"8000": {
|
|
20
|
+
"label": "MkDocs Server",
|
|
21
|
+
"onAutoForward": "openBrowser"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
id: mkdocs
|
|
2
|
+
name: MkDocs
|
|
3
|
+
description: Material for MkDocs - professional documentation generator
|
|
4
|
+
category: language
|
|
5
|
+
supports: []
|
|
6
|
+
requires:
|
|
7
|
+
- python
|
|
8
|
+
suggests: []
|
|
9
|
+
conflicts: []
|
|
10
|
+
tags:
|
|
11
|
+
- documentation
|
|
12
|
+
- mkdocs
|
|
13
|
+
- python
|
|
14
|
+
ports:
|
|
15
|
+
- 8000
|