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

[ECO-2152] Segment REST and WS endpoints for dual load balancer schema #229

Merged
merged 204 commits into from
Sep 4, 2024

Conversation

alnoki
Copy link
Member

@alnoki alnoki commented Sep 1, 2024

Description

This PR segments the REST and WS endpoints into separate subdomains through
internal load balancer refactors that will enable rate limiting and caching in
subsequent updates.

CloudFormation

  1. Connect PostgREST to a private NLB, accessed by new REST API gateway over VPC
    Link, to enable add-on rate limiting and caching in subsequent updates.
  2. Provide a custom domain for WS and REST endpoints, leaving broker connected
    to public ALB due to aforementioned difficulties with header forwarding. Note
    that rate limiting can still be applied to the ALB, even though caching is
    not meaningful for the WS endpoint.
  3. Update processor health checks per
    [ECO-2145] Add health route aptos-indexer-processors#45.
  4. Update broker health checks per [ECO-2142] Implement retry functionality for the broker #220 and per WS path updates in this PR.
  5. Update README with new domain layout, diagnostics commands.

Broker path updates

  1. Update broker WS server to be at / on broker.
  2. Update broker / health check to be /live.
  3. Bump version for each time that I vacillated about path strategy, for
    consistency with Docker images pushed to Docker Hub.
  4. Pin apt-get install versions major.
  5. Update broker README for new path strategy.
  6. Update Docker compose for new path strategy.

Testing

  • I deployed the changes in this PR on a CloudFormation stack then verified
    the README instructions for both public endpoints and bastion host, using the
    CLI to send in chat events.
  • I fully de-provisioned the stack by setting MaybeDeployStack to false to
    verify no update hangs during de-provisioning.
  • I then set MaybeDeployStack to true to verify full stack provisioning
    from genesis, which will happen on main when this lands since main is
    currently de-provisioned.

Checklist

  • Did you update relevant documentation?
  • Did you check all checkboxes from the linked Linear task?

@alnoki alnoki changed the title [ECO-2152] Endpoint protections [ECO-2152] Segment REST and WS endpoints for dual load balancer schema Sep 3, 2024
@CRBl69 CRBl69 merged commit d2b1197 into main Sep 4, 2024
9 of 10 checks passed
@CRBl69 CRBl69 deleted the ECO-2152 branch September 4, 2024 19:02
xbtmatt

This comment was marked as outdated.

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.

3 participants