@simplens/onboard 1.0.5 → 1.0.6
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 +126 -18
- 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 +50 -0
- 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 +135 -17
- package/src/infra.ts +119 -23
- package/src/services.ts +72 -0
- 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":"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,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/F,kCAAkC;QAClC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAEzD,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,eAAe,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/C,eAAe,CAAC,iBAAiB,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAEtD,MAAM,MAAM,GAAG,MAAM,+BAA+B,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAE5E,sCAAsC;QACtC,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAQ,CAAC;QACzD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEtC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -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":"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"}
|
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,54 @@ 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
|
+
sslDomainValue = options.sslDomain.trim().toLowerCase();
|
|
260
|
+
}
|
|
261
|
+
else if (!isFullMode) {
|
|
262
|
+
const domainAnswer = await text({
|
|
263
|
+
message: 'Public domain to secure (example: app.example.com):',
|
|
264
|
+
validate: (value) => {
|
|
265
|
+
const validation = validatePublicDomain(value ?? '');
|
|
266
|
+
return validation === true ? undefined : validation;
|
|
267
|
+
},
|
|
268
|
+
withGuide: true,
|
|
269
|
+
});
|
|
270
|
+
handleCancel(domainAnswer);
|
|
271
|
+
sslDomainValue = domainAnswer.trim().toLowerCase();
|
|
272
|
+
}
|
|
273
|
+
if (typeof options.sslEmail === 'string') {
|
|
274
|
+
sslEmailValue = options.sslEmail.trim();
|
|
275
|
+
}
|
|
276
|
+
else if (!isFullMode) {
|
|
277
|
+
const emailAnswer = await text({
|
|
278
|
+
message: 'Email for Let\'s Encrypt registration:',
|
|
279
|
+
validate: (value) => {
|
|
280
|
+
const validation = validateEmailAddress(value ?? '');
|
|
281
|
+
return validation === true ? undefined : validation;
|
|
282
|
+
},
|
|
283
|
+
withGuide: true,
|
|
284
|
+
});
|
|
285
|
+
handleCancel(emailAnswer);
|
|
286
|
+
sslEmailValue = emailAnswer.trim();
|
|
287
|
+
}
|
|
288
|
+
}
|
|
214
289
|
return {
|
|
215
290
|
infra: infraValue,
|
|
216
291
|
infraServices: infraServices,
|
|
@@ -218,6 +293,9 @@ async function promptSetupOptions(options) {
|
|
|
218
293
|
targetDir: targetDirValue || process.cwd(),
|
|
219
294
|
basePath: basePathValue,
|
|
220
295
|
plugins: pluginsValue,
|
|
296
|
+
enableSsl: enableSslValue,
|
|
297
|
+
sslDomain: sslDomainValue,
|
|
298
|
+
sslEmail: sslEmailValue,
|
|
221
299
|
};
|
|
222
300
|
}
|
|
223
301
|
/**
|
|
@@ -247,6 +325,7 @@ async function main() {
|
|
|
247
325
|
// Get target directory
|
|
248
326
|
const targetDir = path.resolve(setupOptions.targetDir);
|
|
249
327
|
const autoEnableNginx = shouldAutoEnableNginx(setupOptions.basePath);
|
|
328
|
+
const nginxRequired = autoEnableNginx || setupOptions.enableSsl;
|
|
250
329
|
logDebug(`Resolved target directory: ${targetDir}`);
|
|
251
330
|
showSetupSummary(setupOptions, targetDir, autoEnableNginx);
|
|
252
331
|
// Step 1: Validate prerequisites
|
|
@@ -255,38 +334,50 @@ async function main() {
|
|
|
255
334
|
// Step 2: Infrastructure setup (if --infra flag is provided)
|
|
256
335
|
log.step('Step 2/6 — Infrastructure Setup');
|
|
257
336
|
let selectedInfraServices = [];
|
|
258
|
-
|
|
337
|
+
const shouldSetupInfra = setupOptions.infra || nginxRequired;
|
|
338
|
+
if (shouldSetupInfra) {
|
|
259
339
|
// Use pre-provided services from CLI, or prompt for them
|
|
260
|
-
if (setupOptions.infraServices.length > 0) {
|
|
340
|
+
if (setupOptions.infra && setupOptions.infraServices.length > 0) {
|
|
261
341
|
selectedInfraServices = setupOptions.infraServices;
|
|
262
342
|
log.info(`Using infrastructure services: ${selectedInfraServices.join(', ')}`);
|
|
263
343
|
}
|
|
344
|
+
else if (!setupOptions.infra && nginxRequired) {
|
|
345
|
+
selectedInfraServices = ['nginx'];
|
|
346
|
+
log.info('Nginx is required (BASE_PATH/SSL), so infrastructure compose will be generated with nginx.');
|
|
347
|
+
}
|
|
264
348
|
else {
|
|
265
349
|
// Prompt for services (interactive mode)
|
|
266
350
|
if (!autoEnableNginx) {
|
|
267
351
|
log.info('BASE_PATH is empty, nginx reverse proxy is disabled.');
|
|
268
|
-
selectedInfraServices = await promptInfraServicesWithBasePath({
|
|
352
|
+
selectedInfraServices = await promptInfraServicesWithBasePath({
|
|
353
|
+
allowNginx: false,
|
|
354
|
+
});
|
|
269
355
|
}
|
|
270
356
|
else {
|
|
271
|
-
selectedInfraServices = await promptInfraServicesWithBasePath({
|
|
357
|
+
selectedInfraServices = await promptInfraServicesWithBasePath({
|
|
358
|
+
allowNginx: true,
|
|
359
|
+
defaultNginx: true,
|
|
360
|
+
});
|
|
272
361
|
}
|
|
273
362
|
}
|
|
274
|
-
if (
|
|
363
|
+
if (setupOptions.enableSsl && !selectedInfraServices.includes('nginx')) {
|
|
275
364
|
selectedInfraServices.push('nginx');
|
|
276
|
-
log.info('
|
|
365
|
+
log.info('SSL is enabled, so nginx was added automatically.');
|
|
277
366
|
}
|
|
278
|
-
|
|
367
|
+
const infraHasNginx = selectedInfraServices.includes('nginx');
|
|
368
|
+
await generateInfraCompose(targetDir, selectedInfraServices, {
|
|
369
|
+
includeSsl: setupOptions.enableSsl && infraHasNginx,
|
|
370
|
+
});
|
|
279
371
|
}
|
|
280
372
|
else {
|
|
281
373
|
log.info('Skipping infrastructure setup (use --infra to enable).');
|
|
282
374
|
}
|
|
283
375
|
// Step 3: Always write app docker-compose
|
|
284
376
|
log.step('Step 3/6 — Application Compose Setup');
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}
|
|
289
|
-
await writeAppCompose(targetDir, { includeNginx: includeNginxInAppCompose });
|
|
377
|
+
await writeAppCompose(targetDir, {
|
|
378
|
+
includeNginx: false,
|
|
379
|
+
includeSsl: false,
|
|
380
|
+
});
|
|
290
381
|
// Step 4: Environment configuration
|
|
291
382
|
log.step('Step 4/6 — Environment Configuration');
|
|
292
383
|
const envMode = setupOptions.envMode;
|
|
@@ -304,9 +395,12 @@ async function main() {
|
|
|
304
395
|
'Please update NS_API_KEY, AUTH_SECRET, and ADMIN_PASSWORD before deploying to production!');
|
|
305
396
|
}
|
|
306
397
|
// Generate nginx.conf whenever nginx is active in either compose file
|
|
307
|
-
const nginxEnabled = selectedInfraServices.includes('nginx')
|
|
398
|
+
const nginxEnabled = selectedInfraServices.includes('nginx');
|
|
308
399
|
if (nginxEnabled) {
|
|
309
|
-
await generateNginxConfig(targetDir, setupOptions.basePath
|
|
400
|
+
await generateNginxConfig(targetDir, setupOptions.basePath, {
|
|
401
|
+
enableSsl: setupOptions.enableSsl,
|
|
402
|
+
domain: setupOptions.sslDomain,
|
|
403
|
+
});
|
|
310
404
|
}
|
|
311
405
|
// Step 5: Plugin installation
|
|
312
406
|
log.step('Step 5/6 — Plugin Installation');
|
|
@@ -354,22 +448,36 @@ async function main() {
|
|
|
354
448
|
}
|
|
355
449
|
if (shouldStart) {
|
|
356
450
|
// Start infra services first (if --infra was used)
|
|
357
|
-
if (
|
|
451
|
+
if (selectedInfraServices.length > 0) {
|
|
358
452
|
await startInfraServices(targetDir);
|
|
359
453
|
await waitForInfraHealth(targetDir);
|
|
360
454
|
}
|
|
361
455
|
// Start app services
|
|
362
456
|
await startAppServices(targetDir);
|
|
457
|
+
if (setupOptions.enableSsl && setupOptions.sslDomain && setupOptions.sslEmail) {
|
|
458
|
+
await setupSslCertificates(targetDir, {
|
|
459
|
+
composeFile: 'docker-compose.infra.yaml',
|
|
460
|
+
domain: setupOptions.sslDomain,
|
|
461
|
+
email: setupOptions.sslEmail,
|
|
462
|
+
});
|
|
463
|
+
}
|
|
363
464
|
// Display service status
|
|
364
465
|
await displayServiceStatus();
|
|
365
466
|
}
|
|
366
467
|
else {
|
|
367
468
|
log.info('Services not started. You can start them later with:');
|
|
368
469
|
const commands = [];
|
|
369
|
-
if (
|
|
470
|
+
if (selectedInfraServices.length > 0) {
|
|
370
471
|
commands.push('docker-compose -f docker-compose.infra.yaml up -d');
|
|
371
472
|
}
|
|
372
473
|
commands.push('docker-compose up -d');
|
|
474
|
+
if (setupOptions.enableSsl && setupOptions.sslDomain && setupOptions.sslEmail) {
|
|
475
|
+
commands.push(...getSslManualCommands({
|
|
476
|
+
composeFile: 'docker-compose.infra.yaml',
|
|
477
|
+
domain: setupOptions.sslDomain,
|
|
478
|
+
email: setupOptions.sslEmail,
|
|
479
|
+
}));
|
|
480
|
+
}
|
|
373
481
|
printCommandHints('Manual startup commands', commands);
|
|
374
482
|
}
|
|
375
483
|
// 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"}
|