Skip to content

Commit

Permalink
use computed provider version within the deployment name for uniqueness
Browse files Browse the repository at this point in the history
  • Loading branch information
TobyPinfold committed Dec 12, 2024
1 parent 3a946aa commit 3de9eb7
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
1 change: 1 addition & 0 deletions apis/pipelines/v1alpha6/status.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,5 @@ type Status struct {
Version string `json:"version,omitempty"`
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
Conditions Conditions `json:"conditions,omitempty"`
Serving string `json:"serving,omitempty"`
}
15 changes: 8 additions & 7 deletions controllers/pipelines/provider_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,10 @@ func (r *ProviderReconciler) Reconcile(ctx context.Context, req ctrl.Request) (c
return ctrl.Result{}, client.IgnoreNotFound(err)
}

logger.V(2).Info("found provider", "resource", provider)
providerVersion := provider.ComputeVersion()
logger.V(2).Info("found provider", "resource", provider, "version", providerVersion)

providerServiceName := fmt.Sprintf("provider-%s-service", req.Name)
providerServiceName := fmt.Sprintf("provider-%s-service-%s", req.Name, providerVersion)
providerServiceDeployment, err := r.fetchProviderServiceDeployment(ctx, providerServiceName, req.Namespace)
if err != nil {
logger.Error(err, "unable to fetch provider service deployment")
Expand Down Expand Up @@ -107,27 +108,27 @@ func constructProviderDeployment(name, namespace string, provider *pipelinesv1.P

podTemplate := config.DefaultProviderValues.PodTemplateSpec

const targetContainer = "provider-service"
const targetContainer = "provider-service" //TODO: make configurable from config
for _, container := range podTemplate.Spec.Containers {
if container.Name == targetContainer {
container.Image = provider.Spec.Image
container.Env = append(container.Env, v1.EnvVar{
Name: "PROVIDERNAME",
Value: name,
Value: provider.Name,
})
}
}

const providerLabelKey = "provider"
podTemplate.ObjectMeta.Labels[providerLabelKey] = provider.GetName()
podTemplate.ObjectMeta.Labels[providerLabelKey] = provider.Name
podTemplate.Spec.ServiceAccountName = provider.Spec.ServiceAccount

labels := config.DefaultProviderValues.Labels
labels[providerLabelKey] = provider.GetName()
labels[providerLabelKey] = provider.Name

return &appsv1.Deployment{
ObjectMeta: metav1.ObjectMeta{
Name: name,
Name: fmt.Sprintf("provider-%s", name),
Namespace: namespace,
Labels: labels,
},
Expand Down

0 comments on commit 3de9eb7

Please sign in to comment.