Entire workflow with app repo and manifest repo for Kubernetes agent - UX requirements specification

Problem to solve

This problem has many facets, the user stories we want to support on the long run are described in the agent doc

Requirements we want to satisfy:

  • Make it possible to review the final YAML before it gets merged into master of kubernetes manifests
  • We should support different workflows
    • App is configured together with the app code
    • A separate app template exists and only minor configuration is allowed in the app code
    • The manifest repo is deployed automatically
    • The manifest repo is used to review final changes

We can start by supporting only one worfklow, and get user feedback on other needs.

Intended users

User experience goal

Have a transparent and easy to use workflow from app code development to deployment to a cluster.

Proposal

Ideas

New app version:

sequenceDiagram
  Engineer ->> App repo : Merges to master / pushes code
  App repo ->> Docker registry: Run app CI and push image
  App repo ->> Manifest repo: Trigger pipeline to run hydrate step
  Note over App repo, Manifest repo: Does this require parent-child pipelines? (premium)
  Manifest repo --> Docker registry: grab the image name/tag
  Manifest repo ->> Manifest repo: commit new version
  Manifest repo --> agentk: Polling find new version

Deployment template changes:

sequenceDiagram
  Engineer ->> Manifest repo : Changes the project templates in master
  Manifest repo ->> Manifest repo: Trigger pipeline to run hydrate step and commit
  Manifest repo --> agentk: Polling find new version

This means that we need a defined structure for the project to find the template, or should use something like Google Application Manager does to get to the final manifest repo.

Further details

Permissions and Security

Documentation

Availability & Testing

What does success look like, and how can we measure that?

What is the type of buyer?

Is this a cross-stage feature?

Links / references

Edited by Mikhail Mazurskiy