@simplens/onboard 1.0.5 → 1.0.7
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 +27 -1
- package/dist/__tests__/infra-prompts.test.js +3 -1
- package/dist/__tests__/infra-prompts.test.js.map +1 -1
- package/dist/__tests__/infra.test.js +13 -0
- package/dist/__tests__/infra.test.js.map +1 -1
- package/dist/__tests__/validators.test.js +21 -1
- package/dist/__tests__/validators.test.js.map +1 -1
- package/dist/index.js +138 -20
- package/dist/index.js.map +1 -1
- package/dist/infra.d.ts +12 -3
- package/dist/infra.d.ts.map +1 -1
- package/dist/infra.js +94 -22
- package/dist/infra.js.map +1 -1
- package/dist/services.d.ts +12 -0
- package/dist/services.d.ts.map +1 -1
- package/dist/services.js +52 -2
- package/dist/services.js.map +1 -1
- package/dist/templates.d.ts +5 -1
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +66 -0
- package/dist/templates.js.map +1 -1
- package/dist/types/domain.d.ts +6 -0
- package/dist/types/domain.d.ts.map +1 -1
- package/dist/validators.d.ts +9 -0
- package/dist/validators.d.ts.map +1 -1
- package/dist/validators.js +38 -0
- package/dist/validators.js.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/infra-prompts.test.ts +3 -1
- package/src/__tests__/infra.test.ts +15 -0
- package/src/__tests__/validators.test.ts +27 -1
- package/src/index.ts +147 -19
- package/src/infra.ts +119 -23
- package/src/services.ts +74 -2
- package/src/templates.ts +70 -0
- package/src/types/domain.ts +6 -0
- package/src/validators.ts +51 -0
package/README.md
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
- 🐧 **OS-Aware Configuration** - Automatically detects and configures for Windows, Linux, or macOS
|
|
14
14
|
- ⚙️ **Smart Environment Config** - Default or interactive mode for environment variables
|
|
15
15
|
- 🔌 **Plugin Management** - Browse and install official SimpleNS plugins
|
|
16
|
+
- 🔐 **Optional SSL Setup** - Automatic Let's Encrypt setup with Dockerized Certbot (Windows/macOS/Linux)
|
|
16
17
|
- 🚀 **Service Orchestration** - Automatic health checks and sequential service startup
|
|
17
18
|
- 📊 **Service Dashboard** - View all running services and their access URLs
|
|
18
19
|
|
|
@@ -110,6 +111,9 @@ The CLI will display a security notice with all credentials that need to be upda
|
|
|
110
111
|
| `--core-version <version>` | Override `CORE_VERSION` in generated `.env` (primarily for `--full`) | `latest` |
|
|
111
112
|
| `--dashboard-version <version>` | Override `DASHBOARD_VERSION` in generated `.env` (primarily for `--full`) | `latest` |
|
|
112
113
|
| `--plugin [plugins...]` | Plugins to install (e.g., `@simplens/mock @simplens/nodemailer-gmail`) | Prompted |
|
|
114
|
+
| `--ssl` | Enable optional SSL automation with Certbot | `false` |
|
|
115
|
+
| `--ssl-domain <domain>` | Public domain for SSL cert (required with `--ssl` in `--full`) | Prompted |
|
|
116
|
+
| `--ssl-email <email>` | Email for Let's Encrypt registration (required with `--ssl` in `--full`) | Prompted |
|
|
113
117
|
| `--no-output` | Suppress all console output (silent mode) | `false` |
|
|
114
118
|
|
|
115
119
|
### Valid Infrastructure Services
|
|
@@ -118,7 +122,7 @@ The CLI will display a security notice with all credentials that need to be upda
|
|
|
118
122
|
- `kafka` - Apache Kafka message queue
|
|
119
123
|
- `kafka-ui` - Kafka UI dashboard (optional)
|
|
120
124
|
- `redis` - Redis cache
|
|
121
|
-
- `nginx` - Nginx reverse proxy (optional, Required only is BASE_PATH is configured)
|
|
125
|
+
- `nginx` - Nginx reverse proxy (optional, Required only is BASE_PATH or SSL is configured)
|
|
122
126
|
- `loki` - Loki log aggregation (optional)
|
|
123
127
|
- `grafana` - Grafana observability dashboard (optional)
|
|
124
128
|
|
|
@@ -156,12 +160,18 @@ The CLI will display a security notice with all credentials that need to be upda
|
|
|
156
160
|
- Start application services
|
|
157
161
|
- Display service URLs and status
|
|
158
162
|
|
|
163
|
+
6. **Optional SSL Automation** (if enabled)
|
|
164
|
+
- Auto-enables Nginx if required
|
|
165
|
+
- Issues cert via Dockerized Certbot (`http-01` webroot challenge)
|
|
166
|
+
- Configures auto-renew service and Nginx reload
|
|
167
|
+
|
|
159
168
|
## Generated Files
|
|
160
169
|
|
|
161
170
|
- `docker-compose.infra.yaml` - Infrastructure services (if `--infra` used)
|
|
162
171
|
- `docker-compose.yaml` - Application services
|
|
163
172
|
- `.env` - Environment variables and credentials
|
|
164
173
|
- `simplens.config.yaml` - Plugin configuration
|
|
174
|
+
- `nginx.conf` - Generated reverse proxy config (HTTP/HTTPS based on options)
|
|
165
175
|
|
|
166
176
|
## Service URLs
|
|
167
177
|
|
|
@@ -243,6 +253,22 @@ cd /app/simplens
|
|
|
243
253
|
docker-compose up -d
|
|
244
254
|
```
|
|
245
255
|
|
|
256
|
+
### Full Setup With SSL Automation
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
npx @simplens/onboard \
|
|
260
|
+
--full \
|
|
261
|
+
--infra mongo kafka redis \
|
|
262
|
+
--env default \
|
|
263
|
+
--ssl \
|
|
264
|
+
--ssl-domain app.example.com \
|
|
265
|
+
--ssl-email ops@example.com
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
Notes:
|
|
269
|
+
- Your domain DNS must point to the host running onboarding.
|
|
270
|
+
- Ports 80 and 443 must be publicly reachable for Let's Encrypt validation.
|
|
271
|
+
|
|
246
272
|
### Silent Mode (No Console Output)
|
|
247
273
|
|
|
248
274
|
```bash
|
|
@@ -22,11 +22,13 @@ describe('promptInfraServicesWithBasePath', () => {
|
|
|
22
22
|
it('includes nginx when allowNginx is true', async () => {
|
|
23
23
|
const mockMultiselect = vi.mocked(multiselect);
|
|
24
24
|
mockMultiselect.mockResolvedValue(['mongo', 'redis', 'nginx']);
|
|
25
|
-
const result = await promptInfraServicesWithBasePath({ allowNginx: true });
|
|
25
|
+
const result = await promptInfraServicesWithBasePath({ allowNginx: true, defaultNginx: true });
|
|
26
26
|
// Should include nginx in options
|
|
27
27
|
const callArgs = mockMultiselect.mock.calls[0][0];
|
|
28
28
|
const values = callArgs.options.map((o) => o.value);
|
|
29
29
|
expect(values).toContain('nginx');
|
|
30
|
+
expect(callArgs.initialValues).toContain('nginx');
|
|
31
|
+
expect(callArgs.initialValues).not.toContain('kafka-ui');
|
|
30
32
|
expect(result).toContain('nginx');
|
|
31
33
|
});
|
|
32
34
|
it('excludes nginx when allowNginx is false', async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infra-prompts.test.js","sourceRoot":"","sources":["../../src/__tests__/infra-prompts.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE9D,sBAAsB;AACtB,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;IACpB,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAClB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;KACnB,CAAC,CAAC;CACN,CAAC,CAAC,CAAC;AAEJ,wBAAwB;AACxB,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IACvB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;CACxB,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,+BAA+B,EAAE,MAAM,aAAa,CAAC;AAE9D,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC7C,UAAU,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,eAAe,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/C,eAAe,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,MAAM,+BAA+B,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"infra-prompts.test.js","sourceRoot":"","sources":["../../src/__tests__/infra-prompts.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,18 @@ describe('infra app compose generation', () => {
|
|
|
10
10
|
expect(compose).toContain(' nginx:');
|
|
11
11
|
expect(compose).toContain('./nginx.conf:/etc/nginx/conf.d/default.conf:ro');
|
|
12
12
|
});
|
|
13
|
+
it('does not include certbot services when ssl is disabled', () => {
|
|
14
|
+
const compose = buildAppComposeContent(true, { includeSsl: false });
|
|
15
|
+
expect(compose).not.toContain(' certbot:');
|
|
16
|
+
expect(compose).not.toContain(' certbot-renew:');
|
|
17
|
+
});
|
|
18
|
+
it('includes certbot services and volumes when ssl is enabled', () => {
|
|
19
|
+
const compose = buildAppComposeContent(false, { includeSsl: true });
|
|
20
|
+
expect(compose).toContain(' nginx:');
|
|
21
|
+
expect(compose).toContain(' certbot:');
|
|
22
|
+
expect(compose).toContain(' certbot-renew:');
|
|
23
|
+
expect(compose).toContain('certbot-etc:');
|
|
24
|
+
expect(compose).toContain('certbot-www:');
|
|
25
|
+
});
|
|
13
26
|
});
|
|
14
27
|
//# sourceMappingURL=infra.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infra.test.js","sourceRoot":"","sources":["../../src/__tests__/infra.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC3C,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"infra.test.js","sourceRoot":"","sources":["../../src/__tests__/infra.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC3C,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,gDAAgD,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,MAAM,OAAO,GAAG,sBAAsB,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACjE,MAAM,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC1C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
|
|
2
|
-
import { checkDockerInstalled, checkDockerRunning, detectOS, validateEnvValue } from '../validators.js';
|
|
2
|
+
import { checkDockerInstalled, checkDockerRunning, detectOS, validateEnvValue, validatePublicDomain, validateEmailAddress } from '../validators.js';
|
|
3
3
|
import { DockerNotInstalledError, DockerNotRunningError, DockerPermissionError } from '../types/errors.js';
|
|
4
4
|
// Mock execa
|
|
5
5
|
vi.mock('execa', () => ({
|
|
@@ -144,5 +144,25 @@ describe('validators', () => {
|
|
|
144
144
|
});
|
|
145
145
|
});
|
|
146
146
|
});
|
|
147
|
+
describe('validatePublicDomain', () => {
|
|
148
|
+
it('accepts valid public domains', () => {
|
|
149
|
+
expect(validatePublicDomain('example.com')).toBe(true);
|
|
150
|
+
expect(validatePublicDomain('app.example.com')).toBe(true);
|
|
151
|
+
});
|
|
152
|
+
it('rejects urls or malformed values', () => {
|
|
153
|
+
expect(validatePublicDomain('https://example.com')).not.toBe(true);
|
|
154
|
+
expect(validatePublicDomain('example')).not.toBe(true);
|
|
155
|
+
expect(validatePublicDomain('example.com/path')).not.toBe(true);
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
describe('validateEmailAddress', () => {
|
|
159
|
+
it('accepts valid email addresses', () => {
|
|
160
|
+
expect(validateEmailAddress('admin@example.com')).toBe(true);
|
|
161
|
+
});
|
|
162
|
+
it('rejects invalid email values', () => {
|
|
163
|
+
expect(validateEmailAddress('admin@')).not.toBe(true);
|
|
164
|
+
expect(validateEmailAddress('not-an-email')).not.toBe(true);
|
|
165
|
+
});
|
|
166
|
+
});
|
|
147
167
|
});
|
|
148
168
|
//# sourceMappingURL=validators.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.test.js","sourceRoot":"","sources":["../../src/__tests__/validators.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EACH,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EAER,gBAAgB,
|
|
1
|
+
{"version":3,"file":"validators.test.js","sourceRoot":"","sources":["../../src/__tests__/validators.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EACH,oBAAoB,EACpB,kBAAkB,EAClB,QAAQ,EAER,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACH,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,oBAAoB,CAAC;AAE5B,aAAa;AACb,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;IACpB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;CACjB,CAAC,CAAC,CAAC;AAEJ,aAAa;AACb,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1B,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;IACjB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;CACtB,CAAC,CAAC,CAAC;AAEJ,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,UAAU,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACvD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC;gBACnC,MAAM,EAAE,uBAAuB;gBAC/B,MAAM,EAAE,EAAE;aACN,CAAC,CAAC;YAEV,MAAM,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;YAC/E,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAEvE,MAAM,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAChC,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC5D,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC;gBACnC,MAAM,EAAE,sBAAsB;gBAC9B,MAAM,EAAE,EAAE;aACN,CAAC,CAAC;YAEV,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACrE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;YAC3E,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;YAC/D,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YACnD,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAE9C,MAAM,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACtB,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;QAE1C,SAAS,CAAC,GAAG,EAAE;YACX,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE;gBACvC,KAAK,EAAE,gBAAgB;aAC1B,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE;gBACvC,KAAK,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC3B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE;gBACvC,KAAK,EAAE,QAAQ;aAClB,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC3B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE;gBACvC,KAAK,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACrD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE;gBACvC,KAAK,EAAE,SAAS;aACnB,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAC9B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC5B,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;gBACvC,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;gBACvD,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;gBACvC,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;gBACrD,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;gBACrC,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;gBACpC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;gBAC/B,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;gBACnC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;gBACjC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpD,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;gBACvC,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACxC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;gBACpC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;gBACrC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;gBACnC,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/D,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;gBACjD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;gBAClD,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAChC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;gBAC9C,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,MAAM,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnE,MAAM,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvD,MAAM,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACrC,MAAM,CAAC,oBAAoB,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,11 +4,11 @@ import path from 'path';
|
|
|
4
4
|
import { displayBanner, logSuccess, initLogger, logDebug, printStepHeader, printCommandHints, logWarning, } from './utils.js';
|
|
5
5
|
import { text, confirm, select } from '@clack/prompts';
|
|
6
6
|
import { intro, outro, handleCancel, log, note } from './ui.js';
|
|
7
|
-
import { validatePrerequisites } from './validators.js';
|
|
7
|
+
import { validatePrerequisites, validatePublicDomain, validateEmailAddress, } from './validators.js';
|
|
8
8
|
import { promptInfraServicesWithBasePath, generateInfraCompose, writeAppCompose, generateNginxConfig, } from './infra.js';
|
|
9
9
|
import { promptEnvVariables, generateEnvFile, appendPluginEnv, promptBasePath, normalizeBasePath, validateBasePath, DEFAULT_BASE_PATH, } from './env-config.js';
|
|
10
10
|
import { fetchAvailablePlugins, promptPluginSelection, generatePluginConfig, parseConfigCredentials, promptPluginCredentials, generateDefaultPluginCredentials, } from './plugins.js';
|
|
11
|
-
import { promptStartServices, startInfraServices, waitForInfraHealth, startAppServices, displayServiceStatus, } from './services.js';
|
|
11
|
+
import { promptStartServices, startInfraServices, waitForInfraHealth, startAppServices, displayServiceStatus, setupSslCertificates, getSslManualCommands, } from './services.js';
|
|
12
12
|
const program = new Command();
|
|
13
13
|
program
|
|
14
14
|
.name('@simplens/onboard')
|
|
@@ -22,6 +22,9 @@ program
|
|
|
22
22
|
.option('--core-version <version>', 'Override CORE_VERSION in generated .env (primarily for --full mode)')
|
|
23
23
|
.option('--dashboard-version <version>', 'Override DASHBOARD_VERSION in generated .env (primarily for --full mode)')
|
|
24
24
|
.option('--plugin [plugins...]', 'Plugins to install (e.g., @simplens/mock @simplens/nodemailer-gmail)')
|
|
25
|
+
.option('--ssl', 'Enable optional SSL certificate setup using Dockerized Certbot')
|
|
26
|
+
.option('--ssl-domain <domain>', 'Public domain for SSL certificate (required with --ssl in --full mode)')
|
|
27
|
+
.option('--ssl-email <email>', 'Email for Let\'s Encrypt registration (required with --ssl in --full mode)')
|
|
25
28
|
.option('--no-output', 'Suppress all console output (silent mode)');
|
|
26
29
|
function printStep(step, total, title) {
|
|
27
30
|
printStepHeader(step, total, title);
|
|
@@ -58,12 +61,16 @@ function showSetupSummary(setupOptions, targetDir, autoNginx) {
|
|
|
58
61
|
const pluginsLabel = setupOptions.plugins.length > 0
|
|
59
62
|
? setupOptions.plugins.join(', ')
|
|
60
63
|
: 'none';
|
|
64
|
+
const sslLabel = setupOptions.enableSsl
|
|
65
|
+
? `enabled (${setupOptions.sslDomain})`
|
|
66
|
+
: 'disabled';
|
|
61
67
|
const summaryLines = [
|
|
62
68
|
`Target directory : ${targetDir}`,
|
|
63
69
|
`Infrastructure : ${infraLabel}`,
|
|
64
70
|
`Environment mode : ${setupOptions.envMode}`,
|
|
65
71
|
`BASE_PATH : ${basePathLabel}`,
|
|
66
72
|
`Plugins : ${pluginsLabel}`,
|
|
73
|
+
`SSL (Certbot) : ${sslLabel}`,
|
|
67
74
|
`Nginx auto-include : ${autoNginx ? 'enabled (BASE_PATH is non-default)' : 'disabled'}`,
|
|
68
75
|
].join('\n');
|
|
69
76
|
note(summaryLines, 'Setup Summary');
|
|
@@ -106,6 +113,26 @@ async function promptSetupOptions(options) {
|
|
|
106
113
|
errors.push(`Invalid plugin names: ${invalid.join(', ')}`);
|
|
107
114
|
}
|
|
108
115
|
}
|
|
116
|
+
if (options.ssl === true) {
|
|
117
|
+
if (!options.sslDomain) {
|
|
118
|
+
errors.push('--ssl-domain <domain> is required in --full mode when --ssl is enabled');
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
const domainValidation = validatePublicDomain(options.sslDomain);
|
|
122
|
+
if (domainValidation !== true) {
|
|
123
|
+
errors.push(`Invalid --ssl-domain: ${domainValidation}`);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
if (!options.sslEmail) {
|
|
127
|
+
errors.push('--ssl-email <email> is required in --full mode when --ssl is enabled');
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
const emailValidation = validateEmailAddress(options.sslEmail);
|
|
131
|
+
if (emailValidation !== true) {
|
|
132
|
+
errors.push(`Invalid --ssl-email: ${emailValidation}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
109
136
|
if (errors.length > 0) {
|
|
110
137
|
console.error('\\n❌ Validation errors in --full mode:\\n');
|
|
111
138
|
errors.forEach(err => console.error(` • ${err}`));
|
|
@@ -211,6 +238,64 @@ async function promptSetupOptions(options) {
|
|
|
211
238
|
pluginsValue = options.plugin;
|
|
212
239
|
}
|
|
213
240
|
// If not provided and not in full mode, will prompt later in the main workflow
|
|
241
|
+
// --- SSL ---
|
|
242
|
+
let enableSslValue = false;
|
|
243
|
+
let sslDomainValue;
|
|
244
|
+
let sslEmailValue;
|
|
245
|
+
if (options.ssl === true) {
|
|
246
|
+
enableSslValue = true;
|
|
247
|
+
}
|
|
248
|
+
else if (!isFullMode) {
|
|
249
|
+
const sslConfirm = await confirm({
|
|
250
|
+
message: 'Do you want to automatically setup SSL certificate using Certbot?',
|
|
251
|
+
initialValue: false,
|
|
252
|
+
withGuide: true,
|
|
253
|
+
});
|
|
254
|
+
handleCancel(sslConfirm);
|
|
255
|
+
enableSslValue = sslConfirm;
|
|
256
|
+
}
|
|
257
|
+
if (enableSslValue) {
|
|
258
|
+
if (typeof options.sslDomain === 'string') {
|
|
259
|
+
const normalizedDomain = options.sslDomain.trim().toLowerCase();
|
|
260
|
+
const domainValidation = validatePublicDomain(normalizedDomain);
|
|
261
|
+
if (domainValidation !== true) {
|
|
262
|
+
throw new Error(`Invalid --ssl-domain value: ${domainValidation}`);
|
|
263
|
+
}
|
|
264
|
+
sslDomainValue = normalizedDomain;
|
|
265
|
+
}
|
|
266
|
+
else if (!isFullMode) {
|
|
267
|
+
const domainAnswer = await text({
|
|
268
|
+
message: 'Public domain to secure (example: app.example.com):',
|
|
269
|
+
validate: (value) => {
|
|
270
|
+
const validation = validatePublicDomain(value ?? '');
|
|
271
|
+
return validation === true ? undefined : validation;
|
|
272
|
+
},
|
|
273
|
+
withGuide: true,
|
|
274
|
+
});
|
|
275
|
+
handleCancel(domainAnswer);
|
|
276
|
+
sslDomainValue = domainAnswer.trim().toLowerCase();
|
|
277
|
+
}
|
|
278
|
+
if (typeof options.sslEmail === 'string') {
|
|
279
|
+
const normalizedEmail = options.sslEmail.trim();
|
|
280
|
+
const emailValidation = validateEmailAddress(normalizedEmail);
|
|
281
|
+
if (emailValidation !== true) {
|
|
282
|
+
throw new Error(`Invalid --ssl-email value: ${emailValidation}`);
|
|
283
|
+
}
|
|
284
|
+
sslEmailValue = normalizedEmail;
|
|
285
|
+
}
|
|
286
|
+
else if (!isFullMode) {
|
|
287
|
+
const emailAnswer = await text({
|
|
288
|
+
message: 'Email for Let\'s Encrypt registration:',
|
|
289
|
+
validate: (value) => {
|
|
290
|
+
const validation = validateEmailAddress(value ?? '');
|
|
291
|
+
return validation === true ? undefined : validation;
|
|
292
|
+
},
|
|
293
|
+
withGuide: true,
|
|
294
|
+
});
|
|
295
|
+
handleCancel(emailAnswer);
|
|
296
|
+
sslEmailValue = emailAnswer.trim();
|
|
297
|
+
}
|
|
298
|
+
}
|
|
214
299
|
return {
|
|
215
300
|
infra: infraValue,
|
|
216
301
|
infraServices: infraServices,
|
|
@@ -218,6 +303,9 @@ async function promptSetupOptions(options) {
|
|
|
218
303
|
targetDir: targetDirValue || process.cwd(),
|
|
219
304
|
basePath: basePathValue,
|
|
220
305
|
plugins: pluginsValue,
|
|
306
|
+
enableSsl: enableSslValue,
|
|
307
|
+
sslDomain: sslDomainValue,
|
|
308
|
+
sslEmail: sslEmailValue,
|
|
221
309
|
};
|
|
222
310
|
}
|
|
223
311
|
/**
|
|
@@ -247,6 +335,7 @@ async function main() {
|
|
|
247
335
|
// Get target directory
|
|
248
336
|
const targetDir = path.resolve(setupOptions.targetDir);
|
|
249
337
|
const autoEnableNginx = shouldAutoEnableNginx(setupOptions.basePath);
|
|
338
|
+
const nginxRequired = autoEnableNginx || setupOptions.enableSsl;
|
|
250
339
|
logDebug(`Resolved target directory: ${targetDir}`);
|
|
251
340
|
showSetupSummary(setupOptions, targetDir, autoEnableNginx);
|
|
252
341
|
// Step 1: Validate prerequisites
|
|
@@ -255,38 +344,50 @@ async function main() {
|
|
|
255
344
|
// Step 2: Infrastructure setup (if --infra flag is provided)
|
|
256
345
|
log.step('Step 2/6 — Infrastructure Setup');
|
|
257
346
|
let selectedInfraServices = [];
|
|
258
|
-
|
|
347
|
+
const shouldSetupInfra = setupOptions.infra || nginxRequired;
|
|
348
|
+
if (shouldSetupInfra) {
|
|
259
349
|
// Use pre-provided services from CLI, or prompt for them
|
|
260
|
-
if (setupOptions.infraServices.length > 0) {
|
|
350
|
+
if (setupOptions.infra && setupOptions.infraServices.length > 0) {
|
|
261
351
|
selectedInfraServices = setupOptions.infraServices;
|
|
262
352
|
log.info(`Using infrastructure services: ${selectedInfraServices.join(', ')}`);
|
|
263
353
|
}
|
|
354
|
+
else if (!setupOptions.infra && nginxRequired) {
|
|
355
|
+
selectedInfraServices = ['nginx'];
|
|
356
|
+
log.info('Nginx is required (BASE_PATH/SSL), so infrastructure compose will be generated with nginx.');
|
|
357
|
+
}
|
|
264
358
|
else {
|
|
265
359
|
// Prompt for services (interactive mode)
|
|
266
360
|
if (!autoEnableNginx) {
|
|
267
361
|
log.info('BASE_PATH is empty, nginx reverse proxy is disabled.');
|
|
268
|
-
selectedInfraServices = await promptInfraServicesWithBasePath({
|
|
362
|
+
selectedInfraServices = await promptInfraServicesWithBasePath({
|
|
363
|
+
allowNginx: false,
|
|
364
|
+
});
|
|
269
365
|
}
|
|
270
366
|
else {
|
|
271
|
-
selectedInfraServices = await promptInfraServicesWithBasePath({
|
|
367
|
+
selectedInfraServices = await promptInfraServicesWithBasePath({
|
|
368
|
+
allowNginx: true,
|
|
369
|
+
defaultNginx: true,
|
|
370
|
+
});
|
|
272
371
|
}
|
|
273
372
|
}
|
|
274
|
-
if (
|
|
373
|
+
if (setupOptions.enableSsl && !selectedInfraServices.includes('nginx')) {
|
|
275
374
|
selectedInfraServices.push('nginx');
|
|
276
|
-
log.info('
|
|
375
|
+
log.info('SSL is enabled, so nginx was added automatically.');
|
|
277
376
|
}
|
|
278
|
-
|
|
377
|
+
const infraHasNginx = selectedInfraServices.includes('nginx');
|
|
378
|
+
await generateInfraCompose(targetDir, selectedInfraServices, {
|
|
379
|
+
includeSsl: setupOptions.enableSsl && infraHasNginx,
|
|
380
|
+
});
|
|
279
381
|
}
|
|
280
382
|
else {
|
|
281
383
|
log.info('Skipping infrastructure setup (use --infra to enable).');
|
|
282
384
|
}
|
|
283
385
|
// Step 3: Always write app docker-compose
|
|
284
386
|
log.step('Step 3/6 — Application Compose Setup');
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}
|
|
289
|
-
await writeAppCompose(targetDir, { includeNginx: includeNginxInAppCompose });
|
|
387
|
+
await writeAppCompose(targetDir, {
|
|
388
|
+
includeNginx: false,
|
|
389
|
+
includeSsl: false,
|
|
390
|
+
});
|
|
290
391
|
// Step 4: Environment configuration
|
|
291
392
|
log.step('Step 4/6 — Environment Configuration');
|
|
292
393
|
const envMode = setupOptions.envMode;
|
|
@@ -304,9 +405,12 @@ async function main() {
|
|
|
304
405
|
'Please update NS_API_KEY, AUTH_SECRET, and ADMIN_PASSWORD before deploying to production!');
|
|
305
406
|
}
|
|
306
407
|
// Generate nginx.conf whenever nginx is active in either compose file
|
|
307
|
-
const nginxEnabled = selectedInfraServices.includes('nginx')
|
|
408
|
+
const nginxEnabled = selectedInfraServices.includes('nginx');
|
|
308
409
|
if (nginxEnabled) {
|
|
309
|
-
await generateNginxConfig(targetDir, setupOptions.basePath
|
|
410
|
+
await generateNginxConfig(targetDir, setupOptions.basePath, {
|
|
411
|
+
enableSsl: setupOptions.enableSsl,
|
|
412
|
+
domain: setupOptions.sslDomain,
|
|
413
|
+
});
|
|
310
414
|
}
|
|
311
415
|
// Step 5: Plugin installation
|
|
312
416
|
log.step('Step 5/6 — Plugin Installation');
|
|
@@ -354,22 +458,36 @@ async function main() {
|
|
|
354
458
|
}
|
|
355
459
|
if (shouldStart) {
|
|
356
460
|
// Start infra services first (if --infra was used)
|
|
357
|
-
if (
|
|
461
|
+
if (selectedInfraServices.length > 0) {
|
|
358
462
|
await startInfraServices(targetDir);
|
|
359
463
|
await waitForInfraHealth(targetDir);
|
|
360
464
|
}
|
|
361
465
|
// Start app services
|
|
362
466
|
await startAppServices(targetDir);
|
|
467
|
+
if (setupOptions.enableSsl && setupOptions.sslDomain && setupOptions.sslEmail) {
|
|
468
|
+
await setupSslCertificates(targetDir, {
|
|
469
|
+
composeFile: 'docker-compose.infra.yaml',
|
|
470
|
+
domain: setupOptions.sslDomain,
|
|
471
|
+
email: setupOptions.sslEmail,
|
|
472
|
+
});
|
|
473
|
+
}
|
|
363
474
|
// Display service status
|
|
364
475
|
await displayServiceStatus();
|
|
365
476
|
}
|
|
366
477
|
else {
|
|
367
478
|
log.info('Services not started. You can start them later with:');
|
|
368
479
|
const commands = [];
|
|
369
|
-
if (
|
|
370
|
-
commands.push('docker
|
|
480
|
+
if (selectedInfraServices.length > 0) {
|
|
481
|
+
commands.push('docker compose -f docker-compose.infra.yaml up -d');
|
|
482
|
+
}
|
|
483
|
+
commands.push('docker compose up -d');
|
|
484
|
+
if (setupOptions.enableSsl && setupOptions.sslDomain && setupOptions.sslEmail) {
|
|
485
|
+
commands.push(...getSslManualCommands({
|
|
486
|
+
composeFile: 'docker-compose.infra.yaml',
|
|
487
|
+
domain: setupOptions.sslDomain,
|
|
488
|
+
email: setupOptions.sslEmail,
|
|
489
|
+
}));
|
|
371
490
|
}
|
|
372
|
-
commands.push('docker-compose up -d');
|
|
373
491
|
printCommandHints('Manual startup commands', commands);
|
|
374
492
|
}
|
|
375
493
|
// Final success message
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/infra.d.ts
CHANGED
|
@@ -11,24 +11,33 @@ export declare function promptInfraServices(): Promise<string[]>;
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function promptInfraServicesWithBasePath(options: {
|
|
13
13
|
allowNginx: boolean;
|
|
14
|
+
defaultNginx?: boolean;
|
|
14
15
|
}): Promise<string[]>;
|
|
15
16
|
/**
|
|
16
17
|
* Generate and write docker-compose.infra.yaml
|
|
17
18
|
*/
|
|
18
|
-
export declare function generateInfraCompose(targetDir: string, selectedServices: string[]
|
|
19
|
+
export declare function generateInfraCompose(targetDir: string, selectedServices: string[], options?: {
|
|
20
|
+
includeSsl?: boolean;
|
|
21
|
+
}): Promise<void>;
|
|
19
22
|
/**
|
|
20
23
|
* Build app docker-compose content.
|
|
21
24
|
* Optionally inject nginx reverse-proxy service before the volumes section.
|
|
22
25
|
*/
|
|
23
|
-
export declare function buildAppComposeContent(includeNginx: boolean
|
|
26
|
+
export declare function buildAppComposeContent(includeNginx: boolean, options?: {
|
|
27
|
+
includeSsl?: boolean;
|
|
28
|
+
}): string;
|
|
24
29
|
/**
|
|
25
30
|
* Write app docker-compose.yaml
|
|
26
31
|
*/
|
|
27
32
|
export declare function writeAppCompose(targetDir: string, options?: {
|
|
28
33
|
includeNginx?: boolean;
|
|
34
|
+
includeSsl?: boolean;
|
|
29
35
|
}): Promise<void>;
|
|
30
36
|
/**
|
|
31
37
|
* Generate nginx.conf based on basePath configuration
|
|
32
38
|
*/
|
|
33
|
-
export declare function generateNginxConfig(targetDir: string, basePath: string
|
|
39
|
+
export declare function generateNginxConfig(targetDir: string, basePath: string, options?: {
|
|
40
|
+
enableSsl?: boolean;
|
|
41
|
+
domain?: string;
|
|
42
|
+
}): Promise<void>;
|
|
34
43
|
//# sourceMappingURL=infra.d.ts.map
|
package/dist/infra.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infra.d.ts","sourceRoot":"","sources":["../src/infra.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"infra.d.ts","sourceRoot":"","sources":["../src/infra.ts"],"names":[],"mappings":"AAwBA;;;;;GAKG;AACH,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE7D;AAED;;;GAGG;AACH,wBAAsB,+BAA+B,CAAC,OAAO,EAAE;IAC3D,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAkCpB;AAoND;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EAAE,EAC1B,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,OAAO,CAAC,IAAI,CAAC,CAWf;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAClC,YAAY,EAAE,OAAO,EACrB,OAAO,GAAE;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GACvC,MAAM,CA0BR;AAED;;GAEG;AACH,wBAAsB,eAAe,CACjC,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/D,OAAO,CAAC,IAAI,CAAC,CASf;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACrC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GACvD,OAAO,CAAC,IAAI,CAAC,CAqIf"}
|