1
0
mirror of https://github.com/bigchaindb/bigchaindb.git synced 2024-06-26 11:16:44 +02:00
Commit Graph

202 Commits

Author SHA1 Message Date
Ahmed Muawia Khan
933e68bf53 Update some configuration for alpha release containers
- Update bigchaindb server threads/workers
- Configure `debug` log-level for tendermint
2018-03-28 19:46:05 +02:00
Ahmed Muawia Khan
5162a0a163 Problem: Invalid command to get kube-dns IP 2018-03-27 19:44:00 +02:00
Ahmed Muawia Khan
a047838ec3 Problem: argument not parsed properly while generating configs
Solution: Handle all the positional arguments using curly braces
2018-03-27 16:44:45 +02:00
Troy McConaghy
dea76f7c91
Merge pull request #2141 from muawiakh/update-dns-server
Problem: Cluster DNS and Health check terminology is incorrect
2018-03-26 16:37:49 +02:00
Ahmed Muawia Khan
339078ae68 Address comments
- remove confusion between NODE-IP<->CLUSTER-IP just replace with IP
- remove confusion between node<->cluster just replace with Kubernetes
  cluster
2018-03-26 15:37:05 +02:00
Ahmed Muawia Khan
5676a6e088 Problem: No error message/logs if tendermint container cannot find peers (#2146)
Solution: retry every 30 seconds for a maximum of 10 times.
2018-03-22 17:12:21 +01:00
Ahmed Muawia Khan
9be68c972d Problem: standardize docker-compose workflows (#2130)
- Standardize docker-compose workflow
- Change docker-compose version to 2.1
  - why one might ask? because compose version
    3.0 does not support depends on and inherits
    like we want to and is more aimed towards migration to using
    `docker stack`, for our current strategy `2.1` is a better choice.
- change `bdb` service `bigchaindb` service
  - why? Introduced a new proxy service `bdb` which is just a dummy
    `busybox` image.
    - why? because this ensure via healthcheck of bigchaindb that BigchainDB
      has started properly and makes a `curl` to ensure HTTP API server is up
      and running.
      - why? Because we have had scenarios where BigchainDB is not started
        via docker compose and user has to check out the logs to find out what
        the problem might be. This ensure that bigchaindb is up and running.
- Does this change deployment workflow? No.
  - The only thing change is that if you want to run commands inside a bigchaindb
    container e.g. `pytest` now you have to run the following command:
    `docker-compose run --rm --no-deps bigchaindb pytest -v --cov=bigchaindb`
     as opposed to `docker-compose run --rm --no-deps bdb pytest -v --cov=bigchaindb`
- Remove env variable `BIGCHAINDB_START_TENDERMINT`
- Remove TENDERMINT_INTEGRATION.rst and move to the new docs
- Change mdb -> mongodb because the other services were named with
  full name.
- Add example to run specific tests or from a file
- Update config.toml for tendermint to use `bigchaindb` as proxy app
  instead of `bdb`
- Remove `network` directory because it is deprecated
- Add comment about why PYTHONBUFFERED is used
2018-03-21 12:42:43 +01:00
Ahmed Muawia Khan
757b4fc14c Remove cluster-dns 2018-03-20 19:34:01 +01:00
Ahmed Muawia Khan
0125368d8e Problem: K8s deployment with Access Token Authorization expects Access Token for GET calls and others (#2134)
* Fix for access token authorization for GET calls

- Naming inconsistency for cluster-fqdn causing issues
- Change cluster-frontend-port to node-frontend-port

* Change hardcoded 9984 to configurable
2018-03-15 16:20:15 +01:00
Troy McConaghy
5154444cb2
Uncomment storageAccount in tendermint-sc.yaml
In pull request #2107, the `storageAccount` was uncommented in `mongo-sc.yaml`

This pull request does the same in `tendermint-sc.yaml`
2018-02-28 13:32:02 +01:00
Ahmed Muawia Khan
98c939bd29 use mdb-instance-0 as default name for configuring users 2018-02-27 13:35:20 +01:00
Ahmed Muawia Khan
4c6ac6bd19 Update production deployment template after v1 automation 2018-02-27 13:26:51 +01:00
Shahbaz Nazir
517ece3be5 uncomment
Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>
2018-02-27 02:45:27 +01:00
Shahbaz Nazir
d69c75ee93 fixes for k8s deployment automation
Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>
2018-02-27 02:40:59 +01:00
Shahbaz Nazir
4b06378bbf fix nginx https issues
Signed-off-by: Shahbaz Nazir <shahbaz@bigchaindb.com>
2018-02-27 02:40:59 +01:00
Shahbaz Nazir
582025ba3d
Problem: nginx k8s deployment missing parameters (#2102) 2018-02-26 19:11:28 +01:00
Ahmed Muawia Khan
d0874ccf9a
Merge pull request #2101 from muawiakh/mongodb-container-update
Add support for optional users in MongoDB user creation
2018-02-26 18:42:42 +01:00
Shahbaz Nazir
5a4378dbb5
fixes for deployment script (#2100) 2018-02-26 18:00:04 +01:00
Ahmed Muawia Khan
8835fd5fd7 Add support for optional users in MongoDB user creation 2018-02-26 17:54:07 +01:00
Shahbaz Nazir
c2e9dd6e1c
Problem: Automate k8s deployment configs & secretes (#2096)
We manually add all the required configurations and secretes in config-map.yaml and secret.yaml. There is a need for a wrapper script which takes these generated mongodb certs and also process https certificates and populates config-map.yaml and secret.yaml
2018-02-26 16:25:13 +01:00
Ahmed Muawia Khan
d85396b220 Check if kubectl is installed otherwise exit 2018-02-26 15:07:27 +01:00
Ahmed Muawia Khan
3c09de97b0 remove redundant variable assignment 2018-02-26 14:54:34 +01:00
Ahmed Muawia Khan
7cea7298f0 Update mongodb user configuration
- Update docs for azure cluster deployment template
- Update entrypoint for MongoDB to handle user configuration
  more efficiently
- remove `use admin` in js file, that is an invalid format
2018-02-26 14:45:21 +01:00
Ahmed Muawia Khan
d977753831 Automate MongoDB user creation for prod/test deployments
- Currently, we had to manually log into the MongoDB container
  and create users, this change will configure the relevant users
  from a single script `configure_mdb.sh`
- Improvements can be done but keeping it minimal for the workshop
2018-02-26 03:37:43 +01:00
Shahbaz Nazir
0ddfc62e3b
Problem: No authorization mode without threescale (#2088)
Problem
The current production deployment template uses 3scale to ensure that POST requests to the network (from anyone) only get through if they come from a client with an account (app_id and app_key).

A private network wants to launch so that all HTTP requests (POST and GET) sent to the nodes in the network get be dropped unless they come from a small set of known (and unchanging) clients/sources. They don't need 3scale. They will want a modified version of the production deployment template.

Solution
Generate a special HTTP header and share it with all the known clients/sources.
Have a single NGINX in each node which checks for that HTTP header value. If it's present, let the request pass through to the network. (HTTP headers are encrypted if HTTPS is used.)
Are there other simpler or better options?
2018-02-23 16:00:36 +01:00
Ahmed Muawia Khan
96db5b9f12
Merge pull request #2084 from bigchaindb/update-bdb-docker-image-k8s
Update docker images and Dockerfiles
2018-02-22 12:23:31 +01:00
Ahmed Muawia Khan
93e2b3bb4c Update imagePullPolicy for unstable images
- Update imagePullPolicy from IfNotPresent to Always
  for all unstable images we are using in k8s template,
  because those images are updated regularly, we will
  keep it unstable until the official release.
- Use Tendermint v0.13 as base docker image, since our current
  integration is based out of v0.13
2018-02-22 11:56:58 +01:00
Shahbaz Nazir
a782fa4635
Hardcode static ports for k8s deployment (#2080)
Description
Currently we manually configure ports in deployment and service files for k8s deployment e.g here. Instead these ports should be constant since these are always the same for each deployment

Issues This PR Fixes
Fixes #2077
2018-02-22 11:52:41 +01:00
Ahmed Muawia Khan
a8a10edf0e Update Dockerfiles and remove tmt references 2018-02-21 20:31:53 +01:00
Ahmed Muawia Khan
8e6b4332b0 Update mongodb base image 2018-02-21 20:22:38 +01:00
Ahmed Muawia Khan
2978caaee6 Update images used by yaml files
- Using tag `unstable` currently, until BDB+Tendermint is released
2018-02-21 20:17:24 +01:00
Ahmed Muawia Khan
55f212d885 Certificate generation script for k8s deployment 2018-02-21 19:18:24 +01:00
Ahmed Muawia Khan
df485d0983 Rename docker image tags and names 2018-02-21 11:38:24 +01:00
Ahmed Muawia Khan
de05e5bc3e Merge branch 'tendermint' into tendermint-k8s-dep 2018-02-21 11:32:45 +01:00
muawiakh
1a0c165487 Address comments
- Keep only tendermint specific files, remove reference to older
  deployment strategy
- Update Bigchaindb Dockerfile
2018-02-01 13:02:39 +01:00
muawiakh
ffc2878033 Update some misleading doc mistakes 2018-01-11 12:17:55 +01:00
muawiakh
61f36435fc Separate tendermint integration deployment files
- Separate deployments, services, statefulsets etc
  `yaml` files for tendermint based deployment.
- Separate Dockerfiles for mongodb, nginx for
  tendermint integrated BigchainDB.
2018-01-11 12:13:36 +01:00
muawiakh
688831467e Update naming convention in configMap 2018-01-08 12:50:38 +01:00
muawiakh
9d45f735fd Improving code readability 2018-01-04 14:53:23 +01:00
muawiakh
e2316a3de8 Fix error checking of optional parameter storage-engine-cache-size
- Keep the parameter optional
- Remove redundant checking of the same parameter
- Do not exit if the parameter is not specified
2018-01-04 13:58:28 +01:00
muawiakh
a348c72696 Deployment of Tendermint + BigchainDB cluster
- Update existing docker-containers to support tendermint integration, nginx,
  mongodb, bigchaindb
- Add tendermint configuration files for statefulset, pvc, pv and service.
- Update some READMEs.
2018-01-02 14:51:23 +01:00
Roman Sokolkov
779d31ef3e
Fix issue with STORAGE_ENGINE_CACHE_SIZE parameter
In mongodb docker image STORAGE_ENGINE_CACHE_SIZE
will always be set to '' (two quotation marks)
and verification will fail. So it's impossible to
run image without --storage-engine-cache-size set.

This change removes double quotes while assigning
default value to STORAGE_ENGINE_CACHE_SIZE.
2017-12-30 17:31:55 +01:00
Troy McConaghy
61747b138d Updated Docker image to 1.3.0 in k8s YAML files 2017-11-21 18:58:41 +01:00
Shahbaz Nazir
bc4f8fcab5
Fix getstarted undefined referrer issue with IPDB (#1866)
Skip Referer check on preflight request (OPTIONS) and set Referrer-Policy to origin-when-cross-origin in response to OPTIONS request. Once Referrer-Policy is set on the subsequent POST request referrer is set by the browser to expected value.
2017-11-17 20:35:57 +01:00
muawiakh
977a6426fe Make premium_lrs default 2017-11-16 12:44:21 +01:00
muawiakh
1eb8764e4a Update deployment with tectonic documentation
- Add details about CA configuration
- Update storage class template
2017-11-16 12:44:21 +01:00
Troy McConaghy
67c8c6a1cb Updated Docker image version to 1.2.0 in k8s YAML files 2017-11-13 13:54:13 +01:00
Shahbaz Nazir
0a8bf89bc6 Add workflow to retain Azure storage disks on PVC or PV delete (#1782) 2017-10-13 23:26:13 +02:00
Shahbaz Nazir
1b9dcb9ffa Change Group ID to Project ID for cloud manager config (#1772)
MongoDB cloud manager UI has been updated and they have changed Group ID to Project ID and merged Settings -> Group Settings into one consolidated panel Settings

This PR updates the k8s docs accordingly
2017-09-29 09:56:58 +02:00
muawiakh
9609efbb5e Update mongodb monitoring agent 2017-09-28 15:14:38 +02:00
krish7919 (Krish)
4ee5b4cfbc Bugfix in nginx-openresty Dockerfile 2017-09-28 15:09:43 +02:00
krish7919 (Krish)
99f5996881 Sanity check for input values 2017-09-28 15:09:29 +02:00
muawiakh
3d2daa3119 Update nginx-http(s) and mongodb deployments files to use latest versions 2017-09-28 10:42:28 +02:00
muawiakh
1e53f13be3 Use config map for storage engine cache size 2017-09-27 14:40:12 +02:00
muawiakh
8b1fd605e2 Address some bugs
- Pushed the wrong codebase in the previous commit
2017-09-27 14:19:31 +02:00
muawiakh
7abdca205a Adjust resource for MongoDB Stateful Set
- Currently, MongoDB container crashed because of resource constaints i.e.
out of memory exception. This change updates the resources and provides
data on how the configure/calculate them(if not following the guide).
- Also, add the ability to specify the storage engine(WiredTiger) cache
size for MongoDB, this configuration also helps with keeping the resources
constrained for MongoDB containers.
- Minor changes in some other documents as well.
2017-09-27 14:19:31 +02:00
muawiakh
9ab6785920 Some more comments 2017-09-26 16:01:14 +02:00
muawiakh
dbddc7c85c Addressing comments 2017-09-26 15:31:37 +02:00
muawiakh
4371a2ce4b Update nginx config for well being
- turned off server tokens so the server does not leak nginx information
  on errors and header
- Added header to turn off cross site scripting
- use stable release of nginx instead of mainline
- limit available methods
- update response code
2017-09-26 14:27:21 +02:00
Troy McConaghy
d852209c4e Updated BDB image version in the k8s YAML of k8s/dev-setup/ 2017-09-26 10:27:05 +02:00
Troy McConaghy
cdfc0a3058 Update BDB Docker image version for k8s
Part of the BigchainDB release process
2017-09-26 10:09:25 +02:00
muawiakh
598d925dd4 Addressing comments
- Update README.md to remove old deployment model.
- Update version number of nginx_3scale.
2017-09-25 16:20:47 +02:00
Troy McConaghy
a1fe3d27ce Edited two LICENSES.md files 2017-09-25 16:20:47 +02:00
Muawia Khan
2cbf6b6a5c [WIP]: Move the bigchaindb/nginx_3scale repo under bigchaindb/bigchaindb
- All files moved to k8s/nginx-3scale with directory structure consistent
with k8s/nginx-http(s)
- Top level LICENCES.md updated
- Renaming entry point script to nginx_openresty_entrypoint.bash
2017-09-25 16:20:47 +02:00
krish7919 (Krish)
ac0dcd090e Bugfix in Deployment config 2017-09-11 11:57:58 +02:00
krish7919 (Krish)
1307f43306 Add livenessProbe 2017-09-11 11:57:58 +02:00
krish7919 (Krish)
f07df50041 BigchainDB Web Proxy to add headers to requests
Currently, the requests from public websites (like
`bigchaindb.com/getstarted` and tutorials.bigchaindb.com/crab) cannot have the
app_id and app_key required to access IPDB in the web page.

We pass such requests through a web proxy that adds the required headers
to any POST requests from `*.bigchaindb.com`.
2017-09-11 11:57:58 +02:00
krish7919 (Krish)
9445647be5 MongoDB data dir config change 2017-09-07 11:00:03 +02:00
Krish
2e40ad96f2 Minor fixes to k8s setup (#1735)
* Fix typo in docs

* Minor documentation fixes.

* Update mongodb monitoring agent to latest version.

* Update mongodb backup agent to latest version.

* Bugfix in mongodb backup agent.
2017-08-31 16:57:41 +02:00
Ahmed Muawia Khan
e41a378df4 Merge pull request #1720 from bigchaindb/remove-reclaim-policy-k8s-pvc
Remove persistentVolumeReclaimPolicy from the pvc request
2017-08-17 15:12:40 +02:00
Ahmed Muawia Khan
a05cdb4413 Merge pull request #1723 from bigchaindb/run-mma-mba-non-root
Run mongodb monitoring and backup agents as non-root user
2017-08-17 15:12:19 +02:00
Ahmed Muawia Khan
a3de849820 Merge pull request #1724 from bigchaindb/imporve-error-message-entrypoint
Improve error message for all bdb docker entrypoint scripts
2017-08-17 11:27:20 +02:00
Ahmed Muawia Khan
559b8ef7cf Merge branch 'master' into run-mma-mba-non-root 2017-08-17 11:26:57 +02:00
Ahmed Muawia Khan
ea32694435 Merge pull request #1721 from bigchaindb/common-secret-for-ca
Common secret for CA in secret.yaml
2017-08-17 11:07:35 +02:00
Muawia Khan
7658097221 Use env variables names for error messages
- Address comments
2017-08-17 10:46:19 +02:00
Muawia Khan
7ba6334bfc Fix volumeMounts for monitoring and backup agents 2017-08-17 10:31:03 +02:00
Muawia Khan
8df38ff31c Fix typo in nginx-http-svc name 2017-08-16 16:35:46 +02:00
Muawia Khan
e446c31a41 More changes to multi-node deployment guide
- Integrating changes suggested by Krish.
- Addressing comments on initial commit.
2017-08-16 13:22:09 +02:00
Muawia Khan
d11c100ab5 Improve error message for all bdb docker entrypoint scripts
- If a mandatory variable is not specified, it will exit with the relevant
code and error message.
- For more verbosity, we will also echo the values for all the mandatory
variables.
2017-08-16 13:15:24 +02:00
Muawia Khan
0cf46b331f Verify and fix BDB multi node deployment guide
- Documentation support to add a new BDB node to an existing
  replica set, using x.509 certificates and SSL/TSL connections, across
  geographically dispersed clusters.
- Fix some documentation issues and add more references i.e.
  specifically about signing of MongoDB member certificates.
- Minor fixes for nginx-https-dep.yaml(invalid configMap var)
- Reconfigure nginx keep_alive between MongoDB front and backend ports.
- Editor removed whitespaces
2017-08-16 10:27:17 +02:00
Muawia Khan
650177c50e Run mongodb monitoring and backup agents as non-root user
- We need to modify the read permissions on the secrets and allow
the mongodb-mms-agent to read the credentials.
2017-08-15 15:59:08 +02:00
Muawia Khan
fbee5db40f Common secret for CA in secret.yaml
- Creating a common secret for CA, since all the members of the replica set
and the clients need to have a common CA, moving all the relevant configuration
to a common secret.
- Modifying Dockerfiles for some components, once changes are approved
we will publish the new images.
- No documentation changes required.
2017-08-15 14:26:47 +02:00
Muawia Khan
04b84f6ab4 Remove persistentVolumeReclaimPolicy from the pvc request
- Reclaim policy can only be specified when we explicitly create
a persistent Volume. Removing this from a persistent volume claim
request yaml.
2017-08-15 10:07:50 +02:00
Krish
26f43c15eb Update MongoDB Backup Agent to v5.7.0.641 (#1718) 2017-08-09 17:03:35 +02:00
Krish
3ce4a3d0c3 User service token instead of provider key in threescale-credentials kubernetes secret (#1717) 2017-08-09 10:41:51 +02:00
Krish
c2d726d584 Support proper Websocket host and port settings in root API endpoint (#1715)
* Support proper Websocket host and port settings in root API endpoint

* Documentation change
2017-08-09 09:40:41 +02:00
Sylvain Bellemare
6f1ad664fd Update image for k8s 2017-08-02 16:15:00 +02:00
Ahmed Muawia Khan
84ff0ad4a5 Merge pull request #1690 from bigchaindb/update-azure-kubernetes-docs
Update guide to setup bdb+kubernetes+azure setup
2017-07-21 15:38:16 +02:00
Muawia Khan
b56f8a6213 Update guide to setup bdb+kubernetes+azure setup
-- Fixed typos in the guide
-- Fixed some syntax errors in commandline instructions
-- Fixed strucuture of sample jsons
-- Fixed bugs in nginx-https-dep file, it was trying to access
an invalid variable in the configmap.
-- Improved some docs to give more clarity for the user.
Atleast all the issues I faced. :)
2017-07-21 15:01:20 +02:00
Krish
a27cfdd89c Updating dependencies (#1692) 2017-07-21 13:36:29 +02:00
Krish
8e6a94e158 Change imagePullPolicy in k8s configs (#1680) 2017-07-19 20:14:56 +02:00
Krish
4c8b0fc828 Healthchecks for NGINX in nginx-http-dep.yaml and dev-setup/nginx-http.yaml (#1679) 2017-07-17 18:59:11 +02:00
Krish
e0efc2286a Simpler MongoDB Instance Configuration in K8s (#1678)
* Simpler configuration of MongoDB instance in a node

* Update docs for MDB configuration
2017-07-17 17:57:13 +02:00
Krish
9116836e4c Simpler BigchainDB Instance Configuration in K8s (#1677)
* Simpler configuration of BigchainDB instance in a node

* Update docs for BDB configuration

* Changes as per @ttmc's comments
2017-07-17 17:29:51 +02:00
Krish
c640313003 Remove 3scale port number from configs (#1676)
* Remove 'threescale-api-port' from all configs in node setup

* Update docs - remove references to threescale-api-port

* Fix typo
2017-07-17 14:46:06 +02:00
Krish
b7e13fd087 Secure WebSocket Support (#1619)
* Remove support for whitelist

* Rename nginx to nginx-api

* Remove websocket support from nginx-api

* Change nginx to nginx-api service
The nginx-api service will proxy requests to the BigchainDB HTTP API.

* Rename ngx-instance-0 to ngx-api-instance-0 in nginx_3scale

* Update nginx-api service base docker image and README

* Add nginx-ws service to support Websocket

* Add config files for simple dev setup

* WS support with split NGINX

* NGINX module as single entrypoint into the cluster.

* Tested HTTP and WS with latest configs

* Openresty as separate service

* Remove upstream api port as configuration parameter

* Changes while testing

* Adding READMEs for nginx-http and nginx-https modules

* Documentation update

* Change 'Openresty' to 'OpenResty'.
2017-07-17 13:46:05 +02:00
Krish
6bd6e7fddb Update MongoDB Backup Agent to v5.6.0.624 (#1674) 2017-07-14 10:02:38 +02:00
muawiakh
b0106c0203 Fix for MongoDB hitting memory limit on k8s
- MongoDB StatefulSet hitting memory limit, so k8s restarts it.
We have had multiple instances of restarts lately.
-  Changing it to 3.5 GB, data and reasoning to back it up
is mentioned in the ticket #1655
2017-07-12 16:17:50 +02:00
Troy McConaghy
923df8f64f Updated BDB Docker tag from 1.0.0rc1 to 1.0.0 in k8s deployment 2017-07-05 10:52:31 +02:00
Krish
ece195ff8d Deployment changes: (#1623)
Update MongoDB container tag to `3.0`.

Doc change to reflect bdb-config.bdb-user parameter usage.

Fix typo in configuration.md.

Add BIGCHAINDB_DATABASE_SSL parameter to bigchaindb-dep.yaml for
Kubernetes deployments.

Refer the the `bdb-user` parameter from ConfigMap in
bigchaindb-dep.yaml.

Consolidate all BigchainDB parameter values under the
`bdb-config` ConfigMap.

Remove `bdb-user` from secrets.yaml.
2017-07-03 15:55:43 +02:00