apache / apache/openserverless

Implement a builder

Open
#156 3 comments 0 reactions 1 assignee Assigned to @d4rkstar View on GitHub
Dominant language
Python
Stars
576
Forks
29
Avg merge
50m
Merged PRs (30d)
13

Description

## Why you need it?

We now support building custom runtimes for actions with requirements, modules and moving foward for compiling actions with java and dotnet

The `ide deploy` can now creates a Dockerfile to add dependencies to a runtime,
we need a service to build them and deploy in the internal registry

the build service should be invoked by the builder when a new image to build is detected

## How it could be?

Using the rest api server of the operator, I would add a "build" action accepting:

```
{
"source": "apache/python:123",
"target: "msciab:hash",
"kind": "python",
"file": ""
}
```

the builder will then create a dockerfile like this

```
FROM
ADD /tmp/requirements
RUN /bin/extend
```

We will update the runtimes to have the NEW /bin/install script that will will manage and install the requirements in the proper way for the various languages (pip install with python, npm install with node, maven with java, and so on)

Note if the build fails, the error message should clearly communitate if you need to update installing the registry or update the runtimes to use a newer, extendisble runtime

## Other related information

do not accept any name different from the namespace otherwise the user could change other people images.

the builder could use [img](https://github.com/genuinetools/img) to build the image quckly

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.