@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.
@@ -1,7 +1,6 @@
1
1
  services:
2
2
  postgres:
3
3
  image: postgis/postgis:${DB_VERSION}
4
- tmpfs: /var/lib/postgresql/data
5
4
  environment:
6
5
  POSTGRES_PASSWORD: ${DB_PASSWORD}
7
6
  POSTGRES_USER: ${DB_USER}
@@ -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', ['compose', '-p', project, ...files.flatMap((file) => ['-f', join('docker', `${file}.yml`)]), 'up', '-d', '--wait'], {
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.2",
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",
@@ -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
@@ -1,5 +0,0 @@
1
- services:
2
- redis:
3
- image: redis:6-alpine
4
- ports:
5
- - ${REDIS_PORT}:6379
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'
@@ -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
@@ -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
@@ -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
@@ -1,5 +0,0 @@
1
- services:
2
- redis:
3
- image: redis:6-alpine
4
- ports:
5
- - ${REDIS_PORT}:6379
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'