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

EDS-D91BEM - Custom configuration per application ( Owner ) #123

Merged
merged 5 commits into from
Apr 14, 2022

Conversation

medo-freiheit
Copy link
Contributor

No description provided.

Copy link
Member

@hannesg hannesg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤔 I'm wondering how we will build additional features on top of this.

Do we plan to have notifications per team? Or cluster-per team? How would we build this on top of this?

Apart from this, please use consistent naming ( team or owner ).

services/cd-service/pkg/repository/transformer.go Outdated Show resolved Hide resolved
@medo-freiheit
Copy link
Contributor Author

I'm wondering how we will build additional features on top of this.

@hannesg, there will be a file let's call it Kuberpult-custom-config for each service ( optional ), it should be something like this :

{
"Owner": "team-name",
"feature1": "value1",
"featureN": "valueN",
}

this file will be sent using publish. sh whenever we release a new version.
However, the names of the features will be fixed and should be the same in the ApplicationConfig:

type ApplicationConfig struct {
	Owner string `json:"owner"`
}

@hannesg
Copy link
Member

hannesg commented Apr 12, 2022

I'm wondering how we will build additional features on top of this.

@hannesg, there will be a file let's call it Kuberpult-custom-config for each service ( optional ), it should be something like this :

{
"Owner": "team-name",
"feature1": "value1",
"featureN": "valueN",
}

this file will be sent using publish. sh whenever we release a new version. However, the names of the features will be fixed and should be the same in the ApplicationConfig:

type ApplicationConfig struct {
	Owner string `json:"owner"`
}

I have some regards to that design.

I'm wondering how we will build additional features on top of this.

@hannesg, there will be a file let's call it Kuberpult-custom-config for each service ( optional ), it should be something like this :

{
"Owner": "team-name",
"feature1": "value1",
"featureN": "valueN",
}

this file will be sent using publish. sh whenever we release a new version. However, the names of the features will be fixed and should be the same in the ApplicationConfig:

type ApplicationConfig struct {
	Owner string `json:"owner"`
}

🤔 I think usually we want to have features per-team. Did you discuss namespaces already? I see that they incur more effort but it would fit much better to our (newer) monorepos where two teams can easily have the same service name without clashing. I would really like to move more in the direction of having one namespace per team.

@sven-urbanski-freiheit-com
Copy link
Contributor

I'm wondering how we will build additional features on top of this.

@hannesg, there will be a file let's call it Kuberpult-custom-config for each service ( optional ), it should be something like this :

{
"Owner": "team-name",
"feature1": "value1",
"featureN": "valueN",
}

this file will be sent using publish. sh whenever we release a new version. However, the names of the features will be fixed and should be the same in the ApplicationConfig:

type ApplicationConfig struct {
	Owner string `json:"owner"`
}

I have some regards to that design.

I'm wondering how we will build additional features on top of this.

@hannesg, there will be a file let's call it Kuberpult-custom-config for each service ( optional ), it should be something like this :

{
"Owner": "team-name",
"feature1": "value1",
"featureN": "valueN",
}

this file will be sent using publish. sh whenever we release a new version. However, the names of the features will be fixed and should be the same in the ApplicationConfig:

type ApplicationConfig struct {
	Owner string `json:"owner"`
}

thinking I think usually we want to have features per-team. Did you discuss namespaces already? I see that they incur more effort but it would fit much better to our (newer) monorepos where two teams can easily have the same service name without clashing. I would really like to move more in the direction of having one namespace per team.

I don't agree that namespaces are really the way we want to go, or at least I don't see it as a priority.
Since we can't reach you right now, we will move on with how it is now (json structure), and then schedule a meeting with us three, to discuss what we really want to achieve in the future. I don't think one file per attribute is the way to go, it's just a lot of files that could be one.

@sven-urbanski-freiheit-com
Copy link
Contributor

I'm wondering how we will build additional features on top of this.

@hannesg, there will be a file let's call it Kuberpult-custom-config for each service ( optional ), it should be something like this :

{
"Owner": "team-name",
"feature1": "value1",
"featureN": "valueN",
}

this file will be sent using publish. sh whenever we release a new version. However, the names of the features will be fixed and should be the same in the ApplicationConfig:

type ApplicationConfig struct {
	Owner string `json:"owner"`
}

I have some regards to that design.

I'm wondering how we will build additional features on top of this.

@hannesg, there will be a file let's call it Kuberpult-custom-config for each service ( optional ), it should be something like this :

{
"Owner": "team-name",
"feature1": "value1",
"featureN": "valueN",
}

this file will be sent using publish. sh whenever we release a new version. However, the names of the features will be fixed and should be the same in the ApplicationConfig:

type ApplicationConfig struct {
	Owner string `json:"owner"`
}

thinking I think usually we want to have features per-team. Did you discuss namespaces already? I see that they incur more effort but it would fit much better to our (newer) monorepos where two teams can easily have the same service name without clashing. I would really like to move more in the direction of having one namespace per team.

I don't agree that namespaces are really the way we want to go, or at least I don't see it as a priority. Since we can't reach you right now, we will move on with how it is now (json structure), and then schedule a meeting with us three, to discuss what we really want to achieve in the future. I don't think one file per attribute is the way to go, it's just a lot of files that could be one.

Summary of our discussion:

  • We put the config (owner) in an individual file - this is easy to diff and also does not encourage the addition of features per service (we don't want too many)
  • We will discuss namespaces at another point and if we decide to implement them, it will be in a different PR.

@medo-freiheit medo-freiheit merged commit 8ff66c7 into main Apr 14, 2022
@medo-freiheit medo-freiheit deleted the MA/custom-configuration-per-application branch April 14, 2022 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants