@verdnatura/myt 1.5.34 → 1.6.1

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/myt-run.js CHANGED
@@ -19,7 +19,8 @@ class Run extends Command {
19
19
  params: {
20
20
  ci: 'Workaround for continuous integration system',
21
21
  network: 'Docker network to attach container to',
22
- random: 'Whether to use a random container name and port'
22
+ random: 'Whether to use a random container name and port',
23
+ tmpfs: 'Whether to use tmpfs mount for MySQL data'
23
24
  }
24
25
  };
25
26
 
@@ -27,7 +28,8 @@ class Run extends Command {
27
28
  alias: {
28
29
  ci: 'c',
29
30
  network: 'n',
30
- random: 'r'
31
+ random: 'r',
32
+ tmpfs: 'r'
31
33
  },
32
34
  boolean: [
33
35
  'ci',
@@ -107,14 +109,12 @@ class Run extends Command {
107
109
  }
108
110
 
109
111
  if (opts.network)
110
- Object.assign(runOptions, {network: opts.network});
111
-
112
- const runChown = process.platform != 'linux';
112
+ runOptions.network = opts.network;
113
+ if (opts.tmpfs)
114
+ runOptions.tmpfs = '/var/lib/mysql';
113
115
 
114
116
  Object.assign(runOptions, null, {
115
- env: `RUN_CHOWN=${runChown}`,
116
- detach: true,
117
- volume: `${this.opts.mytDir}:/workspace`
117
+ detach: true
118
118
  });
119
119
  const ct = await docker.run(opts.code, null, runOptions);
120
120
  const server = new Server(ct, dbConfig);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verdnatura/myt",
3
- "version": "1.5.34",
3
+ "version": "1.6.1",
4
4
  "author": "Verdnatura Levante SL",
5
5
  "description": "MySQL version control",
6
6
  "license": "GPL-3.0",
@@ -1,13 +1,14 @@
1
1
  FROM myt/server
2
2
 
3
- USER root
4
-
3
+ WORKDIR /workspace
5
4
  COPY .dump dump/.dump
6
5
  COPY dump.*.sql dump/
7
6
 
8
- RUN gosu mysql docker-init.sh
7
+ RUN mkdir -p /mysql-template \
8
+ && chown mysql:mysql /mysql-template \
9
+ && gosu mysql docker-init.sh
9
10
 
10
11
  RUN echo "[LOG] Import finished." \
11
- && rm -rf /workspace
12
+ && rm -rf dump
12
13
 
13
- USER mysql
14
+ COPY fixtures.*.sql dump/
@@ -1,13 +1,7 @@
1
1
  FROM myt/base
2
2
 
3
- USER root
4
3
  ENV MYSQL_ROOT_PASSWORD root
5
4
 
6
- RUN mkdir /mysql-data \
7
- && chown -R mysql:mysql /mysql-data
8
-
9
- WORKDIR /workspace
10
-
11
5
  COPY docker.cnf /etc/mysql/conf.d/
12
6
  COPY \
13
7
  docker-init.sh \
@@ -15,10 +9,7 @@ COPY \
15
9
  docker-start.sh \
16
10
  /usr/local/bin/
17
11
 
18
- USER mysql
19
-
20
12
  ENTRYPOINT ["docker-start.sh"]
21
-
22
13
  CMD ["mysqld"]
23
14
 
24
15
  HEALTHCHECK --interval=2s --timeout=10s --retries=200 \
@@ -1,15 +1,16 @@
1
1
  #!/bin/bash
2
+ set -e
2
3
 
3
4
  . /usr/local/bin/docker-entrypoint.sh
4
- CMD=mysqld
5
+ ARGS=(mysqld --datadir=/mysql-template)
5
6
 
6
- mysql_check_config "$CMD"
7
- docker_setup_env "$CMD"
7
+ mysql_check_config ${ARGS[@]}
8
+ docker_setup_env ${ARGS[@]}
8
9
  docker_create_db_directories
9
10
 
10
11
  docker_verify_minimum_env
11
- docker_init_database_dir "$CMD"
12
- docker_temp_server_start "$CMD"
12
+ docker_init_database_dir ${ARGS[@]}
13
+ docker_temp_server_start ${ARGS[@]}
13
14
  docker_setup_db
14
15
  docker_process_init_files /docker-entrypoint-initdb.d/*
15
16
 
@@ -1,10 +1,12 @@
1
1
  #!/bin/bash
2
+ set -e
2
3
 
3
4
  # XXX: Workaround to avoid OverlayFS bug on MacOs
4
5
  # https://docs.docker.com/storage/storagedriver/overlayfs-driver/#limitations-on-overlayfs-compatibility
5
6
 
6
- if [ "$RUN_CHOWN" = "true" ]; then
7
- chown -R mysql:mysql /mysql-data
7
+ if [ ! -d /var/lib/mysql/mysql ]; then
8
+ chown mysql:mysql /var/lib/mysql
9
+ cp -a /mysql-template/. /var/lib/mysql
8
10
  fi
9
11
 
10
- exec "$@"
12
+ exec gosu mysql "$@"
package/server/docker.cnf CHANGED
@@ -3,7 +3,6 @@ innodb_log_file_size = 4M
3
3
  innodb_autoextend_increment = 4
4
4
  innodb_page_size = 16K
5
5
  log_bin_trust_function_creators = ON
6
- datadir = /mysql-data
7
6
  sql_mode = NO_ENGINE_SUBSTITUTION
8
7
  table_definition_cache = 1024
9
8
  skip-log-bin