devfile / api

Kube-native API for cloud development workspaces specification
Apache License 2.0
237 stars 58 forks source link

Add Devfile for .NET 8 #1540

Open datho7561 opened 3 weeks ago

datho7561 commented 3 weeks ago

Which area this feature is related to?

/area ci /area api /area library /area registry /area alizer /area devworkspace /area integration-tests /area test-automation /area releng /area documentation /area landing-page

Which functionality do you think we should add?

Add a Devfile for .NET 8, the latest release available in the dnf repo for RHEL 9.

Devfiles are available for .NET 3, .NET 5, and .NET 6, but from my understanding .NET 3 and 5 are EOL and really old. .NET 8 is the newest version of .NET available in RHEL 9.

Why is this needed? Is your feature request related to a problem?

A user working with a .NET 9 project would like to debug it on a cluster using vscode-openshift-toolkit, however a Devfile is not available. See https://github.com/redhat-developer/vscode-openshift-tools/issues/4108

Detailed description:

Describe the solution you'd like

A new Devfile for .NET 8.

Describe alternatives you've considered

It's possible to download and modify the existing .NET 6 Devfile to support .NET 9. However, this requires the end user to understand what a Devfile is and what modifications it needs in order to work.

Additional context

michael-valdron commented 3 weeks ago

@datho7561 For any new stacks, you'll need to own and find an owner for this onboarding stack. They'll also need to be assigned to this issue.

datho7561 commented 3 weeks ago

I looked into adding the Devfile myself. The main issue I ran into is that there is no premade ubi8 or ubi9 container image that comes with the dotnet 8 SDK. There is one with the runtime, but that won't work for compiling the application. We'd need to create our own container image. I don't think it'd be a complex container image (just need to add the .NET 8.0 sdk), but it still would require creating a pipeline to build it, some sort of method to keep it up to date, and a registry to host it. I don't think I have time to do this.

datho7561 commented 1 week ago

Actually, this might be a container image we can use: https://catalog.redhat.com/software/containers/ubi8/dotnet-80/6541575dad480ee2461f4268?architecture=amd64&image=6644947f11507ec20e333bda