@@ -68,6 +68,32 @@ resource "docker_service" "app" {
6868 label = " traefik.docker.network"
6969 value = data. docker_network . proxy . name
7070 }
71+
72+ # region rate-limit_5-per-1m Middleware
73+ labels {
74+ label = " traefik.http.middlewares.rate-limit_5-per-1m.ratelimit.average"
75+ value = " 5"
76+ }
77+
78+ labels {
79+ label = " traefik.http.middlewares.rate-limit_5-per-1m.ratelimit.period"
80+ value = " 1m"
81+ }
82+
83+ labels {
84+ label = " traefik.http.middlewares.rate-limit_5-per-1m.ratelimit.sourcecriterion.ipstrategy.depth"
85+ value = " 1"
86+ }
87+ # endregion
88+
89+ # region Add Prefix Middleware
90+ labels {
91+ label = " traefik.http.middlewares.${ var . app-name } -new-addprefix.addprefix.prefix"
92+ value = " /api"
93+ }
94+ # endregion
95+
96+ # region Deprecated
7197 labels {
7298 label = " traefik.http.routers.${ var . app-name } .rule"
7399 value = " Host(`${ var . app-host } `) && PathPrefix(`/api`)"
@@ -80,27 +106,64 @@ resource "docker_service" "app" {
80106 label = " traefik.http.routers.${ var . app-name } .tls.certresolver"
81107 value = " le"
82108 }
109+ # endregion
83110
111+ # region Deprecated Limited
84112 labels {
85- label = " traefik.http.middlewares .${ var . app-name } -new-addprefix.addprefix.prefix "
86- value = " /api"
113+ label = " traefik.http.routers .${ var . app-name } _limited.rule "
114+ value = " Host(` ${ var . app-host } `) && PathPrefix(` /api/mobile/v1/device`) && Method(`POST`) "
87115 }
88116 labels {
89- label = " traefik.http.routers.${ var . app-name } -new.entrypoints"
117+ label = " traefik.http.routers.${ var . app-name } _limited.middlewares"
118+ value = " rate-limit_5-per-1m"
119+ }
120+ labels {
121+ label = " traefik.http.routers.${ var . app-name } _limited.entrypoints"
90122 value = " https"
91123 }
92124 labels {
93- label = " traefik.http.routers.${ var . app-name } -new.middlewares "
94- value = " ${ var . app-name } -new-addprefix "
125+ label = " traefik.http.routers.${ var . app-name } _limited.tls.certresolver "
126+ value = " le "
95127 }
128+ # endregion
129+
130+ # region Primary
96131 labels {
97132 label = " traefik.http.routers.${ var . app-name } -new.rule"
98133 value = " Host(`api.sms-gate.app`)"
99134 }
135+ labels {
136+ label = " traefik.http.routers.${ var . app-name } -new.entrypoints"
137+ value = " https"
138+ }
139+ labels {
140+ label = " traefik.http.routers.${ var . app-name } -new.middlewares"
141+ value = " ${ var . app-name } -new-addprefix"
142+ }
100143 labels {
101144 label = " traefik.http.routers.${ var . app-name } -new.tls.certresolver"
102145 value = " le"
103146 }
147+ # endregion
148+
149+ # region Primary Limited
150+ labels {
151+ label = " traefik.http.routers.${ var . app-name } -new_limited.rule"
152+ value = " Host(`api.sms-gate.app`) && PathPrefix(`/mobile/v1/device`) && Method(`POST`)"
153+ }
154+ labels {
155+ label = " traefik.http.routers.${ var . app-name } -new_limited.entrypoints"
156+ value = " https"
157+ }
158+ labels {
159+ label = " traefik.http.routers.${ var . app-name } -new_limited.middlewares"
160+ value = " rate-limit_5-per-1m,${ var . app-name } -new-addprefix"
161+ }
162+ labels {
163+ label = " traefik.http.routers.${ var . app-name } -new_limited.tls.certresolver"
164+ value = " le"
165+ }
166+ # endregion
104167
105168 labels {
106169 label = " traefik.http.services.${ var . app-name } .loadbalancer.server.port"
0 commit comments