Currently, input and integration packages allow to define any file or folder at the root of the working copy.
Content packages are the only ones that disallow that.
Testing to disallow those extra files cause that current packages fail the validation with files or folders not allowed. Some examples found (not a full list):
1. item [img] is not allowed in folder [/home/user/Coding/work/integrations/packages/zscaler_zpa]
1. item [img] is not allowed in folder [/home/user/Coding/work/integrations/packages/ded]
1. item [img] is not allowed in folder [/home/user/Coding/work/integrations/packages/modsecurity]
2. item [kibana] is not allowed in folder [/home/user/Coding/work/integrations/packages/http_endpoint]
1. item [lifecycle.yml] is not allowed in folder [/home/user/Coding/work/integrations/packages/extrahop]
1. item [fields] is not allowed in folder [/home/user/Coding/work/integrations/packages/dga]
2. item [img] is not allowed in folder [/home/user/Coding/work/integrations/packages/dga]
1. item [kibana] is not allowed in folder [/home/user/Coding/work/integrations/packages/tcp]
2. item [system-test-note.md] is not allowed in folder [/home/user/Coding/work/integrations/packages/redisenterprise]
1. item [DEVELOPMENT.md] is not allowed in folder [/home/user/Coding/work/integrations/packages/tychon]
1. item [fields] is not allowed in folder [/home/user/Coding/work/integrations/packages/problemchild]
2. item [system-test-note.md] is not allowed in folder [/home/user/Coding/work/integrations/packages/iis]
...
A summary of the errors found:
img folder defined in integration packages using spec version lower than 3.2.2
kibana folder defined in input packages
- input packages should not contain any kibana folder
- how does Fleet behave if this folder is defined?
fields folder defined in integration packages.
- in integration packages, fields should be under data stream folders.
- extra markdown files:
DEVELOPMENT.md, system-test-note-md
- should they be under
docs/? should they be allowed ?
- extra yaml files:
lifecycle.yml
- maybe just a leftover from some PR ?
Tested via #992
Packages from integrations repository tested in elastic/integrations#15500 (more than 250 packages failing in this test).
One option is to apply this change starting at a specific spec version.
In any case, it is needed to assess how to proceed with all these packages with extra files or folders if this change is applied.
Currently, input and integration packages allow to define any file or folder at the root of the working copy.
package-spec/spec/integration/spec.yml
Line 7 in 18af7f0
package-spec/spec/input/spec.yml
Line 7 in 18af7f0
Content packages are the only ones that disallow that.
package-spec/spec/content/spec.yml
Line 7 in 18af7f0
Testing to disallow those extra files cause that current packages fail the validation with files or folders not allowed. Some examples found (not a full list):
A summary of the errors found:
imgfolder defined in integration packages using spec version lower than 3.2.2kibanafolder defined in input packagesfieldsfolder defined in integration packages.DEVELOPMENT.md,system-test-note-mddocs/? should they be allowed ?lifecycle.ymlTested via #992
Packages from integrations repository tested in elastic/integrations#15500 (more than 250 packages failing in this test).
One option is to apply this change starting at a specific spec version.
In any case, it is needed to assess how to proceed with all these packages with extra files or folders if this change is applied.