Ok. So… Aleks - comment ? Zoltan , Victor - can we come to a decision on this?
Keep Jib Add GitHub action Yes? On Mon, May 6, 2024 at 2:00 PM todd densmore <tdensm...@gmail.com> wrote: > James, > > (adding comments as requested - but from here it looks like there is > enough momentum from the team to resolve the core issue) > > Firstly, it looks like a custom role can be added to the repo to allow > GitHub Actions (ie Jib) to push new images to DockerHub. Some new GitHub > Action code will have to be added to do the "push", but that is trivial. > Both of these tasks can be done quickly and easily, and solves the short > term problem of getting current Fineract images to DockerHub. This is an > immediate win and resolves the most immediate issue. > > The second issue that Fineract may wish to address is whether or not to > include a Dockerfile in the public repo. > > The docker-compose file (pointing to DockerHub) that is currently included > in the Fineract repo *will work*, allowing new users to get setup > quickly. However users will have no way to create new local versions of the > Fineract container image locally without installing the complete java (Jib) > toolchain. This may not be an issue at all if most users already have a > local java environment. For casual users looking to contribute to Fineract, > this may present a bit of friction. > > Including a Dockerfile in the repo can be done *without replacing Jib*. > However, having a visible Dockerfile that is NOT used with the non-visible > Jib build process will be confusing. Keeping the Dockerfile up to date will > also be harder, since the file will not be the single source of truth. This > may or not be an issue for the team. > > Lastly (and probably the most contentious option) would be to replace the > Jib image build tooling with the more common Dockerfile build mechanism. > This represents more work from the team, but also increases the > transparency from the outside user. This may not be an issue for the team > (especially if the number of outside contributors is small). > > -Todd > > On Sun, May 5, 2024 at 1:51 PM James Dailey <jamespdai...@gmail.com> > wrote: > >> Victor - thank you for your PR and Zoltan for your comments. >> >> On Fri, May 3, 2024 at 10:31 AM VICTOR MANUEL ROMERO RODRIGUEZ < >> victor.rom...@fintecheando.mx> wrote: >> >>> James, >>> >>> I think that this option is also viable: >>> >>> "For Github Actions we can use a role account and attach the secrets to >>> your repository" >>> >>> At this point there are two options >>> >>> 1. Apache Infra has to add the secrets to the Apache Fineract repository >>> and then we can create/modify github actions for using the existing Jib >>> library. >>> >> This approach maintains the same consistent build but is a bit >> non-standard? The problem with option #2 is that there will be effectively >> two "builds" from the same source, and they won't match because the Jib >> library is in use by active dev teams on the project today. >> >> >>> 2. Merge the https://github.com/apache/fineract/pull/3879 to the >>> develop branch in order to allow Dockerhub to build/publish a new docker >>> image. >>> >> This approach returns the project to a more standard approach? It does >> not require special action by Infra but creates a separate and potentially >> inconsistent build. >> >>> >>> Any other option or discussion about the solution for having an updated >>> Apache Fineract image published on Dockerhub is welcome. >>> >> agreed - last call for comments on which of these. I'm leaning toward >> the second because it requires no action by Infra and is the shortest path >> to getting a new image at DockerHUB. >> >> Todd- can you comment? >> >> >>> >>> Best regards >>> >>> Victor >>> >>> Regards >>> >>> Víctor Romero >>> >>> El vie, 3 may 2024 a las 8:56, James Dailey (<jdai...@apache.org>) >>> escribió: >>> >>>> As this relates to this thread but was over on infra users... >>>> >>>> >>>> ---------- Forwarded message --------- >>>> From: Gavin McDonald <gmcdon...@apache.org> >>>> Date: Sun, Feb 18, 2024 at 12:24 AM >>>> Subject: Re: Docker help >>>> To: James Dailey <jdai...@apache.org> >>>> Cc: Users <us...@infra.apache.org> >>>> >>>> >>>> Hi James. >>>> >>>> >>>> >>>> On Sun, Feb 18, 2024 at 3:00 AM James Dailey <jdai...@apache.org> >>>> wrote: >>>> >>>>> Infra - >>>>> >>>>> Can you confirm that we can use other processes to push to >>>>> apache DockerHUB? >>>>> >>>> >>>> Current supported methods are via Github Actions or Jenkins or locally >>>> via your own credentials. >>>> >>>> For Github Actions we can use a role account and attach the secrets to >>>> your repository, or you >>>> can provide your own secrets for us to add to your repository >>>> >>>> For Jenkins we have a role account that we provide access to push to >>>> your repository. >>>> >>>> Committers could also use a settings.xml with this plugin and use their >>>> own credentials, we just need >>>> to ensure they have push access to Dockerhub. >>>> >>>> There may also be other methods not explored. >>>> >>>> See also: >>>> https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin#authentication-methods >>>> >>>> HTH >>>> >>>>> >>>>> When I opened a ticket about this, I was told we need a dockerfile at >>>>> the root. >>>>> >>>>> Can we use "jib-maven-plugin to publish the image to Dockerhub". ? >>>>> Can we get credentials ? >>>>> >>>>> James >>>>> >>>>> >>>>> ---------- Forwarded message --------- >>>>> From: Arnold Galovics <arn...@apache.org> >>>>> Date: Sun, Feb 11, 2024 at 10:45 PM >>>>> Subject: Re: Docker help >>>>> To: <dev@fineract.apache.org> >>>>> >>>>> >>>>> James, >>>>> >>>>> This is the out-of-the box solution from DockerHub which definitely >>>>> won't work without a Dockerfile. Though that doesn't mean it's the only >>>>> way >>>>> to build a docker image; as I stated in my previous email. >>>>> >>>>> Best, >>>>> Arnold >>>>> >>>>> On Mon, Feb 12, 2024 at 7:43 AM James Dailey <jamespdai...@gmail.com> >>>>> wrote: >>>>> >>>>>> On DockerHUB the build fails because there is no dockerfile. >>>>>> https://hub.docker.com/r/apache/fineract >>>>>> >>>>>> 2024-02-08T13:12:27Z Building in Docker Cloud's infrastructure... >>>>>> 2024-02-08T13:12:28Z Cloning into '.'... >>>>>> 2024-02-08T13:12:28Z Warning: Permanently added the RSA host key for >>>>>> IP address '140.82.114.4' to the list of known hosts. >>>>>> 2024-02-08T13:12:48Z Reset branch 'develop' >>>>>> 2024-02-08T13:12:48Z Your branch is up to date with 'origin/develop'. >>>>>> 2024-02-08T13:12:48Z Dockerfile not found at ./Dockerfile >>>>>> >>>>>> >>>>>> Let's discuss on slack and revert back here. >>>>>> >>>>>> My intention is to either DELETE the DockerHUB repo or to get this >>>>>> working. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Sun, Feb 11, 2024 at 10:14 PM Arnold Galovics <arn...@apache.org> >>>>>> wrote: >>>>>> >>>>>>> Hi Zoltan, James, >>>>>>> >>>>>>> Just to reflect on your points: >>>>>>> 1) Let's not do such a radical change unless we absolutely need to >>>>>>> 2) I'm not sure what's the issue here, please explain. We already >>>>>>> have docker builds in our pipeline via GitHub Actions (using their >>>>>>> runners), the only missing piece is to do a docker push. >>>>>>> >>>>>>> We need the credentials to be able to do a docker push, alter the >>>>>>> pipeline and that's all. >>>>>>> >>>>>>> If the only thing preventing us from doing this is to keep asking >>>>>>> the infra team for the creds, let's pursue them instead of making such >>>>>>> an >>>>>>> unnecessary change. >>>>>>> >>>>>>> Arnold >>>>>>> >>>>>>> On Mon, Feb 12, 2024 at 3:30 AM James Dailey <jamespdai...@gmail.com> >>>>>>> wrote: >>>>>>> >>>>>>>> Thanks Zoltan >>>>>>>> >>>>>>>> Micheal - can you please comment on this discussion? As this >>>>>>>> relates to the Google deployment that you put in place? Question! >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Sun, Feb 11, 2024 at 6:27 PM Zoltan Mezei <zoltan.me...@zz-it.hu> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> I think the real issue here is that we use GoogleContainerTools's >>>>>>>>> Jib as the build mechanism. It works entirely without a Dockerfile. >>>>>>>>> And >>>>>>>>> unfortunately Dockerhub's Automated Builds doesn't support building >>>>>>>>> without >>>>>>>>> a Dockerfile. :-( >>>>>>>>> >>>>>>>>> We have two ways to move forward: >>>>>>>>> >>>>>>>>> 1. Replace the Jib build with a more traditional, Dockerfile-based >>>>>>>>> approach. This would be a quite large change of how Fineract is built >>>>>>>>> and >>>>>>>>> the consequences need to be explored - but it's definitely doable. >>>>>>>>> 2. Stick with the Jib build, but don't rely on >>>>>>>>> Dockerhub's Automated Builds, but some other build tools like >>>>>>>>> jib-maven-plugin to publish the image to Dockerhub. This could also >>>>>>>>> work, >>>>>>>>> but it requires a build server that I'm not sure we have. >>>>>>>>> >>>>>>>>> I can try to create a traditional Dockerfile, but it will be >>>>>>>>> different from what Jib can produce, so this might lead to >>>>>>>>> regressions. >>>>>>>>> >>>>>>>>> Want me to try this approach next week? >>>>>>>>> >>>>>>>>> Kind regards, >>>>>>>>> Zoltan >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Sun, Feb 11, 2024 at 8:16 AM James Dailey < >>>>>>>>> jamespdai...@gmail.com> wrote: >>>>>>>>> >>>>>>>>>> Victor - my read of the docs is that the default “build rule “ >>>>>>>>>> points to master or main but we can also use dev. In fact that’s >>>>>>>>>> what is >>>>>>>>>> already there in dockerHUB for our project. >>>>>>>>>> >>>>>>>>>> I think a proper dockerfile in dev branch should be fine. >>>>>>>>>> >>>>>>>>>> Thanks >>>>>>>>>> James >>>>>>>>>> >>>>>>>>>> On Fri, Feb 9, 2024 at 7:47 PM VICTOR MANUEL ROMERO RODRIGUEZ < >>>>>>>>>> victor.rom...@fintecheando.mx> wrote: >>>>>>>>>> >>>>>>>>>>> Reading the dockerhub docs, I think we can do the following: >>>>>>>>>>> >>>>>>>>>>> 1. Create a master branch from develop branch >>>>>>>>>>> 2. Add the Dockerfile (and some scripting on it for handling the >>>>>>>>>>> versions) on master branch >>>>>>>>>>> 3. Dockerhub will use the dockerfile (and its scripts) from the >>>>>>>>>>> master branch >>>>>>>>>>> 4. Create github action for keeping in sync develop with master, >>>>>>>>>>> so then it will push the changes to the master branch everytime the >>>>>>>>>>> develop >>>>>>>>>>> branch has a commit on it, then the dockerhub will publish it as >>>>>>>>>>> the latest >>>>>>>>>>> version. >>>>>>>>>>> >>>>>>>>>>> Or... we can be more standard >>>>>>>>>>> >>>>>>>>>>> 1. Rename develop to master >>>>>>>>>>> 2. Add a Dockerfile template (and some scripting on it for >>>>>>>>>>> handling the versions) on master branch >>>>>>>>>>> 3. Dockerhub will use the dockerfile (and its scripts) from the >>>>>>>>>>> master branch >>>>>>>>>>> 4. Everytime a new commit or tag is created, the dockerhub will >>>>>>>>>>> publish it as the latest/specific version. >>>>>>>>>>> >>>>>>>>>>> What do you think? >>>>>>>>>>> >>>>>>>>>>> Dockerhub automated builds info: >>>>>>>>>>> https://docs.docker.com/docker-hub/builds >>>>>>>>>>> >>>>>>>>>>> Regards >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> El vie, 9 feb 2024 a las 20:34, James Dailey (< >>>>>>>>>>> jamespdai...@gmail.com>) escribió: >>>>>>>>>>> >>>>>>>>>>>> Victor - I was trying to go down that path as well, as that is >>>>>>>>>>>> the error thrown and the suggestion at DockerHUB. However, to add >>>>>>>>>>>> the key >>>>>>>>>>>> to the git hub requires access and the git is controlled by >>>>>>>>>>>> Apache Infra. >>>>>>>>>>>> I asked infra@a.o. about that since, again, that is what >>>>>>>>>>>> DockerHUB had documented. Unfortunately, I think infra has it >>>>>>>>>>>> setup a >>>>>>>>>>>> specific way to allow all of the projects to publish to the Apache >>>>>>>>>>>> DockerHUB so that route would appear to be blocked. >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> On Fri, Feb 9, 2024 at 4:04 PM VICTOR MANUEL ROMERO RODRIGUEZ < >>>>>>>>>>>> victor.rom...@fintecheando.mx> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> For making it work without a Dockerfile the credentials of the >>>>>>>>>>>>> docker hub account are requiered. >>>>>>>>>>>>> >>>>>>>>>>>>> If they are set in the git repository, a github action can be >>>>>>>>>>>>> enabled for this task. >>>>>>>>>>>>> >>>>>>>>>>>>> Regards >>>>>>>>>>>>> >>>>>>>>>>>>> El vie., 9 de febrero de 2024 4:45 p. m., < >>>>>>>>>>>>> jamespdai...@gmail.com> escribió: >>>>>>>>>>>>> >>>>>>>>>>>>>> I've re-opened >>>>>>>>>>>>>> https://issues.apache.org/jira/browse/FINERACT-1164 >>>>>>>>>>>>>> >>>>>>>>>>>>>> This ticket is to enable the build at DockerHUB to work. For >>>>>>>>>>>>>> the past two years ++ the Build has failed. >>>>>>>>>>>>>> >>>>>>>>>>>>>> https://hub.docker.com/r/apache/fineract >>>>>>>>>>>>>> This docker account is held by Apache and the Fineract >>>>>>>>>>>>>> project is responsible for the content. >>>>>>>>>>>>>> >>>>>>>>>>>>>> The dockerHUB has an "auto build" concept so that every >>>>>>>>>>>>>> committed change on Dev leads to a new deployment. >>>>>>>>>>>>>> >>>>>>>>>>>>>> The build is actually failing or not running because we >>>>>>>>>>>>>> have removed the dockerbuild file from the root. That is as far >>>>>>>>>>>>>> as I've >>>>>>>>>>>>>> gotten. I suspect we had good reasons for that at the time. >>>>>>>>>>>>>> >>>>>>>>>>>>>> Anyway, I would also say that if we cannot get the Docker >>>>>>>>>>>>>> build to work THEN we should take this down. Our standard is to >>>>>>>>>>>>>> only >>>>>>>>>>>>>> support and distribute publicly the last two releases. This >>>>>>>>>>>>>> build is really >>>>>>>>>>>>>> old, has unfixed CVEs, and is being downloaded in large numbers. >>>>>>>>>>>>>> (no idea >>>>>>>>>>>>>> why) >>>>>>>>>>>>>> >>>>>>>>>>>>>> Thanks >>>>>>>>>>>>>> James >>>>>>>>>>>>>> >>>>>>>>>>>>> >>>> >>>> -- >>>> >>>> >>>> *Gavin McDonald - * >>>> Systems Administrator, ASF Infrastructure Team >>>> V.P Travel Assistance Committee >>>> >>>> https://tac.apache.org - Applications now open for Community Over Code >>>> 2024 >>>> in Bratislava, Slovakia. Don't delay, apply today! >>>> >>>>