Skip to content

Commit

Permalink
Set required kibana version to ^7.9.0 (elastic#152)
Browse files Browse the repository at this point in the history
* Set required kibana version to ^7.9.0

* Update tips
  • Loading branch information
mtojek authored Jul 2, 2020
1 parent edef0d2 commit 119ea95
Show file tree
Hide file tree
Showing 17 changed files with 24 additions and 87 deletions.
7 changes: 7 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -367,6 +367,13 @@ on the business or technical requirements for the entire platform (Elastic Packa
The list of available categories is present in the Package Registry source: https://github.com/elastic/package-registry/blob/e93e801a6dfbfa6f83c8b69f6e9405603151f937/util/package.go#L27-L51
4. Make sure that the version condition for kibana is set to `^7.9.0`.
```yaml
conditions:
kibana.version: '^7.9.0'
```
### All integrations
#### Code reviewers
Expand Down
71 changes: 2 additions & 69 deletions dev/import-beats/conditions.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,82 +5,15 @@
package main

import (
"encoding/json"
"fmt"

"github.com/blang/semver"
"github.com/pkg/errors"

"github.com/elastic/package-registry/util"
)

var zeroVersion = semver.MustParse("0.0.0")

func createConditions(kibanaContent kibanaContent, datasetContent []datasetContent) (*util.Conditions, error) {
kibanaRequirement, err := findRequiredKibanaVersion(kibanaContent)
if err != nil {
return nil, errors.Wrapf(err, "finding required Kibana version failed")
}
func createConditions() *util.Conditions {
return &util.Conditions{
KibanaVersion: kibanaRequirement,
}, nil
}

func findRequiredKibanaVersion(kibanaContent kibanaContent) (string, error) {
dashboards, ok := kibanaContent.files["dashboard"]
if !ok {
return "", nil // no dashboards available, no version requirement
}

currentVersion := zeroVersion

for _, dashboardFile := range dashboards {
var dashboard mapStr
err := json.Unmarshal(dashboardFile, &dashboard)
if err != nil {
return "", errors.Wrap(err, "unmarshalling dashboard filed")
}

panels, err := dashboard.getValue("attributes.panelsJSON")
if err == errKeyNotFound {
continue // panelsJSON is missing, skip this dashboard
}
if err != nil {
return "", errors.Wrap(err, "retrieving key 'attributes.panelsJSON' failed")
}

panelsValue := panels.([]interface{})
if len(panelsValue) == 0 {
continue // panelsJSON is present, but empty, skip this dashboard
}

for _, panel := range panelsValue {
panelValue, err := toMapStr(panel)
if err != nil {
return "", errors.Wrap(err, "converting to mapstr failed")
}

version, err := panelValue.getValue("version")
if err == errKeyNotFound {
continue // no version tag, skip this panel
}
if err != nil {
return "", errors.Wrap(err, "retrieving key 'version' failed")
}
versionValue := version.(string)
parsed, err := semver.Parse(versionValue)
if err != nil {
return "", errors.Wrapf(err, "parsing version failed (value: %s)", versionValue)
}

if currentVersion.LT(parsed) {
currentVersion = parsed
}
}
}

if currentVersion.EQ(zeroVersion) {
return "", nil // no version requirement found, even if all files were visited.
KibanaVersion: "^7.9.0",
}
return fmt.Sprintf("~%s", currentVersion), nil
}
5 changes: 1 addition & 4 deletions dev/import-beats/packages.go
Original file line number Diff line number Diff line change
Expand Up @@ -230,10 +230,7 @@ func (r *packageRepository) createPackagesFromSource(beatsDir, beatName, beatTyp
return err
}
aPackage.addKibanaContent(kibana)
manifest.Conditions, err = createConditions(aPackage.kibana, aPackage.datasets)
if err != nil {
return err
}
manifest.Conditions = createConditions()

aPackage.manifest = manifest
r.packages[moduleDir.Name()] = aPackage
Expand Down
2 changes: 1 addition & 1 deletion packages/apache/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ categories:
release: beta
removable: true
conditions:
kibana.version: '~7.3.1'
kibana.version: '^7.9.0'
screenshots:
- src: /img/kibana-apache.png
title: Apache Integration
Expand Down
2 changes: 1 addition & 1 deletion packages/aws/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ categories:
- security
release: beta
conditions:
kibana.version: '~7.3.0'
kibana.version: '^7.9.0'
screenshots:
- src: /img/filebeat-aws-cloudtrail.png
title: filebeat aws cloudtrail
Expand Down
2 changes: 1 addition & 1 deletion packages/cisco/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ categories:
- security
release: beta
conditions:
kibana.version: '~7.3.0'
kibana.version: '^7.9.0'
screenshots:
- src: /img/kibana-cisco-asa.png
title: kibana cisco asa
Expand Down
2 changes: 1 addition & 1 deletion packages/kafka/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ categories:
- message_queue
release: beta
conditions:
kibana.version: '~7.3.0'
kibana.version: '^7.9.0'
screenshots:
- src: /img/filebeat-kafka-logs-overview.png
title: filebeat kafka logs overview
Expand Down
2 changes: 1 addition & 1 deletion packages/kubernetes/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ categories:
- kubernetes
release: beta
conditions:
kibana.version: '~7.3.0'
kibana.version: '^7.9.0'
screenshots:
- src: /img/metricbeat_kubernetes_overview.png
title: Metricbeat Kubernetes Overview
Expand Down
2 changes: 1 addition & 1 deletion packages/mongodb/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ license: basic
release: beta
removable: true
conditions:
kibana.version: '~7.3.0'
kibana.version: '^7.9.0'
screenshots:
- src: /img/filebeat-mongodb-overview.png
title: filebeat mongodb overview
Expand Down
2 changes: 1 addition & 1 deletion packages/mysql/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ categories:
- datastore
release: beta
conditions:
kibana.version: '~7.3.0'
kibana.version: '^7.9.0'
screenshots:
- src: /img/kibana-mysql.png
title: kibana mysql
Expand Down
2 changes: 1 addition & 1 deletion packages/netflow/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ categories:
- security
release: beta
conditions:
kibana.version: '~7.3.0'
kibana.version: '^7.9.0'
config_templates:
- name: netflow
title: NetFlow logs
Expand Down
2 changes: 1 addition & 1 deletion packages/nginx/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ categories:
- security
release: beta
conditions:
kibana.version: '~7.3.0'
kibana.version: '^7.9.0'
screenshots:
- src: /img/kibana-nginx.png
title: kibana nginx
Expand Down
2 changes: 1 addition & 1 deletion packages/postgresql/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ categories:
- datastore
release: beta
conditions:
kibana.version: '~7.3.0'
kibana.version: '^7.9.0'
screenshots:
- src: /img/filebeat-postgresql-overview.png
title: Filebeat PostgreSQL overview
Expand Down
2 changes: 1 addition & 1 deletion packages/rabbitmq/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ categories:
release: beta
removable: true
conditions:
kibana.version: '~7.3.0'
kibana.version: '^7.9.0'
icons:
- src: /img/logo_rabbitmq.svg
title: RabbitMQ Logo
Expand Down
2 changes: 1 addition & 1 deletion packages/redis/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ categories:
- message_queue
release: beta
conditions:
kibana.version: '~7.3.0'
kibana.version: '^7.9.0'
screenshots:
- src: /img/kibana-redis.png
title: kibana redis
Expand Down
2 changes: 1 addition & 1 deletion packages/system/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ categories:
- security
release: beta
conditions:
kibana.version: '~7.3.0'
kibana.version: '^7.9.0'
screenshots:
- src: /img/kibana-system.png
title: kibana system
Expand Down
2 changes: 1 addition & 1 deletion packages/windows/manifest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ license: basic
release: beta
removable: true
conditions:
kibana.version: '~7.3.0'
kibana.version: '^7.9.0'
screenshots:
- src: /img/metricbeat-windows-service.png
title: metricbeat windows service
Expand Down

0 comments on commit 119ea95

Please sign in to comment.