-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathrun-helm-microk8s.sh
113 lines (99 loc) · 4.24 KB
/
run-helm-microk8s.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
export KUBECONFIG=/home/akash/.kube/kubeconfig
. variables
#####################################################
DOMAIN="$DOMAIN"
ACCOUNT_ADDRESS="$ACCOUNT_ADDRESS"
KEY_SECRET="$KEY_SECRET"
CHAIN_ID=akashnet-2
REGION="$REGION"
CHIA_PLOTTING=false
CPU="$CPU"
HOST="akash"
TIER="community"
NODE="http://akash-node-1:26657"
#####################################################
# Akash Helm Charts
helm repo add akash https://akash-network.github.io/helm-charts
helm repo update
# Required for cluster creation, do not edit.
kubectl create ns akash-services
kubectl label ns akash-services akash.network/name=akash-services akash.network=true
kubectl create ns lease
kubectl label ns lease akash.network=true
kubectl apply -f https://raw.githubusercontent.com/akash-network/provider/v0.4.0/pkg/apis/akash.network/crd.yaml
# Node
helm upgrade --install akash-node akash/akash-node -n akash-services \
--set akash_node.api_enable=true \
--set akash_node.minimum_gas_prices=0uakt \
--set state_sync.enabled=false \
--set akash_node.snapshot_provider=polkachu \
--set resources.limits.cpu="2" \
--set resources.limits.memory="8Gi" \
--set resources.requests.cpu="0.5" \
--set resources.requests.memory="4Gi"
kubectl set env statefulset/akash-node-1 AKASH_PRUNING=custom AKASH_PRUNING_INTERVAL=100 AKASH_PRUNING_KEEP_RECENT=100 AKASH_PRUNING_KEEP_EVERY=100 -n akash-services
# Provider
helm upgrade --install akash-provider akash/provider -n akash-services \
--set attributes[0].key=region --set attributes[0].value=$REGION \
--set attributes[1].key=chia-plotting --set attributes[1].value=$CHIA_PLOTTING \
--set attributes[2].key=host --set attributes[2].value=$HOST \
--set attributes[3].key=cpu --set attributes[3].value=$CPU \
--set attributes[4].key=tier --set attributes[4].value=$TIER \
--set attributes[5].key=network_download --set attributes[5].value=$DOWNLOAD \
--set attributes[6].key=network_upload --set attributes[6].value=$UPLOAD \
--set attributes[7].key=status --set attributes[7].value=https://status.$DOMAIN \
--set from=$ACCOUNT_ADDRESS \
--set key="$(cat ./key.pem | base64)" \
--set keysecret="$(echo $KEY_SECRET | base64)" \
--set domain=$DOMAIN \
--set bidpricescript="$(cat bid-engine-script.sh | openssl base64 -A)" \
--set node=$NODE \
--set log_restart_patterns="rpc node is not catching up|bid failed" \
--set resources.limits.cpu="1" \
--set resources.limits.memory="2Gi" \
--set resources.requests.cpu="0.5" \
--set resources.requests.memory="1Gi"
# Provider customizations
kubectl set env statefulset/akash-provider AKASH_BROADCAST_MODE=block AKASH_TX_BROADCAST_TIMEOUT=15m0s AKASH_BID_TIMEOUT=15m0s AKASH_LEASE_FUNDS_MONITOR_INTERVAL=90s AKASH_WITHDRAWAL_PERIOD=72h -n akash-services
# Hostname Operator
helm upgrade --install akash-hostname-operator akash/akash-hostname-operator -n akash-services
# Inventory Operator
helm upgrade --install inventory-operator akash/akash-inventory-operator -n akash-services
# Ingress Operator
ingress_charts(){
cat > ingress-nginx-custom.yaml << EOF
controller:
service:
type: ClusterIP
ingressClassResource:
name: "akash-ingress-class"
kind: DaemonSet
hostPort:
enabled: true
admissionWebhooks:
port: 7443
config:
allow-snippet-annotations: false
enable-real-ip: true
proxy-buffer-size: "16k"
metrics:
enabled: true
extraArgs:
enable-ssl-passthrough: true
tcp:
"1317": "akash-services/akash-node-1:1317"
"8443": "akash-services/akash-provider:8443"
"9090": "akash-services/akash-node-1:9090"
"26656": "akash-services/akash-node-1:26656"
"26657": "akash-services/akash-node-1:26657"
EOF
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm upgrade --install ingress-nginx ingress-nginx/ingress-nginx \
--version 4.7.0 \
--namespace ingress-nginx --create-namespace \
-f ingress-nginx-custom.yaml
kubectl label ns ingress-nginx app.kubernetes.io/name=ingress-nginx app.kubernetes.io/instance=ingress-nginx
kubectl label ingressclass akash-ingress-class akash.network=true
}
ingress_charts