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

[REFACTOR] Store service spec in Service struct #7752

Merged
merged 17 commits into from
Jun 18, 2020

Conversation

christophermaier
Copy link
Contributor

This is a preliminary refactoring in service of #7635.

Rather than storing every individual component of a ServiceSpec inside a Service instance, we'll simply store a copy of the whole spec itself.

Not only will this help clean up and streamline the Service struct, it should make it easier to update service configuration on-the-fly in the future by swapping in a new ServiceSpec.

Each commit deals with a small isolated aspect of this change (e.g., on field per commit) in order to ease the review burden.

Rather than storing every individual component of a `ServiceSpec`
inside a `Service` instance, we'll simply store a copy of the whole
spec itself.

Not only will this help clean up and streamline the `Service` struct,
it should make it easier to update service configuration on-the-fly in
the future by swapping in a new `ServiceSpec`.

Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
This was only ever used for serialization purposes. Whether or not
that serialization is truly necessary, we leave for another time. For
now, access it from the inner spec.

Signed-off-by: Christopher Maier <cmaier@chef.io>
Not clear exactly how useful this is to keep around, but at the very
least, it doesn't need to be public.

Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Signed-off-by: Christopher Maier <cmaier@chef.io>
Also, rename `to_spec` to just `spec`, since it's not a consuming
operation.

Signed-off-by: Christopher Maier <cmaier@chef.io>
Copy link
Contributor

@davidMcneil davidMcneil left a comment

Choose a reason for hiding this comment

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

Much better!

@christophermaier christophermaier merged commit bb69ab2 into master Jun 18, 2020
@chef-expeditor chef-expeditor bot deleted the cm/service-config-update branch June 18, 2020 19:49
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.

None yet

2 participants