Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
This commit is contained in:
parent
d08b338e06
commit
a0d42eb6b7
11 changed files with 235 additions and 0 deletions
4
.env
4
.env
|
@ -35,6 +35,10 @@ REST_GW_IMAGE=truecloudlab/frostfs-rest-gw
|
||||||
S3_GW_VERSION=0.27.0-rc.1-30-gce929468
|
S3_GW_VERSION=0.27.0-rc.1-30-gce929468
|
||||||
S3_GW_IMAGE=truecloudlab/frostfs-s3-gw
|
S3_GW_IMAGE=truecloudlab/frostfs-s3-gw
|
||||||
|
|
||||||
|
# Lifecycler
|
||||||
|
S3_LIFECYCLER_VERSION=755083e36f
|
||||||
|
S3_LIFECYCLER_IMAGE=truecloudlab/frostfs-s3-lifecycler
|
||||||
|
|
||||||
# FrostFS LOCODE database
|
# FrostFS LOCODE database
|
||||||
LOCODE_DB_URL=https://git.frostfs.info/attachments/a2e8def7-52b6-49f1-89cd-a056712e8e54
|
LOCODE_DB_URL=https://git.frostfs.info/attachments/a2e8def7-52b6-49f1-89cd-a056712e8e54
|
||||||
#LOCODE_DB_PATH=/path/to/locode_db
|
#LOCODE_DB_PATH=/path/to/locode_db
|
||||||
|
|
|
@ -3,3 +3,4 @@
|
||||||
http_gate
|
http_gate
|
||||||
s3_gate
|
s3_gate
|
||||||
rest_gate
|
rest_gate
|
||||||
|
s3_lifecycler
|
||||||
|
|
62
services/s3_lifecycler/.env
Normal file
62
services/s3_lifecycler/.env
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
# Basenet settings
|
||||||
|
LOCAL_DOMAIN=frostfs.devenv
|
||||||
|
IPV4_PREFIX=192.168.130
|
||||||
|
CA_CERTS_TRUSTED_STORE=/etc/ssl/certs
|
||||||
|
|
||||||
|
# Bastion image
|
||||||
|
BASTION_VERSION=10
|
||||||
|
BASTION_IMAGE=debian
|
||||||
|
|
||||||
|
# NeoGo privnet
|
||||||
|
NEOGO_VERSION=0.101.1
|
||||||
|
NEOGO_IMAGE=nspccdev/neo-go
|
||||||
|
|
||||||
|
# FrostFS InnerRing nodes
|
||||||
|
IR_VERSION=365a7ca0
|
||||||
|
IR_IMAGE=truecloudlab/frostfs-ir
|
||||||
|
|
||||||
|
# FrostFS Storage nodes
|
||||||
|
NODE_VERSION=365a7ca0
|
||||||
|
NODE_IMAGE=truecloudlab/frostfs-storage
|
||||||
|
|
||||||
|
# NATS Server
|
||||||
|
NATS_VERSION=2.7.2
|
||||||
|
NATS_IMAGE=nats
|
||||||
|
|
||||||
|
# HTTP Gate
|
||||||
|
HTTP_GW_VERSION=0.27.0-rc.1-15-g1776db28
|
||||||
|
HTTP_GW_IMAGE=truecloudlab/frostfs-http-gw
|
||||||
|
|
||||||
|
# REST Gate
|
||||||
|
REST_GW_VERSION=c9c85e90
|
||||||
|
REST_GW_IMAGE=truecloudlab/frostfs-rest-gw
|
||||||
|
|
||||||
|
# S3 Gate
|
||||||
|
S3_GW_VERSION=0.27.0-rc.1-30-gce929468
|
||||||
|
S3_GW_IMAGE=truecloudlab/frostfs-s3-gw
|
||||||
|
|
||||||
|
# FrostFS LOCODE database
|
||||||
|
LOCODE_DB_URL=https://git.frostfs.info/attachments/a2e8def7-52b6-49f1-89cd-a056712e8e54
|
||||||
|
#LOCODE_DB_PATH=/path/to/locode_db
|
||||||
|
|
||||||
|
# FrostFS CLI binary
|
||||||
|
FROSTFS_CLI_URL=https://http.t5.fs.neo.org/7sm9csjtRLpr4c9QD55q9JJM73v79ohuAhTzP4fYRHFz/BbngJDdRJEDJTJk7qptq3SxKqrJqtvVYWU6R5AaFGbtG
|
||||||
|
#FROSTFS_CLI_PATH=/path/to/frostfs-cli-binary
|
||||||
|
|
||||||
|
# FrostFS ADM tool binary
|
||||||
|
FROSTFS_ADM_VERSION=eca5c210
|
||||||
|
FROSTFS_ADM_URL=https://http.t5.fs.neo.org/7sm9csjtRLpr4c9QD55q9JJM73v79ohuAhTzP4fYRHFz/2GxarAjGUb3RevxvqFGYT3hDQxNNaHzK6aFxhJCAMehq
|
||||||
|
#FROSTFS_ADM_PATH=/path/to/frostfs-adm-binary
|
||||||
|
|
||||||
|
# Compiled FrostFS Smart Contracts
|
||||||
|
FROSTFS_CONTRACTS_VERSION=8537293e
|
||||||
|
FROSTFS_CONTRACTS_URL=https://http.t5.fs.neo.org/7sm9csjtRLpr4c9QD55q9JJM73v79ohuAhTzP4fYRHFz/6ccZoj4HxoN1G1qvJAX2Qw9p2D6qdyzAjNMaNkEKYQpA
|
||||||
|
#FROSTFS_CONTRACTS_PATH=/path/to/unpacked/frostfs-contracts-dir
|
||||||
|
|
||||||
|
# Jaeger tracing
|
||||||
|
JAEGER_VERSION=1.42.0
|
||||||
|
JAEGER_IMAGE=jaegertracing/all-in-one
|
||||||
|
|
||||||
|
# Prometheus monitoring
|
||||||
|
PROMETHEUS_VERSION=v2.43.0
|
||||||
|
PROMETHEUS_IMAGE=prom/prometheus
|
2
services/s3_lifecycler/.hosts
Normal file
2
services/s3_lifecycler/.hosts
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
IPV4_PREFIX.82 s3.LOCAL_DOMAIN
|
||||||
|
IPV4_PREFIX.82 *.s3.LOCAL_DOMAIN
|
0
services/s3_lifecycler/.int_test.env
Normal file
0
services/s3_lifecycler/.int_test.env
Normal file
0
services/s3_lifecycler/.s3_lifecycler.env
Normal file
0
services/s3_lifecycler/.s3_lifecycler.env
Normal file
29
services/s3_lifecycler/cfg/config.yml
Normal file
29
services/s3_lifecycler/cfg/config.yml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
logger:
|
||||||
|
level: debug
|
||||||
|
|
||||||
|
prometheus:
|
||||||
|
enabled: true
|
||||||
|
address: :9090
|
||||||
|
|
||||||
|
# Interval to check node health
|
||||||
|
rebalance_interval: 30s
|
||||||
|
|
||||||
|
# Timeout to check node health during rebalance
|
||||||
|
healthcheck_timeout: 15s
|
||||||
|
|
||||||
|
# Timeout to connect to a node
|
||||||
|
connect_timeout: 10s
|
||||||
|
|
||||||
|
# Limits for processing of clients' requests
|
||||||
|
max_clients_count: 100
|
||||||
|
|
||||||
|
# Deadline after which the gate sends error `RequestTimeout` to a client
|
||||||
|
max_clients_deadline: 30s
|
||||||
|
|
||||||
|
resolve_order:
|
||||||
|
- nns
|
||||||
|
|
||||||
|
# Wallet configuration
|
||||||
|
wallet:
|
||||||
|
path: /wallet.json # Path to wallet
|
||||||
|
passphrase: "s3" # Passphrase to decrypt wallet
|
58
services/s3_lifecycler/docker-compose.yml
Normal file
58
services/s3_lifecycler/docker-compose.yml
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
---
|
||||||
|
|
||||||
|
version: "2.4"
|
||||||
|
services:
|
||||||
|
s3_lifecycler:
|
||||||
|
image: ${S3_LIFECYCLER_IMAGE}:${S3_LIFECYCLER_VERSION}
|
||||||
|
domainname: ${LOCAL_DOMAIN}
|
||||||
|
hostname: s3_lifecycler
|
||||||
|
container_name: s3_lifecycler
|
||||||
|
restart: on-failure
|
||||||
|
networks:
|
||||||
|
s3_lifecycler_int:
|
||||||
|
internet:
|
||||||
|
ipv4_address: ${IPV4_PREFIX}.82
|
||||||
|
volumes:
|
||||||
|
- ./wallet.json:/wallet.json
|
||||||
|
- ./tls.key:/tls.key
|
||||||
|
- ./tls.crt:/tls.crt
|
||||||
|
- ./../../vendor/hosts:/etc/hosts
|
||||||
|
- ./cfg:/etc/frostfs/s3-lifecycler
|
||||||
|
stop_signal: SIGKILL
|
||||||
|
env_file: [ ".env", ".s3_lifecycler.env", ".int_test.env" ]
|
||||||
|
command: [ "frostfs-s3-lifecycler", "--config", "/etc/frostfs/s3-lifecycler/config.yml" ]
|
||||||
|
environment:
|
||||||
|
- S3_LIFECYCLER_CREDENTIAL_USE=wallets
|
||||||
|
- S3_LIFECYCLER_CREDENTIAL_SOURCE_WALLETS_0_PATH=./wallet.json
|
||||||
|
- S3_LIFECYCLER_CREDENTIAL_SOURCE_WALLETS_0_ADDRESS=NTt1rxvmEDxEuuogLxs2xgxA71qhVaUcN7
|
||||||
|
- S3_LIFECYCLER_CREDENTIAL_SOURCE_WALLETS_0_PASSPHRASE="cycle"
|
||||||
|
- S3_LIFECYCLER_LIFECYCLE_JOB_FETCHER_BUFFER=1000
|
||||||
|
- S3_LIFECYCLER_LIFECYCLE_EXECUTOR_POOL_SIZE=100
|
||||||
|
- S3_LIFECYCLER_LIFECYCLE_SERVICES=031a6c6fbbdf02ca351745fa86b9ba5a9452d785ac4f7fc2b7548ca2a46c4fcf4a
|
||||||
|
- S3_LIFECYCLER_RPC_ENDPOINT=http://morph-chain.${LOCAL_DOMAIN}:30333
|
||||||
|
- S3_LIFECYCLER_MORPH_RPC_ENDPOINT_0_ADDRESS="wss://rpc1.morph.frostfs.info:40341/ws"
|
||||||
|
- S3_LIFECYCLER_MORPH_RPC_ENDPOINT_0_PRIORITY=0
|
||||||
|
- S3_LIFECYCLER_MORPH_RPC_ENDPOINT_0_TRUSTED_CA_LIST="/path/to/ca.pem"
|
||||||
|
- S3_LIFECYCLER_MORPH_RPC_ENDPOINT_0_CERTIFICATE="/path/to/cert"
|
||||||
|
- S3_LIFECYCLER_MORPH_RPC_ENDPOINT_0_KEY="/path/to/key"
|
||||||
|
- S3_LIFECYCLER_MORPH_RECONNECT_CLIENTS_INTERVAL=30s
|
||||||
|
- S3_LIFECYCLER_MORPH_RECONNECT_DIAL_TIMEOUT=5s
|
||||||
|
- S3_LIFECYCLER_MORPH_CONTRACT_NETMAP=netmap.frostfs
|
||||||
|
- S3_LIFECYCLER_MORPH_CONTRACT_FROSTFSID=frostfsid.frostfs
|
||||||
|
- S3_LIFECYCLER_MORPH_CONTRACT_CONTAINER=container.frostfs
|
||||||
|
- S3_LIFECYCLER_PEERS_0_ADDRESS=s01.${LOCAL_DOMAIN}:8080
|
||||||
|
- S3_LIFECYCLER_PEERS_0_WEIGHT=0.2
|
||||||
|
- S3_LIFECYCLER_PEERS_1_ADDRESS=s02.${LOCAL_DOMAIN}:8080
|
||||||
|
- S3_LIFECYCLER_PEERS_1_WEIGHT=0.2
|
||||||
|
- S3_LIFECYCLER_PEERS_2_ADDRESS=s03.${LOCAL_DOMAIN}:8080
|
||||||
|
- S3_LIFECYCLER_PEERS_2_WEIGHT=0.2
|
||||||
|
- S3_LIFECYCLER_PEERS_3_ADDRESS=s04.${LOCAL_DOMAIN}:8080
|
||||||
|
- S3_LIFECYCLER_PEERS_3_WEIGHT=0.2
|
||||||
|
- S3_LIFECYCLER_SERVER_0_ADDRESS=s3.${LOCAL_DOMAIN}:8080
|
||||||
|
- S3_LIFECYCLER_LISTEN_DOMAINS=s3.${LOCAL_DOMAIN}
|
||||||
|
|
||||||
|
networks:
|
||||||
|
s3_lifecycler_int:
|
||||||
|
internet:
|
||||||
|
external: true
|
||||||
|
name: basenet_internet
|
22
services/s3_lifecycler/tls.crt
Normal file
22
services/s3_lifecycler/tls.crt
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDpDCCAowCCQDXZEH0aQRqFzANBgkqhkiG9w0BAQsFADCBkzELMAkGA1UEBhMC
|
||||||
|
UlUxFjAUBgNVBAgMDVN0LlBldGVyc2J1cmcxGTAXBgNVBAcMEFNhaW50IFBldGVy
|
||||||
|
c2J1cmcxDjAMBgNVBAoMBU5TUENDMREwDwYDVQQLDAhOZW8gU1BDQzERMA8GA1UE
|
||||||
|
AwwIbnNwY2MucnUxGzAZBgkqhkiG9w0BCQEWDG9wc0Buc3BjYy5ydTAeFw0yMDA3
|
||||||
|
MTMxNTQyMzZaFw0zMDA3MTExNTQyMzZaMIGTMQswCQYDVQQGEwJSVTEWMBQGA1UE
|
||||||
|
CAwNU3QuUGV0ZXJzYnVyZzEZMBcGA1UEBwwQU2FpbnQgUGV0ZXJzYnVyZzEOMAwG
|
||||||
|
A1UECgwFTlNQQ0MxETAPBgNVBAsMCE5lbyBTUENDMREwDwYDVQQDDAhuc3BjYy5y
|
||||||
|
dTEbMBkGCSqGSIb3DQEJARYMb3BzQG5zcGNjLnJ1MIIBIjANBgkqhkiG9w0BAQEF
|
||||||
|
AAOCAQ8AMIIBCgKCAQEAwqo2l4fS0U6wZCLh7VjQn1LXN8pZlVaA62C+g1SwoWV2
|
||||||
|
Q5qM8FDihWj3UBO3F+6vUVJl8N5S0JroxxU6L48Wmshei145SLSl/F28tsk7Bbuz
|
||||||
|
NOchonlelW77Xr6l7cDJBWUWGkDoq6a/S6w6jjCGhZq+X0gyS5nZ4HTouVNv2oFK
|
||||||
|
eeJGtueLsS4zoVovrHdLSYdZH9/yC+E1WVCzQB+vdUF/vJLTuULgqncLV0sELmRl
|
||||||
|
+xsnnAV/REJswtCmKgrmAv9pMebBw5EEgROTGazdToWdD5X44xTlHjUb1bMuF9tL
|
||||||
|
YtUMdLxXceXZFhYhiTBO7ev9awKaNYslbxh+goJo1wIDAQABMA0GCSqGSIb3DQEB
|
||||||
|
CwUAA4IBAQBDEGhAyOtfsNwbZ0oZIw06e0JXCmri+8jsn5Ly/yHU0+ecHgMA5AAQ
|
||||||
|
AG2QRpZZtZCtD/Cj4i6nSTWbRhS0FgqY998p5Lnh/AXTZHBx0t3LKJupN59CIjCK
|
||||||
|
1eMEfQChoAZg66oO/obAFkq72gj8gpagMY9vFNVcszmse3FWrvlKmO1TwTEh+CzM
|
||||||
|
7wbmiL/ujm0lIf44pp0U4qYFcSimSDqbwOfeDPif9lMinzylDxMfaAKBHBHPj5Vt
|
||||||
|
fX8dgf6MIqyz51u/2G0gHfXMDxXec8huYKt2EtPyavh6kFxxGvcA15m6seJTcu+h
|
||||||
|
6WzeQFa2NBg7Z3ai4DiPXirNtcHWeqxK
|
||||||
|
-----END CERTIFICATE-----
|
27
services/s3_lifecycler/tls.key
Normal file
27
services/s3_lifecycler/tls.key
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIIEowIBAAKCAQEAwqo2l4fS0U6wZCLh7VjQn1LXN8pZlVaA62C+g1SwoWV2Q5qM
|
||||||
|
8FDihWj3UBO3F+6vUVJl8N5S0JroxxU6L48Wmshei145SLSl/F28tsk7BbuzNOch
|
||||||
|
onlelW77Xr6l7cDJBWUWGkDoq6a/S6w6jjCGhZq+X0gyS5nZ4HTouVNv2oFKeeJG
|
||||||
|
tueLsS4zoVovrHdLSYdZH9/yC+E1WVCzQB+vdUF/vJLTuULgqncLV0sELmRl+xsn
|
||||||
|
nAV/REJswtCmKgrmAv9pMebBw5EEgROTGazdToWdD5X44xTlHjUb1bMuF9tLYtUM
|
||||||
|
dLxXceXZFhYhiTBO7ev9awKaNYslbxh+goJo1wIDAQABAoIBAEIp3mJEjPgNOdDf
|
||||||
|
NlEYpdfxLStOQIKMo0bdXAOBToOc28SAjDTGGSflFGIIQWwF+Vq3meRzfExgyouY
|
||||||
|
AG3XwYQcZF4USX4XwG71YUXzQXdiY7ewc3Mos2gxD4kVXYpgwzJtOET2GN72zwAm
|
||||||
|
asSXY7GXdesmu8mMYkxzEAKlhFgMj+bGE/4QQUBKG9ylGIdo07zmU6rAsVhnwQTb
|
||||||
|
LE3cf+AxCeTVA7OsJCUUR4S9qsgXUN1WeaV8LNg0lYx8UTu1xlbrpSjx7B4eYy6J
|
||||||
|
FGJWuT9b3X+cBLcGk3BzheUAfqBG2UFDxUCt0grqmmTBkB850MtCDhffhPjxxrD7
|
||||||
|
KrwAcpECgYEA6HApn2VtWI/tDYCbNix6yxeqq73fO3ng6yFry1u7EYvl8hJXBgR4
|
||||||
|
b6kAVc3y/9pZO/5D23dHl1PQtnU5401/j6dQrb8A2TMqZ1vA8XIdIMjOiVjZtYMF
|
||||||
|
nXzmf78PEbw9jWlDVARJdAwkJeuDI4/HVvgiDAh3zxx5F8uDVP16/r8CgYEA1mXS
|
||||||
|
9owfLIPtPSxyMJoGU0jP7OP+HVwlKkXpvg7uBtINKSDW4UU4rnpIGW5MohR3ACWO
|
||||||
|
ReFliOnGA5FXBp9GzkbJ+wIYovPIsGuBdxSsBlPY1S0yPlo30hr7E6cK3B3EuxDg
|
||||||
|
SkbJcWp2EwXYEIyEcopbVUTTlBO3wmBFgm/Ps+kCgYA/+Kar9OlMR4hRgAS3uzQs
|
||||||
|
cx4I2F/46YlKjU8yj9ODd8JYhk2nHVHcQWITO3RWkEyg41DftQtiDbJSlR7SfUDP
|
||||||
|
U5gzyW69WISiH7GRgfucS0f0qxx4BVBlULvLitTl5631HnRmSivBIZpNSW01O1v8
|
||||||
|
hpwwPaBjww1czCkgGgdg1wKBgQCkaSdTW/bX+z9lpvzWWnc5TN/uSJRpTW1Osphh
|
||||||
|
4C8WWeQvwvglfiDOZAWAQv5PWKQ9H4+v9P4Y9TSdLcpv0JrKuqxPabcc1xfyei6o
|
||||||
|
89hLbecc6vDZsfOWkowx8Oo6DDX+Qh3Nt+TorXxocBXV8vvqnkEV7ZbWuhwz2gHT
|
||||||
|
2gyMaQKBgEE7rNzm8Q03IqQ08eYaRw8gWz8EpLeVebrGqtoH9AR5cd4OeTeZAEqc
|
||||||
|
iPehXctke2pUgS47XgG98G7Yg3E9UuOYM+H2nzQCoT7jrM0dZrVGZ0ty7z1a8QGe
|
||||||
|
UrjaAC/cyIGdszhf0Rf3qA7450nit9Txh+ilLiumgnUezl+eJXyI
|
||||||
|
-----END RSA PRIVATE KEY-----
|
30
services/s3_lifecycler/wallet.json
Normal file
30
services/s3_lifecycler/wallet.json
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{
|
||||||
|
"version": "1.0",
|
||||||
|
"accounts": [
|
||||||
|
{
|
||||||
|
"address": "NTt1rxvmEDxEuuogLxs2xgxA71qhVaUcN7",
|
||||||
|
"key": "6PYR3XurAyTzVeDG5WV2Z8vnGdySw3mTLuKjr6Nwo7tae64SJ7XjZSMMPQ",
|
||||||
|
"label": "lifecycler",
|
||||||
|
"contract": {
|
||||||
|
"script": "DCED9z0M+WSGfXZGxYLj1yYwmgxJXE/kNA4+oWNi0q1uKCdBVuezJw==",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"name": "parameter0",
|
||||||
|
"type": "Signature"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"deployed": false
|
||||||
|
},
|
||||||
|
"lock": false,
|
||||||
|
"isDefault": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"scrypt": {
|
||||||
|
"n": 16384,
|
||||||
|
"r": 8,
|
||||||
|
"p": 8
|
||||||
|
},
|
||||||
|
"extra": {
|
||||||
|
"Tokens": null
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue