@@ -40,6 +40,7 @@ const (
40
40
CacheDeploymentName = "jvm-build-workspace-artifact-cache"
41
41
LocalstackDeploymentName = "jvm-build-workspace-localstack"
42
42
EnableRebuilds = "enable-rebuilds"
43
+ EnableLocalstack = "enable-localstack"
43
44
SystemConfigMapName = "jvm-build-system-config"
44
45
SystemConfigMapNamespace = "jvm-build-service"
45
46
SystemCacheImage = "image.cache"
@@ -117,19 +118,23 @@ func (r *ReconcileConfigMap) Reconcile(ctx context.Context, request reconcile.Re
117
118
return reconcile.Result {}, nil
118
119
}
119
120
enabled := configMap .Data [EnableRebuilds ] == "true"
121
+ //for now we default it to always be created
122
+ //but allow it to be disabled
123
+ //our in repo tests don't need it anymore
124
+ localstack := configMap .Data [EnableLocalstack ] != "false"
120
125
121
126
systemConfigMap := corev1.ConfigMap {}
122
127
err = r .client .Get (ctx , types.NamespacedName {Name : SystemConfigMapName , Namespace : SystemConfigMapNamespace }, & systemConfigMap )
123
128
if err != nil {
124
129
return reconcile.Result {}, nil
125
130
}
126
131
log .Info ("Setup Cache %s" , "name" , request .Name )
127
- if err = r .setupCache (ctx , request , enabled , configMap , systemConfigMap ); err != nil {
132
+ if err = r .setupCache (ctx , request , enabled , configMap , systemConfigMap , localstack ); err != nil {
128
133
return reconcile.Result {}, err
129
134
}
130
- if enabled {
135
+ if enabled && localstack {
131
136
log .Info ("Setup Rebuilds %s" , "name" , request .Name )
132
- err := r .setupRebuilds (ctx , log , request )
137
+ err := r .setupLocalstack (ctx , log , request )
133
138
if err != nil {
134
139
return reconcile.Result {}, err
135
140
}
@@ -138,7 +143,7 @@ func (r *ReconcileConfigMap) Reconcile(ctx context.Context, request reconcile.Re
138
143
return reconcile.Result {}, nil
139
144
}
140
145
141
- func (r * ReconcileConfigMap ) setupCache (ctx context.Context , request reconcile.Request , rebuildsEnabled bool , configMap corev1.ConfigMap , systemConfigMap corev1.ConfigMap ) error {
146
+ func (r * ReconcileConfigMap ) setupCache (ctx context.Context , request reconcile.Request , rebuildsEnabled bool , configMap corev1.ConfigMap , systemConfigMap corev1.ConfigMap , localstack bool ) error {
142
147
//first setup the storage
143
148
deploymentName := types.NamespacedName {Namespace : request .Namespace , Name : CacheDeploymentName }
144
149
@@ -277,26 +282,30 @@ func (r *ReconcileConfigMap) setupCache(ctx context.Context, request reconcile.R
277
282
if rebuildsEnabled {
278
283
repos = append (repos , Repo {name : "rebuilt" , position : 100 })
279
284
280
- cache .Spec .Template .Spec .Containers [0 ].Env = append (cache .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
281
- Name : "QUARKUS_S3_ENDPOINT_OVERRIDE" ,
282
- Value : "http://" + LocalstackDeploymentName + "." + request .Namespace + ".svc.cluster.local:4572" ,
283
- })
284
- cache .Spec .Template .Spec .Containers [0 ].Env = append (cache .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
285
- Name : "QUARKUS_S3_AWS_REGION" ,
286
- Value : "us-east-1" ,
287
- })
288
- cache .Spec .Template .Spec .Containers [0 ].Env = append (cache .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
289
- Name : "QUARKUS_S3_AWS_CREDENTIALS_TYPE" ,
290
- Value : "static" ,
291
- })
292
- cache .Spec .Template .Spec .Containers [0 ].Env = append (cache .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
293
- Name : "QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_ACCESS_KEY_ID" ,
294
- Value : "accesskey" ,
295
- })
296
- cache .Spec .Template .Spec .Containers [0 ].Env = append (cache .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
297
- Name : "QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_SECRET_ACCESS_KEY" ,
298
- Value : "secretkey" ,
299
- })
285
+ if localstack {
286
+ //TODO: localstack should eventually go away altogether
287
+ //for now it is convenient for testing
288
+ cache .Spec .Template .Spec .Containers [0 ].Env = append (cache .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
289
+ Name : "QUARKUS_S3_ENDPOINT_OVERRIDE" ,
290
+ Value : "http://" + LocalstackDeploymentName + "." + request .Namespace + ".svc.cluster.local:4572" ,
291
+ })
292
+ cache .Spec .Template .Spec .Containers [0 ].Env = append (cache .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
293
+ Name : "QUARKUS_S3_AWS_REGION" ,
294
+ Value : "us-east-1" ,
295
+ })
296
+ cache .Spec .Template .Spec .Containers [0 ].Env = append (cache .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
297
+ Name : "QUARKUS_S3_AWS_CREDENTIALS_TYPE" ,
298
+ Value : "static" ,
299
+ })
300
+ cache .Spec .Template .Spec .Containers [0 ].Env = append (cache .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
301
+ Name : "QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_ACCESS_KEY_ID" ,
302
+ Value : "accesskey" ,
303
+ })
304
+ cache .Spec .Template .Spec .Containers [0 ].Env = append (cache .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
305
+ Name : "QUARKUS_S3_AWS_CREDENTIALS_STATIC_PROVIDER_SECRET_ACCESS_KEY" ,
306
+ Value : "secretkey" ,
307
+ })
308
+ }
300
309
if configMap .Data ["registry.owner" ] != "" {
301
310
cache .Spec .Template .Spec .Containers [0 ].Env = append (cache .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
302
311
Name : "REGISTRY_OWNER" ,
@@ -327,6 +336,12 @@ func (r *ReconcileConfigMap) setupCache(ctx context.Context, request reconcile.R
327
336
ValueFrom : & corev1.EnvVarSource {ConfigMapKeyRef : & corev1.ConfigMapKeySelector {LocalObjectReference : corev1.LocalObjectReference {Name : UserConfigMapName }, Key : "registry.insecure" }},
328
337
})
329
338
}
339
+ if configMap .Data ["registry.prepend-tag" ] != "" {
340
+ cache .Spec .Template .Spec .Containers [0 ].Env = append (cache .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
341
+ Name : "REGISTRY_PREPEND_TAG" ,
342
+ ValueFrom : & corev1.EnvVarSource {ConfigMapKeyRef : & corev1.ConfigMapKeySelector {LocalObjectReference : corev1.LocalObjectReference {Name : UserConfigMapName }, Key : "registry.prepend-tag" }},
343
+ })
344
+ }
330
345
//TODO: ensure this exists
331
346
cache .Spec .Template .Spec .Containers [0 ].Env = append (cache .Spec .Template .Spec .Containers [0 ].Env , corev1.EnvVar {
332
347
Name : "REGISTRY_TOKEN" ,
@@ -384,7 +399,7 @@ func (r *ReconcileConfigMap) setupCache(ctx context.Context, request reconcile.R
384
399
385
400
}
386
401
387
- func (r * ReconcileConfigMap ) setupRebuilds (ctx context.Context , log logr.Logger , request reconcile.Request ) error {
402
+ func (r * ReconcileConfigMap ) setupLocalstack (ctx context.Context , log logr.Logger , request reconcile.Request ) error {
388
403
//setup localstack
389
404
//this is 100% temporary and needs to go away ASAP
390
405
localstack := v1.Deployment {}
0 commit comments