From 00f882633f1f6ca2d4e0faa8ae19625527e96ff8 Mon Sep 17 00:00:00 2001 From: ruflin Date: Wed, 25 Mar 2020 13:21:53 +0100 Subject: [PATCH 1/7] Change package path from {packagename}-{version} to {packagename}/{version} The current package path is `/package/{packagename}-{version}`. EPM will need some info about which packages exist. To make it possible to populate some generic info about a package, the path is changed to `/package/{packagename}/{version}`. No additional info is added yet but it gives you the option to add it. This PR makes all changes in the code that are needed on the packaging side to make the above happen. Also all test files are updated. This is a breaking change for EPM. --- CHANGELOG.md | 1 + dev/generator/main.go | 36 +++++++++++++--- docs/api/package.json | 26 ++++++++++++ docs/api/search-category-logs.json | 6 +-- docs/api/search-category-metrics.json | 4 +- docs/api/search-kibana652.json | 6 +-- docs/api/search-kibana721.json | 8 ++-- docs/api/search-package-example.json | 4 +- docs/api/search-package-internal.json | 10 ++--- docs/api/search.json | 8 ++-- main_test.go | 2 +- .../dataset/examplelog1/fields/stream.yml | 0 .../1.0.0}/dataset/examplelog1/manifest.yml | 0 .../dataset/examplelog2/fields/stream.yml | 0 .../1.0.0}/dataset/examplelog2/manifest.yml | 0 .../dataset/examplemetric/fields/stream.yml | 0 .../1.0.0}/dataset/examplemetric/manifest.yml | 0 .../1.0.0}/docs/README.md | 0 .../1.0.0}/index.json | 10 ++++- .../1.0.0}/manifest.yml | 0 .../ingest-pipeline/default.json | 0 .../0.0.2}/dataset/foo/fields/stream.yml | 0 .../0.0.2}/dataset/foo/manifest.yml | 0 .../0.0.2}/docs/README.md | 0 .../0.0.2}/index.json | 9 +++- .../0.0.2}/manifest.yml | 0 .../0.0.2}/docs/README.md | 0 .../ingest-pipeline/pipeline-entry.json | 0 .../ingest-pipeline/pipeline-http.json | 0 .../ingest-pipeline/pipeline-json.json | 0 .../ingest-pipeline/pipeline-plaintext.json | 0 .../ingest-pipeline/pipeline-tcp.json | 0 .../0.0.2}/img/kibana-envoyproxy.jpg | Bin .../public/package/example/0.0.2/index.json | 39 ++++++++++++++++++ .../0c610510-5cbd-11e9-8477-077ec9664dbd.json | 0 .../kibana/index-pattern/filebeat-*.json | 0 .../infrastructure-ui-source/default.json | 0 .../0a994af0-5c9d-11e9-8477-077ec9664dbd.json | 0 .../36f872a0-5c03-11e9-85b4-19d0072eb4f2.json | 0 .../38f96190-5c99-11e9-8477-077ec9664dbd.json | 0 .../7e4084e0-5c99-11e9-8477-077ec9664dbd.json | 0 .../80844540-5c97-11e9-8477-077ec9664dbd.json | 0 .../ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json | 0 .../0.0.2}/manifest.yml | 0 .../ingest-pipeline/pipeline-entry.json | 0 .../ingest-pipeline/pipeline-http.json | 0 .../ingest-pipeline/pipeline-json.json | 0 .../ingest-pipeline/pipeline-plaintext.json | 0 .../ingest-pipeline/pipeline-tcp.json | 0 .../1.0.0}/dataset/foo/fields/stream.yml | 0 .../1.0.0}/dataset/foo/manifest.yml | 0 .../1.0.0}/docs/README.md | 0 .../1.0.0}/img/icon.png | Bin .../1.0.0}/img/kibana-envoyproxy.jpg | Bin .../1.0.0}/index.json | 23 ++++++++++- .../0c610510-5cbd-11e9-8477-077ec9664dbd.json | 0 .../kibana/index-pattern/filebeat-*.json | 0 .../0a994af0-5c9d-11e9-8477-077ec9664dbd.json | 0 .../36f872a0-5c03-11e9-85b4-19d0072eb4f2.json | 0 .../38f96190-5c99-11e9-8477-077ec9664dbd.json | 0 .../7e4084e0-5c99-11e9-8477-077ec9664dbd.json | 0 .../80844540-5c97-11e9-8477-077ec9664dbd.json | 0 .../ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json | 0 .../1.0.0}/manifest.yml | 0 .../{foo-1.0.0 => foo/1.0.0}/docs/README.md | 0 .../{foo-1.0.0 => foo/1.0.0}/index.json | 6 +-- .../{foo-1.0.0 => foo/1.0.0}/manifest.yml | 0 .../1.2.0}/docs/README.md | 0 .../1.2.0}/index.json | 6 +-- .../1.2.0}/manifest.yml | 0 util/package.go | 4 +- util/packages.go | 23 +++++++---- 72 files changed, 182 insertions(+), 49 deletions(-) rename testdata/public/package/{datasources-1.0.0 => datasources/1.0.0}/dataset/examplelog1/fields/stream.yml (100%) rename testdata/public/package/{datasources-1.0.0 => datasources/1.0.0}/dataset/examplelog1/manifest.yml (100%) rename testdata/public/package/{datasources-1.0.0 => datasources/1.0.0}/dataset/examplelog2/fields/stream.yml (100%) rename testdata/public/package/{datasources-1.0.0 => datasources/1.0.0}/dataset/examplelog2/manifest.yml (100%) rename testdata/public/package/{datasources-1.0.0 => datasources/1.0.0}/dataset/examplemetric/fields/stream.yml (100%) rename testdata/public/package/{datasources-1.0.0 => datasources/1.0.0}/dataset/examplemetric/manifest.yml (100%) rename testdata/public/package/{datasources-1.0.0 => datasources/1.0.0}/docs/README.md (100%) rename testdata/public/package/{datasources-1.0.0 => datasources/1.0.0}/index.json (93%) rename testdata/public/package/{datasources-1.0.0 => datasources/1.0.0}/manifest.yml (100%) rename testdata/public/package/{default-pipeline-0.0.2 => default-pipeline/0.0.2}/dataset/foo/elasticsearch/ingest-pipeline/default.json (100%) rename testdata/public/package/{default-pipeline-0.0.2 => default-pipeline/0.0.2}/dataset/foo/fields/stream.yml (100%) rename testdata/public/package/{default-pipeline-0.0.2 => default-pipeline/0.0.2}/dataset/foo/manifest.yml (100%) rename testdata/public/package/{default-pipeline-0.0.2 => default-pipeline/0.0.2}/docs/README.md (100%) rename testdata/public/package/{default-pipeline-0.0.2 => default-pipeline/0.0.2}/index.json (79%) rename testdata/public/package/{default-pipeline-0.0.2 => default-pipeline/0.0.2}/manifest.yml (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/docs/README.md (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/elasticsearch/ingest-pipeline/pipeline-entry.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/elasticsearch/ingest-pipeline/pipeline-http.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/elasticsearch/ingest-pipeline/pipeline-json.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/elasticsearch/ingest-pipeline/pipeline-plaintext.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/elasticsearch/ingest-pipeline/pipeline-tcp.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/img/kibana-envoyproxy.jpg (100%) create mode 100644 testdata/public/package/example/0.0.2/index.json rename testdata/public/package/{example-0.0.2 => example/0.0.2}/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/kibana/index-pattern/filebeat-*.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/kibana/infrastructure-ui-source/default.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json (100%) rename testdata/public/package/{example-0.0.2 => example/0.0.2}/manifest.yml (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/dataset/foo/elasticsearch/ingest-pipeline/pipeline-entry.json (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/dataset/foo/elasticsearch/ingest-pipeline/pipeline-http.json (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/dataset/foo/elasticsearch/ingest-pipeline/pipeline-json.json (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/dataset/foo/elasticsearch/ingest-pipeline/pipeline-plaintext.json (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/dataset/foo/elasticsearch/ingest-pipeline/pipeline-tcp.json (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/dataset/foo/fields/stream.yml (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/dataset/foo/manifest.yml (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/docs/README.md (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/img/icon.png (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/img/kibana-envoyproxy.jpg (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/index.json (67%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/kibana/index-pattern/filebeat-*.json (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json (100%) rename testdata/public/package/{example-1.0.0 => example/1.0.0}/manifest.yml (100%) rename testdata/public/package/{foo-1.0.0 => foo/1.0.0}/docs/README.md (100%) rename testdata/public/package/{foo-1.0.0 => foo/1.0.0}/index.json (81%) rename testdata/public/package/{foo-1.0.0 => foo/1.0.0}/manifest.yml (100%) rename testdata/public/package/{internal-1.2.0 => internal/1.2.0}/docs/README.md (100%) rename testdata/public/package/{internal-1.2.0 => internal/1.2.0}/index.json (76%) rename testdata/public/package/{internal-1.2.0 => internal/1.2.0}/manifest.yml (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 43dea43de..a019def64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Breaking changes +* Change package path from /package/{packagename}-{version} to /package/{packagename}/{version} [#](https://github.com/elastic/integrations-registry/pull/) ### Bugfixes diff --git a/dev/generator/main.go b/dev/generator/main.go index dcc81f1a1..b57422080 100644 --- a/dev/generator/main.go +++ b/dev/generator/main.go @@ -12,6 +12,7 @@ import ( "log" "os" "path/filepath" + "strings" "github.com/magefile/mage/sh" @@ -75,7 +76,7 @@ func Build(sourceDir, publicDir string) error { // CopyPackage copies the files of a package to the public directory func CopyPackage(src, dst string) error { - fmt.Println(">> Copy package: " + src) + log.Println(">> Copy package: " + src) os.MkdirAll(dst, 0755) err := sh.RunV("cp", "-a", src, dst) if err != nil { @@ -100,14 +101,19 @@ func BuildPackages(sourceDir, packagesPath string) error { continue } + // Finds the last occurence of "-" and then below splits it up in 2 parts. + dashIndex := strings.LastIndex(packageName, "-") + dstDir := filepath.Join(packagesPath, packageName[0:dashIndex], packageName[dashIndex+1:]) + if copy { - err := CopyPackage(filepath.Join(sourceDir, packageName), packagesPath) + // Trailing slash is to make sure content of package is copied + err := CopyPackage(filepath.Join(sourceDir, packageName)+"/", dstDir) if err != nil { return err } } - p, err := util.NewPackage(filepath.Join(packagesPath, packageName)) + p, err := util.NewPackage(dstDir) if err != nil { return err } @@ -200,15 +206,35 @@ func buildPackage(packagesBasePath string, p util.Package) error { } if tarGz { - err = os.MkdirAll(filepath.Join(packagesBasePath, "..", "epr", p.Name), 0755) + tarGzDirPath := filepath.Join(packagesBasePath, "..", "epr", p.Name) + err = os.MkdirAll(tarGzDirPath, 0755) + if err != nil { + return err + } + + tarGzName := p.Name + "-" + p.Version + copiedPackagePath := filepath.Join(tarGzDirPath, tarGzName) + + // As the package directories are now {packagename}/{version} when just running tar, the dir inside + // the package had the wrong name. Using `-s` or `--transform` for some reason worked on the command line + // but not when run through Golang. So the hack for now is to just copy over all files with the correct name + // and then run tar on it. + // This could become even useful in the future as things like images or videos should potentially not be part of + // a tar.gz to keep it small. + err := CopyPackage(packagesBasePath+"/"+p.Name+"/"+p.Version+"/", copiedPackagePath) if err != nil { return err } - err = sh.RunV("tar", "czf", filepath.Join(packagesBasePath, "..", "epr", p.Name, p.GetPath()+".tar.gz"), "-C", packagesBasePath+"/", filepath.Base(p.GetPath())+"/") + err = sh.RunV("tar", "czf", filepath.Join(packagesBasePath, "..", "epr", p.Name, tarGzName+".tar.gz"), "-C", tarGzDirPath, tarGzName+"/") if err != nil { return fmt.Errorf("Error creating package: %s: %s", p.GetPath(), err) } + + err = os.RemoveAll(copiedPackagePath) + if err != nil { + return err + } } return nil diff --git a/docs/api/package.json b/docs/api/package.json index 3373137d3..17f64a4cd 100644 --- a/docs/api/package.json +++ b/docs/api/package.json @@ -33,6 +33,7 @@ } ], "assets": [ +<<<<<<< HEAD "/package/example-1.0.0/manifest.yml", "/package/example-1.0.0/docs/README.md", "/package/example-1.0.0/img/icon.png", @@ -52,6 +53,26 @@ "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-json.json", "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-plaintext.json", "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-tcp.json" +======= + "/package/example/1.0.0/manifest.yml", + "/package/example/1.0.0/docs/README.md", + "/package/example/1.0.0/img/icon.png", + "/package/example/1.0.0/img/kibana-envoyproxy.jpg", + "/package/example/1.0.0/dataset/foo/manifest.yml", + "/package/example/1.0.0/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/kibana/index-pattern/filebeat-*.json", + "/package/example/1.0.0/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json", + "/package/example/1.0.0/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-entry.json", + "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-http.json", + "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-json.json", + "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-plaintext.json", + "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-tcp.json" +>>>>>>> 4b690b6... Change package path from {packagename}-{version} to {packagename}/{version} ], "datasets": [ { @@ -106,5 +127,10 @@ } ], "download": "/epr/example/example-1.0.0.tar.gz", +<<<<<<< HEAD "path": "/package/example-1.0.0" } +======= + "path": "/package/example/1.0.0" +} +>>>>>>> aaf31b8... Change package path from {packagename}-{version} to {packagename}/{version} diff --git a/docs/api/search-category-logs.json b/docs/api/search-category-logs.json index c131d66fa..8c71fdd7a 100644 --- a/docs/api/search-category-logs.json +++ b/docs/api/search-category-logs.json @@ -3,7 +3,7 @@ "description": "Package with data sources", "download": "/epr/datasources/datasources-1.0.0.tar.gz", "name": "datasources", - "path": "/package/datasources-1.0.0", + "path": "/package/datasources/1.0.0", "title": "Default datasource Integration", "type": "integration", "version": "1.0.0" @@ -12,7 +12,7 @@ "description": "Tests if no pipeline is set, it defaults to the default one", "download": "/epr/default-pipeline/default-pipeline-0.0.2.tar.gz", "name": "default-pipeline", - "path": "/package/default-pipeline-0.0.2", + "path": "/package/default-pipeline/0.0.2", "title": "Default pipeline Integration", "type": "integration", "version": "0.0.2" @@ -21,7 +21,7 @@ "description": "This is the example integration", "download": "/epr/example/example-1.0.0.tar.gz", "name": "example", - "path": "/package/example-1.0.0", + "path": "/package/example/1.0.0", "title": "Example Integration", "type": "integration", "version": "1.0.0" diff --git a/docs/api/search-category-metrics.json b/docs/api/search-category-metrics.json index 98ecad18a..51f3c586b 100644 --- a/docs/api/search-category-metrics.json +++ b/docs/api/search-category-metrics.json @@ -3,7 +3,7 @@ "description": "This is the example integration", "download": "/epr/example/example-1.0.0.tar.gz", "name": "example", - "path": "/package/example-1.0.0", + "path": "/package/example/1.0.0", "title": "Example Integration", "type": "integration", "version": "1.0.0" @@ -12,7 +12,7 @@ "description": "This is the foo integration", "download": "/epr/foo/foo-1.0.0.tar.gz", "name": "foo", - "path": "/package/foo-1.0.0", + "path": "/package/foo/1.0.0", "title": "Foo", "type": "solution", "version": "1.0.0" diff --git a/docs/api/search-kibana652.json b/docs/api/search-kibana652.json index dc596e3e9..3d9ee8619 100644 --- a/docs/api/search-kibana652.json +++ b/docs/api/search-kibana652.json @@ -3,7 +3,7 @@ "description": "Package with data sources", "download": "/epr/datasources/datasources-1.0.0.tar.gz", "name": "datasources", - "path": "/package/datasources-1.0.0", + "path": "/package/datasources/1.0.0", "title": "Default datasource Integration", "type": "integration", "version": "1.0.0" @@ -12,7 +12,7 @@ "description": "Tests if no pipeline is set, it defaults to the default one", "download": "/epr/default-pipeline/default-pipeline-0.0.2.tar.gz", "name": "default-pipeline", - "path": "/package/default-pipeline-0.0.2", + "path": "/package/default-pipeline/0.0.2", "title": "Default pipeline Integration", "type": "integration", "version": "0.0.2" @@ -21,7 +21,7 @@ "description": "This is the example integration.", "download": "/epr/example/example-0.0.2.tar.gz", "name": "example", - "path": "/package/example-0.0.2", + "path": "/package/example/0.0.2", "title": "Example", "type": "integration", "version": "0.0.2" diff --git a/docs/api/search-kibana721.json b/docs/api/search-kibana721.json index 6cbc4a36c..3c61b55c9 100644 --- a/docs/api/search-kibana721.json +++ b/docs/api/search-kibana721.json @@ -3,7 +3,7 @@ "description": "Package with data sources", "download": "/epr/datasources/datasources-1.0.0.tar.gz", "name": "datasources", - "path": "/package/datasources-1.0.0", + "path": "/package/datasources/1.0.0", "title": "Default datasource Integration", "type": "integration", "version": "1.0.0" @@ -12,7 +12,7 @@ "description": "Tests if no pipeline is set, it defaults to the default one", "download": "/epr/default-pipeline/default-pipeline-0.0.2.tar.gz", "name": "default-pipeline", - "path": "/package/default-pipeline-0.0.2", + "path": "/package/default-pipeline/0.0.2", "title": "Default pipeline Integration", "type": "integration", "version": "0.0.2" @@ -21,7 +21,7 @@ "description": "This is the example integration", "download": "/epr/example/example-1.0.0.tar.gz", "name": "example", - "path": "/package/example-1.0.0", + "path": "/package/example/1.0.0", "title": "Example Integration", "type": "integration", "version": "1.0.0" @@ -30,7 +30,7 @@ "description": "This is the foo integration", "download": "/epr/foo/foo-1.0.0.tar.gz", "name": "foo", - "path": "/package/foo-1.0.0", + "path": "/package/foo/1.0.0", "title": "Foo", "type": "solution", "version": "1.0.0" diff --git a/docs/api/search-package-example.json b/docs/api/search-package-example.json index 140272d60..55fd1f20d 100644 --- a/docs/api/search-package-example.json +++ b/docs/api/search-package-example.json @@ -3,7 +3,7 @@ "description": "This is the example integration.", "download": "/epr/example/example-0.0.2.tar.gz", "name": "example", - "path": "/package/example-0.0.2", + "path": "/package/example/0.0.2", "title": "Example", "type": "integration", "version": "0.0.2" @@ -12,7 +12,7 @@ "description": "This is the example integration", "download": "/epr/example/example-1.0.0.tar.gz", "name": "example", - "path": "/package/example-1.0.0", + "path": "/package/example/1.0.0", "title": "Example Integration", "type": "integration", "version": "1.0.0" diff --git a/docs/api/search-package-internal.json b/docs/api/search-package-internal.json index f1222ed06..73fcb16f9 100644 --- a/docs/api/search-package-internal.json +++ b/docs/api/search-package-internal.json @@ -3,7 +3,7 @@ "description": "Package with data sources", "download": "/epr/datasources/datasources-1.0.0.tar.gz", "name": "datasources", - "path": "/package/datasources-1.0.0", + "path": "/package/datasources/1.0.0", "title": "Default datasource Integration", "type": "integration", "version": "1.0.0" @@ -12,7 +12,7 @@ "description": "Tests if no pipeline is set, it defaults to the default one", "download": "/epr/default-pipeline/default-pipeline-0.0.2.tar.gz", "name": "default-pipeline", - "path": "/package/default-pipeline-0.0.2", + "path": "/package/default-pipeline/0.0.2", "title": "Default pipeline Integration", "type": "integration", "version": "0.0.2" @@ -21,7 +21,7 @@ "description": "This is the example integration", "download": "/epr/example/example-1.0.0.tar.gz", "name": "example", - "path": "/package/example-1.0.0", + "path": "/package/example/1.0.0", "title": "Example Integration", "type": "integration", "version": "1.0.0" @@ -30,7 +30,7 @@ "description": "This is the foo integration", "download": "/epr/foo/foo-1.0.0.tar.gz", "name": "foo", - "path": "/package/foo-1.0.0", + "path": "/package/foo/1.0.0", "title": "Foo", "type": "solution", "version": "1.0.0" @@ -40,7 +40,7 @@ "download": "/epr/internal/internal-1.2.0.tar.gz", "internal": true, "name": "internal", - "path": "/package/internal-1.2.0", + "path": "/package/internal/1.2.0", "title": "Internal", "type": "integration", "version": "1.2.0" diff --git a/docs/api/search.json b/docs/api/search.json index 6cbc4a36c..3c61b55c9 100644 --- a/docs/api/search.json +++ b/docs/api/search.json @@ -3,7 +3,7 @@ "description": "Package with data sources", "download": "/epr/datasources/datasources-1.0.0.tar.gz", "name": "datasources", - "path": "/package/datasources-1.0.0", + "path": "/package/datasources/1.0.0", "title": "Default datasource Integration", "type": "integration", "version": "1.0.0" @@ -12,7 +12,7 @@ "description": "Tests if no pipeline is set, it defaults to the default one", "download": "/epr/default-pipeline/default-pipeline-0.0.2.tar.gz", "name": "default-pipeline", - "path": "/package/default-pipeline-0.0.2", + "path": "/package/default-pipeline/0.0.2", "title": "Default pipeline Integration", "type": "integration", "version": "0.0.2" @@ -21,7 +21,7 @@ "description": "This is the example integration", "download": "/epr/example/example-1.0.0.tar.gz", "name": "example", - "path": "/package/example-1.0.0", + "path": "/package/example/1.0.0", "title": "Example Integration", "type": "integration", "version": "1.0.0" @@ -30,7 +30,7 @@ "description": "This is the foo integration", "download": "/epr/foo/foo-1.0.0.tar.gz", "name": "foo", - "path": "/package/foo-1.0.0", + "path": "/package/foo/1.0.0", "title": "Foo", "type": "solution", "version": "1.0.0" diff --git a/main_test.go b/main_test.go index ccaa426d1..cfa4ca268 100644 --- a/main_test.go +++ b/main_test.go @@ -44,7 +44,7 @@ func TestEndpoints(t *testing.T) { {"/search?category=logs", "/search", "search-category-logs.json", searchHandler(packagesBasePath, testCacheTime)}, {"/search?package=example", "/search", "search-package-example.json", searchHandler(packagesBasePath, testCacheTime)}, {"/search?internal=true", "/search", "search-package-internal.json", searchHandler(packagesBasePath, testCacheTime)}, - {"/package/example-1.0.0", "", "package.json", catchAll(publicPath, testCacheTime)}, + {"/package/example/1.0.0", "", "package.json", catchAll(publicPath, testCacheTime)}, } for _, test := range tests { diff --git a/testdata/public/package/datasources-1.0.0/dataset/examplelog1/fields/stream.yml b/testdata/public/package/datasources/1.0.0/dataset/examplelog1/fields/stream.yml similarity index 100% rename from testdata/public/package/datasources-1.0.0/dataset/examplelog1/fields/stream.yml rename to testdata/public/package/datasources/1.0.0/dataset/examplelog1/fields/stream.yml diff --git a/testdata/public/package/datasources-1.0.0/dataset/examplelog1/manifest.yml b/testdata/public/package/datasources/1.0.0/dataset/examplelog1/manifest.yml similarity index 100% rename from testdata/public/package/datasources-1.0.0/dataset/examplelog1/manifest.yml rename to testdata/public/package/datasources/1.0.0/dataset/examplelog1/manifest.yml diff --git a/testdata/public/package/datasources-1.0.0/dataset/examplelog2/fields/stream.yml b/testdata/public/package/datasources/1.0.0/dataset/examplelog2/fields/stream.yml similarity index 100% rename from testdata/public/package/datasources-1.0.0/dataset/examplelog2/fields/stream.yml rename to testdata/public/package/datasources/1.0.0/dataset/examplelog2/fields/stream.yml diff --git a/testdata/public/package/datasources-1.0.0/dataset/examplelog2/manifest.yml b/testdata/public/package/datasources/1.0.0/dataset/examplelog2/manifest.yml similarity index 100% rename from testdata/public/package/datasources-1.0.0/dataset/examplelog2/manifest.yml rename to testdata/public/package/datasources/1.0.0/dataset/examplelog2/manifest.yml diff --git a/testdata/public/package/datasources-1.0.0/dataset/examplemetric/fields/stream.yml b/testdata/public/package/datasources/1.0.0/dataset/examplemetric/fields/stream.yml similarity index 100% rename from testdata/public/package/datasources-1.0.0/dataset/examplemetric/fields/stream.yml rename to testdata/public/package/datasources/1.0.0/dataset/examplemetric/fields/stream.yml diff --git a/testdata/public/package/datasources-1.0.0/dataset/examplemetric/manifest.yml b/testdata/public/package/datasources/1.0.0/dataset/examplemetric/manifest.yml similarity index 100% rename from testdata/public/package/datasources-1.0.0/dataset/examplemetric/manifest.yml rename to testdata/public/package/datasources/1.0.0/dataset/examplemetric/manifest.yml diff --git a/testdata/public/package/datasources-1.0.0/docs/README.md b/testdata/public/package/datasources/1.0.0/docs/README.md similarity index 100% rename from testdata/public/package/datasources-1.0.0/docs/README.md rename to testdata/public/package/datasources/1.0.0/docs/README.md diff --git a/testdata/public/package/datasources-1.0.0/index.json b/testdata/public/package/datasources/1.0.0/index.json similarity index 93% rename from testdata/public/package/datasources-1.0.0/index.json rename to testdata/public/package/datasources/1.0.0/index.json index 8f38ed8c7..dd8b62e6a 100644 --- a/testdata/public/package/datasources-1.0.0/index.json +++ b/testdata/public/package/datasources/1.0.0/index.json @@ -15,6 +15,7 @@ "elasticsearch": {} }, "assets": [ +<<<<<<< HEAD:testdata/public/package/datasources-1.0.0/index.json "/package/datasources-1.0.0/manifest.yml", "/package/datasources-1.0.0/docs/README.md", "/package/datasources-1.0.0/dataset/examplelog1/manifest.yml", @@ -23,6 +24,13 @@ "/package/datasources-1.0.0/dataset/examplelog1/fields/stream.yml", "/package/datasources-1.0.0/dataset/examplelog2/fields/stream.yml", "/package/datasources-1.0.0/dataset/examplemetric/fields/stream.yml" +======= + "/package/datasources/1.0.0/manifest.yml", + "/package/datasources/1.0.0/docs/README.md", + "/package/datasources/1.0.0/dataset/examplelog1/manifest.yml", + "/package/datasources/1.0.0/dataset/examplelog2/manifest.yml", + "/package/datasources/1.0.0/dataset/examplemetric/manifest.yml" +>>>>>>> 4b690b6... Change package path from {packagename}-{version} to {packagename}/{version}:testdata/public/package/datasources/1.0.0/index.json ], "datasets": [ { @@ -254,5 +262,5 @@ } ], "download": "/epr/datasources/datasources-1.0.0.tar.gz", - "path": "/package/datasources-1.0.0" + "path": "/package/datasources/1.0.0" } \ No newline at end of file diff --git a/testdata/public/package/datasources-1.0.0/manifest.yml b/testdata/public/package/datasources/1.0.0/manifest.yml similarity index 100% rename from testdata/public/package/datasources-1.0.0/manifest.yml rename to testdata/public/package/datasources/1.0.0/manifest.yml diff --git a/testdata/public/package/default-pipeline-0.0.2/dataset/foo/elasticsearch/ingest-pipeline/default.json b/testdata/public/package/default-pipeline/0.0.2/dataset/foo/elasticsearch/ingest-pipeline/default.json similarity index 100% rename from testdata/public/package/default-pipeline-0.0.2/dataset/foo/elasticsearch/ingest-pipeline/default.json rename to testdata/public/package/default-pipeline/0.0.2/dataset/foo/elasticsearch/ingest-pipeline/default.json diff --git a/testdata/public/package/default-pipeline-0.0.2/dataset/foo/fields/stream.yml b/testdata/public/package/default-pipeline/0.0.2/dataset/foo/fields/stream.yml similarity index 100% rename from testdata/public/package/default-pipeline-0.0.2/dataset/foo/fields/stream.yml rename to testdata/public/package/default-pipeline/0.0.2/dataset/foo/fields/stream.yml diff --git a/testdata/public/package/default-pipeline-0.0.2/dataset/foo/manifest.yml b/testdata/public/package/default-pipeline/0.0.2/dataset/foo/manifest.yml similarity index 100% rename from testdata/public/package/default-pipeline-0.0.2/dataset/foo/manifest.yml rename to testdata/public/package/default-pipeline/0.0.2/dataset/foo/manifest.yml diff --git a/testdata/public/package/default-pipeline-0.0.2/docs/README.md b/testdata/public/package/default-pipeline/0.0.2/docs/README.md similarity index 100% rename from testdata/public/package/default-pipeline-0.0.2/docs/README.md rename to testdata/public/package/default-pipeline/0.0.2/docs/README.md diff --git a/testdata/public/package/default-pipeline-0.0.2/index.json b/testdata/public/package/default-pipeline/0.0.2/index.json similarity index 79% rename from testdata/public/package/default-pipeline-0.0.2/index.json rename to testdata/public/package/default-pipeline/0.0.2/index.json index d1ea20651..d9cb6b5e6 100644 --- a/testdata/public/package/default-pipeline-0.0.2/index.json +++ b/testdata/public/package/default-pipeline/0.0.2/index.json @@ -15,11 +15,18 @@ "elasticsearch": {} }, "assets": [ +<<<<<<< HEAD:testdata/public/package/default-pipeline-0.0.2/index.json "/package/default-pipeline-0.0.2/manifest.yml", "/package/default-pipeline-0.0.2/docs/README.md", "/package/default-pipeline-0.0.2/dataset/foo/manifest.yml", "/package/default-pipeline-0.0.2/dataset/foo/fields/stream.yml", "/package/default-pipeline-0.0.2/dataset/foo/elasticsearch/ingest-pipeline/default.json" +======= + "/package/default-pipeline/0.0.2/manifest.yml", + "/package/default-pipeline/0.0.2/docs/README.md", + "/package/default-pipeline/0.0.2/dataset/foo/manifest.yml", + "/package/default-pipeline/0.0.2/dataset/foo/elasticsearch/ingest-pipeline/default.json" +>>>>>>> 4b690b6... Change package path from {packagename}-{version} to {packagename}/{version}:testdata/public/package/default-pipeline/0.0.2/index.json ], "datasets": [ { @@ -74,5 +81,5 @@ } ], "download": "/epr/default-pipeline/default-pipeline-0.0.2.tar.gz", - "path": "/package/default-pipeline-0.0.2" + "path": "/package/default-pipeline/0.0.2" } \ No newline at end of file diff --git a/testdata/public/package/default-pipeline-0.0.2/manifest.yml b/testdata/public/package/default-pipeline/0.0.2/manifest.yml similarity index 100% rename from testdata/public/package/default-pipeline-0.0.2/manifest.yml rename to testdata/public/package/default-pipeline/0.0.2/manifest.yml diff --git a/testdata/public/package/example-0.0.2/docs/README.md b/testdata/public/package/example/0.0.2/docs/README.md similarity index 100% rename from testdata/public/package/example-0.0.2/docs/README.md rename to testdata/public/package/example/0.0.2/docs/README.md diff --git a/testdata/public/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-entry.json b/testdata/public/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-entry.json similarity index 100% rename from testdata/public/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-entry.json rename to testdata/public/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-entry.json diff --git a/testdata/public/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-http.json b/testdata/public/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-http.json similarity index 100% rename from testdata/public/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-http.json rename to testdata/public/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-http.json diff --git a/testdata/public/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-json.json b/testdata/public/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-json.json similarity index 100% rename from testdata/public/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-json.json rename to testdata/public/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-json.json diff --git a/testdata/public/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-plaintext.json b/testdata/public/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-plaintext.json similarity index 100% rename from testdata/public/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-plaintext.json rename to testdata/public/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-plaintext.json diff --git a/testdata/public/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-tcp.json b/testdata/public/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-tcp.json similarity index 100% rename from testdata/public/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-tcp.json rename to testdata/public/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-tcp.json diff --git a/testdata/public/package/example-0.0.2/img/kibana-envoyproxy.jpg b/testdata/public/package/example/0.0.2/img/kibana-envoyproxy.jpg similarity index 100% rename from testdata/public/package/example-0.0.2/img/kibana-envoyproxy.jpg rename to testdata/public/package/example/0.0.2/img/kibana-envoyproxy.jpg diff --git a/testdata/public/package/example/0.0.2/index.json b/testdata/public/package/example/0.0.2/index.json new file mode 100644 index 000000000..c3390e068 --- /dev/null +++ b/testdata/public/package/example/0.0.2/index.json @@ -0,0 +1,39 @@ +{ + "format_version": "1.0.0", + "name": "example", + "title": "Example", + "version": "0.0.2", + "readme": "/package/example-0.0.2/docs/README.md", + "license": "basic", + "description": "This is the example integration.", + "type": "integration", + "categories": [ + "logs" + ], + "requirement": { + "kibana": { + "versions": "\u003e=6.0.0" + } + }, + "assets": [ + "/package/example/0.0.2/manifest.yml", + "/package/example/0.0.2/docs/README.md", + "/package/example/0.0.2/img/kibana-envoyproxy.jpg", + "/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-entry.json", + "/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-http.json", + "/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-json.json", + "/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-plaintext.json", + "/package/example/0.0.2/elasticsearch/ingest-pipeline/pipeline-tcp.json", + "/package/example/0.0.2/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json", + "/package/example/0.0.2/kibana/index-pattern/filebeat-*.json", + "/package/example/0.0.2/kibana/infrastructure-ui-source/default.json", + "/package/example/0.0.2/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json", + "/package/example/0.0.2/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json", + "/package/example/0.0.2/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json", + "/package/example/0.0.2/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json", + "/package/example/0.0.2/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json", + "/package/example/0.0.2/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json" + ], + "download": "/epr/example/example-0.0.2.tar.gz", + "path": "/package/example/0.0.2" +} \ No newline at end of file diff --git a/testdata/public/package/example-0.0.2/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json b/testdata/public/package/example/0.0.2/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json similarity index 100% rename from testdata/public/package/example-0.0.2/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json rename to testdata/public/package/example/0.0.2/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json diff --git a/testdata/public/package/example-0.0.2/kibana/index-pattern/filebeat-*.json b/testdata/public/package/example/0.0.2/kibana/index-pattern/filebeat-*.json similarity index 100% rename from testdata/public/package/example-0.0.2/kibana/index-pattern/filebeat-*.json rename to testdata/public/package/example/0.0.2/kibana/index-pattern/filebeat-*.json diff --git a/testdata/public/package/example-0.0.2/kibana/infrastructure-ui-source/default.json b/testdata/public/package/example/0.0.2/kibana/infrastructure-ui-source/default.json similarity index 100% rename from testdata/public/package/example-0.0.2/kibana/infrastructure-ui-source/default.json rename to testdata/public/package/example/0.0.2/kibana/infrastructure-ui-source/default.json diff --git a/testdata/public/package/example-0.0.2/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json b/testdata/public/package/example/0.0.2/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json similarity index 100% rename from testdata/public/package/example-0.0.2/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json rename to testdata/public/package/example/0.0.2/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json diff --git a/testdata/public/package/example-0.0.2/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json b/testdata/public/package/example/0.0.2/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json similarity index 100% rename from testdata/public/package/example-0.0.2/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json rename to testdata/public/package/example/0.0.2/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json diff --git a/testdata/public/package/example-0.0.2/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json b/testdata/public/package/example/0.0.2/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json similarity index 100% rename from testdata/public/package/example-0.0.2/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json rename to testdata/public/package/example/0.0.2/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json diff --git a/testdata/public/package/example-0.0.2/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json b/testdata/public/package/example/0.0.2/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json similarity index 100% rename from testdata/public/package/example-0.0.2/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json rename to testdata/public/package/example/0.0.2/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json diff --git a/testdata/public/package/example-0.0.2/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json b/testdata/public/package/example/0.0.2/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json similarity index 100% rename from testdata/public/package/example-0.0.2/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json rename to testdata/public/package/example/0.0.2/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json diff --git a/testdata/public/package/example-0.0.2/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json b/testdata/public/package/example/0.0.2/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json similarity index 100% rename from testdata/public/package/example-0.0.2/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json rename to testdata/public/package/example/0.0.2/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json diff --git a/testdata/public/package/example-0.0.2/manifest.yml b/testdata/public/package/example/0.0.2/manifest.yml similarity index 100% rename from testdata/public/package/example-0.0.2/manifest.yml rename to testdata/public/package/example/0.0.2/manifest.yml diff --git a/testdata/public/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-entry.json b/testdata/public/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-entry.json similarity index 100% rename from testdata/public/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-entry.json rename to testdata/public/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-entry.json diff --git a/testdata/public/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-http.json b/testdata/public/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-http.json similarity index 100% rename from testdata/public/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-http.json rename to testdata/public/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-http.json diff --git a/testdata/public/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-json.json b/testdata/public/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-json.json similarity index 100% rename from testdata/public/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-json.json rename to testdata/public/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-json.json diff --git a/testdata/public/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-plaintext.json b/testdata/public/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-plaintext.json similarity index 100% rename from testdata/public/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-plaintext.json rename to testdata/public/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-plaintext.json diff --git a/testdata/public/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-tcp.json b/testdata/public/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-tcp.json similarity index 100% rename from testdata/public/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-tcp.json rename to testdata/public/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-tcp.json diff --git a/testdata/public/package/example-1.0.0/dataset/foo/fields/stream.yml b/testdata/public/package/example/1.0.0/dataset/foo/fields/stream.yml similarity index 100% rename from testdata/public/package/example-1.0.0/dataset/foo/fields/stream.yml rename to testdata/public/package/example/1.0.0/dataset/foo/fields/stream.yml diff --git a/testdata/public/package/example-1.0.0/dataset/foo/manifest.yml b/testdata/public/package/example/1.0.0/dataset/foo/manifest.yml similarity index 100% rename from testdata/public/package/example-1.0.0/dataset/foo/manifest.yml rename to testdata/public/package/example/1.0.0/dataset/foo/manifest.yml diff --git a/testdata/public/package/example-1.0.0/docs/README.md b/testdata/public/package/example/1.0.0/docs/README.md similarity index 100% rename from testdata/public/package/example-1.0.0/docs/README.md rename to testdata/public/package/example/1.0.0/docs/README.md diff --git a/testdata/public/package/example-1.0.0/img/icon.png b/testdata/public/package/example/1.0.0/img/icon.png similarity index 100% rename from testdata/public/package/example-1.0.0/img/icon.png rename to testdata/public/package/example/1.0.0/img/icon.png diff --git a/testdata/public/package/example-1.0.0/img/kibana-envoyproxy.jpg b/testdata/public/package/example/1.0.0/img/kibana-envoyproxy.jpg similarity index 100% rename from testdata/public/package/example-1.0.0/img/kibana-envoyproxy.jpg rename to testdata/public/package/example/1.0.0/img/kibana-envoyproxy.jpg diff --git a/testdata/public/package/example-1.0.0/index.json b/testdata/public/package/example/1.0.0/index.json similarity index 67% rename from testdata/public/package/example-1.0.0/index.json rename to testdata/public/package/example/1.0.0/index.json index 5a1094e3e..60587a2bf 100644 --- a/testdata/public/package/example-1.0.0/index.json +++ b/testdata/public/package/example/1.0.0/index.json @@ -33,6 +33,7 @@ } ], "assets": [ +<<<<<<< HEAD:testdata/public/package/example-1.0.0/index.json "/package/example-1.0.0/manifest.yml", "/package/example-1.0.0/docs/README.md", "/package/example-1.0.0/img/icon.png", @@ -52,6 +53,26 @@ "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-json.json", "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-plaintext.json", "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-tcp.json" +======= + "/package/example/1.0.0/manifest.yml", + "/package/example/1.0.0/docs/README.md", + "/package/example/1.0.0/img/icon.png", + "/package/example/1.0.0/img/kibana-envoyproxy.jpg", + "/package/example/1.0.0/dataset/foo/manifest.yml", + "/package/example/1.0.0/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/kibana/index-pattern/filebeat-*.json", + "/package/example/1.0.0/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json", + "/package/example/1.0.0/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-entry.json", + "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-http.json", + "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-json.json", + "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-plaintext.json", + "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-tcp.json" +>>>>>>> 4b690b6... Change package path from {packagename}-{version} to {packagename}/{version}:testdata/public/package/example/1.0.0/index.json ], "datasets": [ { @@ -106,5 +127,5 @@ } ], "download": "/epr/example/example-1.0.0.tar.gz", - "path": "/package/example-1.0.0" + "path": "/package/example/1.0.0" } \ No newline at end of file diff --git a/testdata/public/package/example-1.0.0/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json b/testdata/public/package/example/1.0.0/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json similarity index 100% rename from testdata/public/package/example-1.0.0/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json rename to testdata/public/package/example/1.0.0/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json diff --git a/testdata/public/package/example-1.0.0/kibana/index-pattern/filebeat-*.json b/testdata/public/package/example/1.0.0/kibana/index-pattern/filebeat-*.json similarity index 100% rename from testdata/public/package/example-1.0.0/kibana/index-pattern/filebeat-*.json rename to testdata/public/package/example/1.0.0/kibana/index-pattern/filebeat-*.json diff --git a/testdata/public/package/example-1.0.0/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json b/testdata/public/package/example/1.0.0/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json similarity index 100% rename from testdata/public/package/example-1.0.0/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json rename to testdata/public/package/example/1.0.0/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json diff --git a/testdata/public/package/example-1.0.0/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json b/testdata/public/package/example/1.0.0/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json similarity index 100% rename from testdata/public/package/example-1.0.0/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json rename to testdata/public/package/example/1.0.0/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json diff --git a/testdata/public/package/example-1.0.0/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json b/testdata/public/package/example/1.0.0/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json similarity index 100% rename from testdata/public/package/example-1.0.0/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json rename to testdata/public/package/example/1.0.0/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json diff --git a/testdata/public/package/example-1.0.0/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json b/testdata/public/package/example/1.0.0/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json similarity index 100% rename from testdata/public/package/example-1.0.0/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json rename to testdata/public/package/example/1.0.0/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json diff --git a/testdata/public/package/example-1.0.0/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json b/testdata/public/package/example/1.0.0/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json similarity index 100% rename from testdata/public/package/example-1.0.0/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json rename to testdata/public/package/example/1.0.0/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json diff --git a/testdata/public/package/example-1.0.0/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json b/testdata/public/package/example/1.0.0/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json similarity index 100% rename from testdata/public/package/example-1.0.0/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json rename to testdata/public/package/example/1.0.0/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json diff --git a/testdata/public/package/example-1.0.0/manifest.yml b/testdata/public/package/example/1.0.0/manifest.yml similarity index 100% rename from testdata/public/package/example-1.0.0/manifest.yml rename to testdata/public/package/example/1.0.0/manifest.yml diff --git a/testdata/public/package/foo-1.0.0/docs/README.md b/testdata/public/package/foo/1.0.0/docs/README.md similarity index 100% rename from testdata/public/package/foo-1.0.0/docs/README.md rename to testdata/public/package/foo/1.0.0/docs/README.md diff --git a/testdata/public/package/foo-1.0.0/index.json b/testdata/public/package/foo/1.0.0/index.json similarity index 81% rename from testdata/public/package/foo-1.0.0/index.json rename to testdata/public/package/foo/1.0.0/index.json index 6a56c904f..73fcd226a 100644 --- a/testdata/public/package/foo-1.0.0/index.json +++ b/testdata/public/package/foo/1.0.0/index.json @@ -19,9 +19,9 @@ } }, "assets": [ - "/package/foo-1.0.0/manifest.yml", - "/package/foo-1.0.0/docs/README.md" + "/package/foo/1.0.0/manifest.yml", + "/package/foo/1.0.0/docs/README.md" ], "download": "/epr/foo/foo-1.0.0.tar.gz", - "path": "/package/foo-1.0.0" + "path": "/package/foo/1.0.0" } \ No newline at end of file diff --git a/testdata/public/package/foo-1.0.0/manifest.yml b/testdata/public/package/foo/1.0.0/manifest.yml similarity index 100% rename from testdata/public/package/foo-1.0.0/manifest.yml rename to testdata/public/package/foo/1.0.0/manifest.yml diff --git a/testdata/public/package/internal-1.2.0/docs/README.md b/testdata/public/package/internal/1.2.0/docs/README.md similarity index 100% rename from testdata/public/package/internal-1.2.0/docs/README.md rename to testdata/public/package/internal/1.2.0/docs/README.md diff --git a/testdata/public/package/internal-1.2.0/index.json b/testdata/public/package/internal/1.2.0/index.json similarity index 76% rename from testdata/public/package/internal-1.2.0/index.json rename to testdata/public/package/internal/1.2.0/index.json index 9d95cd643..affe77530 100644 --- a/testdata/public/package/internal-1.2.0/index.json +++ b/testdata/public/package/internal/1.2.0/index.json @@ -13,10 +13,10 @@ "elasticsearch": {} }, "assets": [ - "/package/internal-1.2.0/manifest.yml", - "/package/internal-1.2.0/docs/README.md" + "/package/internal/1.2.0/manifest.yml", + "/package/internal/1.2.0/docs/README.md" ], "internal": true, "download": "/epr/internal/internal-1.2.0.tar.gz", - "path": "/package/internal-1.2.0" + "path": "/package/internal/1.2.0" } \ No newline at end of file diff --git a/testdata/public/package/internal-1.2.0/manifest.yml b/testdata/public/package/internal/1.2.0/manifest.yml similarity index 100% rename from testdata/public/package/internal-1.2.0/manifest.yml rename to testdata/public/package/internal/1.2.0/manifest.yml diff --git a/util/package.go b/util/package.go index ebfb48e03..bfdfe831d 100644 --- a/util/package.go +++ b/util/package.go @@ -370,7 +370,7 @@ func (p *Package) LoadDataSets(packagePath string) error { } func (p *Package) GetPath() string { - return p.Name + "-" + p.Version + return p.Name + "/" + p.Version } func (p *Package) GetDownloadPath() string { @@ -378,5 +378,5 @@ func (p *Package) GetDownloadPath() string { } func (p *Package) GetUrlPath() string { - return path.Join("/package", p.Name+"-"+p.Version) + return path.Join("/package", p.Name, p.Version) } diff --git a/util/packages.go b/util/packages.go index ed592aa7a..19e45b4b7 100644 --- a/util/packages.go +++ b/util/packages.go @@ -5,7 +5,7 @@ package util import ( - "io/ioutil" + "os" "path/filepath" ) @@ -25,32 +25,37 @@ func GetPackages(packagesBasePath string) ([]Package, error) { return nil, err } - for _, i := range packagePaths { - p, err := NewPackage(filepath.Join(packagesBasePath, i)) + for _, path := range packagePaths { + p, err := NewPackage(path) if err != nil { return nil, err } packageList = append(packageList, *p) } + return packageList, nil } // getPackagePaths returns list of available packages, one for each version. func getPackagePaths(packagesPath string) ([]string, error) { - files, err := ioutil.ReadDir(packagesPath) + allPaths, err := filepath.Glob(packagesPath + "/*/*") if err != nil { return nil, err } - var packages []string - for _, f := range files { - if !f.IsDir() { + var packagePaths []string + for _, path := range allPaths { + p, err := os.Stat(path) + if err != nil { + return nil, err + } + if !p.IsDir() { continue } - packages = append(packages, f.Name()) + packagePaths = append(packagePaths, path) } - return packages, nil + return packagePaths, nil } From b68ec6f19cf38e4e8969e132314da26af14cdbbb Mon Sep 17 00:00:00 2001 From: ruflin Date: Wed, 25 Mar 2020 21:34:31 +0100 Subject: [PATCH 2/7] update generated files --- docs/api/package.json | 23 +------------------ .../package/datasources/1.0.0/index.json | 16 ++++--------- .../package/default-pipeline/0.0.2/index.json | 9 +------- .../public/package/example/1.0.0/index.json | 23 +------------------ 4 files changed, 7 insertions(+), 64 deletions(-) diff --git a/docs/api/package.json b/docs/api/package.json index 17f64a4cd..03c8afd58 100644 --- a/docs/api/package.json +++ b/docs/api/package.json @@ -33,27 +33,6 @@ } ], "assets": [ -<<<<<<< HEAD - "/package/example-1.0.0/manifest.yml", - "/package/example-1.0.0/docs/README.md", - "/package/example-1.0.0/img/icon.png", - "/package/example-1.0.0/img/kibana-envoyproxy.jpg", - "/package/example-1.0.0/dataset/foo/manifest.yml", - "/package/example-1.0.0/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json", - "/package/example-1.0.0/kibana/index-pattern/filebeat-*.json", - "/package/example-1.0.0/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json", - "/package/example-1.0.0/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json", - "/package/example-1.0.0/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json", - "/package/example-1.0.0/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json", - "/package/example-1.0.0/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json", - "/package/example-1.0.0/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json", - "/package/example-1.0.0/dataset/foo/fields/stream.yml", - "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-entry.json", - "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-http.json", - "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-json.json", - "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-plaintext.json", - "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-tcp.json" -======= "/package/example/1.0.0/manifest.yml", "/package/example/1.0.0/docs/README.md", "/package/example/1.0.0/img/icon.png", @@ -67,12 +46,12 @@ "/package/example/1.0.0/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json", "/package/example/1.0.0/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json", "/package/example/1.0.0/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/dataset/foo/fields/stream.yml", "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-entry.json", "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-http.json", "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-json.json", "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-plaintext.json", "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-tcp.json" ->>>>>>> 4b690b6... Change package path from {packagename}-{version} to {packagename}/{version} ], "datasets": [ { diff --git a/testdata/public/package/datasources/1.0.0/index.json b/testdata/public/package/datasources/1.0.0/index.json index dd8b62e6a..d8d94aac9 100644 --- a/testdata/public/package/datasources/1.0.0/index.json +++ b/testdata/public/package/datasources/1.0.0/index.json @@ -15,22 +15,14 @@ "elasticsearch": {} }, "assets": [ -<<<<<<< HEAD:testdata/public/package/datasources-1.0.0/index.json - "/package/datasources-1.0.0/manifest.yml", - "/package/datasources-1.0.0/docs/README.md", - "/package/datasources-1.0.0/dataset/examplelog1/manifest.yml", - "/package/datasources-1.0.0/dataset/examplelog2/manifest.yml", - "/package/datasources-1.0.0/dataset/examplemetric/manifest.yml", - "/package/datasources-1.0.0/dataset/examplelog1/fields/stream.yml", - "/package/datasources-1.0.0/dataset/examplelog2/fields/stream.yml", - "/package/datasources-1.0.0/dataset/examplemetric/fields/stream.yml" -======= "/package/datasources/1.0.0/manifest.yml", "/package/datasources/1.0.0/docs/README.md", "/package/datasources/1.0.0/dataset/examplelog1/manifest.yml", "/package/datasources/1.0.0/dataset/examplelog2/manifest.yml", - "/package/datasources/1.0.0/dataset/examplemetric/manifest.yml" ->>>>>>> 4b690b6... Change package path from {packagename}-{version} to {packagename}/{version}:testdata/public/package/datasources/1.0.0/index.json + "/package/datasources/1.0.0/dataset/examplemetric/manifest.yml", + "/package/datasources/1.0.0/dataset/examplelog1/fields/stream.yml", + "/package/datasources/1.0.0/dataset/examplelog2/fields/stream.yml", + "/package/datasources/1.0.0/dataset/examplemetric/fields/stream.yml" ], "datasets": [ { diff --git a/testdata/public/package/default-pipeline/0.0.2/index.json b/testdata/public/package/default-pipeline/0.0.2/index.json index d9cb6b5e6..38fc055a8 100644 --- a/testdata/public/package/default-pipeline/0.0.2/index.json +++ b/testdata/public/package/default-pipeline/0.0.2/index.json @@ -15,18 +15,11 @@ "elasticsearch": {} }, "assets": [ -<<<<<<< HEAD:testdata/public/package/default-pipeline-0.0.2/index.json - "/package/default-pipeline-0.0.2/manifest.yml", - "/package/default-pipeline-0.0.2/docs/README.md", - "/package/default-pipeline-0.0.2/dataset/foo/manifest.yml", - "/package/default-pipeline-0.0.2/dataset/foo/fields/stream.yml", - "/package/default-pipeline-0.0.2/dataset/foo/elasticsearch/ingest-pipeline/default.json" -======= "/package/default-pipeline/0.0.2/manifest.yml", "/package/default-pipeline/0.0.2/docs/README.md", "/package/default-pipeline/0.0.2/dataset/foo/manifest.yml", + "/package/default-pipeline/0.0.2/dataset/foo/fields/stream.yml", "/package/default-pipeline/0.0.2/dataset/foo/elasticsearch/ingest-pipeline/default.json" ->>>>>>> 4b690b6... Change package path from {packagename}-{version} to {packagename}/{version}:testdata/public/package/default-pipeline/0.0.2/index.json ], "datasets": [ { diff --git a/testdata/public/package/example/1.0.0/index.json b/testdata/public/package/example/1.0.0/index.json index 60587a2bf..5784def8b 100644 --- a/testdata/public/package/example/1.0.0/index.json +++ b/testdata/public/package/example/1.0.0/index.json @@ -33,27 +33,6 @@ } ], "assets": [ -<<<<<<< HEAD:testdata/public/package/example-1.0.0/index.json - "/package/example-1.0.0/manifest.yml", - "/package/example-1.0.0/docs/README.md", - "/package/example-1.0.0/img/icon.png", - "/package/example-1.0.0/img/kibana-envoyproxy.jpg", - "/package/example-1.0.0/dataset/foo/manifest.yml", - "/package/example-1.0.0/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json", - "/package/example-1.0.0/kibana/index-pattern/filebeat-*.json", - "/package/example-1.0.0/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json", - "/package/example-1.0.0/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json", - "/package/example-1.0.0/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json", - "/package/example-1.0.0/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json", - "/package/example-1.0.0/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json", - "/package/example-1.0.0/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json", - "/package/example-1.0.0/dataset/foo/fields/stream.yml", - "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-entry.json", - "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-http.json", - "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-json.json", - "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-plaintext.json", - "/package/example-1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-tcp.json" -======= "/package/example/1.0.0/manifest.yml", "/package/example/1.0.0/docs/README.md", "/package/example/1.0.0/img/icon.png", @@ -67,12 +46,12 @@ "/package/example/1.0.0/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json", "/package/example/1.0.0/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json", "/package/example/1.0.0/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json", + "/package/example/1.0.0/dataset/foo/fields/stream.yml", "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-entry.json", "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-http.json", "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-json.json", "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-plaintext.json", "/package/example/1.0.0/dataset/foo/elasticsearch/ingest-pipeline/pipeline-tcp.json" ->>>>>>> 4b690b6... Change package path from {packagename}-{version} to {packagename}/{version}:testdata/public/package/example/1.0.0/index.json ], "datasets": [ { From 4bcb5f77a2c386c85cdd09a465e403d0a7fad6a7 Mon Sep 17 00:00:00 2001 From: ruflin Date: Thu, 26 Mar 2020 14:58:33 +0100 Subject: [PATCH 3/7] switch to rsync for cross platform compatibility --- Dockerfile | 2 +- dev/generator/main.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index a040d769f..ba90ba47f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ FROM golang:${GO_VERSION:-1.13.4} RUN \ apt-get update \ && apt-get install -y --no-install-recommends \ - zip \ + zip rsync \ && rm -rf /var/lib/apt/lists/* COPY ./ /go/src/github.com/elastic/package-registry diff --git a/dev/generator/main.go b/dev/generator/main.go index b57422080..22936db9a 100644 --- a/dev/generator/main.go +++ b/dev/generator/main.go @@ -78,7 +78,7 @@ func Build(sourceDir, publicDir string) error { func CopyPackage(src, dst string) error { log.Println(">> Copy package: " + src) os.MkdirAll(dst, 0755) - err := sh.RunV("cp", "-a", src, dst) + err := sh.RunV("rsync", "-a", src, dst) if err != nil { return err } From 30c19e77d3abcd83d4793d4cb7b4055a8af6b848 Mon Sep 17 00:00:00 2001 From: ruflin Date: Fri, 27 Mar 2020 16:15:02 +0100 Subject: [PATCH 4/7] README updated --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 8070fbe40..8d7711988 100644 --- a/README.md +++ b/README.md @@ -20,8 +20,7 @@ The `/search` API endpoint has few additional query parameters. More might be ad a package requires 7.4, the package will not be returned or an older compatible package will be shown. By default this endpoint always returns only the newest compatible package. * category: Filters the package by the given category. Available categories can be seend when going to `/categories` endpoint. -* package: Filters by a specific package name, for example `mysql`. In contrast to the other endpoints, it will return - by default all versions of this package. +* package: Filters by a specific package name, for example `mysql`. It will return the most recent version of the package. * internal: This can be set to true, to also list internal packages. This is set to `false` by default. The different query parameters above can be combined, so `?package=mysql&kibana=7.3.0` will return all mysql package versions From f7db5e7b5865d6b798bfd8ee2ebb53fb9769588e Mon Sep 17 00:00:00 2001 From: ruflin Date: Fri, 27 Mar 2020 16:16:57 +0100 Subject: [PATCH 5/7] reapply jenkins changes --- .ci/jenkins-go-agent/Dockerfile | 4 ++-- Jenkinsfile | 26 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.ci/jenkins-go-agent/Dockerfile b/.ci/jenkins-go-agent/Dockerfile index e8e53e3a1..781ba6b96 100644 --- a/.ci/jenkins-go-agent/Dockerfile +++ b/.ci/jenkins-go-agent/Dockerfile @@ -1,9 +1,9 @@ -FROM golang:1.12 +FROM golang:1.13 RUN \ apt-get update \ && apt-get install -y --no-install-recommends \ - zip \ + zip rsync\ && rm -rf /var/lib/apt/lists/* RUN go get -u github.com/magefile/mage \ diff --git a/Jenkinsfile b/Jenkinsfile index d9b3ac963..341d364d6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -3,7 +3,7 @@ @Library('apm@current') _ pipeline { - agent { label 'docker && linux && immutable' } + agent { label 'ubuntu && immutable' } environment { BASE_DIR="src/github.com/elastic/package-registry" JOB_GIT_CREDENTIALS = "f6c7695a-671e-4f4f-a331-acdce44ff9ba" @@ -27,8 +27,8 @@ pipeline { } stages { /** - Checkout the code and stash it, to use it on other stages. - */ + Checkout the code and stash it, to use it on other stages. + */ stage('Checkout') { steps { deleteDir() @@ -37,8 +37,8 @@ pipeline { } } /** - Checks formatting / linting. - */ + Checks formatting / linting. + */ stage('Lint') { steps { deleteDir() @@ -51,8 +51,8 @@ pipeline { } } /** - Build the project from code.. - */ + Build the project from code.. + */ stage('Build') { steps { deleteDir() @@ -65,8 +65,8 @@ pipeline { } } /** - Execute unit tests. - */ + Execute unit tests. + */ stage('Test') { steps { deleteDir() @@ -86,8 +86,8 @@ pipeline { } } /** - Publish Docker images. - */ + Publish Docker images. + */ stage('Publish Docker image'){ environment { DOCKER_IMG_TAG = "${env.DOCKER_IMG}:${env.GIT_BASE_COMMIT}" @@ -105,8 +105,8 @@ pipeline { script: "docker push ${env.DOCKER_IMG_TAG}") sh(label: 'Re-tag Docker image', script: "docker tag ${env.DOCKER_IMG_TAG} ${env.DOCKER_IMG_TAG_BRANCH}") - sh(label: 'Push Docker image name', - script: "docker push ${env.DOCKER_IMG_TAG_BRANCH}") + sh(label: 'Push Docker image name', + script: "docker push ${env.DOCKER_IMG_TAG_BRANCH}") } } } From 141b9c0639c171725ff1c1f93f9544c4e796ad96 Mon Sep 17 00:00:00 2001 From: ruflin Date: Fri, 27 Mar 2020 16:23:42 +0100 Subject: [PATCH 6/7] updating the right thing --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8d7711988..63aa83ee3 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,8 @@ Endpoints: * `/`: Info about the registry * `/search`: Search for packages. By default returns all the most recent packages available. * `/categories`: List of the existing package categories and how many packages are in each category. -* `/package/{name}-{version}`: Info about a package -* `/package/{name}-{version}.tar.gz`: Download a package +* `/package/{name}/{version}`: Info about a package +* `/epr/{name}/{name}-{version}.tar.gz`: Download a package Examples for each API endpoint can be found here: https://github.com/elastic/package-registry/tree/master/docs/api @@ -20,7 +20,8 @@ The `/search` API endpoint has few additional query parameters. More might be ad a package requires 7.4, the package will not be returned or an older compatible package will be shown. By default this endpoint always returns only the newest compatible package. * category: Filters the package by the given category. Available categories can be seend when going to `/categories` endpoint. -* package: Filters by a specific package name, for example `mysql`. It will return the most recent version of the package. +* package: Filters by a specific package name, for example `mysql`. In contrast to the other endpoints, it will return + by default all versions of this package. * internal: This can be set to true, to also list internal packages. This is set to `false` by default. The different query parameters above can be combined, so `?package=mysql&kibana=7.3.0` will return all mysql package versions From 86383ce7cfc3ea12d4857cfa4e1a3ab8f8ed3aad Mon Sep 17 00:00:00 2001 From: ruflin Date: Fri, 27 Mar 2020 16:27:49 +0100 Subject: [PATCH 7/7] more updates --- dev/import-beats/datasources.go | 1 + docs/api/package.json | 7 +--- .../public/package/example-0.0.2/index.json | 42 ------------------- .../public/package/example/0.0.2/index.json | 3 ++ 4 files changed, 5 insertions(+), 48 deletions(-) delete mode 100644 testdata/public/package/example-0.0.2/index.json diff --git a/dev/import-beats/datasources.go b/dev/import-beats/datasources.go index be444d597..0b426bdc6 100644 --- a/dev/import-beats/datasources.go +++ b/dev/import-beats/datasources.go @@ -6,6 +6,7 @@ package main import ( "fmt" + "github.com/elastic/package-registry/util" ) diff --git a/docs/api/package.json b/docs/api/package.json index 03c8afd58..5784def8b 100644 --- a/docs/api/package.json +++ b/docs/api/package.json @@ -106,10 +106,5 @@ } ], "download": "/epr/example/example-1.0.0.tar.gz", -<<<<<<< HEAD - "path": "/package/example-1.0.0" -} -======= "path": "/package/example/1.0.0" -} ->>>>>>> aaf31b8... Change package path from {packagename}-{version} to {packagename}/{version} +} \ No newline at end of file diff --git a/testdata/public/package/example-0.0.2/index.json b/testdata/public/package/example-0.0.2/index.json deleted file mode 100644 index 99480b3d2..000000000 --- a/testdata/public/package/example-0.0.2/index.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "format_version": "1.0.0", - "name": "example", - "title": "Example", - "version": "0.0.2", - "readme": "/package/example-0.0.2/docs/README.md", - "license": "basic", - "description": "This is the example integration.", - "type": "integration", - "categories": [ - "logs" - ], - "requirement": { - "kibana": { - "versions": "\u003e=6.0.0" - }, - "elasticsearch": { - "versions": "\u003e=6.0.0 \u003c=6.8.0" - } - }, - "assets": [ - "/package/example-0.0.2/manifest.yml", - "/package/example-0.0.2/docs/README.md", - "/package/example-0.0.2/img/kibana-envoyproxy.jpg", - "/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-entry.json", - "/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-http.json", - "/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-json.json", - "/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-plaintext.json", - "/package/example-0.0.2/elasticsearch/ingest-pipeline/pipeline-tcp.json", - "/package/example-0.0.2/kibana/dashboard/0c610510-5cbd-11e9-8477-077ec9664dbd.json", - "/package/example-0.0.2/kibana/index-pattern/filebeat-*.json", - "/package/example-0.0.2/kibana/infrastructure-ui-source/default.json", - "/package/example-0.0.2/kibana/visualization/0a994af0-5c9d-11e9-8477-077ec9664dbd.json", - "/package/example-0.0.2/kibana/visualization/36f872a0-5c03-11e9-85b4-19d0072eb4f2.json", - "/package/example-0.0.2/kibana/visualization/38f96190-5c99-11e9-8477-077ec9664dbd.json", - "/package/example-0.0.2/kibana/visualization/7e4084e0-5c99-11e9-8477-077ec9664dbd.json", - "/package/example-0.0.2/kibana/visualization/80844540-5c97-11e9-8477-077ec9664dbd.json", - "/package/example-0.0.2/kibana/visualization/ab48c3f0-5ca6-11e9-8477-077ec9664dbd.json" - ], - "download": "/epr/example/example-0.0.2.tar.gz", - "path": "/package/example-0.0.2" -} \ No newline at end of file diff --git a/testdata/public/package/example/0.0.2/index.json b/testdata/public/package/example/0.0.2/index.json index c3390e068..f073f9fa6 100644 --- a/testdata/public/package/example/0.0.2/index.json +++ b/testdata/public/package/example/0.0.2/index.json @@ -13,6 +13,9 @@ "requirement": { "kibana": { "versions": "\u003e=6.0.0" + }, + "elasticsearch": { + "versions": "\u003e=6.0.0 \u003c=6.8.0" } }, "assets": [