Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion cmd/build.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
package cmd

import (
"context"
"errors"
"fmt"
"path/filepath"
Expand Down Expand Up @@ -82,7 +83,12 @@ func buildCommandAction(cmd *cobra.Command, args []string) error {
cmd.Printf("%s file rendered: %s\n", fileName, target)
}

target, err := builder.BuildPackage(builder.BuildOptions{
ctx := cmd.Context()
if ctx == nil {
// FIXME: when executging elastic-package check , context returned is nil
ctx = context.Background()
Copy link
Contributor Author

Choose a reason for hiding this comment

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

If this is not added, executing elastic-package check results in a panic, since ctx is nil in that case.

Copy link
Member

Choose a reason for hiding this comment

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

We should rather fix cobraext.ComposeCommands, to receive and use the parent cmd, or at least its context.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll give a try to fix that function to set the context from its "parent".

Copy link
Contributor Author

Choose a reason for hiding this comment

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

With the changes introduced in a79d5db looks like it works now as expected.

Tested by adding in one package an unknown category and the lint stage fails when running elastic-package check command:

 $ elastic-package check -v
2025/05/06 16:41:18 DEBUG Enable verbose logging
2025/05/06 16:41:18 DEBUG Distribution built without a version tag, can't determine release chronology. Please consider using official releases at https://github.com/elastic/elastic-package/releases
Lint the package
2025/05/06 16:41:18 DEBUG Check if README.md is up-to-date
2025/05/06 16:41:18 DEBUG Generate README.md file (package: /home/user/Coding/work/integrations/packages/elastic_package_registry)
2025/05/06 16:41:18 DEBUG Template file for README.md found: /home/user/Coding/work/integrations/packages/elastic_package_registry/_dev/build/docs/README.md
2025/05/06 16:41:18 DEBUG Using links definitions file: /home/user/Coding/work/integrations/links_table.yml
2025/05/06 16:41:18 DEBUG Render README.md file (package: /home/user/Coding/work/integrations/packages/elastic_package_registry, templatePath: /home/user/Coding/work/integrations/packages/elastic_package_registry/_dev/build/docs/README.md)
2025/05/06 16:41:18 DEBUG Read existing README.md file (package: /home/user/Coding/work/integrations/packages/elastic_package_registry)
Error: checking package failed: linting package failed: found 1 validation error:
   1. file "/home/user/Coding/work/integrations/packages/elastic_package_registry/manifest.yml" is invalid: field categories.1: categories.1 must be one of the following: "advanced_analytics_ueba", "analytics_engine", "application_observability", "app_search", "auditd", "authentication", "aws", "azure", "big_data", "cdn_security", "cloud", "cloudsecurity_cdr", "config_management", "connector", "connector_client", "connector_package", "containers", "content_source", "crawler", "credential_management", "crm", "custom", "custom_logs", "database_security", "datastore", "dns_security", "edr_xdr", "elasticsearch_sdk", "elastic_stack", "email_security", "enterprise_search", "firewall_security", "google_cloud", "iam", "ids_ips", "infrastructure", "java_observability", "kubernetes", "language_client", "languages", "load_balancer", "message_queue", "monitoring", "native_search", "network", "network_security", "notification", "observability", "os_system", "process_manager", "productivity", "productivity_security", "proxy_security", "sdk_search", "security", "siem", "stream_processing", "support", "threat_intel", "ticketing", "version_control", "virtualization", "vpn_security", "vulnerability_management", "web", "web_application_firewall", "websphere", "workplace_search"

}
target, err := builder.BuildPackage(ctx, builder.BuildOptions{
PackageRoot: packageRoot,
CreateZip: createZip,
SignPackage: signPackage,
Expand Down
2 changes: 1 addition & 1 deletion cmd/install.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ func installCommandAction(cmd *cobra.Command, _ []string) error {
}
}

installer, err := installer.NewForPackage(installer.Options{
installer, err := installer.NewForPackage(cmd.Context(), installer.Options{
Kibana: kibanaClient,
RootPath: packageRootPath,
SkipValidation: skipValidation,
Expand Down
2 changes: 1 addition & 1 deletion docs/howto/install_package.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Example of using `elastic-package install`
2023/02/28 12:34:44 DEBUG data_stream/metrics/fields/fields.yml: source file hasn't been changed
2023/02/28 12:34:44 DEBUG Package doesn't have to import ECS mappings
2023/02/28 12:34:44 DEBUG Build zipped package
2023/02/28 12:34:44 DEBUG Compress using archiver.Zip (destination: /home/user/Coding/work/integrations/build/packages/elastic_package_registry-0.0.6.zip)
2023/02/28 12:34:44 DEBUG Compress using archives.Zip (destination: /home/user/Coding/work/integrations/build/packages/elastic_package_registry-0.0.6.zip)
2023/02/28 12:34:44 DEBUG Create work directory for archiving: /tmp/elastic-package-2222223038/elastic_package_registry-0.0.6
2023/02/28 12:34:44 DEBUG Validating built .zip package (path: /home/user/Coding/work/integrations/build/packages/elastic_package_registry-0.0.6.zip)
2023/02/28 12:34:44 INFO Built package path: /home/user/Coding/work/integrations/build/packages/elastic_package_registry-0.0.6.zip
Expand Down
27 changes: 17 additions & 10 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ require (
github.com/jedib0t/go-pretty v4.3.0+incompatible
github.com/magefile/mage v1.15.0
github.com/maxmind/mmdbwriter v1.0.0
github.com/mholt/archiver/v3 v3.5.1
github.com/mholt/archives v0.1.1
github.com/olekukonko/tablewriter v0.0.5
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
github.com/shirou/gopsutil/v3 v3.24.5
Expand Down Expand Up @@ -57,16 +57,20 @@ require (
github.com/Pallinder/go-randomdata v1.2.0 // indirect
github.com/ProtonMail/go-crypto v1.1.6 // indirect
github.com/ProtonMail/go-mime v0.0.0-20230322103455-7d82a3887f2f // indirect
github.com/andybalholm/brotli v1.0.4 // indirect
github.com/STARRY-S/zip v0.2.1 // indirect
github.com/andybalholm/brotli v1.1.1 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/bitfield/gotestdox v0.2.2 // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
github.com/bodgit/plumbing v1.3.0 // indirect
github.com/bodgit/sevenzip v1.6.0 // indirect
github.com/bodgit/windows v1.0.1 // indirect
github.com/chai2010/gettext-go v1.0.2 // indirect
github.com/cloudflare/circl v1.3.7 // indirect
github.com/creasty/defaults v1.8.0 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/dnephin/pflag v1.0.7 // indirect
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 // indirect
github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707 // indirect
github.com/elastic/gojsonschema v1.2.1 // indirect
github.com/elastic/kbncontent v0.1.4 // indirect
github.com/emicklei/go-restful/v3 v3.11.0 // indirect
Expand All @@ -84,7 +88,6 @@ require (
github.com/go-openapi/strfmt v0.21.3 // indirect
github.com/go-openapi/swag v0.23.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/btree v1.1.3 // indirect
github.com/google/gnostic-models v0.6.9 // indirect
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect
Expand All @@ -93,14 +96,15 @@ require (
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/huandu/xstrings v1.5.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/joeshaw/multierror v0.0.0-20140124173710-69b34d4ec901 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
github.com/klauspost/compress v1.17.0 // indirect
github.com/klauspost/pgzip v1.2.5 // indirect
github.com/klauspost/compress v1.17.11 // indirect
github.com/klauspost/pgzip v1.2.6 // indirect
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect
github.com/lithammer/shortuuid/v3 v3.0.7 // indirect
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 // indirect
Expand All @@ -109,6 +113,7 @@ require (
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-runewidth v0.0.14 // indirect
github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d // indirect
github.com/minio/minlz v1.0.0 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect
Expand All @@ -120,32 +125,34 @@ require (
github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
github.com/nwaples/rardecode v1.1.3 // indirect
github.com/nwaples/rardecode/v2 v2.1.0 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/oschwald/maxminddb-golang v1.12.0 // indirect
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
github.com/pierrec/lz4/v4 v4.1.17 // indirect
github.com/pierrec/lz4/v4 v4.1.21 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
github.com/rivo/uniseg v0.4.3 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
github.com/shoenig/go-m1cpu v0.1.6 // indirect
github.com/shopspring/decimal v1.4.0 // indirect
github.com/sorairolake/lzip-go v0.3.5 // indirect
github.com/spf13/afero v1.11.0 // indirect
github.com/spf13/cast v1.7.0 // indirect
github.com/spf13/pflag v1.0.6 // indirect
github.com/stretchr/objx v0.5.2 // indirect
github.com/therootcompany/xz v1.0.1 // indirect
github.com/tklauser/go-sysconf v0.3.12 // indirect
github.com/tklauser/numcpus v0.6.1 // indirect
github.com/ulikunitz/xz v0.5.11 // indirect
github.com/ulikunitz/xz v0.5.12 // indirect
github.com/x448/float16 v0.8.4 // indirect
github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect
github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
github.com/xlab/treeprint v1.2.0 // indirect
github.com/yusufpapurcu/wmi v1.2.4 // indirect
go.mongodb.org/mongo-driver v1.11.1 // indirect
go4.org v0.0.0-20230225012048-214862532bf5 // indirect
golang.org/x/crypto v0.37.0 // indirect
golang.org/x/exp/typeparams v0.0.0-20231108232855-2478ac86f678 // indirect
golang.org/x/mod v0.24.0 // indirect
Expand Down
Loading