Commit Graph

8587 Commits

Author SHA1 Message Date
Sameer Naik a38cd88a63 `chown` volumes at the very beginning of initialization
chown'ing the `conf/`, `data/` and `logs/` volumes at the begining of
the initialization ensures that no permission issues are encountered
during initialization.
2016-01-12 20:00:44 +05:30
Sameer Naik 4ad0ff2fe9 avoid duplicate entries in `postgresql.conf` 2016-01-12 12:38:25 +05:30
Sameer Naik 319b761df1 updated `sed` substitutions to be resilient to whilespaces 2016-01-12 12:23:34 +05:30
Sameer Naik a846e51016 tests: make `sed` a little resilient to whitespaces 2015-11-28 11:20:26 +05:30
Sameer Naik 91649411a3 tests: Configuration changes are preserved after deletion 2015-11-27 22:17:56 +05:30
Sameer Naik f0b47b17e9 bump version 9.4.5-2-r01 2015-11-25 14:41:57 +05:30
Sameer Naik 7e92fc8998 update tests submodule 2015-11-25 14:32:54 +05:30
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