-
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 2 replies
-
It wouldn't necessarily be wrong to have two "int" stages. I think it looks wrong because your naming scheme is odd. If you have two microservices, we'll call them "foo" and "bar," then you can have Warehouses named You can then have two stages, quite reasonably named This is one way of doing things. Now suppose that although "foo" and "bar" are separate services, there's some tight coupling between them and when you roll out changes to one, you usually have to roll out complementary changes to the other, in tandem. In this case, you would not wish to move artifacts for one service and the other through your pipeline(s) independently of one another. In a case such as this, perhaps you make a single Still, another possibility is one that looks like your screenshot where you have two Warehouses producing Freight for "foo" and "bar" separately from one another and you have Stages like So... not that I recommend the last approach, but zeroing in on it, since that's what you asked about, and circling back to your original question -- you don't need a second promotion template. You need to define your promotion process differently. "Instead of clone this repo and do this, this and this," it is more like, "Clone these two repos and do this and that, etc." Bottom line is that you have a lot of options and there isn't any one-size-fits all answer. You need to design a pipeline (or pipelines) that meets your needs. Does this help? |
Beta Was this translation helpful? Give feedback.
-
Yeah it make sense. For our need this will kind of do: I think I was just confused and trapped in certain way of thinking. For us we want to have Then I also saw this in documentation:
apiVersion: kargo.akuity.io/v1alpha1
kind: Stage
metadata:
name: test
namespace: kargo-demo
spec:
requestedFreight:
- origin:
kind: Warehouse
name: microservice-a
sources:
direct: true
- origin:
kind: Warehouse
name: microservice-b
sources:
direct: true
# ... So in the example in the docs https://docs.kargo.io/concepts the above yaml will result in situation shown as on picture in my original post. But since those microservice-a and microservice-b are "independend" and just sits in the same location (env) I was confused because based on the example it looked like we should have 1 stage, but it does not really supports those multiple promotion templates so it just added to confusion.... Anyway just wanted to explain my thinking a little bit. After reading your answer I got a little bit different perspective and those multiple "pipelines" will work for us but I think it is not ideal and could be improved on it. But for that I will open different discussion. |
Beta Was this translation helpful? Give feedback.
-
🤔 Now when I am reading it again after some time. You are saying that how you interpret the stuff depends also on who you are - infra person, developer or someone else. So the question could be: Is it ok to have different view for each persona? Because developers "usually" think about env as place where you are deploying stuff, multiple microservices sits in same env. So would it make sense to allow them to use it like that? I assume that developers and infra guys will have their own projects and there is not much need for developer person to be looking at infra project and vice versa 🤔 |
Beta Was this translation helpful? Give feedback.
It wouldn't necessarily be wrong to have two "int" stages. I think it looks wrong because your naming scheme is odd.
If you have two microservices, we'll call them "foo" and "bar," then you can have Warehouses named
foo
andbar
that will each discover all artifacts (images and manifests) for one of those or the other and bundle them up as Freight whenever new artifacts are found.You can then have two stages, quite reasonably named
foo-int
andbar-int
. These Warehouses and Stages would essentially be the beginnings of two parallel pipelines for your two microservices that are, in all ways, independent of one another.This is one way of doing things.
Now suppose that although "foo" and "ba…