beam
beam copied to clipboard
[Playground][Task] Improve Playground infrastructure and deployment scripts
What needs to happen?
Investigate and address following issues related to infrastructure and backend deployment scripts:
-
Naming of git workflows should be consistent. Currently we have: build_playground_frontend.yaml build_playground_backend.yaml (old backend) DeployInfrastructure.yml playground_deploy_examples.yml <--------- best name. use this patterns K8e-backend.yml (new backend)
-
Two different helm charts for backend - looks like there is a room for improvement (try subcharts) Playground\infrastructure\helm - for CI/CD Playground\infrastructure\helm-backend - for Prod (new)
-
Different approaches for deployment: Front is deployed with a gradle task - terraform Back is deployed with helm and no gradle task
-
Back+Example CI\CD deployment hit trial account quotas - need to change that to be able to test(minor, optional)
-
Dangling deprecated terraform templates for old backend in playground\terraform 6.New approach assumes that Helm is not part of infrastructure
-
New approach doesn't define Kubernetes entities (deployments, services) as infra (TBD)
-
Some values are still hardcoded
-
Static IP for front should be obtained from teraform
-
Autoscaling is disabled or not configured for now
-
Workflow step verification of helm install is missing . (helm list)
Issue Priority
Priority: 3
Issue Component
Component: beam-playground
.take-issue
Legacy code
- There's some legacy infrastructure code in playground/terraform/backend, it needs to be analyzed and removed
- Backend images have TLS-related components (mitmproxy, allow_proxy.py) which are no longer needed
- Gradle tasks to deploy backend are obsolete
- playground/terraform/README.md has to be updated
Building images
It's neccessary that we optimize building and pushing of Docker images, it takes 90% of time of deployment
- No way to skip when done manually now (adressed in #23255)
- Dockerfiles for Playground Backend could be optimized
CI for Playground
Currently there's no automated CI runs for
- Pytest in playground infrastructure
- Playground Backend unittests
- Playground Examples compilation
Completed