@verdnatura/myt 1.6.0 → 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,12 +109,11 @@ 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
117
  detach: true
117
118
  });
118
119
  const ct = await docker.run(opts.code, null, runOptions);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verdnatura/myt",
3
- "version": "1.6.0",
3
+ "version": "1.6.1",
4
4
  "author": "Verdnatura Levante SL",
5
5
  "description": "MySQL version control",
6
6
  "license": "GPL-3.0",
@@ -1,15 +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
14
  COPY fixtures.*.sql dump/
14
-
15
- USER mysql
@@ -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