akash-network / akash-network/console

Extract nginx away from console container

Open
#240 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

tech-debt
Dominant language
TypeScript
Stars
264
Forks
94
Avg merge
18h 49m
Merged PRs (30d)
297

Description

Current Issue:
Currently, Nginx and SSL are configured within the same image that's running the application container. This setup mixes application logic with infrastructure concerns, leading to several issues:

  • Separation of Concerns: The current configuration mixes application logic with infrastructure (reverse proxy and SSL), which should be handled separately.
  • Environment Differences: The local environment doesn't require a reverse proxy, while the remote environment does. This discrepancy leads to code duplication and complicates maintenance.
  • Maintainability: Combining these concerns into a single container creates confusion and makes it harder to maintain the setup.
  • Security: Harder to implement unprivileged access for the application/proxy

Proposed Solution:
To address these issues, we should separate the Nginx and SSL configuration into a sidecar container. This is a common pattern that helps isolate infrastructure concerns from application logic.

Benefits:

  • Clear Separation: By using a sidecar container, the application logic and infrastructure concerns are clearly separated.
  • Consistency Across Environments: This setup allows for a consistent configuration between local and remote environments, reducing code duplication and maintenance complexity.
  • Simplified Maintenance: Maintaining and updating the reverse proxy and SSL configurations become easier when they are isolated from the application container.

Implementation Guide:
There is a comprehensive guide on how to implement an Nginx sidecar on Google Cloud Platform (GCP). This guide can be adapted to our needs to set up the sidecar container effectively.
Implementing Nginx Sidecar on GCP

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Docker image and deployment configuration that currently include Nginx and SSL, then review the linked GCP Nginx sidecar guide. Done means Nginx and SSL run in a separate sidecar, application concerns are removed from that image, and local and remote environments no longer need duplicated configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, google-cloud, nginx
Domain
cloud, devops, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.