youtubebeat/vendor/github.com/elastic/beats/dev-tools/packaging/packages.yml

386 lines
11 KiB
YAML

---
# This file contains the package specifications for both Community Beats and
# Official Beats. The shared section contains YAML anchors that are used to
# define common parts of the package in order to not repeat ourselves.
shared:
- &common
name: '{{.BeatName}}'
service_name: '{{.BeatServiceName}}'
os: '{{.GOOS}}'
arch: '{{.PackageArch}}'
vendor: '{{.BeatVendor}}'
version: '{{ beat_version }}'
license: '{{.BeatLicense}}'
url: '{{.BeatURL}}'
description: '{{.BeatDescription}}'
# Deb/RPM spec for community beats.
- &deb_rpm_spec
<<: *common
post_install_script: '{{ elastic_beats_dir }}/dev-tools/packaging/files/linux/systemd-daemon-reload.sh'
files:
/usr/share/{{.BeatName}}/bin/{{.BeatName}}{{.BinaryExt}}:
source: build/golang-crossbuild/{{.BeatName}}-{{.GOOS}}-{{.Platform.Arch}}{{.BinaryExt}}
mode: 0755
/etc/{{.BeatName}}/fields.yml:
source: fields.yml
mode: 0644
/usr/share/{{.BeatName}}/LICENSE.txt:
source: '{{ repo.RootDir }}/LICENSE.txt'
mode: 0644
/usr/share/{{.BeatName}}/NOTICE.txt:
source: '{{ repo.RootDir }}/NOTICE.txt'
mode: 0644
/usr/share/{{.BeatName}}/README.md:
template: '{{ elastic_beats_dir }}/dev-tools/packaging/templates/common/README.md.tmpl'
mode: 0644
/usr/share/{{.BeatName}}/.build_hash.txt:
content: >
{{ commit }}
mode: 0644
/etc/{{.BeatName}}/{{.BeatName}}.reference.yml:
source: '{{.BeatName}}.reference.yml'
mode: 0644
/etc/{{.BeatName}}/{{.BeatName}}.yml:
source: '{{.BeatName}}.yml'
mode: 0600
config: true
/usr/share/{{.BeatName}}/kibana:
source: _meta/kibana.generated
mode: 0644
/usr/share/{{.BeatName}}/bin/{{.BeatName}}-god:
source: build/golang-crossbuild/god-{{.GOOS}}-{{.Platform.Arch}}
mode: 0755
/usr/bin/{{.BeatName}}:
template: '{{ elastic_beats_dir }}/dev-tools/packaging/templates/linux/beatname.sh.tmpl'
mode: 0755
/lib/systemd/system/{{.BeatServiceName}}.service:
template: '{{ elastic_beats_dir }}/dev-tools/packaging/templates/linux/systemd.unit.tmpl'
mode: 0644
/etc/init.d/{{.BeatServiceName}}:
template: '{{ elastic_beats_dir }}/dev-tools/packaging/templates/{{.PackageType}}/init.sh.tmpl'
mode: 0755
# MacOS pkg spec for community beats.
- &macos_beat_pkg_spec
<<: *common
extra_vars:
# OS X 10.8 Mountain Lion is the oldest supported by Go 1.10.
# https://golang.org/doc/go1.10#ports
min_supported_osx_version: 10.8
identifier: 'co.{{.BeatVendor | tolower}}.beats.{{.BeatName}}'
install_path: /Library/Application Support
pre_install_script: '{{ elastic_beats_dir }}/dev-tools/packaging/templates/darwin/scripts/preinstall.tmpl'
post_install_script: '{{ elastic_beats_dir }}/dev-tools/packaging/templates/darwin/scripts/postinstall.tmpl'
files:
/Library/Application Support/{{.BeatVendor}}/{{.BeatName}}/bin/{{.BeatName}}{{.BinaryExt}}:
source: build/golang-crossbuild/{{.BeatName}}-{{.GOOS}}-{{.Platform.Arch}}{{.BinaryExt}}
mode: 0755
/Library/Application Support/{{.BeatVendor}}/{{.BeatName}}/LICENSE.txt:
source: '{{ repo.RootDir }}/LICENSE.txt'
mode: 0644
/Library/Application Support/{{.BeatVendor}}/{{.BeatName}}/NOTICE.txt:
source: '{{ repo.RootDir }}/NOTICE.txt'
mode: 0644
/Library/Application Support/{{.BeatVendor}}/{{.BeatName}}/README.md:
template: '{{ elastic_beats_dir }}/dev-tools/packaging/templates/common/README.md.tmpl'
mode: 0644
/Library/Application Support/{{.BeatVendor}}/{{.BeatName}}/.build_hash.txt:
content: >
{{ commit }}
mode: 0644
/Library/Application Support/{{.BeatVendor}}/{{.BeatName}}/{{.identifier}}.plist:
template: '{{ elastic_beats_dir }}/dev-tools/packaging/templates/darwin/launchd-daemon.plist.tmpl'
mode: 0644
/Library/Application Support/{{.BeatVendor}}/{{.BeatName}}/kibana:
source: _meta/kibana.generated
mode: 0644
/etc/{{.BeatName}}/fields.yml:
source: fields.yml
mode: 0644
/etc/{{.BeatName}}/{{.BeatName}}.reference.yml:
source: '{{.BeatName}}.reference.yml'
mode: 0644
/etc/{{.BeatName}}/{{.BeatName}}.yml:
source: '{{.BeatName}}.yml'
mode: 0600
config: true
- &binary_files
'{{.BeatName}}{{.BinaryExt}}':
source: build/golang-crossbuild/{{.BeatName}}-{{.GOOS}}-{{.Platform.Arch}}{{.BinaryExt}}
mode: 0755
fields.yml:
source: fields.yml
mode: 0644
LICENSE.txt:
source: '{{ repo.RootDir }}/LICENSE.txt'
mode: 0644
NOTICE.txt:
source: '{{ repo.RootDir }}/NOTICE.txt'
mode: 0644
README.md:
template: '{{ elastic_beats_dir }}/dev-tools/packaging/templates/common/README.md.tmpl'
mode: 0644
.build_hash.txt:
content: >
{{ commit }}
mode: 0644
'{{.BeatName}}.reference.yml':
source: '{{.BeatName}}.reference.yml'
mode: 0644
'{{.BeatName}}.yml':
source: '{{.BeatName}}.yml'
mode: 0600
config: true
kibana:
source: _meta/kibana.generated
mode: 0644
# Binary package spec (tar.gz for linux/darwin) for community beats.
- &binary_spec
<<: *common
files:
<<: *binary_files
# Binary package spec (zip for windows) for community beats.
- &windows_binary_spec
<<: *common
files:
<<: *binary_files
install-service-{{.BeatName}}.ps1:
template: '{{ elastic_beats_dir }}/dev-tools/packaging/templates/windows/install-service.ps1.tmpl'
mode: 0755
uninstall-service-{{.BeatName}}.ps1:
template: '{{ elastic_beats_dir }}/dev-tools/packaging/templates/windows/uninstall-service.ps1.tmpl'
mode: 0755
#
# License modifiers for Apache 2.0
#
- &apache_license_for_binaries
license: "ASL 2.0"
files:
LICENSE.txt:
source: '{{ repo.RootDir }}/licenses/APACHE-LICENSE-2.0.txt'
mode: 0644
- &apache_license_for_deb_rpm
license: "ASL 2.0"
files:
/usr/share/{{.BeatName}}/LICENSE.txt:
source: '{{ repo.RootDir }}/licenses/APACHE-LICENSE-2.0.txt'
mode: 0644
- &apache_license_for_macos_pkg
license: "ASL 2.0"
files:
/Library/Application Support/{{.BeatVendor}}/{{.BeatName}}/LICENSE.txt:
source: '{{ repo.RootDir }}/licenses/APACHE-LICENSE-2.0.txt'
mode: 0644
#
# License modifiers for the Elastic License
#
- &elastic_license_for_binaries
license: "Elastic License"
files:
LICENSE.txt:
source: '{{ repo.RootDir }}/licenses/ELASTIC-LICENSE.txt'
mode: 0644
- &elastic_license_for_deb_rpm
license: "Elastic License"
files:
/usr/share/{{.BeatName}}/LICENSE.txt:
source: '{{ repo.RootDir }}/licenses/ELASTIC-LICENSE.txt'
mode: 0644
- &elastic_license_for_macos_pkg
license: "Elastic License"
files:
/Library/Application Support/{{.BeatVendor}}/{{.BeatName}}/LICENSE.txt:
source: '{{ repo.RootDir }}/licenses/ELASTIC-LICENSE.txt'
mode: 0644
# specs is a list of named packaging "flavors".
specs:
# Community Beats
community_beat:
- os: windows
types: [zip]
spec:
<<: *windows_binary_spec
- os: darwin
types: [tgz]
spec:
<<: *binary_spec
- os: linux
types: [tgz]
spec:
<<: *binary_spec
- os: linux
types: [deb, rpm]
spec:
<<: *deb_rpm_spec
elastic_beat_without_xpack:
###
# OSS Packages
###
- os: windows
types: [zip]
spec:
<<: *windows_binary_spec
<<: *apache_license_for_binaries
name: '{{.BeatName}}-oss'
- os: darwin
types: [tgz]
spec:
<<: *binary_spec
<<: *apache_license_for_binaries
name: '{{.BeatName}}-oss'
- os: darwin
types: [dmg]
spec:
<<: *macos_beat_pkg_spec
<<: *apache_license_for_macos_pkg
name: '{{.BeatName}}-oss'
- os: linux
types: [tgz]
spec:
<<: *binary_spec
<<: *apache_license_for_binaries
name: '{{.BeatName}}-oss'
- os: linux
types: [deb, rpm]
spec:
<<: *deb_rpm_spec
<<: *apache_license_for_deb_rpm
name: '{{.BeatName}}-oss'
###
# Elastic Licensed Packages
###
- os: windows
types: [zip]
spec:
<<: *windows_binary_spec
<<: *elastic_license_for_binaries
- os: darwin
types: [tgz]
spec:
<<: *binary_spec
<<: *elastic_license_for_binaries
- os: darwin
types: [dmg]
spec:
<<: *macos_beat_pkg_spec
<<: *elastic_license_for_macos_pkg
- os: linux
types: [tgz]
spec:
<<: *binary_spec
<<: *elastic_license_for_binaries
- os: linux
types: [deb, rpm]
spec:
<<: *deb_rpm_spec
<<: *elastic_license_for_deb_rpm
# Official Beats
elastic_beat:
###
# OSS Packages
###
- os: windows
types: [zip]
spec:
<<: *windows_binary_spec
<<: *apache_license_for_binaries
name: '{{.BeatName}}-oss'
- os: darwin
types: [tgz]
spec:
<<: *binary_spec
<<: *apache_license_for_binaries
name: '{{.BeatName}}-oss'
- os: darwin
types: [dmg]
spec:
<<: *macos_beat_pkg_spec
<<: *apache_license_for_macos_pkg
name: '{{.BeatName}}-oss'
- os: linux
types: [tgz]
spec:
<<: *binary_spec
<<: *apache_license_for_binaries
name: '{{.BeatName}}-oss'
- os: linux
types: [deb, rpm]
spec:
<<: *deb_rpm_spec
<<: *apache_license_for_deb_rpm
name: '{{.BeatName}}-oss'
###
# Elastic Licensed Packages
###
- os: windows
types: [zip]
spec:
<<: *windows_binary_spec
<<: *elastic_license_for_binaries
'{{.BeatName}}{{.BinaryExt}}':
source: ../x-pack/{{.BeatName}}/build/golang-crossbuild/{{.BeatName}}-{{.GOOS}}-{{.Platform.Arch}}{{.BinaryExt}}
- os: darwin
types: [tgz]
spec:
<<: *binary_spec
<<: *elastic_license_for_binaries
files:
'{{.BeatName}}{{.BinaryExt}}':
source: ../x-pack/{{.BeatName}}/build/golang-crossbuild/{{.BeatName}}-{{.GOOS}}-{{.Platform.Arch}}{{.BinaryExt}}
- os: darwin
types: [dmg]
spec:
<<: *macos_beat_pkg_spec
<<: *elastic_license_for_macos_pkg
- os: linux
types: [tgz]
spec:
<<: *binary_spec
<<: *elastic_license_for_binaries
files:
'{{.BeatName}}{{.BinaryExt}}':
source: ../x-pack/{{.BeatName}}/build/golang-crossbuild/{{.BeatName}}-{{.GOOS}}-{{.Platform.Arch}}{{.BinaryExt}}
- os: linux
types: [deb, rpm]
spec:
<<: *deb_rpm_spec
<<: *elastic_license_for_deb_rpm
files:
/usr/share/{{.BeatName}}/bin/{{.BeatName}}{{.BinaryExt}}:
source: ../x-pack/{{.BeatName}}/build/golang-crossbuild/{{.BeatName}}-{{.GOOS}}-{{.Platform.Arch}}{{.BinaryExt}}