"One of the biggest issue of f-m-p is that we don't know what will be generated as resources and deployed on OpenShift when we install an application as f-m-p code changed too much over the time, has been designed to manage Fabric8' Integration needs, has evolved according to new OpenShift releases, ..."
So, the purpose of this story is to design a packaging/deployment approach using the MANIFEST's concept as used by Cloudfoundry [1], with an Application.yaml CRD which triggers on k8s the installation of the application using the content of the MANIFEST to replace within the OpenShift template, the values from the keys"
Technically speaking, we could split the work as such
Develop a simple prototype able to process using a k8s controller or operator [2] an Application's type CRD
Define a YAML MANIFEST + spec able to parse/validate such values : name, docker image, cpu, memory parameters + ENV vars
Define or reuse the HTTP booster Template as Openshift template to be used to install the application on openshift as Deployment
Create an operator able to process the CRD + template [2] and deploy application (E.g memcached [3])
"One of the biggest issue of f-m-p is that we don't know what will be generated as resources and deployed on OpenShift when we install an application as f-m-p code changed too much over the time, has been designed to manage Fabric8' Integration needs, has evolved according to new OpenShift releases, ..."
So, the purpose of this story is to design a packaging/deployment approach using the MANIFEST's concept as used by Cloudfoundry [1], with an Application.yaml CRD which triggers on k8s the installation of the application using the content of the MANIFEST to replace within the OpenShift template, the values from the keys"
Technically speaking, we could split the work as such
Application's type
CRD[1] https://docs.cloudfoundry.org/devguide/deploy-apps/manifest.html [2] https://github.com/cmoulliard/k8s-team-crd/blob/guide/DEVELOPER.md#use-operator-sdk [3] https://github.com/snowdrop/spring-boot-http-booster/blob/master/.openshiftio/application.yaml [4] https://github.com/operator-framework/getting-started/blob/master/handler.go.tmpl
Do you agree ?