diff --git a/deployments/charts/penumbra/.helmignore b/deployments/charts/penumbra/.helmignore index d875727f8c..37ba378b66 100644 --- a/deployments/charts/penumbra/.helmignore +++ b/deployments/charts/penumbra/.helmignore @@ -30,6 +30,7 @@ pdcli/vals.json pdcli/.penumbra/testnet_data/node0/tendermint/data/ pdcli/.penumbra/testnet_data/node0/tendermint/config/config.toml +pdcli/.penumbra/testnet_data/node0/tendermint/config/genesis.json pdcli/.penumbra/testnet_data/node0/pd/ pdcli/.penumbra/testnet_data/node1/tendermint/data/ diff --git a/deployments/charts/penumbra/templates/fn-deployments.yaml b/deployments/charts/penumbra/templates/fn-deployments.yaml index 7b8e533e9b..0a5ebb047e 100644 --- a/deployments/charts/penumbra/templates/fn-deployments.yaml +++ b/deployments/charts/penumbra/templates/fn-deployments.yaml @@ -58,8 +58,8 @@ spec: configMap: name: {{ include "penumbra.fullname" $ }}-genesis-config items: - - key: "genesis.json" - path: "genesis.json" + - key: "genesis.json.gz" + path: "genesis.json.gz" initContainers: - name: pvc-ownership image: busybox @@ -118,7 +118,7 @@ spec: mkdir $MERGE_DIR config-merge -f toml $CONFIG_DIR/config.toml $OVERLAY_DIR/config.toml > $MERGE_DIR/config.toml mv $MERGE_DIR/* $CONFIG_DIR/ - cp /genesis/genesis.json $CONFIG_DIR/ + gzip -d -c /genesis/genesis.json.gz > $CONFIG_DIR/genesis.json securityContext: runAsUser: 1025 runAsGroup: 1025 diff --git a/deployments/charts/penumbra/templates/genesis-config.yaml b/deployments/charts/penumbra/templates/genesis-config.yaml index 803e39f3f6..d592af63cf 100644 --- a/deployments/charts/penumbra/templates/genesis-config.yaml +++ b/deployments/charts/penumbra/templates/genesis-config.yaml @@ -5,5 +5,5 @@ metadata: labels: {{- include "penumbra.labels" . | nindent 4 }} binaryData: -{{ $path := "pdcli/.penumbra/testnet_data/node0/tendermint/config/genesis.json" }} -{{- "genesis.json" | indent 2 }}{{ print ": "}}{{ $.Files.Get $path | b64enc -}} +{{ $path := "pdcli/genesis.json.gz" }} +{{- "genesis.json.gz" | indent 2 }}{{ print ": "}}{{ $.Files.Get $path | b64enc -}} diff --git a/deployments/charts/penumbra/templates/val-deployments.yaml b/deployments/charts/penumbra/templates/val-deployments.yaml index 19c66b33f5..a132aa7d0f 100644 --- a/deployments/charts/penumbra/templates/val-deployments.yaml +++ b/deployments/charts/penumbra/templates/val-deployments.yaml @@ -54,8 +54,8 @@ spec: configMap: name: {{ include "penumbra.fullname" $ }}-genesis-config items: - - key: "genesis.json" - path: "genesis.json" + - key: "genesis.json.gz" + path: "genesis.json.gz" - name: val-secrets secret: secretName: {{ include "penumbra.fullname" $ }}-val-secrets-{{$i}} @@ -124,7 +124,7 @@ spec: mkdir $MERGE_DIR config-merge -f toml $CONFIG_DIR/config.toml $OVERLAY_DIR/config.toml > $MERGE_DIR/config.toml mv $MERGE_DIR/* $CONFIG_DIR/ - cp /genesis/genesis.json $CONFIG_DIR/ + gzip -d -c /genesis/genesis.json.gz > $CONFIG_DIR/genesis.json cp /val/priv_validator_key.json $CONFIG_DIR/ cp /val/node_key.json $CONFIG_DIR/ cp /val/validator_custody.json $CONFIG_DIR/ diff --git a/deployments/ci.sh b/deployments/ci.sh index 2e9c257877..12de511e52 100755 --- a/deployments/ci.sh +++ b/deployments/ci.sh @@ -90,6 +90,11 @@ function create_genesis() { $preserve_chain_opt \ --validators-input-file "${CONTAINERHOME}/vals.json" > /dev/null + # Compress the genesis file, otherwise the Helm manifest will exceed the 1MB + # secret limit. See GH1783. + gzip -c "${WORKDIR}/.penumbra/testnet_data/node0/tendermint/config/genesis.json" \ + > "${WORKDIR}/genesis.json.gz" + # Clear out persistent peers. Will peer after services are bootstrapped. # The Helm chart requires that these local flat files exist, but we cannot # populate them with external IPs just yet. Make sure they're present,