@nitwel/sandbox 1.0.2 → 1.0.3
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/dist/docker/postgres.yml +0 -1
- package/dist/steps/docker.js +13 -2
- package/package.json +2 -2
- package/dist/cockroachdb.yml +0 -14
- package/dist/maildev.yml +0 -12
- package/dist/maria.yml +0 -16
- package/dist/minio.yml +0 -24
- package/dist/mssql.yml +0 -28
- package/dist/mysql.yml +0 -15
- package/dist/oracle.yml +0 -16
- package/dist/postgres.yml +0 -14
- package/dist/redis.yml +0 -5
- package/dist/saml.yml +0 -10
- package/docker/cockroachdb.yml +0 -14
- package/docker/maildev.yml +0 -12
- package/docker/maria.yml +0 -16
- package/docker/minio.yml +0 -24
- package/docker/mssql.yml +0 -28
- package/docker/mysql.yml +0 -15
- package/docker/oracle.yml +0 -16
- package/docker/postgres.yml +0 -14
- package/docker/redis.yml +0 -5
- package/docker/saml.yml +0 -10
package/dist/docker/postgres.yml
CHANGED
package/dist/steps/docker.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { spawn } from 'child_process';
|
|
2
|
-
import { join } from 'path';
|
|
2
|
+
import { dirname, join } from 'path';
|
|
3
3
|
import {} from '../config.js';
|
|
4
4
|
import {} from '../logger.js';
|
|
5
5
|
import chalk from 'chalk';
|
|
6
|
+
import { fileURLToPath } from 'url';
|
|
7
|
+
const fileName = fileURLToPath(import.meta.url);
|
|
8
|
+
const folderName = dirname(fileName);
|
|
6
9
|
export async function dockerUp(database, opts, env, logger) {
|
|
7
10
|
const start = performance.now();
|
|
8
11
|
logger.info('Starting up Docker containers');
|
|
@@ -15,7 +18,15 @@ export async function dockerUp(database, opts, env, logger) {
|
|
|
15
18
|
const files = database === 'sqlite' ? extrasList : [database, ...extrasList];
|
|
16
19
|
if (files.length === 0)
|
|
17
20
|
return;
|
|
18
|
-
const docker = spawn('docker', [
|
|
21
|
+
const docker = spawn('docker', [
|
|
22
|
+
'compose',
|
|
23
|
+
'-p',
|
|
24
|
+
project,
|
|
25
|
+
...files.flatMap((file) => ['-f', join(folderName, '..', 'docker', `${file}.yml`)]),
|
|
26
|
+
'up',
|
|
27
|
+
'-d',
|
|
28
|
+
'--wait',
|
|
29
|
+
], {
|
|
19
30
|
env: {
|
|
20
31
|
...env,
|
|
21
32
|
COMPOSE_STATUS_STDOUT: '1', //Ref: https://github.com/docker/compose/issues/7346
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nitwel/sandbox",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Toolkit for spinning up directus test environments",
|
|
5
5
|
"homepage": "https://directus.io",
|
|
6
6
|
"exports": {
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
},
|
|
51
51
|
"scripts": {
|
|
52
52
|
"cli": "tsx src/cli.ts",
|
|
53
|
-
"build": "tsc && copyfiles docker/*.yml dist -u 1",
|
|
53
|
+
"build": "tsc && copyfiles src/docker/*.yml dist -u 1",
|
|
54
54
|
"dev": "tsc -w ",
|
|
55
55
|
"build:tests": "tsdown src/index.ts --format=esm",
|
|
56
56
|
"docs": "typedoc --plugin typedoc-plugin-markdown --out ./docs",
|
package/dist/cockroachdb.yml
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
cockroachdb:
|
|
3
|
-
# change in the YY.R component denotes a major release
|
|
4
|
-
image: cockroachdb/cockroach:${DB_VERSION}
|
|
5
|
-
tmpfs: /cockroach/cockroach-data
|
|
6
|
-
command: start-single-node --cluster-name=example-single-node --insecure
|
|
7
|
-
ports:
|
|
8
|
-
- ${DB_PORT}:26257
|
|
9
|
-
- ${COCKROACH_UI}:8080
|
|
10
|
-
healthcheck:
|
|
11
|
-
test: ['CMD', 'curl', '--fail', 'http://localhost:8080/health']
|
|
12
|
-
interval: 5s
|
|
13
|
-
timeout: 5s
|
|
14
|
-
retries: 10
|
package/dist/maildev.yml
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
maildev:
|
|
3
|
-
image: maildev/maildev:latest
|
|
4
|
-
ports:
|
|
5
|
-
- '${MAILDEV_WEBUI}:1080' # Web interface
|
|
6
|
-
- '${EMAIL_SMTP_PORT}:1025' # SMTP server
|
|
7
|
-
restart: always
|
|
8
|
-
environment:
|
|
9
|
-
- MAILDEV_WEB_PORT=1080
|
|
10
|
-
- MAILDEV_SMTP_PORT=1025
|
|
11
|
-
- MAILDEV_INCOMING_USER=${EMAIL_SMTP_USER}
|
|
12
|
-
- MAILDEV_INCOMING_PASS=${EMAIL_SMTP_PASSWORD}
|
package/dist/maria.yml
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
maria:
|
|
3
|
-
image: mariadb:${DB_VERSION}
|
|
4
|
-
tmpfs: /var/lib/mysql
|
|
5
|
-
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
|
6
|
-
environment:
|
|
7
|
-
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
|
|
8
|
-
MYSQL_USER: ${DB_USER}
|
|
9
|
-
MYSQL_DATABASE: ${DB_DATABASE}
|
|
10
|
-
ports:
|
|
11
|
-
- ${DB_PORT}:3306
|
|
12
|
-
healthcheck:
|
|
13
|
-
test: ['CMD', 'healthcheck.sh', '--connect', '--innodb_initialized']
|
|
14
|
-
interval: 5s
|
|
15
|
-
timeout: 5s
|
|
16
|
-
retries: 10
|
package/dist/minio.yml
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
minio:
|
|
3
|
-
# should stay compatible via S3 driver
|
|
4
|
-
image: minio/minio
|
|
5
|
-
command: server /data/minio/ --console-address :9001
|
|
6
|
-
ports:
|
|
7
|
-
- ${MINIO_PORT}:9000
|
|
8
|
-
- 8882:9001
|
|
9
|
-
environment:
|
|
10
|
-
MINIO_ROOT_USER: directus
|
|
11
|
-
MINIO_ROOT_PASSWORD: miniosecret
|
|
12
|
-
|
|
13
|
-
minio-mc:
|
|
14
|
-
image: minio/mc
|
|
15
|
-
depends_on:
|
|
16
|
-
- minio
|
|
17
|
-
entrypoint: >
|
|
18
|
-
/bin/sh -c " until (/usr/bin/mc alias set directusminio http://minio:9000 directus miniosecret &&
|
|
19
|
-
/usr/bin/mc admin info directusminio > /dev/null 2>&1); do
|
|
20
|
-
echo 'Waiting for MinIO to be ready...';
|
|
21
|
-
sleep 1;
|
|
22
|
-
done; /usr/bin/mc mb directusminio/directus-blackbox-test; while true; do
|
|
23
|
-
sleep 3600;
|
|
24
|
-
done;"
|
package/dist/mssql.yml
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
mssql:
|
|
3
|
-
image: mcr.microsoft.com/mssql/server:${DB_VERSION}
|
|
4
|
-
tmpfs: /var/opt/mssql/data
|
|
5
|
-
environment:
|
|
6
|
-
- ACCEPT_EULA=Y
|
|
7
|
-
- MSSQL_SA_PASSWORD=${DB_PASSWORD}
|
|
8
|
-
- MSSQL_PID=Express
|
|
9
|
-
ports:
|
|
10
|
-
- ${DB_PORT}:1433
|
|
11
|
-
healthcheck:
|
|
12
|
-
test:
|
|
13
|
-
[
|
|
14
|
-
'CMD',
|
|
15
|
-
'/opt/mssql-tools18/bin/sqlcmd',
|
|
16
|
-
'-S',
|
|
17
|
-
'localhost',
|
|
18
|
-
'-U',
|
|
19
|
-
'sa',
|
|
20
|
-
'-P',
|
|
21
|
-
'${DB_PASSWORD}',
|
|
22
|
-
'-Q',
|
|
23
|
-
'SELECT 1',
|
|
24
|
-
'-No',
|
|
25
|
-
]
|
|
26
|
-
interval: 5s
|
|
27
|
-
timeout: 5s
|
|
28
|
-
retries: 10
|
package/dist/mysql.yml
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
mysql:
|
|
3
|
-
image: mysql:${DB_VERSION}
|
|
4
|
-
tmpfs: /var/lib/mysql
|
|
5
|
-
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
|
6
|
-
environment:
|
|
7
|
-
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
|
|
8
|
-
MYSQL_DATABASE: ${DB_DATABASE}
|
|
9
|
-
ports:
|
|
10
|
-
- ${DB_PORT}:3306
|
|
11
|
-
healthcheck:
|
|
12
|
-
test: ['CMD', 'mysql', '--user=root', '--password=${DB_PASSWORD}', '--execute=SELECT 1;']
|
|
13
|
-
interval: 5s
|
|
14
|
-
timeout: 5s
|
|
15
|
-
retries: 10
|
package/dist/oracle.yml
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
oracle:
|
|
3
|
-
image: gvenzl/oracle-xe:${DB_VERSION}
|
|
4
|
-
ports:
|
|
5
|
-
- ${DB_PORT}:1521
|
|
6
|
-
environment:
|
|
7
|
-
- OPATCH_JRE_MEMORY_OPTIONS=-Xms128m -Xmx256m -XX:PermSize=16m -XX:MaxPermSize=32m -Xss1m
|
|
8
|
-
- ORACLE_ALLOW_REMOTE=true
|
|
9
|
-
- ORACLE_RANDOM_PASSWORD=yes
|
|
10
|
-
- APP_USER=${DB_USER}
|
|
11
|
-
- APP_USER_PASSWORD=${DB_PASSWORD}
|
|
12
|
-
healthcheck:
|
|
13
|
-
test: healthcheck.sh
|
|
14
|
-
interval: 5s
|
|
15
|
-
timeout: 5s
|
|
16
|
-
retries: 10
|
package/dist/postgres.yml
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
postgres:
|
|
3
|
-
image: postgis/postgis:${DB_VERSION}
|
|
4
|
-
environment:
|
|
5
|
-
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
|
6
|
-
POSTGRES_USER: ${DB_USER}
|
|
7
|
-
POSTGRES_DB: ${DB_DATABASE}
|
|
8
|
-
ports:
|
|
9
|
-
- ${DB_PORT}:5432
|
|
10
|
-
healthcheck:
|
|
11
|
-
test: ['CMD-SHELL', 'pg_isready -U ${DB_USER} -d ${DB_DATABASE}']
|
|
12
|
-
interval: 5s
|
|
13
|
-
timeout: 5s
|
|
14
|
-
retries: 10
|
package/dist/redis.yml
DELETED
package/dist/saml.yml
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
saml:
|
|
3
|
-
image: kristophjunge/test-saml-idp
|
|
4
|
-
ports:
|
|
5
|
-
- ${SAML_PORT}:8080
|
|
6
|
-
environment:
|
|
7
|
-
- SIMPLESAMLPHP_SP_ENTITY_ID=saml-test
|
|
8
|
-
- SIMPLESAMLPHP_SP_ASSERTION_CONSUMER_SERVICE=http://127.0.0.1:8080/auth/login/saml/acs
|
|
9
|
-
extra_hosts:
|
|
10
|
-
- 'host.docker.internal:host-gateway'
|
package/docker/cockroachdb.yml
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
cockroachdb:
|
|
3
|
-
# change in the YY.R component denotes a major release
|
|
4
|
-
image: cockroachdb/cockroach:${DB_VERSION}
|
|
5
|
-
tmpfs: /cockroach/cockroach-data
|
|
6
|
-
command: start-single-node --cluster-name=example-single-node --insecure
|
|
7
|
-
ports:
|
|
8
|
-
- ${DB_PORT}:26257
|
|
9
|
-
- ${COCKROACH_UI}:8080
|
|
10
|
-
healthcheck:
|
|
11
|
-
test: ['CMD', 'curl', '--fail', 'http://localhost:8080/health']
|
|
12
|
-
interval: 5s
|
|
13
|
-
timeout: 5s
|
|
14
|
-
retries: 10
|
package/docker/maildev.yml
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
maildev:
|
|
3
|
-
image: maildev/maildev:latest
|
|
4
|
-
ports:
|
|
5
|
-
- '${MAILDEV_WEBUI}:1080' # Web interface
|
|
6
|
-
- '${EMAIL_SMTP_PORT}:1025' # SMTP server
|
|
7
|
-
restart: always
|
|
8
|
-
environment:
|
|
9
|
-
- MAILDEV_WEB_PORT=1080
|
|
10
|
-
- MAILDEV_SMTP_PORT=1025
|
|
11
|
-
- MAILDEV_INCOMING_USER=${EMAIL_SMTP_USER}
|
|
12
|
-
- MAILDEV_INCOMING_PASS=${EMAIL_SMTP_PASSWORD}
|
package/docker/maria.yml
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
maria:
|
|
3
|
-
image: mariadb:${DB_VERSION}
|
|
4
|
-
tmpfs: /var/lib/mysql
|
|
5
|
-
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
|
6
|
-
environment:
|
|
7
|
-
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
|
|
8
|
-
MYSQL_USER: ${DB_USER}
|
|
9
|
-
MYSQL_DATABASE: ${DB_DATABASE}
|
|
10
|
-
ports:
|
|
11
|
-
- ${DB_PORT}:3306
|
|
12
|
-
healthcheck:
|
|
13
|
-
test: ['CMD', 'healthcheck.sh', '--connect', '--innodb_initialized']
|
|
14
|
-
interval: 5s
|
|
15
|
-
timeout: 5s
|
|
16
|
-
retries: 10
|
package/docker/minio.yml
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
minio:
|
|
3
|
-
# should stay compatible via S3 driver
|
|
4
|
-
image: minio/minio
|
|
5
|
-
command: server /data/minio/ --console-address :9001
|
|
6
|
-
ports:
|
|
7
|
-
- ${MINIO_PORT}:9000
|
|
8
|
-
- 8882:9001
|
|
9
|
-
environment:
|
|
10
|
-
MINIO_ROOT_USER: directus
|
|
11
|
-
MINIO_ROOT_PASSWORD: miniosecret
|
|
12
|
-
|
|
13
|
-
minio-mc:
|
|
14
|
-
image: minio/mc
|
|
15
|
-
depends_on:
|
|
16
|
-
- minio
|
|
17
|
-
entrypoint: >
|
|
18
|
-
/bin/sh -c " until (/usr/bin/mc alias set directusminio http://minio:9000 directus miniosecret &&
|
|
19
|
-
/usr/bin/mc admin info directusminio > /dev/null 2>&1); do
|
|
20
|
-
echo 'Waiting for MinIO to be ready...';
|
|
21
|
-
sleep 1;
|
|
22
|
-
done; /usr/bin/mc mb directusminio/directus-blackbox-test; while true; do
|
|
23
|
-
sleep 3600;
|
|
24
|
-
done;"
|
package/docker/mssql.yml
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
mssql:
|
|
3
|
-
image: mcr.microsoft.com/mssql/server:${DB_VERSION}
|
|
4
|
-
tmpfs: /var/opt/mssql/data
|
|
5
|
-
environment:
|
|
6
|
-
- ACCEPT_EULA=Y
|
|
7
|
-
- MSSQL_SA_PASSWORD=${DB_PASSWORD}
|
|
8
|
-
- MSSQL_PID=Express
|
|
9
|
-
ports:
|
|
10
|
-
- ${DB_PORT}:1433
|
|
11
|
-
healthcheck:
|
|
12
|
-
test:
|
|
13
|
-
[
|
|
14
|
-
'CMD',
|
|
15
|
-
'/opt/mssql-tools18/bin/sqlcmd',
|
|
16
|
-
'-S',
|
|
17
|
-
'localhost',
|
|
18
|
-
'-U',
|
|
19
|
-
'sa',
|
|
20
|
-
'-P',
|
|
21
|
-
'${DB_PASSWORD}',
|
|
22
|
-
'-Q',
|
|
23
|
-
'SELECT 1',
|
|
24
|
-
'-No',
|
|
25
|
-
]
|
|
26
|
-
interval: 5s
|
|
27
|
-
timeout: 5s
|
|
28
|
-
retries: 10
|
package/docker/mysql.yml
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
mysql:
|
|
3
|
-
image: mysql:${DB_VERSION}
|
|
4
|
-
tmpfs: /var/lib/mysql
|
|
5
|
-
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
|
|
6
|
-
environment:
|
|
7
|
-
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
|
|
8
|
-
MYSQL_DATABASE: ${DB_DATABASE}
|
|
9
|
-
ports:
|
|
10
|
-
- ${DB_PORT}:3306
|
|
11
|
-
healthcheck:
|
|
12
|
-
test: ['CMD', 'mysql', '--user=root', '--password=${DB_PASSWORD}', '--execute=SELECT 1;']
|
|
13
|
-
interval: 5s
|
|
14
|
-
timeout: 5s
|
|
15
|
-
retries: 10
|
package/docker/oracle.yml
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
oracle:
|
|
3
|
-
image: gvenzl/oracle-xe:${DB_VERSION}
|
|
4
|
-
ports:
|
|
5
|
-
- ${DB_PORT}:1521
|
|
6
|
-
environment:
|
|
7
|
-
- OPATCH_JRE_MEMORY_OPTIONS=-Xms128m -Xmx256m -XX:PermSize=16m -XX:MaxPermSize=32m -Xss1m
|
|
8
|
-
- ORACLE_ALLOW_REMOTE=true
|
|
9
|
-
- ORACLE_RANDOM_PASSWORD=yes
|
|
10
|
-
- APP_USER=${DB_USER}
|
|
11
|
-
- APP_USER_PASSWORD=${DB_PASSWORD}
|
|
12
|
-
healthcheck:
|
|
13
|
-
test: healthcheck.sh
|
|
14
|
-
interval: 5s
|
|
15
|
-
timeout: 5s
|
|
16
|
-
retries: 10
|
package/docker/postgres.yml
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
postgres:
|
|
3
|
-
image: postgis/postgis:${DB_VERSION}
|
|
4
|
-
environment:
|
|
5
|
-
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
|
6
|
-
POSTGRES_USER: ${DB_USER}
|
|
7
|
-
POSTGRES_DB: ${DB_DATABASE}
|
|
8
|
-
ports:
|
|
9
|
-
- ${DB_PORT}:5432
|
|
10
|
-
healthcheck:
|
|
11
|
-
test: ['CMD-SHELL', 'pg_isready -U ${DB_USER} -d ${DB_DATABASE}']
|
|
12
|
-
interval: 5s
|
|
13
|
-
timeout: 5s
|
|
14
|
-
retries: 10
|
package/docker/redis.yml
DELETED
package/docker/saml.yml
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
saml:
|
|
3
|
-
image: kristophjunge/test-saml-idp
|
|
4
|
-
ports:
|
|
5
|
-
- ${SAML_PORT}:8080
|
|
6
|
-
environment:
|
|
7
|
-
- SIMPLESAMLPHP_SP_ENTITY_ID=saml-test
|
|
8
|
-
- SIMPLESAMLPHP_SP_ASSERTION_CONSUMER_SERVICE=http://127.0.0.1:8080/auth/login/saml/acs
|
|
9
|
-
extra_hosts:
|
|
10
|
-
- 'host.docker.internal:host-gateway'
|