Closed puja108 closed 1 month ago
Added the tasks we gathered in the miro to tasklists per team.
@weatherhog (for honeybadger) I only added the high level ones that were marked for the MVP. Can you and @piontec detail out the high-level issues with the detailed tasks (most of which we already have in the phases in the board)?
@stone-z @TheoBrigitte @weatherhog (for Cabbage) I added some ideas that we thought of in the sprint this week. You can add more where you see fit. For context the recording of today's Platform Sync will be shared soon. Let's go through the items for your teams together and see which ones and in which scope can/should be done within the scope of the MVP and which ones we should rather move to future releases.
I'll also be creating further issues, where we can for now park features we want to build but will not be needed for this stage of the MVP.
Here the link to the recording https://drive.google.com/file/d/1mcOJ3mguKsxyfVS1yhAD_X883vqT1nYd/view
@puja108 this is the epic we are currently working on
We had a nice discussion in HoneyBadger about the current state and I would like to collect my thoughts about the current state based on my learnings building a similar system for some years.
I think they are good for quick start / demo purposes but in my experience they are very difficult to maintain in the long run:
devctl
+ some other repos does something like this, but what usually lacking here is tracking the progress on the opened PRs. Some will fail and need manual intervention + teams to review and merge them. A migration is only good if fully done. Without overview you will have projects in all sorts of different states. I have some experience using Sourcegraph Batch Changes here that I think it has a solution for this problem in a good way, but Sourcegraph also does a lot more and a paid product so probably would not fit all needs here. Bringing them up as good example for this particular problem.In my experience it is okay if we think of this as using it for demo purposes. However if we aim for fully supporting this phase a projects lifecycle we lack - at the moment - thinking about some crucial parts, as creating a project is one thing and the easiest one, but:
Highly depends on what we want to store here. In my experience this is nice approach but can turn bad quickly if some commonly principles are not laid down and followed:
Storing deployment configuration in them may not be a good idea. Imagine you have an issue that needs to be solved ASAP or the service just needs to be scaled fast or some some new configuration value is needed you would need to rebuild the whole service through all the CI/CD pipeline (yea, never seen issues with CI, they just work) to propagate that change easily taking up to one hour maybe. Then imagine you realise some other values need to change too or you updated the wrong number...
I think it is fine we don't want to figure it all out right away, but it would have a huge impact on our MC and our current plans with them. Thinking of tenants vs admin access vs current MAPI / RBAC here.
I think we are already the strongest here. Crossplane can be a good bet, I see the value here. I personally had some bad experience with in the start but they are changing fast and from what I hear for the better. Thus my fears probably from my bad experience and lack of knowledge on this topic.
Is the intent that we edit the items directly in the list or should there be some proposal/discussion first?
I guess it might need a bit of discussion, so a proposal by each team would be good, so we can edit the list based on that
Shield intends to focus first on the platform management experience for the platform/security teams, with the developer features being primarily feedback that the platform teams don't need to manage.
These features include (roughly in order of when we want to do them):
team requests exception
--> platform handles automated approvals
--> reviewers handle remaining manual approvals
--> platform manages the lifecycle of that exception
All of the above include exposing metrics. Reports from the underlying tools are already available and Policy API CRs will include more data in a tool-independent format.
Due to the difficulty of managing CI/CD pipelines Giant Swarm doesn't own, we don't plan to do much (if any) pipeline work with the resources we currently have. However, we might explore "out of band" options for supporting these features in CI. For example, maybe we don't provide a Jenkins config for all the scanners we use, but we might instead provide the policies in a CLI-friendly format to be used, or we expose an endpoint configured with the customers' current policies against which a dry run can be made from CI to validate the workload being built.
The features currently listed in the main issue are mostly already available:
Moving this to waiting, as we lowered priority on this to first work on the foundation that can enable a real golden path.
We will definitely revive this once we feel the foundation is laid.
Putting this on hold does not mean we stop discovering and co-innovating with customers around this topic and how we can already help them towards such a goal.
@puja108 can this be closed as we stopped working on the developer MVP and have shifted our goal?
yeah, I think for now we can close it, or @teemow do you think we should re-use this?
closing this issue, please reopen if you feel like it should be re-used
User Story
As a Developer I want to be able to create a new software project (written in golang) I want to get everything from pipeline setup through deployment to production up to introspection and alerting at runtime out-of-the-box with as minimal intervention from my side as needed I want my entire workflow to be as self-service as possible, especially without having to involve a platform team or other areas of my organization.
Details, Background
The goal of this MVP is a minimal golden path example that is demoable to customers and other stakeholders.
We want to be able to use it to test out some of our assumptions on the customer/user side by showing a full end-to-end usable golden path.
As a side goal we want to also test our assumptions on the technology side, especially seeing how far we can get by relying as much as possible on standard open source components and glueing those together.