@@ -44,6 +44,7 @@ import (
4444 "github.com/l7mp/stunner/pkg/buildinfo"
4545
4646 "github.com/l7mp/stunner-gateway-operator/internal/config"
47+ licensemgr "github.com/l7mp/stunner-gateway-operator/internal/licensemanager"
4748 "github.com/l7mp/stunner-gateway-operator/internal/operator"
4849 "github.com/l7mp/stunner-gateway-operator/internal/renderer"
4950 "github.com/l7mp/stunner-gateway-operator/internal/updater"
@@ -54,8 +55,9 @@ import (
5455)
5556
5657const (
57- envVarMode = "STUNNER_GATEWAY_OPERATOR_DATAPLANE_MODE"
58- envVarAddress = "STUNNER_GATEWAY_OPERATOR_ADDRESS"
58+ envVarMode = "STUNNER_GATEWAY_OPERATOR_DATAPLANE_MODE"
59+ envVarAddress = "STUNNER_GATEWAY_OPERATOR_ADDRESS"
60+ envVarCustomerKey = "CUSTOMER_KEY"
5961)
6062
6163var (
@@ -131,6 +133,13 @@ func main() {
131133 config .DataplaneMode = config .NewDataplaneMode (dataplaneMode )
132134 setupLog .Info ("dataplane mode" , "mode" , config .DataplaneMode .String ())
133135
136+ customerKey , keyStatus := "" , "MISSING"
137+ if key , ok := os .LookupEnv (envVarCustomerKey ); ok {
138+ customerKey = key
139+ keyStatus = "AVAILABLE"
140+ }
141+ setupLog .Info ("subscriber key" , "status" , keyStatus )
142+
134143 // CDS address not overrridden on the command line: use env var
135144 config .ConfigDiscoveryAddress = cdsAddr
136145 if podAddr , ok := os .LookupEnv (envVarAddress ); ok {
@@ -176,10 +185,17 @@ func main() {
176185 os .Exit (1 )
177186 }
178187
179- setupLog .Info ("setting up STUNner config renderer" )
188+ setupLog .Info ("setting up license manager" )
189+ m := licensemgr .NewManager (licensemgr.Config {
190+ CustomerKey : customerKey ,
191+ Logger : logger ,
192+ })
193+
194+ setupLog .Info ("setting up config renderer" )
180195 r := renderer .NewRenderer (renderer.RendererConfig {
181- Scheme : scheme ,
182- Logger : logger ,
196+ Scheme : scheme ,
197+ LicenseManager : m ,
198+ Logger : logger ,
183199 })
184200
185201 setupLog .Info ("setting up updater client" )
@@ -201,6 +217,7 @@ func main() {
201217 Logger : logger ,
202218 })
203219
220+ m .SetOperatorChannel (op .GetOperatorChannel ())
204221 r .SetOperatorChannel (op .GetOperatorChannel ())
205222 u .SetAckChannel (op .GetOperatorChannel ())
206223 op .SetProgressReporters (r , u , c )
@@ -209,15 +226,27 @@ func main() {
209226 mgrCtx , mgrCancel := context .WithCancel (context .Background ())
210227 defer mgrCancel ()
211228
212- setupLog .Info ("starting renderer thread" )
229+ setupLog .Info ("starting the license manager" )
230+ if err := m .Start (mgrCtx ); err != nil {
231+ setupLog .Error (err , "error running the license manager" )
232+ os .Exit (1 )
233+ }
234+
235+ setupLog .Info ("starting the license manager" )
236+ if err := m .Start (mgrCtx ); err != nil {
237+ setupLog .Error (err , "error running the license manager" )
238+ os .Exit (1 )
239+ }
240+
241+ setupLog .Info ("starting the renderer" )
213242 if err := r .Start (mgrCtx ); err != nil {
214- setupLog .Error (err , "problem running renderer" )
243+ setupLog .Error (err , "error running the renderer" )
215244 os .Exit (1 )
216245 }
217246
218- setupLog .Info ("starting updater thread " )
247+ setupLog .Info ("starting the updater " )
219248 if err := u .Start (mgrCtx ); err != nil {
220- setupLog .Error (err , "could not run updater" )
249+ setupLog .Error (err , "error running the updater" )
221250 os .Exit (1 )
222251 }
223252
@@ -228,13 +257,13 @@ func main() {
228257 }
229258
230259 opCtx := ctrl .SetupSignalHandler ()
231- setupLog .Info ("starting operator thread " )
260+ setupLog .Info ("starting the operator " )
232261 if err := op .Start (opCtx , mgrCancel ); err != nil {
233262 setupLog .Error (err , "problem running operator" )
234263 os .Exit (1 )
235264 }
236265
237- setupLog .Info ("starting Kubernetes controller manager" )
266+ setupLog .Info ("starting the Kubernetes controller manager" )
238267 if err := mgr .Start (mgrCtx ); err != nil {
239268 setupLog .Error (err , "problem running manager" )
240269 // no way to gracefully terminate: give up and exit with an error
0 commit comments