container-superposition 0.1.8 → 0.1.9

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.
Files changed (162) hide show
  1. package/dist/tool/commands/adopt.js +1 -1
  2. package/dist/tool/commands/adopt.js.map +1 -1
  3. package/dist/tool/commands/doctor.d.ts +1 -0
  4. package/dist/tool/commands/doctor.d.ts.map +1 -1
  5. package/dist/tool/commands/doctor.js +1370 -73
  6. package/dist/tool/commands/doctor.js.map +1 -1
  7. package/dist/tool/questionnaire/composer.d.ts +3 -1
  8. package/dist/tool/questionnaire/composer.d.ts.map +1 -1
  9. package/dist/tool/questionnaire/composer.js +87 -18
  10. package/dist/tool/questionnaire/composer.js.map +1 -1
  11. package/dist/tool/questionnaire/presets.d.ts.map +1 -1
  12. package/dist/tool/questionnaire/presets.js +1 -0
  13. package/dist/tool/questionnaire/presets.js.map +1 -1
  14. package/dist/tool/questionnaire/questionnaire.d.ts.map +1 -1
  15. package/dist/tool/questionnaire/questionnaire.js +3 -1
  16. package/dist/tool/questionnaire/questionnaire.js.map +1 -1
  17. package/dist/tool/schema/project-config.d.ts.map +1 -1
  18. package/dist/tool/schema/project-config.js +5 -1
  19. package/dist/tool/schema/project-config.js.map +1 -1
  20. package/dist/tool/schema/types.d.ts +4 -2
  21. package/dist/tool/schema/types.d.ts.map +1 -1
  22. package/docs/overlays.md +158 -147
  23. package/docs/specs/001-verbose-plan-graph/spec.md +5 -12
  24. package/docs/specs/002-superposition-config-file/spec.md +5 -12
  25. package/docs/specs/003-mkdocs2-overlay/spec.md +2 -9
  26. package/docs/specs/004-doctor-fix/spec.md +1 -8
  27. package/docs/specs/005-cuda-overlay/spec.md +2 -9
  28. package/docs/specs/006-rocm-overlay/spec.md +3 -10
  29. package/docs/specs/007-target-aware-generation/spec.md +4 -11
  30. package/docs/specs/008-project-file-canonical/spec.md +7 -8
  31. package/docs/specs/009-project-env/spec.md +3 -10
  32. package/docs/specs/010-compose-env-materialization/spec.md +3 -10
  33. package/docs/specs/011-overlay-parameters/spec.md +2 -9
  34. package/docs/specs/012-ollama-cli-overlay/spec.md +47 -0
  35. package/docs/specs/013-doctor-dependency-check/spec.md +250 -0
  36. package/docs/specs/014-doctor-compose-port-cross-validation/spec.md +276 -0
  37. package/docs/specs/015-doctor-env-example-drift/spec.md +248 -0
  38. package/docs/specs/016-doctor-reproducibility-check/spec.md +276 -0
  39. package/docs/specs/017-doctor-dry-run/spec.md +276 -0
  40. package/docs/specs/{007-init-project-file → 018-init-project-file}/spec.md +2 -9
  41. package/docs/specs/taxonomy.md +186 -0
  42. package/overlays/.presets/full-observability.yml +113 -0
  43. package/overlays/.presets/k8s-dev.yml +174 -0
  44. package/overlays/.presets/local-llm.yml +105 -0
  45. package/overlays/.presets/vector-ai.yml +150 -0
  46. package/overlays/.shared/vscode/js-ts-settings.json +19 -0
  47. package/overlays/.shared/vscode/markdown-extensions.json +8 -0
  48. package/overlays/alertmanager/devcontainer.patch.json +0 -1
  49. package/overlays/alertmanager/docker-compose.yml +8 -0
  50. package/overlays/alertmanager/overlay.yml +1 -0
  51. package/overlays/amp/devcontainer.patch.json +4 -1
  52. package/overlays/bun/devcontainer.patch.json +1 -10
  53. package/overlays/bun/overlay.yml +8 -1
  54. package/overlays/claude-code/devcontainer.patch.json +6 -1
  55. package/overlays/codex/devcontainer.patch.json +5 -0
  56. package/overlays/comfyui/docker-compose.yml +1 -0
  57. package/overlays/comfyui/overlay.yml +4 -0
  58. package/overlays/commitlint/devcontainer.patch.json +1 -6
  59. package/overlays/docker-sock/overlay.yml +1 -0
  60. package/overlays/dotnet/overlay.yml +4 -1
  61. package/overlays/fuseki/.env.example +5 -0
  62. package/overlays/fuseki/README.md +173 -0
  63. package/overlays/fuseki/devcontainer.patch.json +18 -0
  64. package/overlays/fuseki/docker-compose.yml +29 -0
  65. package/overlays/fuseki/overlay.yml +42 -0
  66. package/overlays/fuseki/verify.sh +58 -0
  67. package/overlays/gemini-cli/devcontainer.patch.json +4 -1
  68. package/overlays/go/overlay.yml +6 -1
  69. package/overlays/grafana/devcontainer.patch.json +0 -1
  70. package/overlays/grafana/docker-compose.yml +8 -2
  71. package/overlays/grafana/overlay.yml +6 -1
  72. package/overlays/jaeger/.env.example +11 -0
  73. package/overlays/jaeger/README.md +33 -4
  74. package/overlays/jaeger/devcontainer.patch.json +9 -1
  75. package/overlays/jaeger/docker-compose.yml +17 -0
  76. package/overlays/jaeger/overlay.yml +1 -12
  77. package/overlays/java/overlay.yml +6 -1
  78. package/overlays/jupyter/docker-compose.yml +1 -0
  79. package/overlays/jupyter/overlay.yml +1 -0
  80. package/overlays/keycloak/devcontainer.patch.json +0 -1
  81. package/overlays/keycloak/docker-compose.yml +1 -0
  82. package/overlays/keycloak/overlay.yml +15 -0
  83. package/overlays/localstack/docker-compose.yml +1 -0
  84. package/overlays/localstack/overlay.yml +19 -1
  85. package/overlays/loki/devcontainer.patch.json +0 -1
  86. package/overlays/loki/docker-compose.yml +8 -0
  87. package/overlays/loki/overlay.yml +1 -0
  88. package/overlays/mailpit/docker-compose.yml +1 -0
  89. package/overlays/mailpit/overlay.yml +1 -0
  90. package/overlays/minio/devcontainer.patch.json +1 -1
  91. package/overlays/minio/docker-compose.yml +1 -0
  92. package/overlays/minio/overlay.yml +23 -2
  93. package/overlays/mkdocs/devcontainer.patch.json +1 -5
  94. package/overlays/mkdocs/overlay.yml +3 -1
  95. package/overlays/mkdocs2/devcontainer.patch.json +1 -5
  96. package/overlays/mkdocs2/overlay.yml +2 -0
  97. package/overlays/mongodb/docker-compose.yml +2 -0
  98. package/overlays/mongodb/overlay.yml +26 -2
  99. package/overlays/mysql/docker-compose.yml +2 -0
  100. package/overlays/mysql/overlay.yml +36 -2
  101. package/overlays/nats/docker-compose.yml +1 -0
  102. package/overlays/nats/overlay.yml +18 -2
  103. package/overlays/nodejs/devcontainer.patch.json +1 -12
  104. package/overlays/nodejs/overlay.yml +8 -1
  105. package/overlays/ollama/README.md +4 -3
  106. package/overlays/ollama/docker-compose.yml +1 -0
  107. package/overlays/ollama/overlay.yml +6 -1
  108. package/overlays/ollama/verify.sh +5 -28
  109. package/overlays/ollama-cli/README.md +90 -0
  110. package/overlays/ollama-cli/devcontainer.patch.json +3 -0
  111. package/overlays/ollama-cli/overlay.yml +19 -0
  112. package/overlays/{ollama → ollama-cli}/setup.sh +7 -10
  113. package/overlays/ollama-cli/verify.sh +49 -0
  114. package/overlays/open-webui/docker-compose.yml +1 -0
  115. package/overlays/open-webui/overlay.yml +8 -1
  116. package/overlays/opencode/devcontainer.patch.json +4 -1
  117. package/overlays/otel-collector/README.md +4 -0
  118. package/overlays/otel-collector/devcontainer.patch.json +4 -1
  119. package/overlays/otel-collector/docker-compose.yml +8 -4
  120. package/overlays/otel-collector/overlay.yml +1 -0
  121. package/overlays/otel-demo-nodejs/devcontainer.patch.json +0 -1
  122. package/overlays/otel-demo-nodejs/docker-compose.yml +1 -0
  123. package/overlays/otel-demo-nodejs/overlay.yml +9 -1
  124. package/overlays/otel-demo-python/devcontainer.patch.json +0 -1
  125. package/overlays/otel-demo-python/docker-compose.yml +1 -0
  126. package/overlays/otel-demo-python/overlay.yml +6 -1
  127. package/overlays/pandoc/README.md +10 -0
  128. package/overlays/pandoc/devcontainer.patch.json +0 -5
  129. package/overlays/pandoc/overlay.yml +2 -0
  130. package/overlays/pandoc/setup.sh +10 -0
  131. package/overlays/pgvector/devcontainer.patch.json +11 -5
  132. package/overlays/pgvector/docker-compose.yml +1 -0
  133. package/overlays/pgvector/overlay.yml +3 -0
  134. package/overlays/playwright/devcontainer.patch.json +0 -5
  135. package/overlays/playwright/overlay.yml +2 -1
  136. package/overlays/postgres/docker-compose.yml +1 -0
  137. package/overlays/postgres/overlay.yml +4 -1
  138. package/overlays/pre-commit/devcontainer.patch.json +1 -7
  139. package/overlays/prometheus/devcontainer.patch.json +0 -1
  140. package/overlays/prometheus/docker-compose.yml +8 -0
  141. package/overlays/prometheus/overlay.yml +1 -0
  142. package/overlays/promtail/devcontainer.patch.json +1 -2
  143. package/overlays/promtail/docker-compose.yml +8 -0
  144. package/overlays/promtail/overlay.yml +1 -0
  145. package/overlays/qdrant/docker-compose.yml +1 -0
  146. package/overlays/qdrant/overlay.yml +5 -1
  147. package/overlays/rabbitmq/docker-compose.yml +1 -0
  148. package/overlays/rabbitmq/overlay.yml +25 -2
  149. package/overlays/redis/docker-compose.yml +7 -0
  150. package/overlays/redis/overlay.yml +15 -1
  151. package/overlays/redpanda/docker-compose.yml +1 -0
  152. package/overlays/redpanda/overlay.yml +15 -3
  153. package/overlays/rocm/overlay.yml +2 -1
  154. package/overlays/rust/overlay.yml +3 -1
  155. package/overlays/sqlserver/docker-compose.yml +1 -0
  156. package/overlays/sqlserver/overlay.yml +17 -0
  157. package/overlays/tempo/devcontainer.patch.json +0 -1
  158. package/overlays/tempo/docker-compose.yml +8 -0
  159. package/overlays/tempo/overlay.yml +1 -0
  160. package/overlays/windsurf-cli/devcontainer.patch.json +4 -1
  161. package/package.json +1 -1
  162. package/overlays/.shared/otel/otel-base-config.yaml +0 -30
