Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: compress genesis file during deployment #2512

Merged
merged 3 commits into from
May 8, 2023
Merged

Conversation

conorsch
Copy link
Contributor

@conorsch conorsch commented May 8, 2023

During ramp-up to Testnet 52 (#2415), we opportunistically updated the Discord allocations, and encountered #1783 again. While we need a durable solution to that problem, we also want a quick fix, so we turn to tried-and-true file compression: we gzip the generated json file, base64 encode it to sideload it into the cluster, then decompress it as part of the initContainer bootstrapping logic during node creation. This is a "good enough" solution to buy time for the near future, ensuring that we can continue to update Discord allocations when we want. The compression ratio is approximately 3x, which gives us some headroom.

conorsch added 3 commits May 8, 2023 16:08
During ramp-up to Testnet 52 (#2415), we opportunistically updated the
Discord allocations, and encountered #1783 again. While we need a
durable solution to that problem, we also want a quick fix, so we turn
to tried-and-true file compression: we gzip the generated json file,
base64 encode it to sideload it into the cluster, then decompress it as
part of the initContainer bootstrapping logic during node creation.
This is a "good enough" solution to buy time for the near future,
ensuring that we can continue to update Discord allocations when we
want. The compression ratio is approximately 3x, which gives us some
headroom.
This reverts commit 0de00f2,
which was itself a reversion of ce63890.
@conorsch conorsch temporarily deployed to smoke-test May 8, 2023 23:14 — with GitHub Actions Inactive
@conorsch conorsch merged commit b0f80fa into main May 8, 2023
@conorsch conorsch deleted the compress-allocations branch May 8, 2023 23:49
conorsch added a commit that referenced this pull request May 9, 2023
Follow-up to #2512. Here we remove the ConfigMap generation from the
Helm logic, opting instead to create/delete the resource manually via direct
use of `kubectl`. This removes the large base64-encoded file from the
Helm manifest, sidestepping the 1MB limit. We're still subject to a 1MB
limit on the ConfigMap object itself, but the gzipped-then-base64d data
is ~590Kb right now, so we've got some more time.
conorsch added a commit that referenced this pull request May 9, 2023
Follow-up to #2512. Here we remove the ConfigMap generation from the
Helm logic, opting instead to create/delete the resource manually via direct
use of `kubectl`. This removes the large base64-encoded file from the
Helm manifest, sidestepping the 1MB limit. We're still subject to a 1MB
limit on the ConfigMap object itself, but the gzipped-then-base64d data
is ~590Kb right now, so we've got some more time.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant