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

Set Up VSCode Remote Development Environment on Kubernetes with Multi-Repository Sync #1

Open
2 of 6 tasks
hugolytics opened this issue May 1, 2024 · 0 comments · May be fixed by #2
Open
2 of 6 tasks

Set Up VSCode Remote Development Environment on Kubernetes with Multi-Repository Sync #1

hugolytics opened this issue May 1, 2024 · 0 comments · May be fixed by #2
Assignees
Labels
help wanted Extra attention is needed

Comments

@hugolytics
Copy link
Member

hugolytics commented May 1, 2024

Description

This issue aims to establish a robust VSCode remote development environment within our Kubernetes cluster and ensure code synchronization between GitHub and GitLab repositories. The environment will be containerized, utilizing a Docker image built and stored in our Harbor registry. The goal is to provide developers with a consistent, isolated development environment that closely mirrors our production setup, with the ability to push changes to both GitLab (via VPN) and GitHub.

Objectives

  • Container Build and Registry: Ensure our Docker container is built and pushed to the Harbor registry via our CI/CD pipeline in GitLab.
  • Kubernetes Deployment: Deploy the containerized environment using Kubernetes, including necessary configurations like PVCs, services, and ingress rules as needed.
  • VSCode Integration: Enable developers to connect to this environment using VSCode's Remote SSH feature, allowing them to code, debug, and run applications directly in the cluster.
  • Code Synchronization: Establish a mechanism (possibly using Git submodules or scripts) to sync code between GitHub and GitLab, noting that GitLab access requires a VPN.

Tasks

  • Update the Dockerfile to optimize the build for remote development with all necessary tools and libraries.
  • Configure gitlab-ci.yml to automate Docker builds and push to the Harbor registry.
  • Create and apply Kubernetes configuration files (dev-environment-deployment.yaml, dev-environment-service.yaml, dev-environment-pvc.yaml).
  • Document the process and configurations in readme.md to guide developers on how to connect and use the environment.
  • Ensure all Kubernetes configurations and Dockerfiles are committed and reviewed via a pull request.
  • Set up a Git strategy (submodules or scripts) that allows pushing code updates to both GitLab (using VPN) and GitHub to ensure that both repositories stay synchronized.

Expected Outcome

A fully functional development environment within Kubernetes, accessible via VSCode, enabling seamless development and testing processes that align with our continuous integration and deployment strategies. Additionally, ensure that code updates are consistently synced between our GitLab and GitHub repositories.

Additional Notes

  • Review security settings, especially around SSH access and Kubernetes secrets management.
  • Consider integration testing scenarios to validate the environment with typical development workflows.
  • VPN setup must be robust and clearly documented to ensure reliable GitLab connectivity.
@hugolytics hugolytics added the help wanted Extra attention is needed label May 1, 2024
@hugolytics hugolytics linked a pull request May 1, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants