If we build in an air gapped environment what you thinkt to do to make the registry optional? build docker images only?
It is definitely possible. We build images, then...deploy on kubernetes activating kind and doing kind load of those images. But I would like to push those images in a local docker registry. what we really need to build is this: kind/ghcr.io/nuvolaris/ferretdb:1.6.0 kind/ghcr.io/nuvolaris/openwhisk-controller:3.1.0-mastrogpt.2402101445 kind/docker.io/apache/openserverless-runtime-nodejs:v21-2506091954 kind/docker.io/apache/openserverless-runtime-go:v1.22-2506091954 kind/docker.io/apache/openserverless-runtime-java:v8-2506091954 kind/docker.io/apache/openserverless-runtime-python:v3.12-2506091954 kind/docker.io/apache/openserverless-runtime-php:v8.3-2506091954 kind/ registry.hub.docker.com/apache/openserverless-operator:0.1.0-incubating.2512151437 kind/ registry.hub.docker.com/apache/openserverless-streamer:0.1.0-incubating.2505031325 so essentially - the controller - the runtimes - the operator - some components like the streamer ideeally if you do a git clone [email protected]:nuvolaris/operator --recurse-submodules to get all the modules and then do a tar.gz of those sources you can do a release as long we have a build script. At the moment all the builds are in github actions, we need to ass a build.sh script building all the components invoking subbuilds to build runtimes operator controller and invoker also also a go build to build the cli once you have all of this and you built the images locally in docker you can do an ops setup mini to do a deployment creating a kind cluster loading the images in docker and deploy openserverless locally from sources. Michele Sciabarra | CEO m: +44 747 984 8388 e: [email protected] l: https://linkedin.com/in/msciab Nuvolaris Inc | 1209 Orange Street , Wilmington DE www.nuvolaris.io [image: linkedin icon] <https://www.linkedin.com/company/nuvolaris-io> [image: youtube icon] <http://bit.ly/nuvtube> [image: twitter icon] <https://twitter.com/NuvolarisIo> On Thu, 5 Feb 2026 at 12:27, Daniele Cremonini <[email protected]> wrote: > Hi Michele, > > a) you say: > > > getting all the sources, then create a tar.gz, then that .tar.gz can be > > unpacked somewhere, even in an air gapped environment but with a > > <registry> available (that is mandatory) > > Is it really mandatory? > While building in an air gapped environment is a good thing, it should be > optional, and the release process should be possible using a CI/CD pipeline. > > > b) you say > > > Essentially a complete build is: > > - building all the images (openwhisk, operator, runtimes, and related > > components like the streamer or the devcontainer) and push them in a > well known registry > > This is a little too vague for me. > Could you please list the GitHub URLs of all the projects that need to be > built? > I cloned the https://github.com/apache/openserverless project along its > submodules and I got this: > > 851e3774f014f193155233ec7997f597af46636b cli > (v0.1.0-2501041342.dev-6-g851e377) > +a6adb9c806aa6020a54888aa75c7dbf339b8826c devcontainer (heads/main) > +d2b2e020d8291ab264703ad336725d29da746c43 olaris (heads/main) > +982e48ecfcbaae86ca538bda2146b3e30f260cf3 olaris-op > (0.1.0-incubating.2512151437) > b1c2ce7b63e5cec138d1b4ab95986df28cd30132 runtimes (2506091954-3-gb1c2ce7) > e45b68f3e8a36705d388ab5608d7cb256f55465c site (heads/main) > 7cb7f6d64e54949cbb7cd634997b75d244454d4d testing (heads/main) > 2d293c9871a5b8ace39e6b42ab152675bb1967f9 vscode (heads/main) > > Which ones have I to build? How? > > Here you are the current situation: > > - cli: no info on how to build > - devcontainer: I don't think this needs to be updated > - olaris: I don't think this needs to be updated > - olaris-op: I don't think this needs to be updated > - runtimes: it looks like `task build-common` does what I need > - site: it looks like `task build` does what I need > - testing: had no time to check yet > - vscode: had no time to check yet > > Then you cite: > > openwhisk, operator, runtimes, and related components like the streamer > > Could you please provide the GitHub URL for each of them? > > Last: > https://github.com/apache/openserverless-build its name would suggest > that it's what I need to build the whole thing but I'm not sure either (I > haven't found any instructions and the page refers to a personal GitHub > repository (https://github.com/francescotimperi/openserverless-controller) > which seems weird. > > Thank you > Daniele > > On 2026/02/04 15:51:08 Michele Sciabarra wrote: > > I am reposting this email for the new contributors who asked for > > informations to help to do a release > > > > --- > > > > Hello all, let me explain the structure of the project: > > > > We have apache/openserverless that is the main repo, and links all the > > subrepos with submodules. > > > > Essentially OpenServerless is an operator that deploys an instance of > > openserverless and it is coordinated by the cli ops, that also takes care > > also of building kubernetes clusters. > > > > All the images are referenced in ops in opsroot..json and runtimes.json. > > There are many images, some are the openwhisk images, others are runtime > > images custom built. > > > > Essentially a complete build is: > > - building all the images (openwhisk, operator, runtimes, and related > > components like the streamer or the devcontainer) and push them in a > well > > know registry > > - build the cli and use it to deploy in any kubernetes, starting from the > > kind cluster. > > > > Now, we already build all the images and deploy them in the apache docker > > hub registry. So a simple release is as easy as building the cli and > > ensuring all the image references apache images. > > > > A full source release may involve adding a script that builds all the > > images in a designated registry. It is possible to do a > > > > git clone http://github.com/apache/openserverless --recurse-submodules > > > > getting all the sources, then create a tar.gz, then that .tar.gz can be > > unpacked somewhere, even in an air gapped environment but with a > <registry> > > available (that is mandatory) > > > > Then with: ./build.sh [<registry>] > > > > we build all the images and push then on the registry, build the cli with > > the references to those images and get a cli so doing > > ./ops setup mini > > > > will build and deploy openserverless in an air gapped environment > > > > In order to do that we need 2 things to do first: > > > > - do a simple change to the cli so it can embed its tasks. Currently it > > always download them from github, but we should "freeze" some tasks > inside > > so it is self contained and can work without accessing the network > > > > - parametrize the builds so we can push them in a local registry > > > > So let's start fixing those things to prepare for the release. > > > > Michele Sciabarra | CEO > > > > m: +44 747 984 8388 > > e: [email protected] > > l: https://linkedin.com/in/msciab > > Nuvolaris Inc | 1209 Orange Street , Wilmington DE > > www.nuvolaris.io [image: linkedin icon] > > <https://www.linkedin.com/company/nuvolaris-io> [image: youtube icon] > > <http://bit.ly/nuvtube> [image: twitter icon] > > <https://twitter.com/NuvolarisIo> > > >
