Makefile 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. all: gen
  2. .PHONY : gen
  3. gen: dev
  4. cgo ?= 0
  5. binary:
  6. export SWCOMMIT=$(shell git rev-parse --short HEAD)
  7. export SWLDFLAGS="-X github.com/seaweedfs/seaweedfs/weed/util/version.COMMIT=$(SWCOMMIT)"
  8. cd ../weed && CGO_ENABLED=$(cgo) GOOS=linux go build $(options) -tags "$(tags)" -ldflags "-s -w -extldflags -static $(SWLDFLAGS)" -o weed_binary && mv weed_binary ../docker/weed
  9. cd ../other/mq_client_example/agent_pub_record && CGO_ENABLED=$(cgo) GOOS=linux go build && mv agent_pub_record ../../../docker/
  10. cd ../other/mq_client_example/agent_sub_record && CGO_ENABLED=$(cgo) GOOS=linux go build && mv agent_sub_record ../../../docker/
  11. binary_race: options = -race
  12. binary_race: cgo = 1
  13. binary_race: binary
  14. build: binary
  15. docker build --no-cache -t chrislusf/seaweedfs:local -f Dockerfile.local .
  16. build_e2e: binary_race
  17. docker buildx build \
  18. --cache-from=type=local,src=/tmp/.buildx-cache \
  19. --cache-to=type=local,dest=/tmp/.buildx-cache-new,mode=max \
  20. --load \
  21. -t chrislusf/seaweedfs:e2e \
  22. -f Dockerfile.e2e .
  23. # Move cache to avoid growing cache size
  24. rm -rf /tmp/.buildx-cache || true
  25. mv /tmp/.buildx-cache-new /tmp/.buildx-cache || true
  26. go_build: # make go_build tags=elastic,ydb,gocdk,hdfs,5BytesOffset,tarantool
  27. docker build --build-arg TAGS=$(tags) --no-cache -t chrislusf/seaweedfs:go_build -f Dockerfile.go_build .
  28. go_build_large_disk:
  29. docker build --build-arg TAGS=large_disk --no-cache -t chrislusf/seaweedfs:large_disk -f Dockerfile.go_build .
  30. build_rocksdb_dev_env:
  31. docker build --no-cache -t chrislusf/rocksdb_dev_env -f Dockerfile.rocksdb_dev_env .
  32. build_rocksdb_local: build_rocksdb_dev_env
  33. cd .. ; docker build --no-cache -t chrislusf/seaweedfs:rocksdb_local -f docker/Dockerfile.rocksdb_large_local .
  34. build_rocksdb:
  35. docker build --no-cache -t chrislusf/seaweedfs:rocksdb -f Dockerfile.rocksdb_large .
  36. build_tarantool_dev_env:
  37. docker build --no-cache -t chrislusf/tarantool_dev_env -f Dockerfile.tarantool.dev_env .
  38. s3tests_build:
  39. docker build --no-cache -t chrislusf/ceph-s3-tests:local -f Dockerfile.s3tests .
  40. dev: build
  41. docker compose -f compose/local-dev-compose.yml -p seaweedfs up
  42. dev_race: binary_race
  43. docker compose -f compose/local-dev-compose.yml -p seaweedfs up
  44. dev_tls: build certstrap
  45. ENV_FILE="tls.env" docker compose -f compose/local-dev-compose.yml -p seaweedfs up
  46. dev_mount: build
  47. docker compose -f compose/local-mount-compose.yml -p seaweedfs up
  48. run_image: build
  49. docker run --rm -ti --device /dev/fuse --cap-add SYS_ADMIN --entrypoint /bin/sh chrislusf/seaweedfs:local
  50. profile_mount: build
  51. docker compose -f compose/local-mount-profile-compose.yml -p seaweedfs up
  52. k8s: build
  53. docker compose -f compose/local-k8s-compose.yml -p seaweedfs up
  54. dev_registry: build
  55. docker compose -f compose/local-registry-compose.yml -p seaweedfs up
  56. dev_replicate:
  57. docker build --build-arg TAGS=gocdk --no-cache -t chrislusf/seaweedfs:local -f Dockerfile.go_build .
  58. docker compose -f compose/local-replicate-compose.yml -p seaweedfs up
  59. dev_auditlog: build
  60. docker compose -f compose/local-auditlog-compose.yml -p seaweedfs up
  61. dev_nextcloud: build
  62. docker compose -f compose/local-nextcloud-compose.yml -p seaweedfs up
  63. cluster: build
  64. docker compose -f compose/local-cluster-compose.yml -p seaweedfs up
  65. 2clusters: build
  66. docker compose -f compose/local-clusters-compose.yml -p seaweedfs up
  67. 2mount: build
  68. docker compose -f compose/local-sync-mount-compose.yml -p seaweedfs up
  69. filer_backup: build
  70. docker compose -f compose/local-filer-backup-compose.yml -p seaweedfs up
  71. hashicorp_raft: build
  72. docker compose -f compose/local-hashicorp-raft-compose.yml -p seaweedfs up
  73. s3tests: build s3tests_build
  74. docker compose -f compose/local-s3tests-compose.yml -p seaweedfs up
  75. brokers: build
  76. docker compose -f compose/local-brokers-compose.yml -p seaweedfs up
  77. agent: build
  78. docker compose -f compose/local-mq-test.yml -p seaweedfs up
  79. filer_etcd: build
  80. docker stack deploy -c compose/swarm-etcd.yml fs
  81. test_etcd: build
  82. docker compose -f compose/test-etcd-filer.yml -p seaweedfs up
  83. test_ydb: tags = ydb
  84. test_ydb: build
  85. docker compose -f compose/test-ydb-filer.yml -p seaweedfs up
  86. test_tarantool: tags = tarantool
  87. test_tarantool: build_tarantool_dev_env build
  88. docker compose -f compose/test-tarantool-filer.yml -p seaweedfs up
  89. clean:
  90. rm ./weed
  91. certstrap:
  92. go install -v github.com/square/certstrap@latest
  93. certstrap --depot-path compose/tls init --curve P-256 --passphrase "" --common-name "SeaweedFS CA" || true
  94. certstrap --depot-path compose/tls request-cert --ou "SeaweedFS" --curve P-256 --passphrase "" --domain localhost --common-name volume01.dev || true
  95. certstrap --depot-path compose/tls request-cert --ou "SeaweedFS" --curve P-256 --passphrase "" --common-name master01.dev || true
  96. certstrap --depot-path compose/tls request-cert --ou "SeaweedFS" --curve P-256 --passphrase "" --common-name filer01.dev || true
  97. certstrap --depot-path compose/tls request-cert --ou "SeaweedFS" --curve P-256 --passphrase "" --common-name client01.dev || true
  98. certstrap --depot-path compose/tls sign --CA "SeaweedFS CA" volume01.dev || true
  99. certstrap --depot-path compose/tls sign --CA "SeaweedFS CA" master01.dev || true
  100. certstrap --depot-path compose/tls sign --CA "SeaweedFS CA" filer01.dev || true
  101. certstrap --depot-path compose/tls sign --CA "SeaweedFS CA" client01.dev || true