-
Notifications
You must be signed in to change notification settings - Fork 72
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
Write input package spec #328
Conversation
@joshdover Lets make sure we have the Fleet PR open to support this in parallel to make sure it will work as expected. |
Don't hurry up with it, there is plenty of work to be done on the elastic-package and Package Registry side (covered in the design doc). |
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.
In the "input" spec I refer to the "integration" spec files to prevent redundancy of definitions. I decided not to extract common parts as there are only two specifications.
I would still consider adding a folder with shared/common definitions, even if we only have two specifications by now. But I would do it in a follow up so it is clearer what is being added 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.
I would still consider adding a folder with shared/common definitions, even if we only have two specifications by now. But I would do it in a follow-up so it is clearer what is being added here.
I admit that I aligned the implementation with a rule of three, so when there is a new type I can extract a common part. If you find it clearer to do it now, I can focus on it in a follow-up.
Ok, not a strong opinion, let's apply the rule of three 🙂 |
@joshdover Friendly reminder about this PR :) |
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've taken a thorough look based on the spec changes, but I'll admit it's hard to know if this supports everything we need in the UI...without knowing what we want the UI to look like. @akshay-saraswat I think we need to produce some mocks on this before we can merge this.
I also agree with @ruflin that we should have a Kibana PR up in parallel before merging to validate the spec changes before committing to them. That will require scheduling capacity on the Fleet UI team for 8.4. I spoke to @jen-huang about this yesterday.
Would it make sense for input packages to define a list of allowed data types for the data stream? For instance, httpjson could be used for metrics, logs, or traces, but not synthetics. Do we want this to be user configurable? It wasn't clear in the definition doc.
icons: | ||
$ref: "../integration/manifest.spec.yml#/definitions/icons" | ||
screenshots: | ||
$ref: "../integration/manifest.spec.yml#/definitions/screenshots" |
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.
What screenshots would we ship for an input package?
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'd like rather leave an option to place any picture here, even for instruction purposes. If you consider this to be useless, I can drop the field.
@@ -25,12 +25,7 @@ spec: | |||
name: agent |
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.
What's the difference between the agent directory in a data_stream
vs. one in the overall package? Can we document this in the spec?
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.
Agent in spec is used by few integrations, which don't need a data stream, but they are still integrations:
https://github.com/elastic/integrations/blob/main/packages/fleet_server/agent/input/agent.yml.hbs
https://github.com/elastic/package-storage/blob/production/packages/apm/8.2.0/agent/input/template.yml.hbs
I was confused too, but didn't want to merge "agent" definitions into single one. Let me know what you think.
I don't have preference about this. Maybe it's because of the fact, that there will be a lot work around it to make it live :) Maybe we should release the input type as a beta to unblock other works? |
That works for me. Can we enforce somehow that no input packages get published as GA before we've moved the spec out of beta? |
I think that we should be able to implement that feature. I will give it a try. |
Co-authored-by: Josh Dover <[email protected]>
I added |
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.
LGTM for beta
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.
👍
Follow-up on #325
This PR defines the spec for the input package. I spotted a few problems with sample packages and addressed them here too:
Notes:
In the "input" spec I refer to the "integration" spec files to prevent redundancy of definitions. I decided not to extract common parts as there are only two specifications.