Commit Graph

8530 Commits

Author SHA1 Message Date
Sameer Naik 0d475b7b6f Quote user and database parameters in SQL statements
This ensures there are no problems creating user name "user" and also
allows the use of `-` characters in user names and database names.
2015-11-23 12:34:46 +05:30
Sameer Naik 27ac919362 Bump version 9.4.5-2 2015-11-17 12:04:17 +05:30
Sameer Naik b0b5ffc9c4 fix help.yaml spec 2015-11-17 11:47:45 +05:30
Sameer Naik 2010b7f0e5 tests: helpers have been moved to bitnami/bitnami-docker-tests repo 2015-11-10 11:18:56 +05:30
Sameer Naik 8acba21c00 docker_helper: disable argument passing to `docker inspect`
passing arguments to docker inspect requires docker >= 1.9.0
2015-11-09 20:48:59 +05:30
Sameer Naik 31e1959ea5 tests: list volume contents in separate commands 2015-11-09 19:14:01 +05:30
Sameer Naik 5e62247091 tests: list only volume mounts in "All the volumes exposed" test 2015-11-09 19:13:09 +05:30
Sameer Naik 0904e70040 tests: make use of `container_link_and_run_command` 2015-11-09 19:12:29 +05:30
Sameer Naik 55c53cd54c docker_helper: added utility `curl_client` function 2015-11-09 19:12:04 +05:30
Sameer Naik 4c8b596095 docker_helper: added `container_link_and_run_command_DOCKER_ARGS` allowing users to specify docker env parameters in `container_link_and_run_command` 2015-11-09 19:11:10 +05:30
Sameer Naik 2747d1ee29 docker_helper: added `container_link_and_run_command` function
`container_link_and_run_command` starts a new container which is
linked to another container with the link alias $APP_NAME and
execute a command in the newly created container.
2015-11-09 19:06:24 +05:30
Sameer Naik 44ca51ce43 docker_helper: added `VOLUMES` script variable allowing users to specify VOLUMES in the BATS tests script
VOLUMES is set to `$VOL_PREFIX/data:$VOL_PREFIX/conf:$VOL_PREFIX/logs`
by default. But some images may expose different paths. For example,
the tomcat image exposes `/app` and `$VOL_PREFIX/conf` and
`$VOL_PREFIX/logs` paths as volumes. The VOLUME variable allows us to
override the default volume paths with ones exposed by the image being
tested.
2015-11-09 18:52:03 +05:30
Sameer Naik fba7cd7228 docker_helper: added `APP_NAME` script variable, allowing other script variables to be assigned default values 2015-11-09 18:09:19 +05:30
Sameer Naik d0b884d8f3 docker_helper: allow arguments to be passes to `docker inspect` in `container_inspect` 2015-11-09 18:02:49 +05:30
Sameer Naik ad4cfbc71e docker_helper: stop and remove container in `container_remove` 2015-11-09 18:02:05 +05:30
Sameer Naik 14dec07d4a docker_helper: fix `if` conditions 2015-11-09 18:01:25 +05:30
Sameer Naik c6af4552f4 tests: renamed `create_container` function to `container_create` in docker_helper 2015-11-05 19:38:39 +05:30
Sameer Naik 5c77c7c716 tests: fix `container_exec` function 2015-11-05 14:18:49 +05:30
Sameer Naik 1f82dfa505 tests: added container_restart helper in docker_helper 2015-11-04 21:28:21 +05:30
Sameer Naik 2f958d17c5 tests: launch commands as entrypoint to speed up the tests
By executing the commands using `--entrypoint` lets us skip the s6
`/init` sequence allowing the tests to run quicker. The tests now
complete 3 minutes earlier.
2015-11-04 21:28:21 +05:30
Sameer Naik a812a01daa tests: move reusable bits into a `tests/docker_helper.bash` script 2015-11-04 21:28:21 +05:30
Sameer Naik 636341b2b9 tests: rewrite tests for better readability and maintainability
- Added utility functions for docker abstraction
 - Volumes can be mounted for every container instance as long as the
   name is unique when multiple containers are started
 - Cleanup of containers is performed once when the tests are started
   and in the teardown function
 - Full container environment is specified in each test for better
   readability
 - Comments are also added for better readability
2015-11-04 21:28:16 +05:30
Sameer Naik ac606e4a97 simplify `sed` substitution while configuring replication slave 2015-10-30 14:03:39 +05:30
Sameer Naik 96b6acb06e tests: to avoid confusion always specify the replication parameters on the slave instead of fetching from the master 2015-10-29 23:10:27 +05:30
Sameer Naik c0f09c83b8 tests: Replication slave can be triggered to act as the master 2015-10-29 23:08:05 +05:30
Sameer Naik e6445f27a3 tests: make use of `cleanup_running_containers` 2015-10-29 23:05:59 +05:30
Sameer Naik c842be78a6 support reconfiguration of slave as master using a trigger file 2015-10-29 20:01:56 +05:30
Sameer Naik 4dc45c9da8 updated help text 2015-10-29 20:01:47 +05:30
Sameer Naik a5705f903b updated README 2015-10-29 13:16:08 +05:30
Sameer Naik cd648b8348 tests: Replication status is preserved after deletion 2015-10-29 12:49:05 +05:30
Sameer Naik 6fbfe34623 tests: Slave synchronizes with the master (delayed start) 2015-10-29 12:49:05 +05:30
Sameer Naik 19b9e10e34 tests: Replication slave can fetch replication parameters from link alias "master" 2015-10-29 12:49:05 +05:30
Sameer Naik eb26859c84 tests: Can't setup replication slave without replication password 2015-10-29 12:49:05 +05:30
Sameer Naik 49e6f3c4af tests: Can't setup replication slave without replication user 2015-10-29 12:49:05 +05:30
Sameer Naik bba7b9f682 tests: Can't setup replication slave without master host 2015-10-29 12:49:05 +05:30
Sameer Naik 8254d91832 tests: Can't setup replication master without replication user password 2015-10-29 12:49:05 +05:30
Sameer Naik d1a2511783 tests: Can't setup replication master without replication user 2015-10-29 12:49:05 +05:30
Sameer Naik 9486d55c54 tests: Master database is replicated on slave 2015-10-29 12:49:05 +05:30
Sameer Naik 75446cf3d9 master user and password is not required to set up a slave replication 2015-10-29 12:49:05 +05:30
Sameer Naik 48b96baf22 do not print credentials when configured as as replication slave 2015-10-29 12:49:05 +05:30
Sameer Naik e5483dce5a take ownership of `/conf` at every start 2015-10-29 12:49:05 +05:30
Sameer Naik d75474f195 configure slave connection info at every startup 2015-10-29 12:49:05 +05:30
Sameer Naik e9afd6a54a add support for streaming replication 2015-10-29 12:49:00 +05:30
Sameer Naik 189a7e92a8 correctly apply ownership to `/data` and `/logs` volumes
`chown` does not seem to follow symlinks.
2015-10-27 14:49:06 +05:30
Sameer Naik b30e1202c7 use the `entrypoint.sh` script from the base image 2015-10-04 14:33:55 +05:30
Sameer Naik 1570f55638 the base image prints the welcome page by default 2015-10-04 14:33:44 +05:30
Sameer Naik 0612aebc66 replace use of `gosu` with `s6-setuidgid` 2015-10-04 14:32:45 +05:30
Sameer Naik 32c3bd6a3e added circuit breaker logic for frequent and repeated failures 2015-10-04 14:32:45 +05:30
Sameer Naik 0b6a75cb52 do not start postgres and logging services if user specifies a command 2015-10-04 14:32:45 +05:30
Sameer Naik 9f99f0a37a configure postgresql as a s6 service 2015-10-04 14:32:40 +05:30
Sameer Naik 29f5f59b3f created `rootfs/` directory structure 2015-10-01 20:59:25 +05:30
Sameer Naik 2e31136d83 fix `installer.run.sha256` with busybox `sha256sum` applet 2015-09-15 15:04:56 +05:30
Sameer Naik 17aa4e849b help.txt generated with help_generation tool 2015-08-15 11:56:58 +05:30
Sameer Naik c9cb4a8385 tests: identation fixes 2015-08-15 10:52:03 +05:30
Sameer Naik 088b9a6c6e remove tty requirement for tests in CI 2015-08-15 09:34:11 +05:30
Sameer Naik b596ffdb63 remove the config files generated by `initdb` at database initialization 2015-08-12 11:53:04 +05:30
Sameer Naik 2614cb8be9 populate configuration templates in `conf.defaults` at `post-install` 2015-08-12 11:52:29 +05:30
Sameer Naik 20327c7452 do not move `postgresql.auto.conf` to `conf` volume 2015-08-12 11:49:34 +05:30
Sameer Naik a72915f127 do not create symlinks to config files 2015-08-12 11:47:55 +05:30
Sameer Naik 157a3f91ca fix shebang 2015-08-12 11:45:10 +05:30
Sameer Naik 73b23d08af readme: cleanups 2015-08-11 12:49:04 +05:30
Sameer Naik 37bb30a457 added README 2015-08-11 12:47:27 +05:30
Sameer Naik 59725356e3 use path to `postgresql.conf` in `conf` volume in `PROGRAM_OPTIONS` 2015-08-11 12:33:43 +05:30
Sameer Naik 1eb940dad0 added `conf` volume 2015-08-10 23:42:16 +05:30
Sameer Naik 7f344811f2 fix typo 2015-08-10 23:28:41 +05:30
Sameer Naik f97638d156 tests: "Data gets generated in data and logs if bind mounted in the host" 2015-08-10 23:18:07 +05:30
Sameer Naik 9a8f8225e6 tests: "All the volumes exposed" 2015-08-10 23:15:22 +05:30
Sameer Naik d60f22808a tests: "If host mounted, password and settings are preserved after deletion" 2015-08-10 23:13:03 +05:30
Sameer Naik 574237beb5 tests: "User and password settings are preserved after restart" 2015-08-10 23:10:37 +05:30
Sameer Naik 44f7753886 "Create custom user and database with password" 2015-08-10 23:10:37 +05:30
Sameer Naik 199f410130 tests: "Can't create a custom user without database" 2015-08-10 23:10:37 +05:30
Sameer Naik 2f7811a1ef tests: "Custom database created" 2015-08-10 23:10:37 +05:30
Sameer Naik 3ee474a745 tests: "User postgres is superuser" 2015-08-10 23:10:37 +05:30
Sameer Naik 3bfc8feaf5 tests: "User postgres created with password" 2015-08-10 23:10:37 +05:30
Sameer Naik 7dfde6e416 tests: "Port 5432 exposed and accepting external connections" 2015-08-10 23:10:37 +05:30
Sameer Naik 132ba9bbf8 `chown` the `data` directory before calling `initdb`
since `initdb` is launched as the `postgres` user, we need to ensure
that the `data` directory is owned by the `postgres` user
2015-08-10 23:09:41 +05:30
Sameer Naik d22b84c38a do `export LD_LIBRARY_PATH` in the `postgres` command detection block 2015-08-10 22:42:10 +05:30
Sameer Naik 624abc2c5c tail postgresql logs 2015-08-10 14:40:54 +05:30
Sameer Naik 2a04c83d9c log `postgresql.log` in `logs` volume 2015-08-08 22:39:52 +05:30
Sameer Naik f7451f4319 initial creation 2015-08-08 22:39:48 +05:30