.PHONY: help

help:
	@grep -E -e '^[a-zA-Z0-9%_-]+:.*?## .*$$' -e '^###' $(MAKEFILE_LIST) \
		| awk '\
			BEGIN {FS = ":.*?## "} \
			/:.*?##/ {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2} \
			/###/ {printf "\033[35m%-30s\033[0m\n", $$0} \
			'

load-secret:
	chmod 600 /root/.pgpass
	./load_secret_from_db.py \
		--org-id "$(ORG_ID)" \
		--source "$(SOURCE_DRIVE)" \
		--path data/.$(SOURCE_DRIVE)_secret.json

list-users:
	./list_users.py \
		--org-id "$(ORG_ID)" \
		--service-account "$(LISTING_ACCOUNT_EMAIL)" \
		--domain "$(ORG_DOMAIN)" \
		--source "$(SOURCE_DRIVE)" \
		> /volume/all_users

list:
	cat /volume/all_users | \
		xargs -n 1 -P 160 -I{} \
			bash -c './list_user_data.py \
				--org-id "$(ORG_ID)" \
				--domain "$(ORG_DOMAIN)" \
				--user {} \
				--source "$(SOURCE_DRIVE)" \
				 > /volume/listing_{}.json; echo "{} done"'

report:
	find /volume -size +0 -name 'listing_*.json' | \
		xargs -n 1 -P 20 -I {} \
			bash -c './report.py \
				--org-id "$(ORG_ID)" \
				--domain "$(ORG_DOMAIN)" \
				--org-data {} \
				--source "$(SOURCE_DRIVE)" \
					> {}.report'

report-with-filter:
	rm -f /volume/listing_*.json.report
	find /volume -size +0 -name 'listing_*.json' | grep -f /volume/filter | \
		xargs -n 1 -P 20 -I {} \
			bash -c './report.py \
				--org-id "$(ORG_ID)" \
				--domain "$(ORG_DOMAIN)" \
				--org-data {} \
				--source "$(SOURCE_DRIVE)" \
					> {}.report'

plan:
	\ls -1 /volume/listing_*.json.report | ./merge_listings.py > /volume/import.json

plan-info:
	cat /volume/import.json | ./report_stats.py  | sort -h -k3,3

me-happy: load-secret list-users list report plan plan-info
	@@

link:
	ln -s /volume/import.json /volume/active_task.json

sync-stats:
	@cat /porto_log_files/workload-*-*_stdout.portolog | fgrep -e 'file synced' -e "file error" |  ./parse_log.py
