TIDB_OPERATOR_VERSION ?= v1.3.0
TIDB_MONITOR_RELOADER_VERSION ?= v1.0.1

all: tidb-operator tidb-backup-manager tidb-monitor-reloader

tidb-operator-tag:
	docker pull --platform linux/amd64 pingcap/tidb-operator:$(TIDB_OPERATOR_VERSION)
	docker pull --platform linux/arm64 pingcap/tidb-operator-arm64:$(TIDB_OPERATOR_VERSION)
	docker tag pingcap/tidb-operator:$(TIDB_OPERATOR_VERSION) 			hub.pingcap.net/qa/tidb-operator-amd64:$(TIDB_OPERATOR_VERSION)
	docker tag pingcap/tidb-operator-arm64:$(TIDB_OPERATOR_VERSION) 	hub.pingcap.net/qa/tidb-operator-arm64:$(TIDB_OPERATOR_VERSION)
	docker push hub.pingcap.net/qa/tidb-operator-amd64:$(TIDB_OPERATOR_VERSION)
	docker push hub.pingcap.net/qa/tidb-operator-arm64:$(TIDB_OPERATOR_VERSION)


tidb-backup-manager-tag:
	docker pull --platform linux/amd64 pingcap/tidb-backup-manager:$(TIDB_OPERATOR_VERSION)
	docker pull --platform linux/arm64 pingcap/tidb-backup-manager-arm64:$(TIDB_OPERATOR_VERSION)
	docker tag pingcap/tidb-backup-manager:$(TIDB_OPERATOR_VERSION) 		hub.pingcap.net/qa/tidb-backup-manager-amd64:$(TIDB_OPERATOR_VERSION)
	docker tag pingcap/tidb-backup-manager-arm64:$(TIDB_OPERATOR_VERSION) 	hub.pingcap.net/qa/tidb-backup-manager-arm64:$(TIDB_OPERATOR_VERSION)
	docker push hub.pingcap.net/qa/tidb-backup-manager-amd64:$(TIDB_OPERATOR_VERSION)
	docker push hub.pingcap.net/qa/tidb-backup-manager-arm64:$(TIDB_OPERATOR_VERSION)


tidb-operator: tidb-operator-tag
	docker manifest rm hub.pingcap.net/qa/tidb-operator:$(TIDB_OPERATOR_VERSION) || true; \
	docker manifest create hub.pingcap.net/qa/tidb-operator:$(TIDB_OPERATOR_VERSION) --amend hub.pingcap.net/qa/tidb-operator-amd64:$(TIDB_OPERATOR_VERSION) --amend hub.pingcap.net/qa/tidb-operator-arm64:$(TIDB_OPERATOR_VERSION); \
    docker manifest push hub.pingcap.net/qa/tidb-operator:$(TIDB_OPERATOR_VERSION)

tidb-backup-manager: tidb-backup-manager-tag
	docker manifest rm hub.pingcap.net/qa/tidb-backup-manager:$(TIDB_OPERATOR_VERSION) || true; \
	docker manifest create hub.pingcap.net/qa/tidb-backup-manager:$(TIDB_OPERATOR_VERSION) --amend hub.pingcap.net/qa/tidb-backup-manager-amd64:$(TIDB_OPERATOR_VERSION) --amend hub.pingcap.net/qa/tidb-backup-manager-arm64:$(TIDB_OPERATOR_VERSION); \
    docker manifest push hub.pingcap.net/qa/tidb-backup-manager:$(TIDB_OPERATOR_VERSION)

tidb-monitor-reloader-tag:
	docker pull --platform linux/amd64 pingcap/tidb-monitor-reloader:$(TIDB_MONITOR_RELOADER_VERSION)
	docker pull --platform linux/arm64 pingcap/tidb-monitor-reloader-arm64:$(TIDB_MONITOR_RELOADER_VERSION)
	docker tag pingcap/tidb-monitor-reloader:$(TIDB_MONITOR_RELOADER_VERSION) 			hub.pingcap.net/qa/tidb-monitor-reloader-amd64:$(TIDB_MONITOR_RELOADER_VERSION)
	docker tag pingcap/tidb-monitor-reloader-arm64:$(TIDB_MONITOR_RELOADER_VERSION) 	hub.pingcap.net/qa/tidb-monitor-reloader-arm64:$(TIDB_MONITOR_RELOADER_VERSION)
	docker push hub.pingcap.net/qa/tidb-monitor-reloader-amd64:$(TIDB_MONITOR_RELOADER_VERSION)
	docker push hub.pingcap.net/qa/tidb-monitor-reloader-arm64:$(TIDB_MONITOR_RELOADER_VERSION)

tidb-monitor-reloader: tidb-monitor-reloader-tag
	docker manifest rm hub.pingcap.net/qa/tidb-monitor-reloader:$(TIDB_MONITOR_RELOADER_VERSION) || true; \
	docker manifest create hub.pingcap.net/qa/tidb-monitor-reloader:$(TIDB_MONITOR_RELOADER_VERSION) --amend hub.pingcap.net/qa/tidb-monitor-reloader-amd64:$(TIDB_MONITOR_RELOADER_VERSION) --amend hub.pingcap.net/qa/tidb-monitor-reloader-arm64:$(TIDB_MONITOR_RELOADER_VERSION); \
	docker manifest push hub.pingcap.net/qa/tidb-monitor-reloader:$(TIDB_MONITOR_RELOADER_VERSION)

