Commit Graph

8587 Commits

Author SHA1 Message Date
Sameer Naik 57b4613b1f replace development build with a cache build 2016-10-13 11:25:30 +05:30
Sameer Naik 5daed0fd62 use CircleCI to build and deploy releases on multiple targets 2016-10-12 23:04:00 +05:30
tompizmor a44ff8fa51 Update postgresql including OpenSSL changes 2016-09-24 17:26:39 +02:00
Sameer Naik 04971aaed5 update to gcr.io/stacksmith-images/ubuntu:14.04-r10 baseimage 2016-09-23 23:46:24 +05:30
Sameer Naik b3a75090c7 bump image revision to 9.5.3-r5
- The `POSTGRES_` prefix on environment variables is now replaced by
  `POSTGRESQL_`
- `POSTGRES_USER` parameter has been renamed to `POSTGRESQL_USERNAME`.
- `POSTGRES_DB` parameter has been renamed to `POSTGRESQL_DATABASE`.
- `POSTGRES_MODE` parameter has been renamed to
  `POSTGRESQL_REPLICATION_MODE`.
2016-09-11 18:13:45 +05:30
Adnan Abdulhussein 3c37c26171 Standardise environment variables 2016-09-09 15:29:25 -07:00
Sameer Naik 0101368bae bump image version to revision-9.5.3-r4 2016-09-07 10:43:25 +05:30
Sameer Naik 8e58c9718e entrypoint: load the module inputs.json file 2016-09-04 15:13:11 +05:30
Sameer Naik 00f47395eb `harpoon` has been renamed to `nami` 2016-09-04 14:54:22 +05:30
Sameer Naik 2eb7581ad3 tests: Can setup master/slave replication using a custom master port 2016-08-27 12:07:06 +05:30
Adnan Abdulhussein 30694ac597 Add Docker Hub automated build badge 2016-08-26 17:34:53 -07:00
Jorge Marin 1aca7bec80 Bump revision to 9.5.3-5 2016-08-26 15:30:45 +02:00
Jesus Tinoco 19680abd3e Fix wrong environment variable name
The 'POSTGRES_REPLICATION_MODE' environment variable doesn't exist, it should be 'POSTGRES_MODE'.
2016-08-26 11:49:44 +02:00
Sameer Naik f5baa9507a license: updated copyright notice 2016-08-02 17:51:27 +05:30
Sameer Naik 5a6289e8c0 bump version to `9.5.3-r2` 2016-07-12 10:43:49 +05:30
Sameer Naik a6eb9c835d update to `gcr.io/stacksmith-images/ubuntu:14.04-r8` 2016-07-12 10:43:38 +05:30
Sameer Naik b998c17851 tests: postgres user can now login remotely without a password 2016-07-11 23:20:06 +05:30
Fran ad6382f916 Updated PostgreSQL to 9.5.3-3 2016-07-07 18:46:19 +02:00
tompizmor 152113788a Revert "Update PostgreSQL to 9.5.3-3" 2016-07-07 18:30:37 +02:00
Fran 4039ec197c Update PostgreSQL to 9.5.3-3 2016-07-07 18:12:10 +02:00
Sameer Naik 6d31d367e2 Stacksmith merger (#24)
* switch to harpoon installer

* switch to `gcr.io/stacksmith-images/ubuntu:14.04` base image

* removed unused files

* switch to `gcr.io/stacksmith-images/ubuntu:14.04` base image

* organize dockerfile for stacksmith (#2)

* verify checksum in harpoon commands
* removed `BITNAMI_APP_DIR` macro
* removed `BITNAMI_APP_VOL_PREFIX` macro
* moved hacks to `app-entrypoint.sh`
* organize dockerfile for stacksmith
* tests: updated

* Bump version (#3)

* upgrade to `gcr.io/stacksmith-images/ubuntu:14.04-r06`

* upgrade to `postgresql-9.4.5-1`

* password for `postgres` user is now optional

* upgrade to `postgresql-9.4.5-2`

* organize dockerfile

* ignore `.git/` and `tests/` directories in docker builds

* ignore `pkg-cache/` in git

* add `/opt/bitnami/$BITNAMI_APP_NAME/sbin` to `PATH`

* upgrade to `gcr.io/stacksmith-images/ubuntu:14.04-r07` baseimage

* tests: cannot login as postgres user without a password

* add `POSTGRES_DB` env param to create database

* add `POSTGRES_USER` env param to create custom user

* add parameters to support master/slave replication

* update to postgresql-9.5.3-0

* readme: updated

* updated to `postgresql-9.5.3-1`
2016-06-06 09:07:57 -07:00
Bitnami Container Builds 100900fb7d bump version 9.5.2-0 2016-04-06 10:49:25 +02:00
Bitnami Container Builds 7a6d5d626f bump version 9.5.1-0 2016-03-22 18:00:17 +01:00
Bitnami Container Builds 24b89bdcac bump version 9.4.6-1 2016-03-02 21:55:55 +01:00
Sameer Naik 4c2d640e06 bump version to 9.4.6-0-r01 2016-02-17 11:23:28 -08:00
Bitnami Container Builds cf61d3e268 bump version 9.4.6-0 2016-02-17 12:20:22 +01:00
Sameer Naik 52da8b9251 bump tests sleeptime 2016-01-22 14:59:57 +05:30
Sameer Naik b9f34fd64c bump version 9.4.5-2-r02 2016-01-21 21:51:20 +05:30
Sameer Naik 1a90ba52ca raising `SLEEP_TIME` to `10` to fix tests on jenkins 2016-01-20 01:04:01 +05:30
Sameer Naik 68a43ce139 moved `set_pg_param` and `set_hba_param` helper functions to `post-install.sh` 2016-01-16 12:15:38 +05:30
Sameer Naik ad59d607b3 run install script as executable 2016-01-16 11:26:03 +05:30
Sameer Naik d6bc1461e3 validate `POSTGRES_MODE` 2016-01-15 23:39:47 +05:30
Sameer Naik 8ecefe74c7 readme: fixed typos 2016-01-15 23:26:12 +05:30
Sameer Naik ff2dda5767 replace used of `postgres` user string with `BITNAMI_APP_USER` 2016-01-15 22:58:53 +05:30
Sameer Naik 80031d164a cite PostgreSQL wikipedia article 2016-01-15 22:41:01 +05:30
Sameer Naik e3563fa711 minor `create_replication_user` restructuring 2016-01-15 21:17:13 +05:30
Sameer Naik a8c74e5542 moved default configurations to `post-install.sh`
If user does not mount the `conf/` volume and instead only mounts the
`data/` volume, the postgres server would not allow connections from
users when the container is recreated using existing volumes because the
access information (which is created only on the firstrun) is stored in
the `conf/` volume which would be lost on recreation. This is also true
for replication users.

To resolve this we moved the basic default configurations to the
`post-install.sh`, including the `pg_hba.conf` configurations that
allows database and replication users to login using md5 authentication.
2016-01-15 15:13:48 +05:30
Sameer Naik e055f416da renamed env param `POSTGRES_REPLICATION_MODE` to `POSTGRES_MODE` 2016-01-14 13:54:58 +05:30
Sameer Naik 926af3c2e7 Make `bitnami/postgresql` a drop-in replacement for the official `postgres` image 2016-01-14 13:53:21 +05:30
Sameer Naik e1b74021ff removed `postgresql.conf` configurations from `post-install.sh` 2016-01-13 14:40:33 +05:30
Sameer Naik dfb9ad914c removed redundant `chown` 2016-01-13 14:40:33 +05:30
Sameer Naik 17a5627f76 renamed `initialize_replication_parameters` to `discover_replication_parameters` 2016-01-13 14:40:33 +05:30
Sameer Naik e8520dae73 added configuration helpers 2016-01-13 14:40:33 +05:30
Sameer Naik 7e9a8df0c5 renamed function `configure_replication_slave` to `configure_recovery` 2016-01-13 14:40:33 +05:30
Sameer Naik fc211db311 tests: speed up tests 2016-01-13 14:40:28 +05:30
Sameer Naik 2c8c779776 avoid duplicate entries in `pg_hba.conf` 2016-01-13 11:20:03 +05:30
Sameer Naik 7b15bb877c use bash parameter expansion to set default value of `POSTGRESQL_USER` 2016-01-13 11:20:03 +05:30
Sameer Naik b7b87a6ebd set `POSTGRESQL_REPLICATION_MODE=master` by default 2016-01-13 11:20:02 +05:30
Sameer Naik 4cff7b5acb enforce passwords for custom user 2016-01-12 22:09:17 +05:30
Sameer Naik a0284d0b31 call `print_app_credentials` irrespective of `POSTGRESQL_REPLICATION_MODE` 2016-01-12 21:25:41 +05:30
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