From 4e4def9df8e913abad688a29319ee727f56d19dc Mon Sep 17 00:00:00 2001 From: Dmytro Kozlov Date: Wed, 13 Jul 2022 15:42:48 +0300 Subject: [PATCH] Rename release packages (#2810) * makefile: add os to each release file * makefile: update vmutils arm64 * makefile: update victoria-metrics release process * makefile: update publish with os * makefile: update publish with os * makefile: change tar library * update release logic * copy all releases * sort command by GOOS * rollback commands * rollback OSARCH * fix commands * cleanup * fix windows build * sort build by GOOS, update README.md --- Makefile | 83 +++++++++++++++++++++++++++----------- app/vmagent/Makefile | 31 ++++++++------ app/vmagent/README.md | 4 +- app/vmalert/Makefile | 31 ++++++++------ app/vmalert/README.md | 4 +- app/vmauth/Makefile | 31 ++++++++------ app/vmbackup/Makefile | 30 ++++++++------ app/vmctl/Makefile | 31 ++++++++------ app/vmctl/README.md | 4 +- app/vminsert/Makefile | 43 +++++++++----------- app/vmrestore/Makefile | 30 ++++++++------ app/vmselect/Makefile | 43 +++++++++----------- app/vmstorage/Makefile | 43 +++++++++----------- deployment/docker/Makefile | 14 +++++++ docs/vmagent.md | 4 +- docs/vmalert.md | 4 +- docs/vmctl.md | 22 +++++----- 17 files changed, 267 insertions(+), 185 deletions(-) diff --git a/Makefile b/Makefile index 9ce315e026..ca23335f42 100644 --- a/Makefile +++ b/Makefile @@ -40,38 +40,38 @@ package: \ package-vmstorage publish-release: - git checkout $(TAG) && $(MAKE) release publish && \ - git checkout $(TAG)-cluster && $(MAKE) release publish && \ - git checkout $(TAG)-enterprise && $(MAKE) release publish && \ - git checkout $(TAG)-enterprise-cluster && $(MAKE) release publish + git checkout $(TAG) && $(MAKE) release copy-linux publish && \ + git checkout $(TAG)-cluster && $(MAKE) release copy-linux-cluster publish && \ + git checkout $(TAG)-enterprise && $(MAKE) release copy-linux-enterprise publish && \ + git checkout $(TAG)-enterprise-cluster && $(MAKE) release copy-linux-enterprise-cluster publish release: \ release-vmcluster release-vmcluster: \ - release-vmcluster-amd64 \ - release-vmcluster-arm64 + release-vmcluster-linux-amd64 \ + release-vmcluster-linux-arm64 -release-vmcluster-amd64: - GOARCH=amd64 $(MAKE) release-vmcluster-generic +release-vmcluster-linux-amd64: + GOOS=linux GOARCH=amd64 $(MAKE) release-vmcluster-goos-goarch -release-vmcluster-arm64: - GOARCH=arm64 $(MAKE) release-vmcluster-generic +release-vmcluster-linux-arm64: + GOOX=linux GOARCH=arm64 $(MAKE) release-vmcluster-goos-goarch -release-vmcluster-generic: \ - vminsert-$(GOARCH)-prod \ - vmselect-$(GOARCH)-prod \ - vmstorage-$(GOARCH)-prod +release-vmcluster-goos-goarch: \ + vminsert-$(GOOS)-$(GOARCH)-prod \ + vmselect-$(GOOS)-$(GOARCH)-prod \ + vmstorage-$(GOOS)-$(GOARCH)-prod cd bin && \ - tar --transform="flags=r;s|-$(GOARCH)||" -czf victoria-metrics-$(GOARCH)-$(PKG_TAG).tar.gz \ - vminsert-$(GOARCH)-prod \ - vmselect-$(GOARCH)-prod \ - vmstorage-$(GOARCH)-prod \ - && sha256sum victoria-metrics-$(GOARCH)-$(PKG_TAG).tar.gz \ - vminsert-$(GOARCH)-prod \ - vmselect-$(GOARCH)-prod \ - vmstorage-$(GOARCH)-prod \ - | sed s/-$(GOARCH)-prod/-prod/ > victoria-metrics-$(GOARCH)-$(PKG_TAG)_checksums.txt + tar --transform="flags=r;s|-$(GOOS)-$(GOARCH)||" -czf victoria-metrics-$(GOOS)-$(GOARCH)-$(PKG_TAG).tar.gz \ + vminsert-$(GOOS)-$(GOARCH)-prod \ + vmselect-$(GOOS)-$(GOARCH)-prod \ + vmstorage-$(GOOS)-$(GOARCH)-prod \ + && sha256sum victoria-metrics-$(GOOS)-$(GOARCH)-$(PKG_TAG).tar.gz \ + vminsert-$(GOOS)-$(GOARCH)-prod \ + vmselect-$(GOOS)-$(GOARCH)-prod \ + vmstorage-$(GOOS)-$(GOARCH)-prod \ + | sed s/-$(GOOS)-$(GOARCH)-prod/-prod/ > victoria-metrics-$(GOOS)-$(GOARCH)-$(PKG_TAG)_checksums.txt pprof-cpu: go tool pprof -trim_path=github.com/VictoriaMetrics/VictoriaMetrics@ $(PPROF_FILE) @@ -185,3 +185,40 @@ docs-sync: SRC=app/vmctl/README.md DST=docs/vmctl.md ORDER=8 $(MAKE) copy-docs SRC=app/vmgateway/README.md DST=docs/vmgateway.md ORDER=9 $(MAKE) copy-docs SRC=app/vmbackupmanager/README.md DST=docs/vmbackupmanager.md ORDER=10 $(MAKE) copy-docs + +# temporary operation to maintain compatibility +copy-linux: + cd bin && \ + cp victoria-metrics-linux-amd64-$(PKG_TAG).tar.gz victoria-metrics-amd64-$(PKG_TAG).tar.gz && \ + cp victoria-metrics-linux-arm-$(PKG_TAG).tar.gz victoria-metrics-arm-$(PKG_TAG).tar.gz && \ + cp victoria-metrics-linux-arm64-$(PKG_TAG).tar.gz victoria-metrics-arm64-$(PKG_TAG).tar.gz && \ + cp vmutils-linux-amd64-$(PKG_TAG).tar.gz vmutils-amd64-$(PKG_TAG).tar.gz && \ + cp vmutils-linux-arm-$(PKG_TAG).tar.gz vmutils-arm-$(PKG_TAG).tar.gz && \ + cp vmutils-linux-arm64-$(PKG_TAG).tar.gz vmutils-arm64-$(PKG_TAG).tar.gz + +copy-linux-cluster: + cd bin && \ + cp victoria-metrics-linux-amd64-$(PKG_TAG)-cluster.tar.gz victoria-metrics-amd64-$(PKG_TAG)-cluster.tar.gz && \ + cp victoria-metrics-linux-arm-$(PKG_TAG)-cluster.tar.gz victoria-metrics-arm-$(PKG_TAG)-cluster.tar.gz && \ + cp victoria-metrics-linux-arm64-$(PKG_TAG)-cluster.tar.gz victoria-metrics-arm64-$(PKG_TAG)-cluster.tar.gz + cp vmutils-linux-amd64-$(PKG_TAG)-cluster.tar.gz vmutils-amd64-$(PKG_TAG)-cluster.tar.gz && \ + cp vmutils-linux-arm-$(PKG_TAG)-cluster.tar.gz vmutils-arm-$(PKG_TAG)-cluster.tar.gz && \ + cp vmutils-linux-arm64-$(PKG_TAG)-cluster.tar.gz vmutils-arm64-$(PKG_TAG)-cluster.tar.gz + +copy-linux-enterprise: + cd bin && \ + cp victoria-metrics-linux-amd64-$(PKG_TAG)-enterprise.tar.gz victoria-metrics-amd64-$(PKG_TAG)-enterprise.tar.gz && \ + cp victoria-metrics-linux-arm-$(PKG_TAG)-enterprise.tar.gz victoria-metrics-arm-$(PKG_TAG)-enterprise.tar.gz && \ + cp victoria-metrics-linux-arm64-$(PKG_TAG)-enterprise.tar.gz victoria-metrics-arm64-$(PKG_TAG)-enterprise.tar.gz && \ + cp vmutils-linux-amd64-$(PKG_TAG)-enterprise.tar.gz vmutils-amd64-$(PKG_TAG)-enterprise.tar.gz && \ + cp vmutils-linux-arm-$(PKG_TAG)-enterprise.tar.gz vmutils-arm-$(PKG_TAG)-enterprise.tar.gz && \ + cp vmutils-linux-arm64-$(PKG_TAG)-enterprise.tar.gz vmutils-arm64-$(PKG_TAG)-enterprise.tar.gz + +copy-linux-enterprise-cluster: + cd bin && \ + cp victoria-metrics-linux-amd64-$(PKG_TAG)-enterprise-cluster.tar.gz victoria-metrics-amd64-$(PKG_TAG)-enterprise-cluster.tar.gz && \ + cp victoria-metrics-linux-arm-$(PKG_TAG)-enterprise-cluster.tar.gz victoria-metrics-arm-$(PKG_TAG)-enterprise-cluster.tar.gz && \ + cp victoria-metrics-linux-arm64-$(PKG_TAG)-enterprise-cluster.tar.gz victoria-metrics-arm64-$(PKG_TAG)-enterprise-cluster.tar.gz && \ + cp vmutils-linux-amd64-$(PKG_TAG)-enterprise-cluster.tar.gz vmutils-amd64-$(PKG_TAG)-enterprise-cluster.tar.gz && \ + cp vmutils-linux-arm-$(PKG_TAG)-enterprise-cluster.tar.gz vmutils-arm-$(PKG_TAG)-enterprise-cluster.tar.gz && \ + cp vmutils-linux-arm64-$(PKG_TAG)-enterprise-cluster.tar.gz vmutils-arm64-$(PKG_TAG)-enterprise-cluster.tar.gz diff --git a/app/vmagent/Makefile b/app/vmagent/Makefile index 55785189ee..8a7bd2f344 100644 --- a/app/vmagent/Makefile +++ b/app/vmagent/Makefile @@ -1,5 +1,6 @@ # All these commands must run from repository root. +# Application build vmagent: APP_NAME=vmagent $(MAKE) app-local @@ -12,30 +13,36 @@ vmagent-prod: vmagent-pure-prod: APP_NAME=vmagent $(MAKE) app-via-docker-pure -vmagent-amd64-prod: - APP_NAME=vmagent $(MAKE) app-via-docker-amd64 +# GOOS=linux +vmagent-linux-amd64-prod: + APP_NAME=vmagent $(MAKE) app-via-docker-linux-amd64 -vmagent-arm-prod: - APP_NAME=vmagent $(MAKE) app-via-docker-arm +vmagent-linux-arm64-prod: + APP_NAME=vmagent $(MAKE) app-via-docker-linux-arm64 -vmagent-arm64-prod: - APP_NAME=vmagent $(MAKE) app-via-docker-arm64 - -vmagent-ppc64le-prod: - APP_NAME=vmagent $(MAKE) app-via-docker-ppc64le - -vmagent-386-prod: - APP_NAME=vmagent $(MAKE) app-via-docker-386 +vmagent-linux-arm-prod: + APP_NAME=vmagent $(MAKE) app-via-docker-linux-arm +#GOOS=darwin vmagent-darwin-amd64-prod: APP_NAME=vmagent $(MAKE) app-via-docker-darwin-amd64 vmagent-darwin-arm64-prod: APP_NAME=vmagent $(MAKE) app-via-docker-darwin-arm64 +#GOOS=windows vmagent-windows-amd64-prod: APP_NAME=vmagent $(MAKE) app-via-docker-windows-amd64 +# GOARCH=ppc64le +vmagent-ppc64le-prod: + APP_NAME=vmagent $(MAKE) app-via-docker-ppc64le + +# GOARCH=386 +vmagent-386-prod: + APP_NAME=vmagent $(MAKE) app-via-docker-386 + +# Package build package-vmagent: APP_NAME=vmagent $(MAKE) package-via-docker diff --git a/app/vmagent/README.md b/app/vmagent/README.md index 50d63b29ee..fbbf67956b 100644 --- a/app/vmagent/README.md +++ b/app/vmagent/README.md @@ -823,8 +823,8 @@ ARM build may run on Raspberry Pi or on [energy-efficient ARM servers](https://b ### Production ARM build 1. [Install docker](https://docs.docker.com/install/). -2. Run `make vmagent-arm-prod` or `make vmagent-arm64-prod` from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics). - It builds `vmagent-arm-prod` or `vmagent-arm64-prod` binary respectively and puts it into the `bin` folder. +2. Run `make vmagent-linux-arm-prod` or `make vmagent-linux-arm64-prod` from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics). + It builds `vmagent-linux-arm-prod` or `vmagent-linux-arm64-prod` binary respectively and puts it into the `bin` folder. ## Profiling diff --git a/app/vmalert/Makefile b/app/vmalert/Makefile index e4ed5d128b..928a5dbe23 100644 --- a/app/vmalert/Makefile +++ b/app/vmalert/Makefile @@ -1,5 +1,6 @@ # All these commands must run from repository root. +# Application build vmalert: APP_NAME=vmalert $(MAKE) app-local @@ -12,30 +13,36 @@ vmalert-prod: vmalert-pure-prod: APP_NAME=vmalert $(MAKE) app-via-docker-pure -vmalert-amd64-prod: - APP_NAME=vmalert $(MAKE) app-via-docker-amd64 +# GOOS=linux +vmalert-linux-amd64-prod: + APP_NAME=vmalert $(MAKE) app-via-docker-linux-amd64 -vmalert-arm-prod: - APP_NAME=vmalert $(MAKE) app-via-docker-arm +vmalert-linux-arm64-prod: + APP_NAME=vmalert $(MAKE) app-via-docker-linux-arm64 -vmalert-arm64-prod: - APP_NAME=vmalert $(MAKE) app-via-docker-arm64 - -vmalert-ppc64le-prod: - APP_NAME=vmalert $(MAKE) app-via-docker-ppc64le - -vmalert-386-prod: - APP_NAME=vmalert $(MAKE) app-via-docker-386 +vmalert-linux-arm-prod: + APP_NAME=vmalert $(MAKE) app-via-docker-linux-arm +# GOOS=darwin vmalert-darwin-amd64-prod: APP_NAME=vmalert $(MAKE) app-via-docker-darwin-amd64 vmalert-darwin-arm64-prod: APP_NAME=vmalert $(MAKE) app-via-docker-darwin-arm64 +# GOOS=windows vmalert-windows-amd64-prod: APP_NAME=vmalert $(MAKE) app-via-docker-windows-amd64 +# GOARCH=ppc64le +vmalert-ppc64le-prod: + APP_NAME=vmalert $(MAKE) app-via-docker-ppc64le + +# GOARCH=386 +vmalert-386-prod: + APP_NAME=vmalert $(MAKE) app-via-docker-386 + +# Package build package-vmalert: APP_NAME=vmalert $(MAKE) package-via-docker diff --git a/app/vmalert/README.md b/app/vmalert/README.md index 56722c72d6..ac0b2e47b9 100644 --- a/app/vmalert/README.md +++ b/app/vmalert/README.md @@ -1114,5 +1114,5 @@ ARM build may run on Raspberry Pi or on [energy-efficient ARM servers](https://b ### Production ARM build 1. [Install docker](https://docs.docker.com/install/). -2. Run `make vmalert-arm-prod` or `make vmalert-arm64-prod` from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics). - It builds `vmalert-arm-prod` or `vmalert-arm64-prod` binary respectively and puts it into the `bin` folder. +2. Run `make vmalert-linux-arm-prod` or `make vmalert-linux-arm64-prod` from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics). + It builds `vmalert-linux-arm-prod` or `vmalert-linux-arm64-prod` binary respectively and puts it into the `bin` folder. diff --git a/app/vmauth/Makefile b/app/vmauth/Makefile index 93f4504fc1..dc4f72ea83 100644 --- a/app/vmauth/Makefile +++ b/app/vmauth/Makefile @@ -1,5 +1,6 @@ # All these commands must run from repository root. +# Application build vmauth: APP_NAME=vmauth $(MAKE) app-local @@ -12,30 +13,36 @@ vmauth-prod: vmauth-pure-prod: APP_NAME=vmauth $(MAKE) app-via-docker-pure -vmauth-amd64-prod: - APP_NAME=vmauth $(MAKE) app-via-docker-amd64 +# GOOS=linux +vmauth-linux-amd64-prod: + APP_NAME=vmauth $(MAKE) app-via-docker-linux-amd64 -vmauth-arm-prod: - APP_NAME=vmauth $(MAKE) app-via-docker-arm +vmauth-linux-arm64-prod: + APP_NAME=vmauth $(MAKE) app-via-docker-linux-arm64 -vmauth-arm64-prod: - APP_NAME=vmauth $(MAKE) app-via-docker-arm64 - -vmauth-ppc64le-prod: - APP_NAME=vmauth $(MAKE) app-via-docker-ppc64le - -vmauth-386-prod: - APP_NAME=vmauth $(MAKE) app-via-docker-386 +vmauth-linux-arm-prod: + APP_NAME=vmauth $(MAKE) app-via-docker-linux-arm +# GOOS=darwin vmauth-darwin-amd64-prod: APP_NAME=vmauth $(MAKE) app-via-docker-darwin-amd64 vmauth-darwin-arm64-prod: APP_NAME=vmauth $(MAKE) app-via-docker-darwin-arm64 +# GOOS=windows vmauth-windows-amd64-prod: APP_NAME=vmauth $(MAKE) app-via-docker-windows-amd64 +# GOARCH=ppc64le +vmauth-ppc64le-prod: + APP_NAME=vmauth $(MAKE) app-via-docker-ppc64le + +# GOARCH=386 +vmauth-386-prod: + APP_NAME=vmauth $(MAKE) app-via-docker-386 + +# Package build package-vmauth: APP_NAME=vmauth $(MAKE) package-via-docker diff --git a/app/vmbackup/Makefile b/app/vmbackup/Makefile index 4e72b0fada..6dca898c97 100644 --- a/app/vmbackup/Makefile +++ b/app/vmbackup/Makefile @@ -1,5 +1,6 @@ # All these commands must run from repository root. +# Application build vmbackup: APP_NAME=vmbackup $(MAKE) app-local @@ -12,27 +13,32 @@ vmbackup-prod: vmbackup-pure-prod: APP_NAME=vmbackup $(MAKE) app-via-docker-pure -vmbackup-amd64-prod: - APP_NAME=vmbackup $(MAKE) app-via-docker-amd64 +# GOOS=linux +vmbackup-linux-amd64-prod: + APP_NAME=vmbackup $(MAKE) app-via-docker-linux-amd64 -vmbackup-arm-prod: - APP_NAME=vmbackup $(MAKE) app-via-docker-arm +vmbackup-linux-arm64-prod: + APP_NAME=vmbackup $(MAKE) app-via-docker-linux-arm64 -vmbackup-arm64-prod: - APP_NAME=vmbackup $(MAKE) app-via-docker-arm64 - -vmbackup-ppc64le-prod: - APP_NAME=vmbackup $(MAKE) app-via-docker-ppc64le - -vmbackup-386-prod: - APP_NAME=vmbackup $(MAKE) app-via-docker-386 +vmbackup-linux-arm-prod: + APP_NAME=vmbackup $(MAKE) app-via-docker-linux-arm +# GOOS=darwin vmbackup-darwin-amd64-prod: APP_NAME=vmbackup $(MAKE) app-via-docker-darwin-amd64 vmbackup-darwin-arm64-prod: APP_NAME=vmbackup $(MAKE) app-via-docker-darwin-arm64 +# GOARCH=ppc64le +vmbackup-ppc64le-prod: + APP_NAME=vmbackup $(MAKE) app-via-docker-ppc64le + +# GOARCH=386 +vmbackup-386-prod: + APP_NAME=vmbackup $(MAKE) app-via-docker-386 + +# Package build package-vmbackup: APP_NAME=vmbackup $(MAKE) package-via-docker diff --git a/app/vmctl/Makefile b/app/vmctl/Makefile index d9c604fd60..33475df24c 100644 --- a/app/vmctl/Makefile +++ b/app/vmctl/Makefile @@ -1,5 +1,6 @@ # All these commands must run from repository root. +# Application build vmctl: APP_NAME=vmctl $(MAKE) app-local @@ -12,30 +13,36 @@ vmctl-prod: vmctl-pure-prod: APP_NAME=vmctl $(MAKE) app-via-docker-pure -vmctl-amd64-prod: - APP_NAME=vmctl $(MAKE) app-via-docker-amd64 +# GOOS=linux +vmctl-linux-amd64-prod: + APP_NAME=vmctl $(MAKE) app-via-docker-linux-amd64 -vmctl-arm-prod: - APP_NAME=vmctl $(MAKE) app-via-docker-arm +vmctl-linux-arm64-prod: + APP_NAME=vmctl $(MAKE) app-via-docker-linux-arm64 -vmctl-arm64-prod: - APP_NAME=vmctl $(MAKE) app-via-docker-arm64 - -vmctl-ppc64le-prod: - APP_NAME=vmctl $(MAKE) app-via-docker-ppc64le - -vmctl-386-prod: - APP_NAME=vmctl $(MAKE) app-via-docker-386 +vmctl-linux-arm-prod: + APP_NAME=vmctl $(MAKE) app-via-docker-linux-arm +# GOOS=darwin vmctl-darwin-amd64-prod: APP_NAME=vmctl $(MAKE) app-via-docker-darwin-amd64 vmctl-darwin-arm64-prod: APP_NAME=vmctl $(MAKE) app-via-docker-darwin-arm64 +# GOOS=window vmctl-windows-amd64-prod: APP_NAME=vmctl $(MAKE) app-via-docker-windows-amd64 +# GOARCH=ppc64le +vmctl-ppc64le-prod: + APP_NAME=vmctl $(MAKE) app-via-docker-ppc64le + +# GOARCH=386 +vmctl-386-prod: + APP_NAME=vmctl $(MAKE) app-via-docker-386 + +# Package build package-vmctl: APP_NAME=vmctl $(MAKE) package-via-docker diff --git a/app/vmctl/README.md b/app/vmctl/README.md index 8488f0cc1a..63ea083ee0 100644 --- a/app/vmctl/README.md +++ b/app/vmctl/README.md @@ -667,5 +667,5 @@ ARM build may run on Raspberry Pi or on [energy-efficient ARM servers](https://b #### Production ARM build 1. [Install docker](https://docs.docker.com/install/). -2. Run `make vmctl-arm-prod` or `make vmctl-arm64-prod` from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics). - It builds `vmctl-arm-prod` or `vmctl-arm64-prod` binary respectively and puts it into the `bin` folder. +2. Run `make vmctl-linux-arm-prod` or `make vmctl-linux-arm64-prod` from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics). + It builds `vmctl-linux-arm-prod` or `vmctl-linux-arm64-prod` binary respectively and puts it into the `bin` folder. diff --git a/app/vminsert/Makefile b/app/vminsert/Makefile index 55107932cd..8e6f514589 100644 --- a/app/vminsert/Makefile +++ b/app/vminsert/Makefile @@ -15,20 +15,20 @@ vminsert-prod: vminsert-pure-prod: APP_NAME=vminsert $(MAKE) app-via-docker-pure -vminsert-amd64-prod: - APP_NAME=vminsert $(MAKE) app-via-docker-amd64 +vminsert-linux-amd64-prod: + APP_NAME=vminsert $(MAKE) app-via-docker-linux-amd64 -vminsert-arm-prod: - APP_NAME=vminsert $(MAKE) app-via-docker-arm +vminsert-linux-arm-prod: + APP_NAME=vminsert $(MAKE) app-via-docker-linux-arm -vminsert-arm64-prod: - APP_NAME=vminsert $(MAKE) app-via-docker-arm64 +vminsert-linux-arm64-prod: + APP_NAME=vminsert $(MAKE) app-via-docker-linux-arm64 -vminsert-ppc64le-prod: - APP_NAME=vminsert $(MAKE) app-via-docker-ppc64le +vminsert-linux-ppc64le-prod: + APP_NAME=vminsert $(MAKE) app-via-docker-linux-ppc64le -vminsert-386-prod: - APP_NAME=vminsert $(MAKE) app-via-docker-386 +vminsert-linux-386-prod: + APP_NAME=vminsert $(MAKE) app-via-docker-linux-386 vminsert-prod-race: APP_NAME=vminsert RACE=-race $(MAKE) app-via-docker @@ -45,23 +45,20 @@ publish-vminsert: publish-vminsert-race: APP_NAME=vminsert RACE=-race $(MAKE) publish-via-docker -vminsert-amd64: - CGO_ENABLED=1 GOARCH=amd64 $(MAKE) vminsert-local-with-goarch +vminsert-linux-amd64: + APP_NAME=vminsert CGO_ENABLED=1 GOOS=linux GOARCH=amd64 $(MAKE) app-local-goos-goarch -vminsert-arm: - CGO_ENABLED=0 GOARCH=arm $(MAKE) vminsert-local-with-goarch +vminsert-linux-arm: + APP_NAME=vminsert CGO_ENABLED=0 GOOS=linux GOARCH=arm $(MAKE) app-local-goos-goarch -vminsert-arm64: - CGO_ENABLED=0 GOARCH=arm64 $(MAKE) vminsert-local-with-goarch +vminsert-linux-arm64: + APP_NAME=vminsert CGO_ENABLED=0 GOOS=linux GOARCH=arm64 $(MAKE) app-local-goos-goarch -vminsert-ppc64le: - CGO_ENABLED=0 GOARCH=ppc64le $(MAKE) vminsert-local-with-goarch +vminsert-linux-ppc64le: + APP_NAME=vminsert CGO_ENABLED=0 GOOS=linux GOARCH=ppc64le $(MAKE) app-local-goos-goarch -vminsert-386: - CGO_ENABLED=0 GOARCH=386 $(MAKE) vminsert-local-with-goarch - -vminsert-local-with-goarch: - APP_NAME=vminsert $(MAKE) app-local-with-goarch +vminsert-linux-386: + APP_NAME=vminsert CGO_ENABLED=0 GOOS=linux GOARCH=386 $(MAKE) app-local-goos-goarch vminsert-pure: APP_NAME=vminsert $(MAKE) app-local-pure diff --git a/app/vmrestore/Makefile b/app/vmrestore/Makefile index 48e5c92813..e6f6f424a5 100644 --- a/app/vmrestore/Makefile +++ b/app/vmrestore/Makefile @@ -1,5 +1,6 @@ # All these commands must run from repository root. +# Application build vmrestore: APP_NAME=vmrestore $(MAKE) app-local @@ -12,27 +13,32 @@ vmrestore-prod: vmrestore-pure-prod: APP_NAME=vmrestore $(MAKE) app-via-docker-pure -vmrestore-amd64-prod: - APP_NAME=vmrestore $(MAKE) app-via-docker-amd64 +# GOOS=linux +vmrestore-linux-amd64-prod: + APP_NAME=vmrestore $(MAKE) app-via-docker-linux-amd64 -vmrestore-arm-prod: - APP_NAME=vmrestore $(MAKE) app-via-docker-arm +vmrestore-linux-arm64-prod: + APP_NAME=vmrestore $(MAKE) app-via-docker-linux-arm64 -vmrestore-arm64-prod: - APP_NAME=vmrestore $(MAKE) app-via-docker-arm64 - -vmrestore-ppc64le-prod: - APP_NAME=vmrestore $(MAKE) app-via-docker-ppc64le - -vmrestore-386-prod: - APP_NAME=vmrestore $(MAKE) app-via-docker-386 +vmrestore-linux-arm-prod: + APP_NAME=vmrestore $(MAKE) app-via-docker-linux-arm +# GOOS=darwin vmrestore-darwin-amd64-prod: APP_NAME=vmrestore $(MAKE) app-via-docker-darwin-amd64 vmrestore-darwin-arm64-prod: APP_NAME=vmrestore $(MAKE) app-via-docker-darwin-arm64 +# GOARCH=ppc64le +vmrestore-ppc64le-prod: + APP_NAME=vmrestore $(MAKE) app-via-docker-ppc64le + +# GOARCH=386 +vmrestore-386-prod: + APP_NAME=vmrestore $(MAKE) app-via-docker-386 + +# Package build package-vmrestore: APP_NAME=vmrestore $(MAKE) package-via-docker diff --git a/app/vmselect/Makefile b/app/vmselect/Makefile index e8ae99f55b..64d875a29c 100644 --- a/app/vmselect/Makefile +++ b/app/vmselect/Makefile @@ -19,20 +19,20 @@ vmselect-prod: vmselect-pure-prod: APP_NAME=vmselect $(MAKE) app-via-docker-pure -vmselect-amd64-prod: - APP_NAME=vmselect $(MAKE) app-via-docker-amd64 +vmselect-linux-amd64-prod: + APP_NAME=vmselect $(MAKE) app-via-docker-linux-amd64 -vmselect-arm-prod: - APP_NAME=vmselect $(MAKE) app-via-docker-arm +vmselect-linux-arm-prod: + APP_NAME=vmselect $(MAKE) app-via-docker-linux-arm -vmselect-arm64-prod: - APP_NAME=vmselect $(MAKE) app-via-docker-arm64 +vmselect-linux-arm64-prod: + APP_NAME=vmselect $(MAKE) app-via-docker-linux-arm64 -vmselect-ppc64le-prod: - APP_NAME=vmselect $(MAKE) app-via-docker-ppc64le +vmselect-linux-ppc64le-prod: + APP_NAME=vmselect $(MAKE) app-via-docker-linux-ppc64le -vmselect-386-prod: - APP_NAME=vmselect $(MAKE) app-via-docker-386 +vmselect-linux-386-prod: + APP_NAME=vmselect $(MAKE) app-via-docker-linux-386 vmselect-prod-race: APP_NAME=vmselect RACE=-race $(MAKE) app-via-docker @@ -49,23 +49,20 @@ publish-vmselect: publish-vmselect-race: APP_NAME=vmselect RACE=-race $(MAKE) publish-via-docker -vmselect-amd64: - CGO_ENABLED=1 GOARCH=amd64 $(MAKE) vmselect-local-with-goarch +vmselect-linux-amd64: + APP_NAME=vmselect CGO_ENABLED=1 GOOS=linux GOARCH=amd64 $(MAKE) app-local-goos-goarch -vmselect-arm: - CGO_ENABLED=0 GOARCH=arm $(MAKE) vmselect-local-with-goarch +vmselect-linux-arm: + APP_NAME=vmselect CGO_ENABLED=0 GOOS=linux GOARCH=arm $(MAKE) app-local-goos-goarch -vmselect-arm64: - CGO_ENABLED=0 GOARCH=arm64 $(MAKE) vmselect-local-with-goarch +vmselect-linux-arm64: + APP_NAME=vmselect CGO_ENABLED=0 GOOS=linux GOARCH=arm64 $(MAKE) app-local-goos-goarch -vmselect-ppc64le: - CGO_ENABLED=0 GOARCH=ppc64le $(MAKE) vmselect-local-with-goarch +vmselect-linux-ppc64le: + APP_NAME=vmselect CGO_ENABLED=0 GOOS=linux GOARCH=ppc64le $(MAKE) app-local-goos-goarch -vmselect-386: - CGO_ENABLED=0 GOARCH=386 $(MAKE) vmselect-local-with-goarch - -vmselect-local-with-goarch: - APP_NAME=vmselect $(MAKE) app-local-with-goarch +vmselect-linux-386: + APP_NAME=vmselect CGO_ENABLED=0 GOOS=linux GOARCH=386 $(MAKE) app-local-goos-goarch vmselect-pure: APP_NAME=vmselect $(MAKE) app-local-pure diff --git a/app/vmstorage/Makefile b/app/vmstorage/Makefile index ad0635ed03..0992b594b9 100644 --- a/app/vmstorage/Makefile +++ b/app/vmstorage/Makefile @@ -19,20 +19,20 @@ vmstorage-prod: vmstorage-pure-prod: APP_NAME=vmstorage $(MAKE) app-via-docker-pure -vmstorage-amd64-prod: - APP_NAME=vmstorage $(MAKE) app-via-docker-amd64 +vmstorage-linux-amd64-prod: + APP_NAME=vmstorage $(MAKE) app-via-docker-linux-amd64 -vmstorage-arm-prod: - APP_NAME=vmstorage $(MAKE) app-via-docker-arm +vmstorage-linux-arm-prod: + APP_NAME=vmstorage $(MAKE) app-via-docker-linux-arm -vmstorage-arm64-prod: - APP_NAME=vmstorage $(MAKE) app-via-docker-arm64 +vmstorage-linux-arm64-prod: + APP_NAME=vmstorage $(MAKE) app-via-docker-linux-arm64 -vmstorage-ppc64le-prod: - APP_NAME=vmstorage $(MAKE) app-via-docker-ppc64le +vmstorage-linux-ppc64le-prod: + APP_NAME=vmstorage $(MAKE) app-via-docker-linux-ppc64le -vmstorage-386-prod: - APP_NAME=vmstorage $(MAKE) app-via-docker-386 +vmstorage-linux-386-prod: + APP_NAME=vmstorage $(MAKE) app-via-docker-linux-386 vmstorage-prod-race: APP_NAME=vmstorage RACE=-race $(MAKE) app-via-docker @@ -49,23 +49,20 @@ publish-vmstorage: publish-vmstorage-race: APP_NAME=vmstorage RACE=-race $(MAKE) publish-via-docker -vmstorage-amd64: - CGO_ENABLED=1 GOARCH=amd64 $(MAKE) vmstorage-local-with-goarch +vmstorage-linux-amd64: + APP_NAME=vmstorage CGO_ENABLED=1 GOOS=linux GOARCH=amd64 $(MAKE) app-local-goos-goarch -vmstorage-arm: - CGO_ENABLED=0 GOARCH=arm $(MAKE) vmstorage-local-with-goarch +vmstorage-linux-arm: + APP_NAME=vmstorage CGO_ENABLED=0 GOOS=linux GOARCH=arm $(MAKE) app-local-goos-goarch -vmstorage-arm64: - CGO_ENABLED=0 GOARCH=arm64 $(MAKE) vmstorage-local-with-goarch +vmstorage-linux-arm64: + APP_NAME=vmstorage CGO_ENABLED=0 GOOS=linux GOARCH=arm64 $(MAKE) app-local-goos-goarch -vmstorage-ppc64le: - CGO_ENABLED=0 GOARCH=ppc64le $(MAKE) vmstorage-local-with-goarch +vmstorage-linux-ppc64le: + APP_NAME=vmstorage CGO_ENABLED=0 GOOS=linux GOARCH=ppc64le $(MAKE) app-local-goos-goarch -vmstorage-386: - CGO_ENABLED=0 GOARCH=386 $(MAKE) vmstorage-local-with-goarch - -vmstorage-local-with-goarch: - APP_NAME=vmstorage $(MAKE) app-local-with-goarch +vmstorage-linux-386: + APP_NAME=vmstorage CGO_ENABLED=0 GOOS=linux GOARCH=386 $(MAKE) app-local-goos-goarch vmstorage-pure: APP_NAME=vmstorage $(MAKE) app-local-pure diff --git a/deployment/docker/Makefile b/deployment/docker/Makefile index 6d4648ea3f..a154e87ee3 100644 --- a/deployment/docker/Makefile +++ b/deployment/docker/Makefile @@ -66,8 +66,13 @@ package-via-docker: package-base publish-via-docker: \ app-via-docker-amd64 \ + app-via-docker-linux-amd64 \ + app-via-docker-darwin-amd64 \ app-via-docker-arm \ + app-via-docker-linux-arm \ app-via-docker-arm64 \ + app-via-docker-linux-arm64 \ + app-via-docker-darwin-arm64 \ app-via-docker-ppc64le \ app-via-docker-386 docker buildx build \ @@ -100,6 +105,15 @@ app-via-docker-darwin-amd64: app-via-docker-darwin-arm64: CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 $(MAKE) app-via-docker-goos-goarch +app-via-docker-linux-amd64: + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 $(MAKE) app-via-docker-goos-goarch + +app-via-docker-linux-arm64: + CGO_ENABLED=0 GOOS=linux GOARCH=arm64 $(MAKE) app-via-docker-goos-goarch + +app-via-docker-linux-arm: + CGO_ENABLED=0 GOOS=linux GOARCH=arm $(MAKE) app-via-docker-goos-goarch + app-via-docker-goos-goarch: APP_SUFFIX='-$(GOOS)-$(GOARCH)' \ DOCKER_OPTS='--env CGO_ENABLED=$(CGO_ENABLED) --env GOOS=$(GOOS) --env GOARCH=$(GOARCH)' \ diff --git a/docs/vmagent.md b/docs/vmagent.md index ad73d42d85..2c21f76c5e 100644 --- a/docs/vmagent.md +++ b/docs/vmagent.md @@ -827,8 +827,8 @@ ARM build may run on Raspberry Pi or on [energy-efficient ARM servers](https://b ### Production ARM build 1. [Install docker](https://docs.docker.com/install/). -2. Run `make vmagent-arm-prod` or `make vmagent-arm64-prod` from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics). - It builds `vmagent-arm-prod` or `vmagent-arm64-prod` binary respectively and puts it into the `bin` folder. +2. Run `make vmagent-linux-arm-prod` or `make vmagent-linux-arm64-prod` from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics). + It builds `vmagent-linux-arm-prod` or `vmagent-linux-arm64-prod` binary respectively and puts it into the `bin` folder. ## Profiling diff --git a/docs/vmalert.md b/docs/vmalert.md index 0da33a649c..1f0c33c2dc 100644 --- a/docs/vmalert.md +++ b/docs/vmalert.md @@ -1118,5 +1118,5 @@ ARM build may run on Raspberry Pi or on [energy-efficient ARM servers](https://b ### Production ARM build 1. [Install docker](https://docs.docker.com/install/). -2. Run `make vmalert-arm-prod` or `make vmalert-arm64-prod` from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics). - It builds `vmalert-arm-prod` or `vmalert-arm64-prod` binary respectively and puts it into the `bin` folder. +2. Run `make vmalert-linux-arm-prod` or `make vmalert-arm64-prod` from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics). + It builds `vmalert-linux-arm-prod` or `vmalert-arm64-prod` binary respectively and puts it into the `bin` folder. diff --git a/docs/vmctl.md b/docs/vmctl.md index 0960bcb3fb..42f645dc1e 100644 --- a/docs/vmctl.md +++ b/docs/vmctl.md @@ -20,7 +20,7 @@ To see the full list of supported modes run the following command: ```console -$ ./vmctl --help +$ ./vmctl --help NAME: vmctl - VictoriaMetrics command-line tool @@ -44,9 +44,9 @@ OPTIONS: --influx-addr value InfluxDB server addr (default: "http://localhost:8086") --influx-user value InfluxDB user [$INFLUX_USERNAME] ... - --vm-addr vmctl VictoriaMetrics address to perform import requests. -Should be the same as --httpListenAddr value for single-node version or vminsert component. -When importing into the clustered version do not forget to set additionally --vm-account-id flag. + --vm-addr vmctl VictoriaMetrics address to perform import requests. +Should be the same as --httpListenAddr value for single-node version or vminsert component. +When importing into the clustered version do not forget to set additionally --vm-account-id flag. Please note, that vmctl performs initial readiness check for the given address by checking `/health` endpoint. (default: "http://localhost:8428") --vm-user value VictoriaMetrics username for basic auth [$VM_USERNAME] --vm-password value VictoriaMetrics password for basic auth [$VM_PASSWORD] @@ -111,7 +111,7 @@ $ ./vmctl opentsdb --otsdb-addr http://opentsdb:4242/ --otsdb-retentions sum-1m- OpenTSDB import mode 2021/04/09 11:52:50 Will collect data starting at TS 1617990770 2021/04/09 11:52:50 Loading all metrics from OpenTSDB for filters: [system] -Found 9 metrics to import. Continue? [Y/n] +Found 9 metrics to import. Continue? [Y/n] 2021/04/09 11:52:51 Starting work on system.load1 23 / 402200 [>____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________] 0.01% 2 p/s ``` @@ -284,7 +284,7 @@ InfluxDB import mode 2020/01/26 14:23:29 fetching fields: command: "show field keys"; database: "benchmark"; retention: "autogen" 2020/01/26 14:23:29 found 12 fields 2020/01/26 14:23:29 fetching series: command: "show series on benchmark from cpu where hostname='host_1703'"; database: "benchmark"; retention: "autogen" -Found 10 timeseries to import. Continue? [Y/n] +Found 10 timeseries to import. Continue? [Y/n] ``` The timeseries select query would be following: @@ -503,10 +503,10 @@ processed and can't show the progress bar. It will show the current processing s --vm-native-filter-match='{job="vmagent"}' \ --vm-native-filter-time-start='2020-01-01T20:07:00Z' VictoriaMetrics Native import mode -Initing export pipe from "http://localhost:8528" with filters: +Initing export pipe from "http://localhost:8528" with filters: filter: match[]={job="vmagent"} Initing import process to "http://localhost:8428": -Total: 336.75 KiB ↖ Speed: 454.46 KiB p/s +Total: 336.75 KiB ↖ Speed: 454.46 KiB p/s 2020/10/13 17:04:59 Total time: 952.143376ms ``` @@ -528,7 +528,7 @@ and specify `accountID` param. ## Verifying exported blocks from VictoriaMetrics -In this mode, `vmctl` allows verifying correctness and integrity of data exported via [native format](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-export-data-in-native-format) from VictoriaMetrics. +In this mode, `vmctl` allows verifying correctness and integrity of data exported via [native format](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-export-data-in-native-format) from VictoriaMetrics. You can verify exported data at disk before uploading it by `vmctl verify-block` command: ```console @@ -671,5 +671,5 @@ ARM build may run on Raspberry Pi or on [energy-efficient ARM servers](https://b #### Production ARM build 1. [Install docker](https://docs.docker.com/install/). -2. Run `make vmctl-arm-prod` or `make vmctl-arm64-prod` from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics). - It builds `vmctl-arm-prod` or `vmctl-arm64-prod` binary respectively and puts it into the `bin` folder. +2. Run `make vmctl-linux-arm-prod` or `make vmctl-linux-arm64-prod` from the root folder of [the repository](https://github.com/VictoriaMetrics/VictoriaMetrics). + It builds `vmctl-linux-arm-prod` or `vmctl-linux-arm64-prod` binary respectively and puts it into the `bin` folder.