@@ -5,9 +5,12 @@ category: database
5
5
  supports:
6
6
  - compose
7
7
  requires: []
8
- suggests: []
8
+ suggests:
9
+ - prometheus
10
+ - grafana
9
11
  conflicts:
10
12
  - pgvector
13
+ serviceOrder: 0
11
14
  tags:
12
15
  - database
13
16
  - sql
@@ -1,9 +1,3 @@
1
1
  {
2
- "$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.base.schema.json",
3
- "features": {
4
- "ghcr.io/devcontainers/features/python:1": {
5
- "version": "3.12",
6
- "installTools": true
7
- }
8
- }
2
+ "$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.base.schema.json"
9
3
  }
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.base.schema.json",
3
3
  "runServices": ["prometheus"],
4
- "_serviceOrder": 1,
5
4
  "forwardPorts": [9090],
6
5
  "portsAttributes": {
7
6
  "9090": {
@@ -2,6 +2,7 @@ version: '3.8'
2
2
  services:
3
3
  prometheus:
4
4
  image: prom/prometheus:${PROMETHEUS_VERSION:-latest}
5
+ restart: unless-stopped
5
6
  command:
6
7
  - '--config.file=/etc/prometheus/prometheus.yml'
7
8
  - '--storage.tsdb.path=/prometheus'
@@ -14,9 +15,16 @@ services:
14
15
  - '${PROMETHEUS_PORT:-9090}:9090'
15
16
  networks:
16
17
  - devnet
18
+ healthcheck:
19
+ test: ['CMD', 'wget', '-qO-', 'http://localhost:9090/-/ready']
20
+ interval: 10s
21
+ timeout: 5s
22
+ retries: 5
23
+ start_period: 15s
17
24
 
18
25
  volumes:
19
26
  prometheus_data:
20
27
 
21
28
  networks:
22
29
  devnet:
30
+ name: devnet
@@ -20,5 +20,6 @@ ports:
20
20
  path: /
21
21
  onAutoForward: openBrowser
22
22
  order: 1
23
+ serviceOrder: 1
23
24
  imports:
24
25
  - .shared/otel/instrumentation.env
@@ -1,5 +1,4 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.base.schema.json",
3
- "runServices": ["promtail"],
4
- "_serviceOrder": 2
3
+ "runServices": ["promtail"]
5
4
  }
@@ -2,6 +2,7 @@ version: '3.8'
2
2
  services:
3
3
  promtail:
4
4
  image: grafana/promtail:${PROMTAIL_VERSION:-latest}
5
+ restart: unless-stopped
5
6
  command: -config.file=/etc/promtail/promtail-config.yaml
6
7
  volumes:
7
8
  - ./promtail-config-promtail.yaml:/etc/promtail/promtail-config.yaml
@@ -11,6 +12,13 @@ services:
11
12
  - loki
12
13
  networks:
13
14
  - devnet
15
+ healthcheck:
16
+ test: ['CMD', 'wget', '-qO-', 'http://localhost:9080/ready']
17
+ interval: 10s
18
+ timeout: 5s
19
+ retries: 5
20
+ start_period: 10s
14
21
 
15
22
  networks:
16
23
  devnet:
24
+ name: devnet
@@ -15,3 +15,4 @@ tags:
15
15
  - loki
16
16
  ports: []
17
17
  order: 2
18
+ serviceOrder: 2
@@ -23,3 +23,4 @@ volumes:
23
23
 
24
24
  networks:
25
25
  devnet:
26
+ name: devnet
@@ -9,7 +9,11 @@ suggests:
9
9
  - ollama
10
10
  - python
11
11
  - nodejs
12
+ - prometheus
13
+ - grafana
14
+ - otel-collector
12
15
  conflicts: []
16
+ serviceOrder: 0
13
17
  tags:
14
18
  - database
15
19
  - vector
@@ -31,7 +35,7 @@ ports:
31
35
  parameters:
32
36
  QDRANT_VERSION:
33
37
  description: Qdrant Docker image tag
34
- default: latest
38
+ default: v1.9.0
35
39
  QDRANT_PORT:
36
40
  description: Host port mapped to Qdrant REST API (6333 inside container)
37
41
  default: '6333'
@@ -28,3 +28,4 @@ volumes:
28
28
 
29
29
  networks:
30
30
  devnet:
31
+ name: devnet
@@ -1,12 +1,35 @@
1
1
  id: rabbitmq
2
2
  name: RabbitMQ
3
3
  description: Message broker with AMQP protocol and management UI
4
- category: database
4
+ category: messaging
5
5
  supports:
6
6
  - compose
7
7
  requires: []
8
- suggests: []
8
+ suggests:
9
+ - prometheus
10
+ - grafana
9
11
  conflicts: []
12
+ serviceOrder: 0
13
+ parameters:
14
+ RABBITMQ_VERSION:
15
+ description: RabbitMQ image version tag (management variant used)
16
+ default: 3-management
17
+ RABBITMQ_PORT:
18
+ description: Host port mapped to AMQP (5672 inside container)
19
+ default: '5672'
20
+ RABBITMQ_MANAGEMENT_PORT:
21
+ description: Host port mapped to management UI (15672 inside container)
22
+ default: '15672'
23
+ RABBITMQ_USER:
24
+ description: RabbitMQ default username
25
+ default: guest
26
+ RABBITMQ_PASSWORD:
27
+ description: RabbitMQ default password
28
+ default: guest
29
+ sensitive: true
30
+ RABBITMQ_VHOST:
31
+ description: RabbitMQ default virtual host
32
+ default: /
10
33
  tags:
11
34
  - database
12
35
  - messaging
@@ -13,9 +13,16 @@ services:
13
13
  REDIS_PASSWORD: ${REDIS_PASSWORD:-}
14
14
  networks:
15
15
  - devnet
16
+ healthcheck:
17
+ test: ['CMD', 'redis-cli', 'ping']
18
+ interval: 10s
19
+ timeout: 5s
20
+ retries: 5
21
+ start_period: 10s
16
22
 
17
23
  volumes:
18
24
  redis-data:
19
25
 
20
26
  networks:
21
27
  devnet:
28
+ name: devnet
@@ -5,8 +5,22 @@ category: database
5
5
  supports:
6
6
  - compose
7
7
  requires: []
8
- suggests: []
8
+ suggests:
9
+ - prometheus
10
+ - grafana
9
11
  conflicts: []
12
+ serviceOrder: 0
13
+ parameters:
14
+ REDIS_VERSION:
15
+ description: Redis image version tag
16
+ default: '7'
17
+ REDIS_PORT:
18
+ description: Host port mapped to Redis (6379 inside container)
19
+ default: '6379'
20
+ REDIS_PASSWORD:
21
+ description: Redis password (leave empty to disable authentication)
22
+ default: ''
23
+ sensitive: true
10
24
  tags:
11
25
  - database
12
26
  - cache
@@ -63,3 +63,4 @@ volumes:
63
63
 
64
64
  networks:
65
65
  devnet:
66
+ name: devnet
@@ -1,12 +1,24 @@
1
1
  id: redpanda
2
2
  name: Redpanda
3
3
  description: Kafka-compatible event streaming with web console
4
- category: database
4
+ category: messaging
5
5
  supports:
6
6
  - compose
7
7
  requires: []
8
- suggests: []
9
- conflicts: []
8
+ suggests:
9
+ - prometheus
10
+ - grafana
11
+ conflicts:
12
+ - mysql
13
+ - mongodb
14
+ - nodejs
15
+ - bun
16
+ - go
17
+ - java
18
+ - dotnet
19
+ - otel-demo-nodejs
20
+ - otel-demo-python
21
+ serviceOrder: 0
10
22
  tags:
11
23
  - database
12
24
  - messaging
@@ -4,7 +4,8 @@ description: AMD ROCm libraries and GPU passthrough for containerized ML/inferen
4
4
  category: dev
5
5
  supports: []
6
6
  requires: []
7
- suggests: []
7
+ suggests:
8
+ - comfyui
8
9
  conflicts:
9
10
  - cuda
10
11
  tags:
@@ -5,7 +5,9 @@ category: language
5
5
  supports: []
6
6
  requires: []
7
7
  suggests: []
8
- conflicts: []
8
+ conflicts:
9
+ - grafana
10
+ - open-webui
9
11
  tags:
10
12
  - language
11
13
  - rust
@@ -30,3 +30,4 @@ volumes:
30
30
 
31
31
  networks:
32
32
  devnet:
33
+ name: devnet
@@ -7,7 +7,24 @@ supports:
7
7
  requires: []
8
8
  suggests:
9
9
  - dotnet
10
+ - prometheus
11
+ - grafana
10
12
  conflicts: []
13
+ serviceOrder: 0
14
+ parameters:
15
+ MSSQL_VERSION:
16
+ description: SQL Server image version tag
17
+ default: 2022-latest
18
+ MSSQL_PORT:
19
+ description: Host port mapped to SQL Server (1433 inside container)
20
+ default: '1433'
21
+ MSSQL_SA_PASSWORD:
22
+ description: SQL Server SA (system administrator) password
23
+ default: YourStrong@Passw0rd
24
+ sensitive: true
25
+ MSSQL_PID:
26
+ description: SQL Server product ID / edition (Developer, Express, Standard, Enterprise)
27
+ default: Developer
11
28
  tags:
12
29
  - database
13
30
  - sql
@@ -1,7 +1,6 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.base.schema.json",
3
3
  "runServices": ["tempo"],
4
- "_serviceOrder": 1,
5
4
  "forwardPorts": [3200],
6
5
  "portsAttributes": {
7
6
  "3200": {
@@ -2,6 +2,7 @@ version: '3.8'
2
2
  services:
3
3
  tempo:
4
4
  image: grafana/tempo:${TEMPO_VERSION:-latest}
5
+ restart: unless-stopped
5
6
  command: ['-config.file=/etc/tempo/tempo-config.yaml']
6
7
  volumes:
7
8
  - ./tempo-config-tempo.yaml:/etc/tempo/tempo-config.yaml
@@ -12,9 +13,16 @@ services:
12
13
  # Apps should send traces to otel-collector, which forwards to Tempo
13
14
  networks:
14
15
  - devnet
16
+ healthcheck:
17
+ test: ['CMD', 'wget', '-qO-', 'http://localhost:3200/ready']
18
+ interval: 10s
19
+ timeout: 5s
20
+ retries: 5
21
+ start_period: 15s
15
22
 
16
23
  volumes:
17
24
  tempo_data:
18
25
 
19
26
  networks:
20
27
  devnet:
28
+ name: devnet
@@ -18,3 +18,4 @@ tags:
18
18
  ports:
19
19
  - 3200
20
20
  order: 1
21
+ serviceOrder: 1
@@ -1,3 +1,6 @@
1
1
  {
2
- "$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.base.schema.json"
2
+ "$schema": "https://raw.githubusercontent.com/devcontainers/spec/main/schemas/devContainer.base.schema.json",
3
+ "postCreateCommand": {
4
+ "setup-windsurf-cli": "bash .devcontainer/scripts/setup-windsurf-cli.sh"
5
+ }
3
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "container-superposition",
3
- "version": "0.1.8",
3
+ "version": "0.1.9",
4
4
  "description": "Solution-ready devcontainer templates and features with guided initialization",
5
5
  "type": "module",
6
6
  "main": "dist/scripts/init.js",
@@ -1,30 +0,0 @@
1
- # OpenTelemetry Base Configuration
2
- # This file provides common OTEL environment variables for instrumentation
3
-
4
- receivers:
5
- otlp:
6
- protocols:
7
- grpc:
8
- endpoint: 0.0.0.0:4317
9
- http:
10
- endpoint: 0.0.0.0:4318
11
-
12
- exporters:
13
- logging:
14
- loglevel: debug
15
-
16
- processors:
17
- batch:
18
- timeout: 10s
19
- send_batch_size: 1024
20
-
21
- service:
22
- pipelines:
23
- traces:
24
- receivers: [otlp]
25
- processors: [batch]
26
- exporters: [logging]
27
- metrics:
28
- receivers: [otlp]
29
- processors: [batch]
30
- exporters: [logging]