akash-network / akash-network/console
Extract nginx away from console container
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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