container-superposition 0.1.7 → 0.1.8
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 +24 -15
- package/dist/scripts/init.js +1 -1537
- package/dist/scripts/init.js.map +1 -1
- package/dist/tool/cli/args.d.ts +20 -0
- package/dist/tool/cli/args.d.ts.map +1 -0
- package/dist/tool/cli/args.js +325 -0
- package/dist/tool/cli/args.js.map +1 -0
- package/dist/tool/cli/run.d.ts +2 -0
- package/dist/tool/cli/run.d.ts.map +1 -0
- package/dist/tool/cli/run.js +318 -0
- package/dist/tool/cli/run.js.map +1 -0
- package/dist/tool/commands/doctor.d.ts.map +1 -1
- package/dist/tool/commands/doctor.js +141 -6
- package/dist/tool/commands/doctor.js.map +1 -1
- package/dist/tool/commands/explain.d.ts.map +1 -1
- package/dist/tool/commands/explain.js +9 -0
- package/dist/tool/commands/explain.js.map +1 -1
- package/dist/tool/commands/migrate.d.ts +7 -0
- package/dist/tool/commands/migrate.d.ts.map +1 -0
- package/dist/tool/commands/migrate.js +52 -0
- package/dist/tool/commands/migrate.js.map +1 -0
- package/dist/tool/questionnaire/answers.d.ts +16 -0
- package/dist/tool/questionnaire/answers.d.ts.map +1 -0
- package/dist/tool/questionnaire/answers.js +102 -0
- package/dist/tool/questionnaire/answers.js.map +1 -0
- package/dist/tool/questionnaire/composer.d.ts +3 -3
- package/dist/tool/questionnaire/composer.d.ts.map +1 -1
- package/dist/tool/questionnaire/composer.js +691 -27
- package/dist/tool/questionnaire/composer.js.map +1 -1
- package/dist/tool/questionnaire/presets.d.ts +60 -0
- package/dist/tool/questionnaire/presets.d.ts.map +1 -0
- package/dist/tool/questionnaire/presets.js +164 -0
- package/dist/tool/questionnaire/presets.js.map +1 -0
- package/dist/tool/questionnaire/questionnaire.d.ts +10 -0
- package/dist/tool/questionnaire/questionnaire.d.ts.map +1 -0
- package/dist/tool/questionnaire/questionnaire.js +580 -0
- package/dist/tool/questionnaire/questionnaire.js.map +1 -0
- package/dist/tool/schema/manifest-migrations.d.ts +5 -0
- package/dist/tool/schema/manifest-migrations.d.ts.map +1 -1
- package/dist/tool/schema/manifest-migrations.js +45 -0
- package/dist/tool/schema/manifest-migrations.js.map +1 -1
- package/dist/tool/schema/overlay-loader.d.ts.map +1 -1
- package/dist/tool/schema/overlay-loader.js +24 -0
- package/dist/tool/schema/overlay-loader.js.map +1 -1
- package/dist/tool/schema/project-config.d.ts +13 -1
- package/dist/tool/schema/project-config.d.ts.map +1 -1
- package/dist/tool/schema/project-config.js +183 -9
- package/dist/tool/schema/project-config.js.map +1 -1
- package/dist/tool/schema/target-rules.d.ts +78 -0
- package/dist/tool/schema/target-rules.d.ts.map +1 -0
- package/dist/tool/schema/target-rules.js +367 -0
- package/dist/tool/schema/target-rules.js.map +1 -0
- package/dist/tool/schema/types.d.ts +38 -1
- package/dist/tool/schema/types.d.ts.map +1 -1
- package/dist/tool/utils/parameters.d.ts +76 -0
- package/dist/tool/utils/parameters.d.ts.map +1 -0
- package/dist/tool/utils/parameters.js +125 -0
- package/dist/tool/utils/parameters.js.map +1 -0
- package/dist/tool/utils/paths.d.ts +2 -0
- package/dist/tool/utils/paths.d.ts.map +1 -0
- package/dist/tool/utils/paths.js +31 -0
- package/dist/tool/utils/paths.js.map +1 -0
- package/docs/deployment-targets.md +88 -56
- package/docs/examples.md +20 -17
- package/docs/filesystem-contract.md +5 -0
- package/docs/minimal-and-editor.md +65 -5
- package/docs/overlay-imports.md +92 -14
- package/docs/overlays.md +113 -28
- package/docs/specs/007-init-project-file/spec.md +66 -0
- package/docs/specs/007-target-aware-generation/spec.md +126 -0
- package/docs/specs/008-project-file-canonical/spec.md +83 -0
- package/docs/specs/009-project-env/spec.md +147 -0
- package/docs/specs/010-compose-env-materialization/spec.md +130 -0
- package/docs/specs/011-overlay-parameters/spec.md +235 -0
- package/overlays/.shared/README.md +27 -2
- package/overlays/.shared/compose/nvidia-gpu-devcontainer.yml +22 -0
- package/overlays/comfyui/.env.example +34 -0
- package/overlays/comfyui/README.md +342 -0
- package/overlays/comfyui/devcontainer.patch.json +15 -0
- package/overlays/comfyui/docker-compose.yml +39 -0
- package/overlays/comfyui/overlay.yml +20 -0
- package/overlays/comfyui/setup.sh +36 -0
- package/overlays/comfyui/verify.sh +103 -0
- package/overlays/k3d/README.md +201 -0
- package/overlays/k3d/devcontainer.patch.json +9 -0
- package/overlays/k3d/overlay.yml +19 -0
- package/overlays/k3d/setup.sh +34 -0
- package/overlays/k3d/verify.sh +38 -0
- package/overlays/ollama/.env.example +14 -0
- package/overlays/ollama/README.md +325 -0
- package/overlays/ollama/devcontainer.patch.json +14 -0
- package/overlays/ollama/docker-compose.yml +24 -0
- package/overlays/ollama/overlay.yml +22 -0
- package/overlays/ollama/setup.sh +106 -0
- package/overlays/ollama/verify.sh +99 -0
- package/overlays/open-webui/.env.example +5 -0
- package/overlays/open-webui/README.md +162 -0
- package/overlays/open-webui/devcontainer.patch.json +14 -0
- package/overlays/open-webui/docker-compose.yml +23 -0
- package/overlays/open-webui/overlay.yml +38 -0
- package/overlays/pgvector/.env.example +6 -0
- package/overlays/pgvector/README.md +215 -0
- package/overlays/pgvector/devcontainer.patch.json +23 -0
- package/overlays/pgvector/docker-compose.yml +32 -0
- package/overlays/pgvector/overlay.yml +44 -0
- package/overlays/postgres/.env.example +5 -5
- package/overlays/postgres/devcontainer.patch.json +4 -4
- package/overlays/postgres/docker-compose.yml +10 -6
- package/overlays/postgres/overlay.yml +19 -1
- package/overlays/qdrant/.env.example +4 -0
- package/overlays/qdrant/README.md +216 -0
- package/overlays/qdrant/devcontainer.patch.json +20 -0
- package/overlays/qdrant/docker-compose.yml +25 -0
- package/overlays/qdrant/overlay.yml +40 -0
- package/overlays/skaffold/README.md +256 -0
- package/overlays/skaffold/devcontainer.patch.json +9 -0
- package/overlays/skaffold/overlay.yml +20 -0
- package/overlays/skaffold/setup.sh +33 -0
- package/overlays/skaffold/verify.sh +24 -0
- package/package.json +3 -2
- package/tool/schema/config.schema.json +31 -1
- package/tool/schema/overlay-manifest.schema.json +33 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Target-aware generation rules.
|
|
3
|
+
*
|
|
4
|
+
* Each non-local deployment target has a TargetRule implementation that:
|
|
5
|
+
* - patches devcontainer.json with target-specific fields
|
|
6
|
+
* - generates target-specific workspace files and user guidance
|
|
7
|
+
* - declares the files it owns (for stale-artifact cleanup on target switch)
|
|
8
|
+
*/
|
|
9
|
+
import type { DeploymentTarget, DevContainer, OverlayMetadata, Stack } from './types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Information available to a target rule when it runs.
|
|
12
|
+
*/
|
|
13
|
+
export interface TargetRuleContext {
|
|
14
|
+
/** Selected overlay IDs (resolved, in application order). */
|
|
15
|
+
overlays: string[];
|
|
16
|
+
/** Metadata map for all selected overlays. */
|
|
17
|
+
overlayMetadata: Map<string, OverlayMetadata>;
|
|
18
|
+
/** Applied port offset (0 = none). */
|
|
19
|
+
portOffset: number;
|
|
20
|
+
/** Base stack used for generation. */
|
|
21
|
+
stack: Stack;
|
|
22
|
+
/** Absolute path to the output directory (e.g. <project>/.devcontainer). */
|
|
23
|
+
outputPath: string;
|
|
24
|
+
/** Absolute path to the project root (parent of outputPath). */
|
|
25
|
+
projectRoot: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* A TargetRule encapsulates all target-specific generation logic for one
|
|
29
|
+
* deployment target. The `local` rule is a no-op pass-through.
|
|
30
|
+
*/
|
|
31
|
+
export interface TargetRule {
|
|
32
|
+
readonly target: DeploymentTarget;
|
|
33
|
+
/**
|
|
34
|
+
* Returns a partial DevContainer object that is deep-merged into the
|
|
35
|
+
* composed devcontainer.json before it is written to disk.
|
|
36
|
+
* Return an empty object for targets that need no devcontainer changes.
|
|
37
|
+
*/
|
|
38
|
+
devcontainerPatch(context: TargetRuleContext): Partial<DevContainer>;
|
|
39
|
+
/**
|
|
40
|
+
* Returns a map of files to write. Keys are relative to `context.outputPath`.
|
|
41
|
+
* A key that starts with `../` is resolved relative to `context.projectRoot`
|
|
42
|
+
* (one level above `.devcontainer/`) so it lands in the project root.
|
|
43
|
+
*/
|
|
44
|
+
generateFiles(context: TargetRuleContext): Map<string, string>;
|
|
45
|
+
/**
|
|
46
|
+
* Lists the relative paths (same conventions as `generateFiles`) owned by
|
|
47
|
+
* this rule. Used to remove stale project-root files when the user switches
|
|
48
|
+
* to a different target between runs.
|
|
49
|
+
*/
|
|
50
|
+
ownedFiles(): string[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Return the target rule for the given deployment target.
|
|
54
|
+
* Throws a clear error when the target has no defined rule (future-proofing).
|
|
55
|
+
*/
|
|
56
|
+
export declare function getTargetRule(target: DeploymentTarget): TargetRule;
|
|
57
|
+
/**
|
|
58
|
+
* Resolve a path produced by TargetRule.generateFiles() to an absolute
|
|
59
|
+
* filesystem path.
|
|
60
|
+
*
|
|
61
|
+
* Keys starting with '../' are resolved relative to projectRoot (i.e. the
|
|
62
|
+
* repository root, one level above .devcontainer/). All other keys are
|
|
63
|
+
* resolved relative to outputPath (.devcontainer/).
|
|
64
|
+
*/
|
|
65
|
+
export declare function resolveTargetFilePath(key: string, outputPath: string, projectRoot: string): string;
|
|
66
|
+
/**
|
|
67
|
+
* Remove stale project-root artifacts left by a previous target.
|
|
68
|
+
*
|
|
69
|
+
* Only project-root files (keys starting with '../') are removed here; files
|
|
70
|
+
* inside outputPath are handled automatically by cleanupStaleFiles via the
|
|
71
|
+
* FileRegistry.
|
|
72
|
+
*
|
|
73
|
+
* @param previousTarget Target used in the previous generation run.
|
|
74
|
+
* @param nextTarget Target for the current generation run.
|
|
75
|
+
* @param projectRoot Absolute path to the project root.
|
|
76
|
+
*/
|
|
77
|
+
export declare function removeStaleTargetArtifacts(previousTarget: DeploymentTarget, nextTarget: DeploymentTarget, projectRoot: string): void;
|
|
78
|
+
//# sourceMappingURL=target-rules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-rules.d.ts","sourceRoot":"","sources":["../../../tool/schema/target-rules.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIzF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,8CAA8C;IAC9C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC9C,sCAAsC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,KAAK,EAAE,KAAK,CAAC;IACb,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;CACvB;AAID;;;GAGG;AACH,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAElC;;;;OAIG;IACH,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAErE;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE/D;;;;OAIG;IACH,UAAU,IAAI,MAAM,EAAE,CAAC;CAC1B;AAkXD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CAOlE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACjC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GACpB,MAAM,CAKR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACtC,cAAc,EAAE,gBAAgB,EAChC,UAAU,EAAE,gBAAgB,EAC5B,WAAW,EAAE,MAAM,GACpB,IAAI,CAmBN"}
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Target-aware generation rules.
|
|
3
|
+
*
|
|
4
|
+
* Each non-local deployment target has a TargetRule implementation that:
|
|
5
|
+
* - patches devcontainer.json with target-specific fields
|
|
6
|
+
* - generates target-specific workspace files and user guidance
|
|
7
|
+
* - declares the files it owns (for stale-artifact cleanup on target switch)
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from 'fs';
|
|
10
|
+
import * as path from 'path';
|
|
11
|
+
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
12
|
+
/** Collect all exposed ports across selected overlays, applying the offset. */
|
|
13
|
+
function collectPorts(overlays, overlayMetadata, portOffset) {
|
|
14
|
+
const result = [];
|
|
15
|
+
for (const id of overlays) {
|
|
16
|
+
const meta = overlayMetadata.get(id);
|
|
17
|
+
if (!meta?.ports)
|
|
18
|
+
continue;
|
|
19
|
+
for (const p of meta.ports) {
|
|
20
|
+
if (typeof p === 'number') {
|
|
21
|
+
result.push({
|
|
22
|
+
port: p + portOffset,
|
|
23
|
+
service: id,
|
|
24
|
+
description: '',
|
|
25
|
+
protocol: 'tcp',
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
result.push({
|
|
30
|
+
port: p.port + portOffset,
|
|
31
|
+
service: p.service ?? id,
|
|
32
|
+
description: p.description ?? '',
|
|
33
|
+
protocol: p.protocol ?? 'tcp',
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
// ─── Local rule (no-op) ───────────────────────────────────────────────────────
|
|
41
|
+
class LocalTargetRule {
|
|
42
|
+
target = 'local';
|
|
43
|
+
devcontainerPatch(_ctx) {
|
|
44
|
+
return {};
|
|
45
|
+
}
|
|
46
|
+
generateFiles(_ctx) {
|
|
47
|
+
return new Map();
|
|
48
|
+
}
|
|
49
|
+
ownedFiles() {
|
|
50
|
+
return [];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
// ─── Codespaces rule ─────────────────────────────────────────────────────────
|
|
54
|
+
class CodespacesTargetRule {
|
|
55
|
+
target = 'codespaces';
|
|
56
|
+
devcontainerPatch(ctx) {
|
|
57
|
+
// Recommend a machine size based on the number of services selected.
|
|
58
|
+
// More services → larger machine recommendation.
|
|
59
|
+
const serviceOverlays = ctx.overlays.filter((id) => {
|
|
60
|
+
const meta = ctx.overlayMetadata.get(id);
|
|
61
|
+
return meta?.category === 'database' || meta?.category === 'observability';
|
|
62
|
+
});
|
|
63
|
+
let cpus = 2;
|
|
64
|
+
let memoryGb = 4;
|
|
65
|
+
if (serviceOverlays.length >= 4) {
|
|
66
|
+
cpus = 8;
|
|
67
|
+
memoryGb = 16;
|
|
68
|
+
}
|
|
69
|
+
else if (serviceOverlays.length >= 2) {
|
|
70
|
+
cpus = 4;
|
|
71
|
+
memoryGb = 8;
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
hostRequirements: {
|
|
75
|
+
cpus,
|
|
76
|
+
memory: `${memoryGb}gb`,
|
|
77
|
+
storage: '32gb',
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
generateFiles(ctx) {
|
|
82
|
+
const files = new Map();
|
|
83
|
+
const overlayNames = ctx.overlays
|
|
84
|
+
.map((id) => ctx.overlayMetadata.get(id)?.name ?? id)
|
|
85
|
+
.join(', ');
|
|
86
|
+
const serviceOverlays = ctx.overlays.filter((id) => {
|
|
87
|
+
const meta = ctx.overlayMetadata.get(id);
|
|
88
|
+
return meta?.category === 'database' || meta?.category === 'observability';
|
|
89
|
+
});
|
|
90
|
+
let machineNote = '**2-core** machine (default)';
|
|
91
|
+
if (serviceOverlays.length >= 4) {
|
|
92
|
+
machineNote = '**8-core** machine (recommended — many services selected)';
|
|
93
|
+
}
|
|
94
|
+
else if (serviceOverlays.length >= 2) {
|
|
95
|
+
machineNote = '**4-core** machine (recommended — multiple services selected)';
|
|
96
|
+
}
|
|
97
|
+
const ports = collectPorts(ctx.overlays, ctx.overlayMetadata, ctx.portOffset);
|
|
98
|
+
const portSection = ports.length > 0
|
|
99
|
+
? `\n## Exposed Ports\n\n${ports.map((p) => `- **${p.port}** — ${p.service}${p.description ? ` (${p.description})` : ''}`).join('\n')}\n`
|
|
100
|
+
: '';
|
|
101
|
+
const content = `# GitHub Codespaces Setup
|
|
102
|
+
|
|
103
|
+
This devcontainer was generated with **\`--target codespaces\`** and is optimized for
|
|
104
|
+
[GitHub Codespaces](https://github.com/features/codespaces).
|
|
105
|
+
|
|
106
|
+
## Opening in a Codespace
|
|
107
|
+
|
|
108
|
+
1. Push this repository (including the \`.devcontainer/\` directory) to GitHub.
|
|
109
|
+
2. Click **Code → Codespaces → Create codespace on <branch>**.
|
|
110
|
+
3. GitHub will pick up \`.devcontainer/devcontainer.json\` automatically.
|
|
111
|
+
|
|
112
|
+
## Recommended Machine Type
|
|
113
|
+
|
|
114
|
+
The generated \`devcontainer.json\` includes \`hostRequirements\` recommending a
|
|
115
|
+
${machineNote} for the selected stack.
|
|
116
|
+
|
|
117
|
+
**Selected overlays**: ${overlayNames || '(none)'}
|
|
118
|
+
|
|
119
|
+
## Port Forwarding
|
|
120
|
+
|
|
121
|
+
Codespaces automatically forwards ports declared in \`devcontainer.json\`.
|
|
122
|
+
Forwarded ports appear in the **Ports** panel inside VS Code or the Codespaces UI.
|
|
123
|
+
${portSection}
|
|
124
|
+
## Notes
|
|
125
|
+
|
|
126
|
+
- **docker-sock** is not available in Codespaces — use \`docker-in-docker\` instead.
|
|
127
|
+
- Secrets can be added under *Settings → Codespaces → Secrets*.
|
|
128
|
+
- To set environment variables, copy \`.devcontainer/.env.example\` to \`.devcontainer/.env\`
|
|
129
|
+
and add the file to your Codespaces secrets or repository environment.
|
|
130
|
+
|
|
131
|
+
## References
|
|
132
|
+
|
|
133
|
+
- [GitHub Codespaces documentation](https://docs.github.com/en/codespaces)
|
|
134
|
+
- [devcontainer.json reference — hostRequirements](https://containers.dev/implementors/json_reference/#hostRequirementsProperties)
|
|
135
|
+
`;
|
|
136
|
+
files.set('CODESPACES.md', content);
|
|
137
|
+
return files;
|
|
138
|
+
}
|
|
139
|
+
ownedFiles() {
|
|
140
|
+
return ['CODESPACES.md'];
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// ─── Gitpod rule ─────────────────────────────────────────────────────────────
|
|
144
|
+
class GitpodTargetRule {
|
|
145
|
+
target = 'gitpod';
|
|
146
|
+
devcontainerPatch(_ctx) {
|
|
147
|
+
return {};
|
|
148
|
+
}
|
|
149
|
+
generateFiles(ctx) {
|
|
150
|
+
const files = new Map();
|
|
151
|
+
const ports = collectPorts(ctx.overlays, ctx.overlayMetadata, ctx.portOffset);
|
|
152
|
+
const portsSection = ports.length > 0
|
|
153
|
+
? ports
|
|
154
|
+
.map((p) => ` - port: ${p.port}\n onOpen: notify-user\n name: ${p.service}\n description: ${p.description || p.service}`)
|
|
155
|
+
.join('\n')
|
|
156
|
+
: '';
|
|
157
|
+
const devcontainerRef = ctx.stack === 'compose' ? '.devcontainer/devcontainer.json' : '.devcontainer';
|
|
158
|
+
const gitpodYml = [
|
|
159
|
+
'# Gitpod workspace configuration',
|
|
160
|
+
'# Generated by container-superposition with --target gitpod',
|
|
161
|
+
'#',
|
|
162
|
+
'# See: https://www.gitpod.io/docs/references/gitpod-yml',
|
|
163
|
+
'',
|
|
164
|
+
'image:',
|
|
165
|
+
` file: ${devcontainerRef}`,
|
|
166
|
+
'',
|
|
167
|
+
'tasks:',
|
|
168
|
+
' - name: Setup',
|
|
169
|
+
' init: |',
|
|
170
|
+
' echo "Workspace initialized — run your setup commands here"',
|
|
171
|
+
' command: |',
|
|
172
|
+
' echo "Workspace ready"',
|
|
173
|
+
'',
|
|
174
|
+
...(portsSection
|
|
175
|
+
? ['ports:', portsSection, '']
|
|
176
|
+
: ['# ports: [] # No overlay ports declared', '']),
|
|
177
|
+
'vscode:',
|
|
178
|
+
' extensions: []',
|
|
179
|
+
].join('\n');
|
|
180
|
+
// .gitpod.yml must live in the repository root (one level above .devcontainer/)
|
|
181
|
+
files.set('../.gitpod.yml', gitpodYml);
|
|
182
|
+
const overlayNames = ctx.overlays
|
|
183
|
+
.map((id) => ctx.overlayMetadata.get(id)?.name ?? id)
|
|
184
|
+
.join(', ');
|
|
185
|
+
const portSection = ports.length > 0
|
|
186
|
+
? `\n## Exposed Ports\n\n${ports.map((p) => `- **${p.port}** — ${p.service}${p.description ? ` (${p.description})` : ''}`).join('\n')}\n`
|
|
187
|
+
: '';
|
|
188
|
+
const repoUrl = '<!-- Replace with your repository URL -->';
|
|
189
|
+
const gitpodMd = `# Gitpod Setup
|
|
190
|
+
|
|
191
|
+
This devcontainer was generated with **\`--target gitpod\`** and includes a
|
|
192
|
+
\`.gitpod.yml\` at the repository root for use with [Gitpod](https://www.gitpod.io).
|
|
193
|
+
|
|
194
|
+
## Opening in Gitpod
|
|
195
|
+
|
|
196
|
+
1. Push this repository (including \`.devcontainer/\` and \`.gitpod.yml\`) to a
|
|
197
|
+
Git hosting provider supported by Gitpod (GitHub, GitLab, Bitbucket).
|
|
198
|
+
2. Prefix your repository URL with \`https://gitpod.io/#\`:
|
|
199
|
+
|
|
200
|
+
\`\`\`
|
|
201
|
+
https://gitpod.io/#${repoUrl}
|
|
202
|
+
\`\`\`
|
|
203
|
+
|
|
204
|
+
Or add an **Open in Gitpod** badge to your README:
|
|
205
|
+
|
|
206
|
+
\`\`\`markdown
|
|
207
|
+
[](https://gitpod.io/#${repoUrl})
|
|
208
|
+
\`\`\`
|
|
209
|
+
|
|
210
|
+
**Selected overlays**: ${overlayNames || '(none)'}
|
|
211
|
+
${portSection}
|
|
212
|
+
## Notes
|
|
213
|
+
|
|
214
|
+
- **docker-sock** is not available in Gitpod — use \`docker-in-docker\` instead.
|
|
215
|
+
- Environment variables can be set under *Gitpod Settings → Variables*.
|
|
216
|
+
- Copy \`.devcontainer/.env.example\` to \`.devcontainer/.env\` and configure locally.
|
|
217
|
+
- The generated \`.gitpod.yml\` references your devcontainer via its \`image.file\`
|
|
218
|
+
field — Gitpod reads devcontainer.json automatically.
|
|
219
|
+
|
|
220
|
+
## References
|
|
221
|
+
|
|
222
|
+
- [Gitpod documentation](https://www.gitpod.io/docs)
|
|
223
|
+
- [Gitpod .gitpod.yml reference](https://www.gitpod.io/docs/references/gitpod-yml)
|
|
224
|
+
- [Gitpod + devcontainers](https://www.gitpod.io/docs/references/ides-and-editors/vscode)
|
|
225
|
+
`;
|
|
226
|
+
files.set('GITPOD.md', gitpodMd);
|
|
227
|
+
return files;
|
|
228
|
+
}
|
|
229
|
+
ownedFiles() {
|
|
230
|
+
// '../.gitpod.yml' resolves to project root; 'GITPOD.md' is in outputPath.
|
|
231
|
+
return ['../.gitpod.yml', 'GITPOD.md'];
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// ─── DevPod rule ──────────────────────────────────────────────────────────────
|
|
235
|
+
class DevPodTargetRule {
|
|
236
|
+
target = 'devpod';
|
|
237
|
+
devcontainerPatch(_ctx) {
|
|
238
|
+
return {};
|
|
239
|
+
}
|
|
240
|
+
generateFiles(ctx) {
|
|
241
|
+
const files = new Map();
|
|
242
|
+
const devcontainerPath = ctx.stack === 'compose' ? '.devcontainer/devcontainer.json' : '.devcontainer';
|
|
243
|
+
const devpodYaml = [
|
|
244
|
+
'# DevPod workspace configuration',
|
|
245
|
+
'# Generated by container-superposition with --target devpod',
|
|
246
|
+
'#',
|
|
247
|
+
'# See: https://devpod.sh/docs/managing-workspaces/workspace-configuration',
|
|
248
|
+
'',
|
|
249
|
+
`devcontainerPath: ${devcontainerPath}`,
|
|
250
|
+
].join('\n');
|
|
251
|
+
// devpod.yaml lives at the project root
|
|
252
|
+
files.set('../devpod.yaml', devpodYaml);
|
|
253
|
+
const overlayNames = ctx.overlays
|
|
254
|
+
.map((id) => ctx.overlayMetadata.get(id)?.name ?? id)
|
|
255
|
+
.join(', ');
|
|
256
|
+
const ports = collectPorts(ctx.overlays, ctx.overlayMetadata, ctx.portOffset);
|
|
257
|
+
const portSection = ports.length > 0
|
|
258
|
+
? `\n## Exposed Ports\n\n${ports.map((p) => `- **${p.port}** — ${p.service}${p.description ? ` (${p.description})` : ''}`).join('\n')}\n`
|
|
259
|
+
: '';
|
|
260
|
+
const devpodMd = `# DevPod Setup
|
|
261
|
+
|
|
262
|
+
This devcontainer was generated with **\`--target devpod\`** and includes a
|
|
263
|
+
\`devpod.yaml\` at the repository root for use with [DevPod](https://devpod.sh).
|
|
264
|
+
|
|
265
|
+
## Provisioning with DevPod
|
|
266
|
+
|
|
267
|
+
1. [Install DevPod](https://devpod.sh/docs/getting-started/install).
|
|
268
|
+
2. From the repository root run:
|
|
269
|
+
|
|
270
|
+
\`\`\`bash
|
|
271
|
+
devpod up .
|
|
272
|
+
\`\`\`
|
|
273
|
+
|
|
274
|
+
DevPod reads \`devpod.yaml\` and the referenced \`${devcontainerPath}\` automatically.
|
|
275
|
+
|
|
276
|
+
3. To use a specific provider:
|
|
277
|
+
|
|
278
|
+
\`\`\`bash
|
|
279
|
+
devpod up . --provider docker # Local Docker
|
|
280
|
+
devpod up . --provider aws # AWS EC2
|
|
281
|
+
\`\`\`
|
|
282
|
+
|
|
283
|
+
**Selected overlays**: ${overlayNames || '(none)'}
|
|
284
|
+
${portSection}
|
|
285
|
+
## Notes
|
|
286
|
+
|
|
287
|
+
- Copy \`.devcontainer/.env.example\` to \`.devcontainer/.env\` and edit credentials
|
|
288
|
+
before running \`devpod up\`.
|
|
289
|
+
- DevPod respects \`hostRequirements\` in \`devcontainer.json\` for cloud providers.
|
|
290
|
+
- To stop and destroy the workspace: \`devpod delete <workspace-name>\`.
|
|
291
|
+
|
|
292
|
+
## References
|
|
293
|
+
|
|
294
|
+
- [DevPod documentation](https://devpod.sh/docs)
|
|
295
|
+
- [DevPod workspace configuration](https://devpod.sh/docs/managing-workspaces/workspace-configuration)
|
|
296
|
+
- [DevPod providers](https://devpod.sh/docs/managing-providers/add-provider)
|
|
297
|
+
`;
|
|
298
|
+
files.set('DEVPOD.md', devpodMd);
|
|
299
|
+
return files;
|
|
300
|
+
}
|
|
301
|
+
ownedFiles() {
|
|
302
|
+
return ['../devpod.yaml', 'DEVPOD.md'];
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
// ─── Registry ────────────────────────────────────────────────────────────────
|
|
306
|
+
const TARGET_RULES = {
|
|
307
|
+
local: new LocalTargetRule(),
|
|
308
|
+
codespaces: new CodespacesTargetRule(),
|
|
309
|
+
gitpod: new GitpodTargetRule(),
|
|
310
|
+
devpod: new DevPodTargetRule(),
|
|
311
|
+
};
|
|
312
|
+
/**
|
|
313
|
+
* Return the target rule for the given deployment target.
|
|
314
|
+
* Throws a clear error when the target has no defined rule (future-proofing).
|
|
315
|
+
*/
|
|
316
|
+
export function getTargetRule(target) {
|
|
317
|
+
const rule = TARGET_RULES[target];
|
|
318
|
+
if (!rule) {
|
|
319
|
+
const valid = Object.keys(TARGET_RULES).join(', ');
|
|
320
|
+
throw new Error(`No target rule defined for '${target}'. Valid targets are: ${valid}`);
|
|
321
|
+
}
|
|
322
|
+
return rule;
|
|
323
|
+
}
|
|
324
|
+
/**
|
|
325
|
+
* Resolve a path produced by TargetRule.generateFiles() to an absolute
|
|
326
|
+
* filesystem path.
|
|
327
|
+
*
|
|
328
|
+
* Keys starting with '../' are resolved relative to projectRoot (i.e. the
|
|
329
|
+
* repository root, one level above .devcontainer/). All other keys are
|
|
330
|
+
* resolved relative to outputPath (.devcontainer/).
|
|
331
|
+
*/
|
|
332
|
+
export function resolveTargetFilePath(key, outputPath, projectRoot) {
|
|
333
|
+
if (key.startsWith('../')) {
|
|
334
|
+
return path.join(projectRoot, key.slice(3));
|
|
335
|
+
}
|
|
336
|
+
return path.join(outputPath, key);
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Remove stale project-root artifacts left by a previous target.
|
|
340
|
+
*
|
|
341
|
+
* Only project-root files (keys starting with '../') are removed here; files
|
|
342
|
+
* inside outputPath are handled automatically by cleanupStaleFiles via the
|
|
343
|
+
* FileRegistry.
|
|
344
|
+
*
|
|
345
|
+
* @param previousTarget Target used in the previous generation run.
|
|
346
|
+
* @param nextTarget Target for the current generation run.
|
|
347
|
+
* @param projectRoot Absolute path to the project root.
|
|
348
|
+
*/
|
|
349
|
+
export function removeStaleTargetArtifacts(previousTarget, nextTarget, projectRoot) {
|
|
350
|
+
if (previousTarget === nextTarget) {
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
const previousRule = TARGET_RULES[previousTarget];
|
|
354
|
+
if (!previousRule) {
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
for (const ownedKey of previousRule.ownedFiles()) {
|
|
358
|
+
if (!ownedKey.startsWith('../')) {
|
|
359
|
+
continue; // outputPath files handled by FileRegistry
|
|
360
|
+
}
|
|
361
|
+
const absPath = path.join(projectRoot, ownedKey.slice(3));
|
|
362
|
+
if (fs.existsSync(absPath)) {
|
|
363
|
+
fs.unlinkSync(absPath);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
//# sourceMappingURL=target-rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"target-rules.js","sourceRoot":"","sources":["../../../tool/schema/target-rules.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,11 @@ export interface DevContainerConfig {
|
|
|
54
54
|
* Editor profile for customizations
|
|
55
55
|
*/
|
|
56
56
|
export type EditorProfile = 'vscode' | 'jetbrains' | 'none';
|
|
57
|
+
export type ProjectEnvTarget = 'auto' | 'remoteEnv' | 'composeEnv';
|
|
58
|
+
export interface ProjectEnvVar {
|
|
59
|
+
value: string;
|
|
60
|
+
target?: ProjectEnvTarget;
|
|
61
|
+
}
|
|
57
62
|
/**
|
|
58
63
|
* Questionnaire response interface
|
|
59
64
|
*/
|
|
@@ -77,7 +82,9 @@ export interface QuestionnaireAnswers {
|
|
|
77
82
|
target?: DeploymentTarget;
|
|
78
83
|
minimal?: boolean;
|
|
79
84
|
editor?: EditorProfile;
|
|
85
|
+
projectEnv?: Record<string, ProjectEnvVar>;
|
|
80
86
|
customizations?: CustomizationConfig;
|
|
87
|
+
overlayParameters?: Record<string, string>;
|
|
81
88
|
}
|
|
82
89
|
/**
|
|
83
90
|
* Port attributes configuration
|
|
@@ -105,6 +112,9 @@ export interface DevContainer {
|
|
|
105
112
|
extensions?: string[];
|
|
106
113
|
settings?: Record<string, any>;
|
|
107
114
|
};
|
|
115
|
+
jetbrains?: {
|
|
116
|
+
backend: string;
|
|
117
|
+
};
|
|
108
118
|
};
|
|
109
119
|
forwardPorts?: number[];
|
|
110
120
|
portsAttributes?: Record<string, PortAttributes>;
|
|
@@ -138,6 +148,15 @@ export interface PortMetadata {
|
|
|
138
148
|
export interface NormalizedPort extends PortMetadata {
|
|
139
149
|
actualPort: number;
|
|
140
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Declaration of a single configurable parameter for an overlay.
|
|
153
|
+
* Parameters are resolved at generation time using {{cs.PARAM_NAME}} substitution.
|
|
154
|
+
*/
|
|
155
|
+
export interface OverlayParameterDefinition {
|
|
156
|
+
description: string;
|
|
157
|
+
default?: string;
|
|
158
|
+
sensitive?: boolean;
|
|
159
|
+
}
|
|
141
160
|
/**
|
|
142
161
|
* Overlay metadata from overlays.yml
|
|
143
162
|
*/
|
|
@@ -154,8 +173,10 @@ export interface OverlayMetadata {
|
|
|
154
173
|
ports?: (number | PortMetadata)[];
|
|
155
174
|
order?: number;
|
|
156
175
|
imports?: string[];
|
|
176
|
+
compose_imports?: string[];
|
|
157
177
|
minimal?: boolean;
|
|
158
178
|
hidden?: boolean;
|
|
179
|
+
parameters?: Record<string, OverlayParameterDefinition>;
|
|
159
180
|
}
|
|
160
181
|
/**
|
|
161
182
|
* User choice configuration for presets
|
|
@@ -255,6 +276,9 @@ export interface SuperpositionManifest {
|
|
|
255
276
|
reason: string;
|
|
256
277
|
};
|
|
257
278
|
containerName?: string;
|
|
279
|
+
target?: DeploymentTarget;
|
|
280
|
+
minimal?: boolean;
|
|
281
|
+
editor?: EditorProfile;
|
|
258
282
|
customizations?: {
|
|
259
283
|
enabled: boolean;
|
|
260
284
|
location: string;
|
|
@@ -274,6 +298,8 @@ export interface CustomizationConfig {
|
|
|
274
298
|
files?: Array<{
|
|
275
299
|
source: string;
|
|
276
300
|
destination: string;
|
|
301
|
+
/** Pre-loaded file content; avoids re-reading from disk when available (e.g. when materialized from a project config). */
|
|
302
|
+
content?: string;
|
|
277
303
|
}>;
|
|
278
304
|
}
|
|
279
305
|
export interface ProjectConfigFileEntry {
|
|
@@ -283,7 +309,7 @@ export interface ProjectConfigFileEntry {
|
|
|
283
309
|
export interface ProjectConfigCustomizationsInput {
|
|
284
310
|
devcontainerPatch?: DevContainer;
|
|
285
311
|
dockerComposePatch?: Record<string, any>;
|
|
286
|
-
|
|
312
|
+
envTemplate?: Record<string, string>;
|
|
287
313
|
scripts?: {
|
|
288
314
|
postCreate?: string[];
|
|
289
315
|
postStart?: string[];
|
|
@@ -366,6 +392,15 @@ export interface FixRun {
|
|
|
366
392
|
summary: FixOutcomeSummary;
|
|
367
393
|
exitDisposition: ExitDisposition;
|
|
368
394
|
}
|
|
395
|
+
/**
|
|
396
|
+
* Resolved composition input — produced by mergeAnswers() after all user input has been
|
|
397
|
+
* collected and defaults applied. Guarantees that array fields which QuestionnaireAnswers
|
|
398
|
+
* leaves optional are present (empty arrays at minimum), making downstream code type-safe.
|
|
399
|
+
*/
|
|
400
|
+
export interface CompositionInput extends QuestionnaireAnswers {
|
|
401
|
+
language: LanguageOverlay[];
|
|
402
|
+
database: DatabaseOverlay[];
|
|
403
|
+
}
|
|
369
404
|
export interface ProjectConfigSelection {
|
|
370
405
|
stack?: Stack;
|
|
371
406
|
baseImage?: BaseImage;
|
|
@@ -379,6 +414,8 @@ export interface ProjectConfigSelection {
|
|
|
379
414
|
target?: DeploymentTarget;
|
|
380
415
|
minimal?: boolean;
|
|
381
416
|
editor?: EditorProfile;
|
|
417
|
+
env?: Record<string, ProjectEnvVar>;
|
|
382
418
|
customizations?: ProjectConfigCustomizationsInput;
|
|
419
|
+
parameters?: Record<string, string>;
|
|
383
420
|
}
|
|
384
421
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../tool/schema/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../tool/schema/types.ts"],"names":[],"mappings":"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"}
|