appsody / stacks

Appsody application stacks. This repo will be archived soon.
https://appsody.dev
Apache License 2.0
90 stars 120 forks source link

Appsody Liberty stacks should be based on UBI SFJ images #259

Closed irobins closed 4 years ago

irobins commented 5 years ago

Describe the bug A clear and concise description of what the bug is.

To Reproduce Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior A clear and concise description of what you expected to happen.

Actual behaviour What is the actual behaviour.

Environment Details (please complete the following information):

If applicable please specify:

Screenshots If applicable, add screenshots to help explain your problem.

Additional context Add any other context about the problem here.

neeraj-laad commented 5 years ago

@gcharters @Emily-Jiang I would like to get your thoughts on this.

Appsody would like to host stacks based on images that people are using today. This reduces the barrier for entry and helps with adoption.

Kabanero project consumes Appsody stacks and adds UBI images for their users.

irobins commented 5 years ago

@arthurdm any comments on this?

arthurdm commented 5 years ago

hi @irobins - I definitely agree with using UBI-min instead of Ubuntu, and back in July I had made a PR (https://github.com/appsody/stacks/pull/90) with this exact change.

@neeraj-laad - is the issue main with IBM Small Footprint Java? We are about to launch a new OL image which would have UBI-min + AdoptOpenJDK + OL, thus keeping everything open source. Would that be a better fit?

UBI and UBI-min can be used by anyone, so in the cases we have those available I think we should use even in Appsody - it reduces the amount of changes a customer goes through when moving from Appsody into Kabanero.

kilnerm commented 5 years ago

Having the Appsody stack based on a ubi image would be helpful from the Kabanero collection perspective as it would allow us to use the base Docker files without the need to modify them.

Currently we build a stack on the ubi8 base because we didn't have an image available with stack elements matching the base, sounds like this new image will solve that problem.

sympatheticmoose commented 5 years ago

@irobins @arthurdm I'm not convinced regarding UBI images as the default within Appsody...

As @neeraj-laad has said, we are looking to use technologies as close to folks' current technology stack - which at this stage will be ubuntu not UBI.

Beyond ease for folks using Kabanero, what are your reasons for switching to UBI?

arthurdm commented 4 years ago

hey guys, sorry for being away from the conversation for so long - this had dropped off my radar.

I think with the recent efforts to bring appsody stack and kabanero collections together we should revisit the decision to not use UBI images.

For Liberty, most customers will go into product using one of our new UBI 8-based images, so it would be consistent with best practices to use the same image for both dev and prod scenarios.

The UBI 8 standard image is viewed as more enterprise-ready and secured as compared to Ubuntu. Customers can continue to use their RHEL satellites, and know that even their dev images would pass Red Hat certification.

Updating the Open Liberty stack would be as easy as changing this line to be:

FROM openliberty/open-liberty:kernel-java8-openj9-ubi

scottkurz commented 4 years ago

@sympatheticmoose this isn't really a default, just an opinion for this particular stack. Even if there's some value for consistency across stacks I'd guess an optimized experience for a single stack is more important. Interested to hear your response.

neeraj-laad commented 4 years ago

Appsody project should not dictate which base images the stacks should use. In fact, the starter appsody stack is based on UBI. So, Appsody will be happy to accept stacks based on ubuntu or ubi.

It is more a question of what to stack maintainers feel is best for their developers.

arthurdm commented 4 years ago

Sounds good, thx @neeraj-laad

@yeekangc / @scottkurz - I believe you guys are the current maintainers of the Open Liberty stack?

scottkurz commented 4 years ago

Assigned to @uberskigeek .... Can you please look at, from an appsody perspective, is there a "Go template" to easily switch the base image? If so, then a Champ who wanted to build off Ubuntu e.g. would only need to modify this one property. (If not it might be worth an issue against the appsody CLI since this would seem useful). Thanks.

scottkurz commented 4 years ago

Planning on marking this resolved with the pending #650 PR.

A couple clarifications:

  1. We are only making this change for the java-openliberty stack. If we care to revisit this decision for any other stack, including java-microprofile, we can do that in a separate issue.
  2. We are not going to use an SFJ image, but a more feature-rich UBI image, in fact the one suggested by arthurdm:

    FROM openliberty/open-liberty:kernel-java8-openj9-ubi