-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy pathMakefile
More file actions
177 lines (132 loc) · 5.8 KB
/
Makefile
File metadata and controls
177 lines (132 loc) · 5.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
.ONESHELL:# single shell invocation for all lines in the recipe
SHELL = bash# we depend on bash expansion for e.g. queue patterns
.DEFAULT_GOAL = help
PRODUCER := producer
CONSUMER := consumer
### TARGETS ###
help:
@grep -E '^[0-9a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
install-uaac: ## Install UAA Client
@echo "Installing uaac client on your local machine "
@(gem list --local | grep cf-uaac || sudo gem install cf-uaac && echo "Already installed")
start-uaa: ## Start uaa (remember to run make build-uaa if you have not done )
@./bin/uaa/deploy
start-keycloak: ## Start keycloak
@./bin/keycloak/deploy
start-forward-proxy: ## Start forward-proxy
@./bin/forward-proxy/deploy
start-portal: ## Start portal
@./bin/portal/deploy
start-proxy: ## Start proxy
@./bin/proxy/deploy
stop-uaa: ## Stop uaa
@docker kill uaa
stop-keycloak: ## Stop keycloak
@docker kill keycloak
stop-forward-proxy: ## Stop forward-proxy
@docker kill forward-proxy
stop-portal: ## Stop portal
@docker kill portal
stop-proxy: ## Stop proxy
@docker kill proxy
stop-dev-keycloak: ## Stop dev keycloak
@docker kill devkeycloak
@docker rm devkeycloak
stop-prod-keycloak: ## Stop dev keycloak
@docker kill prodkeycloak
@docker rm prodkeycloak
start-oauth2-proxy: ## Start oauth2-proxy
@bin/oauth2-proxy/deploy
stop-oauth2-proxy: ## Stop oauth2-proxy
@bin/oauth2-proxy/undeploy
start-rabbitmq: ## Run RabbitMQ Server
@./bin/deploy-rabbit
stop-rabbitmq:
@docker stop rabbitmq
start-perftest-producer: ## Start PerfTest producer application
@uaac token client get $(PRODUCER) -s $(PRODUCER)_secret
@./bin/run-perftest $(PRODUCER) \
--queue "q-perf-test" \
--producers 1 \
--consumers 0 \
--rate 1 \
--flag persistent \
--exchange "x-incoming-transaction" \
--auto-delete "false"
start-perftest-producer-with-token: ## Start PerfTest producer application with a token
@TOKEN=$(TOKEN) ./bin/run-perftest $(PRODUCER)\
--queue "q-perf-test" \
--producers 1 \
--consumers 0 \
--rate 1 \
--flag persistent \
--exchange "x-incoming-transaction" \
--auto-delete "false"
stop-perftest-producer: ## Stop perfTest producer
@docker stop $(PRODUCER)
start-perftest-consumer: ## Start Perftest consumer application
@uaac token client get $(CONSUMER) -s $(CONSUMER)_secret
@./bin/run-perftest $(CONSUMER) \
--queue "q-perf-test" \
--producers 0 \
--consumers 1 \
--rate 1 \
--flag persistent \
--exchange "x-incoming-transaction" \
--auto-delete "false"
start-perftest-consumer-with-token: ## Start Perftest consumer application with a token
@TOKEN=$(TOKEN) ./bin/run-perftest $(CONSUMER) \
--queue "q-perf-test" \
--producers 0 \
--consumers 1 \
--rate 1 \
--flag persistent \
--exchange "x-incoming-transaction" \
--auto-delete "false"
stop-perftest-consumer: ## Stop perfTest consumer
@docker stop $(CONSUMER)
stop-all-apps: ## Stop all appications we can start with this Makefile
@docker kill consumer producer 2>/dev/null
pivotalrabbitmq/perf-test:latest
curl-uaa: ## Run curl with a JWT token. Syntax: make curl-uaa url=http://localhost:15672/api/overview client_id=rabbit_monitor secret=rabbit_monitor
@uaac token client get $(client_id) -s $(secret)
@./bin/uaa/curl_url $(client_id) $(url)
curl-keycloak: ## Run curl with a JWT token. Syntax: make curl-keycloak url=http://localhost:15672/api/overview client_id=rabbit_monitor secret=rabbit_monitor realm=test
@./bin/keycloak/curl $(url) $(client_id) $(secret) ${realm}
curl-dev-keycloak: ## Run curl with a JWT token. Syntax: make curl-dev-keycloak url=http://localhost:15672/api/overview client_id=rabbit_monitor secret=rabbit_monitor
@./bin/devkeycloak/curl $(url) $(client_id) $(secret)
curl-prod-keycloak: ## Run curl with a JWT token. Syntax: make curl-prod-keycloak url=http://localhost:15672/api/overview client_id=rabbit_monitor secret=rabbit_monitor
@./bin/prodkeycloak/curl $(url) $(client_id) $(secret)
open: ## Open the browser and login the user with the JWT Token. e.g: make open username=rabbit_admin password=rabbit_admin
@./bin/open_url $(username) $(password)
build-jms-client: ## build jms client docker image
@(docker build jms-client/. -t jms-client)
start-jms-publisher: ## start jms publisher that sends 1 message
@uaac token client get jms_producer -s jms_producer_secret
@./bin/run-jms-client jms_producer pub
start-jms-subscriber: ## start jms subscriber
@uaac token client get jms_consumer -s jms_consumer_secret
@./bin/run-jms-client jms_consumer sub
build-amqp1_0-client: ## build amqp1_0 client docker image
@(docker build amqp1_0-client/. -t amqp1_0-client)
start-amqp1_0-publisher: ## start amqp publisher that sends 1 message
@uaac token client get producer -s producer_secret
@./bin/run-amqp1_0-client producer pub
start-amqp1_0-subscriber: ## start amqp subscriber
@uaac token client get consumer -s consumer_secret
@./bin/run-amqp1_0-client consumer sub
curl-with-token: ## Run curl with a JWT token. Syntax: make curl-with-extra-scopes URL=http://localhost:15672/api/overview TOKEN=....
@curl -u :$(TOKEN) $(URL)
get-jwt-token: ## Get a JWT token from an authorzation server
@curl curl --request POST \
--url 'https://<YOUR TOKEN ENDPOINT>' \
--header 'content-type: application/x-www-form-urlencoded' \
--data grant_type=client_credentials \
--data client_id=<your-client-id> \
--data client_secret=<your-client-secret> \
--data audience="rabbitmq:15672"
start-mqtt-publish: ## publish mqtt message . e.g. make start-mqtt-publish TOKEN=$(bin/jwt_token legacy-token-key private.pem public.pem)
@(docker run --rm -it --network rabbitmq_net ruimarinho/mosquitto mosquitto_pub \
-h rabbitmq -u "" -P $(TOKEN) -t test -m hello-world)
clean-certs: ## remove all auto-generated certificates from any oauth provider and rabbitmq
@rm -r conf/*/certs