- removed skeema

- simplified mariadb docker container & reduced context(build time)
- datapoint for docker group into migration
- removed unused node docker definitions from docker-compose
This commit is contained in:
Ulf Gebhardt 2021-10-21 04:49:19 +02:00
parent e64019d6c3
commit c65ac49594
No known key found for this signature in database
GPG Key ID: 81308EFE29ABFEBD
20 changed files with 16 additions and 238 deletions

View File

@ -147,7 +147,7 @@ jobs:
##########################################################################
- name: mariadb | Build `test` image
run: |
docker build --target mariadb_server_test -t "gradido/mariadb:test" -f ./mariadb/Dockerfile ./
docker build --target mariadb_server -t "gradido/mariadb:test" -f ./mariadb/Dockerfile ./
docker save "gradido/mariadb:test" > /tmp/mariadb.tar
- name: Upload Artifact
uses: actions/upload-artifact@v2

1
.gitignore vendored
View File

@ -2,7 +2,6 @@
/node_modules/*
.vscode
messages.pot
.skeema
nbproject
.metadata
/.env

View File

@ -1,6 +0,0 @@
INSERT INTO `groups` (`id`, `alias`, `name`, `url`, `host`, `home`, `description`) VALUES
(1, 'docker', 'docker gradido group', 'localhost', 'nginx', '/', 'gradido test group for docker and stage2 with blockchain db');

View File

@ -42,6 +42,12 @@ export async function upgrade(queryFn: (query: string, values?: any[]) => Promis
await queryFn(`
INSERT INTO \`login_users\` SELECT * FROM ${LOGIN_SERVER_DB}.\`users\`;
`)
// TODO clarify if we need this on non docker environment?
await queryFn(`
INSERT IGNORE INTO \`login_groups\` (\`id\`, \`alias\`, \`name\`, \`url\`, \`host\`, \`home\`, \`description\`) VALUES
(1, 'docker', 'docker gradido group', 'localhost', 'nginx', '/', 'gradido test group for docker and stage2 with blockchain db');
`)
}
export async function downgrade(queryFn: (query: string, values?: any[]) => Promise<Array<any>>) {

View File

@ -36,8 +36,6 @@ cd $PROJECT_PATH
# git checkout -f master
git pull
cd deployment/bare_metal
echo 'update schemas' >> $UPDATE_HTML
./update_db_schemas.sh
echo 'starting with rebuilding login-server<br>' >> $UPDATE_HTML
./build_and_start_login_server.sh
echo 'starting with rebuilding frontend<br>' >> $UPDATE_HTML

View File

@ -1,7 +0,0 @@
#!/bin/bash
# For that to work skeema needed to be installed on system
# in login_server/skeema skeema configuration files need to be there also in the subfolders
# Update DB Schemas (only the schemas, not the data)
cd ../../login_server/skeema
skeema push --allow-unsafe

View File

@ -136,22 +136,7 @@ services:
- external-net
volumes:
- /sessions
#########################################################
## skeema for updating dbs if changes happend ###########
#########################################################
skeema:
build:
context: .
dockerfile: ./skeema/Dockerfile
target: skeema_dev_run
depends_on:
- mariadb
networks:
- internal-net
volumes:
- ./login_server/skeema/gradido_login:/skeema/gradido_login
volumes:
frontend_node_modules:
backend_node_modules:

View File

@ -9,7 +9,7 @@ services:
build:
context: .
dockerfile: ./mariadb/Dockerfile
target: mariadb_server_test
target: mariadb_server
environment:
- MARIADB_ALLOW_EMPTY_PASSWORD=1
- MARIADB_USER=root
@ -75,19 +75,6 @@ services:
- external-net
volumes:
- /sessions
#########################################################
## skeema for updating dbs if changes happend ###########
#########################################################
skeema:
build:
context: .
dockerfile: ./skeema/Dockerfile
target: skeema_run
depends_on:
- mariadb
networks:
- internal-net
networks:
external-net:

View File

@ -35,9 +35,8 @@ services:
#########################################################
mariadb:
build:
context: .
dockerfile: ./mariadb/Dockerfile
target: mariadb_server_test
context: ./mariadb
target: mariadb_server
environment:
- MARIADB_ALLOW_EMPTY_PASSWORD=1
- MARIADB_USER=root
@ -158,41 +157,6 @@ services:
- internal-net
volumes:
- ./community_server/config/php-fpm/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini
#########################################################
## skeema for updating dbs if changes happend ###########
#########################################################
skeema:
build:
context: .
dockerfile: ./skeema/Dockerfile
target: skeema_run
depends_on:
- mariadb
networks:
- internal-net
#########################################################
## GRADIDO NODE v1 ######################################
#########################################################
# gradido-node:
# build:
# context: .
# dockerfile: ./gn/docker/deprecated-hedera-node/Dockerfile
# volumes:
# - ${GN_INSTANCE_FOLDER}:/opt/instance
# container_name: ${GN_CONTAINER_NAME}
#########################################################
## GRADIDO NODE test ###################################
#########################################################
# gradido-node-test:
# build:
# context: .
# dockerfile: ./gn/docker/deprecated-hedera-node/Dockerfile
# container_name: gn-test
# working_dir: /opt/gn/build
# command: ["./unit_tests"]
networks:
external-net:

View File

@ -15,7 +15,7 @@ This document describes the technical overview for the Gradido infrastructur. Be
![CommunityServerAPI](../image/CommunityServerAPI.png)
### Database Skeema
### Database Skeema (outdated)
![CommunityDBSkeema](../image/CommunityDBSkeema.png)

View File

@ -5,6 +5,5 @@ src/cpsp/*.h
src/cpsp/*.cpp
src/cpp/proto/
build*/
/skeema/gradido_login/insert/crypto_key.sql
src/LOCALE/messages.pot

