Skip to content
Snippets Groups Projects
Unverified Commit 651601d1 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

WIP: refactor to allow connecting to the public handle system

parent de124496
Branches
No related tags found
No related merge requests found
DOCKER_SUBNET=172.27.0.0/16 DOCKER_SUBNET=172.27.0.0/16
DOCKER_SUBNET_GATEWAY=172.27.0.1 DOCKER_SUBNET_GATEWAY=172.27.0.1
HANDLE_SERVER_IPV4_ADDRESS=172.27.0.2 HANDLE_SERVER_IPV4_ADDRESS=172.27.0.2
HANDLE_SERVER_BIND_ADDRESS=172.27.0.2
HANDLE_SERVER_TCP_PORT=2641
HANDLE_SERVER_UDP_PORT=2641
HANDLE_SERVER_HTTP_PORT=8000
HANDLE_SERVER_ORG_NAME="Test Inc."
HANDLE_SERVER_CONTACT_NAME="Ms Test"
HANDLE_SERVER_CONTACT_EMAIL="test@example.com"
HANDLE_SERVER_LOG_SAVE_INTERVAL="Monthly"
# HANDLE_SERVER_HOME_PREFIX without "0.NA/" prefix.
HANDLE_SERVER_HOME_PREFIX="0.TEST"
# USE_PUBLIC_HANDLE_SYSTEM="TRUE"
USE_PUBLIC_HANDLE_SYSTEM="FALSE"
FROM eclipse-temurin:21-jre-alpine FROM eclipse-temurin:21-jre-alpine
RUN apk add jq
RUN mkdir -p /hs/srv_1 RUN mkdir -p /hs/srv_1
WORKDIR /hs WORKDIR /hs
...@@ -14,6 +16,8 @@ RUN tar -xvzf handle-distribution.tar.gz ...@@ -14,6 +16,8 @@ RUN tar -xvzf handle-distribution.tar.gz
WORKDIR /hs/handle-${HANDLE_SERVER_VERSION} WORKDIR /hs/handle-${HANDLE_SERVER_VERSION}
COPY ./run_handle_server.sh ./ COPY ./run_handle_server.sh ./
COPY ./generate_keys.sh ./
COPY ./generate_siteinfo.sh ./
COPY ./templates /hs/templates COPY ./templates /hs/templates
......
...@@ -10,10 +10,38 @@ fi ...@@ -10,10 +10,38 @@ fi
# ### Update configuration ### # ### Update configuration ###
# update config.dct # update config.dct
sed "s/HANDLE_SERVER_IPV4_ADDRESS/${HANDLE_SERVER_IPV4_ADDRESS}/g" /hs/templates/config.dct > "$SRV_DIR/config.dct" ALLOW_NA_ADMINS='"allow_na_admins" = "no"'
TEMPLATE_NS_OVERRIDE='"template_ns_override" = "yes"'
SERVER_ADMINS="300:${HANDLE_SERVER_HOME_PREFIX}/ADMIN"
if [ "$USE_PUBLIC_HANDLE_SYSTEM" = "TRUE" ] ; then
ALLOW_NA_ADMINS=""
TEMPLATE_NS_OVERRIDE=""
SERVER_ADMINS="300:0.NA/${HANDLE_SERVER_HOME_PREFIX}"
fi
REPLICATION_ADMINS="${SERVER_ADMINS}"
sed "s/__HANDLE_SERVER_BIND_ADDRESS__/${HANDLE_SERVER_BIND_ADDRESS}/g" /hs/templates/config.dct \
| sed "s/__HANDLE_SERVER_HTTP_PORT__/${HANDLE_SERVER_HTTP_PORT}/g" \
| sed "s/__HANDLE_SERVER_TCP_PORT__/${HANDLE_SERVER_TCP_PORT}/g" \
| sed "s/__HANDLE_SERVER_UDP_PORT__/${HANDLE_SERVER_UDP_PORT}/g" \
| sed "s/__HANDLE_SERVER_ALLOW_NA_ADMINS__/${ALLOW_NA_ADMINS}/g" \
| sed "s/__HANDLE_SERVER_TEMPLATE_NS_OVERRIDE__/${TEMPLATE_NS_OVERRIDE}/g" \
| sed "s/__HANDLE_SERVER_SERVER_ADMINS__/${SERVER_ADMINS}/g" \
| sed "s/__HANDLE_SERVER_REPLICATION_ADMINS__/${REPLICATION_ADMINS}/g" \
> "$SRV_DIR/config.dct"
# update siteinfo.json # update siteinfo.json
sed "s/HANDLE_SERVER_IPV4_ADDRESS/${HANDLE_SERVER_IPV4_ADDRESS}/g" /hs/templates/siteinfo.json > "$SRV_DIR/siteinfo.json" RSA_KEY_N="$(cat "${SRV_DIR}/pubkey.json" | jq .n)"
RSA_KEY_E="$(cat "${SRV_DIR}/pubkey.json" | jq .e)"
sed "s/__HANDLE_SERVER_IPV4_ADDRESS__/${HANDLE_SERVER_IPV4_ADDRESS}/g" /hs/templates/siteinfo.json \
| sed "s/__HANDLE_SERVER_DESCRIPTION__/${HANDLE_SERVER_DESCRIPTION}/g" \
| sed "s/__HANDLE_SERVER_HTTP_PORT__/${HANDLE_SERVER_HTTP_PORT}/g" \
| sed "s/__HANDLE_SERVER_TCP_PORT__/${HANDLE_SERVER_TCP_PORT}/g" \
| sed "s/__HANDLE_SERVER_UDP_PORT__/${HANDLE_SERVER_UDP_PORT}/g" \
| sed "s/\"__HANDLE_SERVER_PUBKEY_RSA_N__\"/${RSA_KEY_N}/g" \
| sed "s/\"__HANDLE_SERVER_PUBKEY_RSA_E__\"/${RSA_KEY_E}/g" \
> "$SRV_DIR/siteinfo.json"
# ### Configure private handle network ### # ### Configure private handle network ###
......
{ {
"hdl_http_config" = { "hdl_http_config" = {
"bind_address" = "HANDLE_SERVER_IPV4_ADDRESS" "bind_address" = "__HANDLE_SERVER_BIND_ADDRESS__"
"num_threads" = "15" "num_threads" = "15"
"bind_port" = "8000" "bind_port" = "__HANDLE_SERVER_HTTP_PORT__"
"log_accesses" = "yes" "log_accesses" = "yes"
} }
"server_type" = "server" "server_type" = "server"
"hdl_udp_config" = { "hdl_udp_config" = {
"bind_address" = "HANDLE_SERVER_IPV4_ADDRESS" "bind_address" = "__HANDLE_SERVER_BIND_ADDRESS__"
"num_threads" = "15" "num_threads" = "15"
"bind_port" = "2641" "bind_port" = "__HANDLE_SERVER_UDP_PORT__"
"log_accesses" = "yes" "log_accesses" = "yes"
} }
"hdl_tcp_config" = { "hdl_tcp_config" = {
"bind_address" = "HANDLE_SERVER_IPV4_ADDRESS" "bind_address" = "__HANDLE_SERVER_BIND_ADDRESS__"
"num_threads" = "15" "num_threads" = "15"
"bind_port" = "2641" "bind_port" = "__HANDLE_SERVER_TCP_PORT__"
"log_accesses" = "yes" "log_accesses" = "yes"
} }
"log_save_config" = { "log_save_config" = {
"log_save_directory" = "logs" "log_save_directory" = "logs"
"log_save_interval" = "Monthly" "log_save_interval" = "__HANDLE_SERVER_LOG_SAVE_INTERVAL__"
} }
"no_udp_resolution" = "no" "no_udp_resolution" = "no"
...@@ -35,11 +35,11 @@ ...@@ -35,11 +35,11 @@
"server_config" = { "server_config" = {
"server_admins" = ( "server_admins" = (
"300:0.TEST/ADMIN" "__HANDLE_SERVER_SERVER_ADMINS__"
) )
"replication_admins" = ( "replication_admins" = (
"300:0.TEST/ADMIN" "__HANDLE_SERVER_REPLICATION_ADMINS__"
) )
"max_session_time" = "86400000" "max_session_time" = "86400000"
...@@ -47,10 +47,10 @@ ...@@ -47,10 +47,10 @@
"max_auth_time" = "60000" "max_auth_time" = "60000"
"server_admin_full_access" = "yes" "server_admin_full_access" = "yes"
"case_sensitive" = "no" "case_sensitive" = "no"
"allow_na_admins" = "no" __HANDLE_SERVER_ALLOW_NA_ADMINS__
"template_ns_override" = "yes" __HANDLE_SERVER_TEMPLATE_NS_OVERRIDE__
"auto_homed_prefixes" = ( "auto_homed_prefixes" = (
"0.NA/0.TEST" "0.NA/__HANDLE_SERVER_HOME_PREFIX__"
) )
} }
......
...@@ -7,19 +7,19 @@ ...@@ -7,19 +7,19 @@
"attributes": [ "attributes": [
{ {
"name": "desc", "name": "desc",
"value": "" "value": "__HANDLE_SERVER_DESCRIPTION__"
} }
], ],
"servers": [ "servers": [
{ {
"serverId": 1, "serverId": 1,
"address": "HANDLE_SERVER_IPV4_ADDRESS", "address": "__HANDLE_SERVER_IPV4_ADDRESS__",
"publicKey": { "publicKey": {
"format": "key", "format": "key",
"value": { "value": {
"kty": "RSA", "kty": "RSA",
"n": "wqkCd9QfFxYwMhQM72k-nQ5yL0lbxz9OTOTgR2eFj6dz5YZzoDg3t4MauMVUt5pkByWScle-7mdVJHuEp1GErqyzW3dPagTgmzc1R1i2gQF5fUiJFx90hkAzh88PW4qFs_YBwOsChGanGzsqn6cbKV3VQn5K2QZHF7rxeKdstF72lFN7ewkk-Kw5i0I3akpGYu9YJ_Is8k7rDQ5P_KKfrn_N_0_seQO-IT9vW_u0IvK75_6VwNjU5wU6SDF9dgivSk-qv7R_rpl8eAow0zUkllsFqJxEEn63koK5gSsKitfN7Jt_71b_Nwmjpv2gEydh42bEOSHx0dFeALwY1rl74w", "n": "__HANDLE_SERVER_PUBKEY_RSA_N__",
"e": "AQAB" "e": "__HANDLE_SERVER_PUBKEY_RSA_E__"
} }
}, },
"interfaces": [ "interfaces": [
...@@ -27,19 +27,19 @@ ...@@ -27,19 +27,19 @@
"query": true, "query": true,
"admin": true, "admin": true,
"protocol": "TCP", "protocol": "TCP",
"port": 2641 "port": __HANDLE_SERVER_TCP_PORT__
}, },
{ {
"query": true, "query": true,
"admin": false, "admin": false,
"protocol": "UDP", "protocol": "UDP",
"port": 2641 "port": __HANDLE_SERVER_UDP_PORT__
}, },
{ {
"query": true, "query": true,
"admin": true, "admin": true,
"protocol": "HTTP", "protocol": "HTTP",
"port": 8000 "port": __HANDLE_SERVER_HTTP_PORT__
} }
] ]
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment