mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
- 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:
parent
e64019d6c3
commit
c65ac49594
2
.github/workflows/test.yml
vendored
2
.github/workflows/test.yml
vendored
@ -147,7 +147,7 @@ jobs:
|
|||||||
##########################################################################
|
##########################################################################
|
||||||
- name: mariadb | Build `test` image
|
- name: mariadb | Build `test` image
|
||||||
run: |
|
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
|
docker save "gradido/mariadb:test" > /tmp/mariadb.tar
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,7 +2,6 @@
|
|||||||
/node_modules/*
|
/node_modules/*
|
||||||
.vscode
|
.vscode
|
||||||
messages.pot
|
messages.pot
|
||||||
.skeema
|
|
||||||
nbproject
|
nbproject
|
||||||
.metadata
|
.metadata
|
||||||
/.env
|
/.env
|
||||||
|
|||||||
@ -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');
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -42,6 +42,12 @@ export async function upgrade(queryFn: (query: string, values?: any[]) => Promis
|
|||||||
await queryFn(`
|
await queryFn(`
|
||||||
INSERT INTO \`login_users\` SELECT * FROM ${LOGIN_SERVER_DB}.\`users\`;
|
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>>) {
|
export async function downgrade(queryFn: (query: string, values?: any[]) => Promise<Array<any>>) {
|
||||||
|
|||||||
@ -36,8 +36,6 @@ cd $PROJECT_PATH
|
|||||||
# git checkout -f master
|
# git checkout -f master
|
||||||
git pull
|
git pull
|
||||||
cd deployment/bare_metal
|
cd deployment/bare_metal
|
||||||
echo 'update schemas' >> $UPDATE_HTML
|
|
||||||
./update_db_schemas.sh
|
|
||||||
echo 'starting with rebuilding login-server<br>' >> $UPDATE_HTML
|
echo 'starting with rebuilding login-server<br>' >> $UPDATE_HTML
|
||||||
./build_and_start_login_server.sh
|
./build_and_start_login_server.sh
|
||||||
echo 'starting with rebuilding frontend<br>' >> $UPDATE_HTML
|
echo 'starting with rebuilding frontend<br>' >> $UPDATE_HTML
|
||||||
|
|||||||
@ -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
|
|
||||||
@ -136,22 +136,7 @@ services:
|
|||||||
- external-net
|
- external-net
|
||||||
volumes:
|
volumes:
|
||||||
- /sessions
|
- /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:
|
volumes:
|
||||||
frontend_node_modules:
|
frontend_node_modules:
|
||||||
backend_node_modules:
|
backend_node_modules:
|
||||||
|
|||||||
@ -9,7 +9,7 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
dockerfile: ./mariadb/Dockerfile
|
dockerfile: ./mariadb/Dockerfile
|
||||||
target: mariadb_server_test
|
target: mariadb_server
|
||||||
environment:
|
environment:
|
||||||
- MARIADB_ALLOW_EMPTY_PASSWORD=1
|
- MARIADB_ALLOW_EMPTY_PASSWORD=1
|
||||||
- MARIADB_USER=root
|
- MARIADB_USER=root
|
||||||
@ -75,19 +75,6 @@ services:
|
|||||||
- external-net
|
- external-net
|
||||||
volumes:
|
volumes:
|
||||||
- /sessions
|
- /sessions
|
||||||
|
|
||||||
#########################################################
|
|
||||||
## skeema for updating dbs if changes happend ###########
|
|
||||||
#########################################################
|
|
||||||
skeema:
|
|
||||||
build:
|
|
||||||
context: .
|
|
||||||
dockerfile: ./skeema/Dockerfile
|
|
||||||
target: skeema_run
|
|
||||||
depends_on:
|
|
||||||
- mariadb
|
|
||||||
networks:
|
|
||||||
- internal-net
|
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
external-net:
|
external-net:
|
||||||
|
|||||||
@ -35,9 +35,8 @@ services:
|
|||||||
#########################################################
|
#########################################################
|
||||||
mariadb:
|
mariadb:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: ./mariadb
|
||||||
dockerfile: ./mariadb/Dockerfile
|
target: mariadb_server
|
||||||
target: mariadb_server_test
|
|
||||||
environment:
|
environment:
|
||||||
- MARIADB_ALLOW_EMPTY_PASSWORD=1
|
- MARIADB_ALLOW_EMPTY_PASSWORD=1
|
||||||
- MARIADB_USER=root
|
- MARIADB_USER=root
|
||||||
@ -158,41 +157,6 @@ services:
|
|||||||
- internal-net
|
- internal-net
|
||||||
volumes:
|
volumes:
|
||||||
- ./community_server/config/php-fpm/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini
|
- ./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:
|
networks:
|
||||||
external-net:
|
external-net:
|
||||||
|
|||||||
@ -15,7 +15,7 @@ This document describes the technical overview for the Gradido infrastructur. Be
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
### Database Skeema
|
### Database Skeema (outdated)
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|||||||
1
login_server/.gitignore
vendored
1
login_server/.gitignore
vendored
@ -5,6 +5,5 @@ src/cpsp/*.h
|
|||||||
src/cpsp/*.cpp
|
src/cpsp/*.cpp
|
||||||
src/cpp/proto/
|
src/cpp/proto/
|
||||||
build*/
|
build*/
|
||||||
/skeema/gradido_login/insert/crypto_key.sql
|
|
||||||
|
|
||||||
src/LOCALE/messages.pot
|
src/LOCALE/messages.pot
|
||||||
|
|||||||
@ -56,8 +56,7 @@ To update messages.pot run
|
|||||||
This will be also called by ./scripts/build_debug.sh
|
This will be also called by ./scripts/build_debug.sh
|
||||||
|
|
||||||
## database
|
## database
|
||||||
Login-Server needs a db to run, it is tested with mariadb
|
Login-Server needs a db to run, it is tested with mariadb.
|
||||||
table definitions are found in folder ./skeema/gradido_login
|
|
||||||
Currently at least one group must be present in table groups.
|
Currently at least one group must be present in table groups.
|
||||||
For example:
|
For example:
|
||||||
```sql
|
```sql
|
||||||
|
|||||||
@ -1,5 +0,0 @@
|
|||||||
[production]
|
|
||||||
flavor=mariadb:10.5
|
|
||||||
host=127.0.0.1
|
|
||||||
port=3306
|
|
||||||
user=root
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
default-character-set=utf8mb4
|
|
||||||
default-collation=utf8mb4_unicode_ci
|
|
||||||
schema=gradido_login
|
|
||||||
@ -3,29 +3,7 @@
|
|||||||
#########################################################################################################
|
#########################################################################################################
|
||||||
FROM mariadb/server:10.5 as mariadb_server
|
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}
|
# RUN mkdir -p ${DOCKER_WORKDIR}
|
||||||
WORKDIR ${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
|
|
||||||
|
|||||||
@ -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;
|
|
||||||
@ -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}"
|
|
||||||
@ -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;
|
|
||||||
@ -1,5 +0,0 @@
|
|||||||
[production]
|
|
||||||
flavor=mariadb:10.5
|
|
||||||
host=mariadb
|
|
||||||
port=3306
|
|
||||||
user=root
|
|
||||||
@ -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
|
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user