View File

@ -56,8 +56,7 @@ To update messages.pot run
This will be also called by ./scripts/build_debug.sh
## database
Login-Server needs a db to run, it is tested with mariadb
table definitions are found in folder ./skeema/gradido_login
Login-Server needs a db to run, it is tested with mariadb.
Currently at least one group must be present in table groups.
For example:
```sql

View File

@ -1,5 +0,0 @@
[production]
flavor=mariadb:10.5
host=127.0.0.1
port=3306
user=root

View File

@ -1,3 +0,0 @@
default-character-set=utf8mb4
default-collation=utf8mb4_unicode_ci
schema=gradido_login

View File

@ -3,29 +3,7 @@
#########################################################################################################
FROM mariadb/server:10.5 as mariadb_server
ENV DOCKER_WORKDIR="/docker-entrypoint-initdb.d"
# ENV DOCKER_WORKDIR="/docker-entrypoint-initdb.d"
RUN mkdir -p ${DOCKER_WORKDIR}
WORKDIR ${DOCKER_WORKDIR}
# create databases
COPY ./mariadb/setup_dbs.sql a1_setup_dbs.sql
# login server db
COPY ./login_server/skeema/ .
RUN cd ./gradido_login/ && for f in *.sql; do cp -- "$f" "../b1_$f"; sed -i '1i use gradido_login;' "../b1_$f"; done
COPY ./configs/login_server/setup_db_tables ./gradido_login/insert
RUN cd ./gradido_login/insert && for f in *.sql; do cp -- "$f" "../../c1_$f"; sed -i '1i use gradido_login;' "../../c1_$f"; done
#########################################################################################################
# mariadb server with test dbs
#########################################################################################################
FROM mariadb_server as mariadb_server_test
# create test databases
COPY ./mariadb/setup_test_dbs.sql a2_setup_dbs.sql
# login server test db
COPY ./login_server/skeema/ .
RUN cd ./gradido_login/ && for f in *.sql; do cp -- "$f" "../b2_$f"; sed -i '1i use gradido_login_test;' "../b2_$f"; done
COPY ./configs/login_server/setup_db_tables ./gradido_login/insert
RUN cd ./gradido_login/insert && for f in *.sql; do cp -- "$f" "../../c2_$f"; sed -i '1i use gradido_login_test;' "../../c2_$f"; done
# RUN mkdir -p ${DOCKER_WORKDIR}
# WORKDIR ${DOCKER_WORKDIR}

View File

@ -1,7 +0,0 @@
create database gradido_login
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
create database IF NOT EXISTS _skeema_tmp
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
FLUSH PRIVILEGES;

View File

@ -1,55 +0,0 @@
#!/bin/bash
COLOR_GREEN="\033[0;32m"
COLOR_YELLOW="\e[33m"
COLOR_NONE="\033[0m"
LOGIN_DB_USER=gradido_login_live
LOGIN_DB_NAME=gradido_login_live
LOGIN_DB_PASSWD=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo);
COMMUNITY_DB_USER=gradido_community_live
COMMUNITY_DB_NAME=gradido_community_live
COMMUNITY_DB_PASSWD=$(< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo);
# create table
mysql <<EOFMYSQL
create database $LOGIN_DB_NAME
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
create database $COMMUNITY_DB_NAME
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
create database IF NOT EXISTS _skeema_tmp
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
CREATE USER '$LOGIN_DB_USER'@'localhost' IDENTIFIED BY '$LOGIN_DB_PASSWD';
GRANT ALL PRIVILEGES ON $LOGIN_DB_NAME.* TO '$LOGIN_DB_USER'@'localhost';
GRANT ALL PRIVILEGES ON _skeema_tmp.* TO '$LOGIN_DB_USER'@'localhost';
CREATE USER '$COMMUNITY_DB_USER'@'localhost' IDENTIFIED BY '$COMMUNITY_DB_PASSWD';
GRANT ALL PRIVILEGES ON $COMMUNITY_DB_NAME.* TO '$COMMUNITY_DB_USER'@'localhost';
GRANT ALL PRIVILEGES ON _skeema_tmp.* TO '$COMMUNITY_DB_USER'@'localhost';
FLUSH PRIVILEGES;
EOFMYSQL
# populate db of login-server
cd ../login_server/skeema
sudo cat << EOF > .skeema
[production]
flavor=mariadb:10.3.25
host=127.0.0.1
port=3306
user=$LOGIN_DB_USER
EOF
cd gradido_login
sudo cat << EOF > .skeema
default-character-set=utf8mb4
default-collation=utf8mb4_unicode_ci
schema=$LOGIN_DB_NAME
EOF
source $HOME/.gvm/scripts/gvm
gvm use go1.14.4
skeema push -p$LOGIN_DB_PASSWD
echo -e "${COLOR_YELLOW}Login-Server db password: $LOGIN_DB_PASSWD${COLOR_NONE}"

View File

@ -1,10 +0,0 @@
create database gradido_login_test
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
create database gradido_community_test
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
create database IF NOT EXISTS _skeema_tmp
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_unicode_ci;
FLUSH PRIVILEGES;

View File

@ -1,5 +0,0 @@
[production]
flavor=mariadb:10.5
host=mariadb
port=3306
user=root

View File

@ -1,39 +0,0 @@
#########################################################################################################
# Build skeema
#########################################################################################################
FROM golang:1.17.1 as skeema_build
RUN go get -d -v github.com/skeema/skeema
WORKDIR /go/src/github.com/skeema/skeema
RUN go install github.com/skeema/skeema@v1.5.3
#########################################################################################################
# Run skeema for dev (dynamic)
#########################################################################################################
FROM skeema_build as skeema_dev_run
ENV DOCKER_WORKDIR="/skeema"
RUN mkdir -p ${DOCKER_WORKDIR}
WORKDIR ${DOCKER_WORKDIR}
COPY ./skeema/.skeema .
COPY ./mariadb/.skeema.login .
CMD cp .skeema.login ./gradido_login/.skeema && skeema push --allow-unsafe && rm ./gradido_login/.skeema
#########################################################################################################
# Run skeema
#########################################################################################################
FROM skeema_build as skeema_run
ENV DOCKER_WORKDIR="/skeema"
RUN mkdir -p ${DOCKER_WORKDIR}
WORKDIR ${DOCKER_WORKDIR}
COPY ./skeema/.skeema .
COPY ./login_server/skeema/ .
COPY ./mariadb/.skeema.login ./gradido_login/.skeema
CMD skeema push --allow-unsafe