-
Notifications
You must be signed in to change notification settings - Fork 114
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
Add top-level products.meta file #627
Conversation
f884d86
to
1affd92
Compare
4115583
to
c16a2d0
Compare
The products.meta file describes which products we can deploy, along with which packages belong to those products. This PR also adds a package.meta that can be added for any package in its component directory. With this file, we can describe things about the file like if it's a data service, what binlinks it should install, etc. Signed-off-by: Jay Mundrawala <[email protected]>
Signed-off-by: Jay Mundrawala <[email protected]>
Things are slow when ES and Postgres both need updating Signed-off-by: Jay Mundrawala <[email protected]>
Signed-off-by: Jay Mundrawala <[email protected]>
Upgrade tests take a bit longer when both ES and postgres are upgraded Signed-off-by: Jay Mundrawala <[email protected]>
return serviceList, nil | ||
} | ||
|
||
func ContainsCollection(needle string, haystack []string) bool { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😹
Signed-off-by: Jay Mundrawala <[email protected]>
@@ -494,7 +494,7 @@ steps: | |||
- label: "[integration] airgap upgrade" | |||
command: | |||
- integration/run_test integration/tests/airgap_upgrade.sh | |||
timeout_in_minutes: 20 | |||
timeout_in_minutes: 30 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
curious why these timeout changes are sneaking in here...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this PR causes a rebuild of both the postgres and ES packages and doing upgrades in that case is sloooow. But given that we end up pinning elsewhere, the rebuild wont affect us when we promote or even get past this pr.
@@ -152,4 +152,4 @@ You need to run `make update-bindings` from `components/automate-deployment` whe | |||
|
|||
### The Services File | |||
|
|||
The list of services and other mandatory packages that comprise Automate 2 is maintained in `components/automate-deployment/pkg/assets/data/services.json`. This file is also used to generate the manifest file that represents a Chef Automate 2 release as described above. Edit this file and add your service. In general, you will want to add it to the "automate-full" collection; the other collections are optional additions. | |||
The list of services and other mandatory packages that comprise Automate 2 and other Chef products is maintained in `product.meta`. This file is also used to generate the manifest file that represents a Chef Automate 2 release as described above. Edit this file and add your service. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Might be nice to add a section that explicitly explains package.meta
and perhaps the various different fields that are available and how they relate to product.meta
. Might also be nice to document what a collection is and how a product is comprised of them, etc.
var serviceList []habpkg.HabPkg | ||
var productList []string | ||
var packageMetadataMap map[string]*product.Package | ||
var collectionMap map[string]*product.Collection |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I will forgive you for shadowing the types in the variable names. Just this once, though. 😂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i swear it was like this when i got here. just building on what the last person did :P
return &val, nil | ||
} | ||
|
||
func Parse(repoRootPath string) (*Metadata, error) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minimal documentation would be nice in this package
Signed-off-by: Jay Mundrawala <[email protected]>
The products.meta file describes which products we can deploy, along
with which packages belong to those products. This PR also adds a
package.meta that can be added for any package in its component
directory. With this file, we can describe things about the file like if
it's a data service, what binlinks it should install, etc.
TODO: