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

CI/CD of Satellite UI: Automated Production Deployments #61

Open
ferristocrat opened this issue Mar 1, 2023 · 2 comments
Open

CI/CD of Satellite UI: Automated Production Deployments #61

ferristocrat opened this issue Mar 1, 2023 · 2 comments
Labels
Integrations Team Roadmap Items for the Integrations Team

Comments

@ferristocrat
Copy link
Contributor

ferristocrat commented Mar 1, 2023

Description:

In Scope:

Out of Scope:

What is the problem/pain point?

What is the impact?

Why now?

Links:

Acceptance Criteria:

Milestones:

@ferristocrat ferristocrat converted this from a draft issue Mar 1, 2023
@ferristocrat ferristocrat added the Integrations Team Roadmap Items for the Integrations Team label Mar 1, 2023
@ferristocrat ferristocrat moved this from Up Next to Ideas in Storj Platform Roadmap Mar 1, 2023
@ferristocrat ferristocrat moved this from Ideas to Under Consideration in Storj Platform Roadmap Mar 30, 2023
@ferristocrat ferristocrat changed the title CI/CD of Satellite UI Phase 3: Automated Production Deployments CI/CD of Satellite UI: Automated Production Deployments Apr 12, 2023
@iglesiasbrandon iglesiasbrandon moved this from Under Consideration to Ideas in Storj Platform Roadmap Apr 26, 2023
@mobyvb
Copy link
Member

mobyvb commented Apr 28, 2023

The bulk of this will probably be setting up "manual frontend deployments", and automating it will be easy, and just dependent on #60 to switch from manual to automatic
This doc outlines the notes we took about building up to CI/CD, for reference
This infra PR is a proof-of-concept for what infrastructure change we would need to separate out a container for the UI from the main backend deployment. It can probably be used as a basis for a lot of this work.

Steps:

  1. Do something like in the infra PR above to separate the UI from the backend infrastructurally
    • AC: both backend and UI containers still behind the same domain/load balancer (e.g. us1.storj.io); however, UI is served from one container, and a different container handles backend requests, e.g. metainfo/uplink, calls to /api endpoints from UI
  2. Discussion to determine other requirements:
    • discussion with QA what a "manual UI deploy" outside of a scheduled backend deploy could/should look like, including who needs to approve, who is allowed to conduct the deploy, and what level of manual testing is necessary for UI-only deployments (this discussion should also help us with some pending tasks for CI/CD of Satellite UI: Automated UI Tests #60)
    • discussion with Console about what habits need to be formed, what automated enforcement we can implement, etc... with the goal being to prevent any issues due to a more-up-to-date frontend being run against a more-out-of-date backend
      • what are all the possible issues that could arise due to a newer version of the frontend? (e.g. calls to endpoints that don't exist yet on the backend). Also consider a more up-to-date backend and a more out-of-date frontend. There is a possibility that if we make backend vs. frontend deployments completely independent, that both situations could occur.
      • what does the team need to account for in code changes and reviews in order to prevent the issues from the above point?
      • can we build any automatic checkers/linters etc... to prevent backwards incompatibility issues?
  3. Separate frontend and backend deployments - details of this step are largely dependent on the discussions above, so I won't try to guess what it will look like here
  4. When CI/CD of Satellite UI: Automated UI Tests #60 is finished we should be able to turn on continuous deployment. However, we should start on the above tasks asap, regardless of the status of CI/CD of Satellite UI: Automated UI Tests #60

cc @ferristocrat @NiaStorj @jewharton

@ferristocrat ferristocrat moved this from Ideas to Under Consideration in Storj Platform Roadmap May 2, 2023
@ferristocrat ferristocrat moved this from Under Consideration to Up Next in Storj Platform Roadmap May 2, 2023
@NiaStorj
Copy link

NiaStorj commented May 4, 2023

Manual deployments - 2- 4 sprints
Automated deployment testing will be blocked by #60 and manual deployment steps. Once finished automated deployment would be able to start. ROM 2-3 after being unblocked my #60 and manual deployments.

@iglesiasbrandon iglesiasbrandon moved this from Up Next to Under Consideration in Storj Platform Roadmap Jun 28, 2023
@iglesiasbrandon iglesiasbrandon added Needs Grooming Needs ROM Needs a rough order of magnitude labels Jul 6, 2023
@ferristocrat ferristocrat removed the Needs ROM Needs a rough order of magnitude label Jul 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Integrations Team Roadmap Items for the Integrations Team
Projects
None yet
Development

No branches or pull requests

4 participants