Skip to Content

Contributors

Git Aggregator on Doodba

Hi, I am configuring an instance with Doodba, I am using the doodba copier template to set up the instance
I just find out how to use the git aggregator by launching these commands

export DOODBA_GITAGGREGATE_UID="$(id -u $USER)" DOODBA_GITAGGREGATE_GID="$(id -g $USER)" DOODBA_UMASK="$(umask)"
docker-compose -f setup-devel.yaml run --rm odoo

which I found in setup-devel yaml file file.

I have a few questions:
1 - is it actually the proper way to use it on the project ? (maybe it should automatically start when launching docker-compose, but it's not my case)
2 - I see that by using the aggregator I still have repositories created in the host, so they are created outside the container as volumes then recreated in the container.
Is there a way to avoid keeping remotes (source code, oca repos etc..) on the host and directly create them only inside the container at build time with the aggregator?

Really appreciate any kind of help.

Regards
-- Francesco Ballerini


by Francesco Ballerini - 11:31 - 3 Nov 2024

Follow-Ups

  • Re: Git Aggregator on Doodba
    I want to thank everyone for your helpful hints. Of course I will invest more time on the documentation.

    Regards
    --Francesco Ballerini

    by Francesco Ballerini - 11:21 - 6 Nov 2024
  • Re: Git Aggregator on Doodba
    Hi,

    Use the production build instructions and build it.  There is no separate aggregation for production and sources live in the container. This is well documented, but basically it just means make prod.yaml docker-compose.yml instead of devel.yaml. Then build.

    Honestly the doodba project is really well documented. Spend some time there, both the copier project and the upstream dooba project to understand. There is a directory called dependencies, with a bunch of different requirements files for pip, apt, npm etc. When you build, those are installed, it is nothing to do with the runtime or entrypoint.

    On Tue, Nov 5, 2024 at 12:32 PM Francesco Ballerini <notifications@odoo-community.org> wrote:
    @Graeme Gellatly 
    Thank you for the clarification, I apologize I didn't specified but in this case I'm experimenting in order to set up a production environment on ubuntu server installation, we don't plan to develop directly on the server in this scenario.   

    I generally only take care about development so I'm a bit new to the deployment subject with docker, you said  

    if you want them in the image then just use the staging build

    I've searched for a "staging" branch and checked for "staging" in doodba documentation, but I didn’t quite understand what "staging build" means in the Doodba context. 

    The alternative is if you don't want to edit or see source for example some OCA modules is you can pip install using pip.txt in dependencies.

    Also this sentence wasn't truly clear for me, do you mean I can declare a pip.txt and install OCA modules with that similar to requirements.txt? Is that a doodba feature or I must implement it in the entrypoint file? 

    @Rolando Pérez Rebollo
    Thanks! I've read some doodba documentation but I've missed "daily usage" file doc in doodba copier template repository, I will take a look closely

    Regards
    --Francesco


    Il giorno mar 5 nov 2024 alle ore 00:02 Danny W. Adair <notifications@odoo-community.org> ha scritto:
    On Tuesday, 5 November 2024 at 11:13, Rolando Pérez Rebollo <notifications@odoo-community.org> wrote:

    I don't want to hijack the thread but, Do U have any example of git-autoshare in the context of git-aggregator in doodba? I check out several not merged PRs, I got the impression it was never incorporated to doodba? I'm missing that feature to save some bandwidth.

    It just needs to be installed so it wraps git clone​.

    (in 3.0.0+ https://github.com/acsone/git-aggregator?tab=readme-ov-file#300-2022-09-20 )

    Re: --filter=blob:none​ see also https://github.blog/open-source/git/get-up-to-speed-with-partial-clone-and-shallow-clone/

    Cheers,
    Danny




    On 11/3/24 23:33, Graeme Gellatly wrote:
    The reason they are created outside is so features like debug work and you can develop. There is no duplication, they are mapped via a symlink at start time. This is a very, very common way of doing development for any system (and is how my own internal dev systems work as well), although that is changing. Also from memory Doodba can use git-autoshare which further reduces the disk space taken.

    But it is docker and compose, if you want them in the image then just use the staging build, but it will be much harder to work with. The alternative is if you don't want to edit or see source for example some OCA modules is you can pip install using pip.txt in dependencies.

    On Mon, Nov 4, 2024 at 11:32 AM Francesco Ballerini <notifications@odoo-community.org> wrote:
    Hi, I am configuring an instance with Doodba, I am using the doodba copier template to set up the instance
    I just find out how to use the git aggregator by launching these commands

    export DOODBA_GITAGGREGATE_UID="$(id -u $USER)" DOODBA_GITAGGREGATE_GID="$(id -g $USER)" DOODBA_UMASK="$(umask)"
    docker-compose -f setup-devel.yaml run --rm odoo

    which I found in setup-devel yaml file file.

    I have a few questions:
    1 - is it actually the proper way to use it on the project ? (maybe it should automatically start when launching docker-compose, but it's not my case)
    2 - I see that by using the aggregator I still have repositories created in the host, so they are created outside the container as volumes then recreated in the container.
    Is there a way to avoid keeping remotes (source code, oca repos etc..) on the host and directly create them only inside the container at build time with the aggregator?

    Really appreciate any kind of help.

    Regards
    -- Francesco Ballerini

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Graeme Gellatly - 12:51 - 5 Nov 2024
  • Re: Git Aggregator on Doodba
    @Graeme Gellatly 
    Thank you for the clarification, I apologize I didn't specified but in this case I'm experimenting in order to set up a production environment on ubuntu server installation, we don't plan to develop directly on the server in this scenario.   

    I generally only take care about development so I'm a bit new to the deployment subject with docker, you said  

    if you want them in the image then just use the staging build

    I've searched for a "staging" branch and checked for "staging" in doodba documentation, but I didn’t quite understand what "staging build" means in the Doodba context. 

    The alternative is if you don't want to edit or see source for example some OCA modules is you can pip install using pip.txt in dependencies.

    Also this sentence wasn't truly clear for me, do you mean I can declare a pip.txt and install OCA modules with that similar to requirements.txt? Is that a doodba feature or I must implement it in the entrypoint file? 

    @Rolando Pérez Rebollo
    Thanks! I've read some doodba documentation but I've missed "daily usage" file doc in doodba copier template repository, I will take a look closely

    Regards
    --Francesco


    Il giorno mar 5 nov 2024 alle ore 00:02 Danny W. Adair <notifications@odoo-community.org> ha scritto:
    On Tuesday, 5 November 2024 at 11:13, Rolando Pérez Rebollo <notifications@odoo-community.org> wrote:

    I don't want to hijack the thread but, Do U have any example of git-autoshare in the context of git-aggregator in doodba? I check out several not merged PRs, I got the impression it was never incorporated to doodba? I'm missing that feature to save some bandwidth.

    It just needs to be installed so it wraps git clone​.

    (in 3.0.0+ https://github.com/acsone/git-aggregator?tab=readme-ov-file#300-2022-09-20 )

    Re: --filter=blob:none​ see also https://github.blog/open-source/git/get-up-to-speed-with-partial-clone-and-shallow-clone/

    Cheers,
    Danny




    On 11/3/24 23:33, Graeme Gellatly wrote:
    The reason they are created outside is so features like debug work and you can develop. There is no duplication, they are mapped via a symlink at start time. This is a very, very common way of doing development for any system (and is how my own internal dev systems work as well), although that is changing. Also from memory Doodba can use git-autoshare which further reduces the disk space taken.

    But it is docker and compose, if you want them in the image then just use the staging build, but it will be much harder to work with. The alternative is if you don't want to edit or see source for example some OCA modules is you can pip install using pip.txt in dependencies.

    On Mon, Nov 4, 2024 at 11:32 AM Francesco Ballerini <notifications@odoo-community.org> wrote:
    Hi, I am configuring an instance with Doodba, I am using the doodba copier template to set up the instance
    I just find out how to use the git aggregator by launching these commands

    export DOODBA_GITAGGREGATE_UID="$(id -u $USER)" DOODBA_GITAGGREGATE_GID="$(id -g $USER)" DOODBA_UMASK="$(umask)"
    docker-compose -f setup-devel.yaml run --rm odoo

    which I found in setup-devel yaml file file.

    I have a few questions:
    1 - is it actually the proper way to use it on the project ? (maybe it should automatically start when launching docker-compose, but it's not my case)
    2 - I see that by using the aggregator I still have repositories created in the host, so they are created outside the container as volumes then recreated in the container.
    Is there a way to avoid keeping remotes (source code, oca repos etc..) on the host and directly create them only inside the container at build time with the aggregator?

    Really appreciate any kind of help.

    Regards
    -- Francesco Ballerini

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Francesco Ballerini - 12:31 - 5 Nov 2024
  • Re: Git Aggregator on Doodba
    On Tuesday, 5 November 2024 at 11:13, Rolando Pérez Rebollo <notifications@odoo-community.org> wrote:

    I don't want to hijack the thread but, Do U have any example of git-autoshare in the context of git-aggregator in doodba? I check out several not merged PRs, I got the impression it was never incorporated to doodba? I'm missing that feature to save some bandwidth.

    It just needs to be installed so it wraps git clone​.

    (in 3.0.0+ https://github.com/acsone/git-aggregator?tab=readme-ov-file#300-2022-09-20 )

    Re: --filter=blob:none​ see also https://github.blog/open-source/git/get-up-to-speed-with-partial-clone-and-shallow-clone/

    Cheers,
    Danny




    On 11/3/24 23:33, Graeme Gellatly wrote:
    The reason they are created outside is so features like debug work and you can develop. There is no duplication, they are mapped via a symlink at start time. This is a very, very common way of doing development for any system (and is how my own internal dev systems work as well), although that is changing. Also from memory Doodba can use git-autoshare which further reduces the disk space taken.

    But it is docker and compose, if you want them in the image then just use the staging build, but it will be much harder to work with. The alternative is if you don't want to edit or see source for example some OCA modules is you can pip install using pip.txt in dependencies.

    On Mon, Nov 4, 2024 at 11:32 AM Francesco Ballerini <notifications@odoo-community.org> wrote:
    Hi, I am configuring an instance with Doodba, I am using the doodba copier template to set up the instance
    I just find out how to use the git aggregator by launching these commands

    export DOODBA_GITAGGREGATE_UID="$(id -u $USER)" DOODBA_GITAGGREGATE_GID="$(id -g $USER)" DOODBA_UMASK="$(umask)"
    docker-compose -f setup-devel.yaml run --rm odoo

    which I found in setup-devel yaml file file.

    I have a few questions:
    1 - is it actually the proper way to use it on the project ? (maybe it should automatically start when launching docker-compose, but it's not my case)
    2 - I see that by using the aggregator I still have repositories created in the host, so they are created outside the container as volumes then recreated in the container.
    Is there a way to avoid keeping remotes (source code, oca repos etc..) on the host and directly create them only inside the container at build time with the aggregator?

    Really appreciate any kind of help.

    Regards
    -- Francesco Ballerini

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe



    by Danny Adair - 12:01 - 5 Nov 2024
  • Re: Git Aggregator on Doodba

    I don't want to hijack the thread but, Do U have any example of git-autoshare in the context of git-aggregator in doodba? I check out several not merged PRs, I got the impression it was never incorporated to doodba? I'm missing that feature to save some bandwidth.

    On 11/3/24 23:33, Graeme Gellatly wrote:
    The reason they are created outside is so features like debug work and you can develop. There is no duplication, they are mapped via a symlink at start time. This is a very, very common way of doing development for any system (and is how my own internal dev systems work as well), although that is changing. Also from memory Doodba can use git-autoshare which further reduces the disk space taken.

    But it is docker and compose, if you want them in the image then just use the staging build, but it will be much harder to work with. The alternative is if you don't want to edit or see source for example some OCA modules is you can pip install using pip.txt in dependencies.

    On Mon, Nov 4, 2024 at 11:32 AM Francesco Ballerini <notifications@odoo-community.org> wrote:
    Hi, I am configuring an instance with Doodba, I am using the doodba copier template to set up the instance
    I just find out how to use the git aggregator by launching these commands

    export DOODBA_GITAGGREGATE_UID="$(id -u $USER)" DOODBA_GITAGGREGATE_GID="$(id -g $USER)" DOODBA_UMASK="$(umask)"
    docker-compose -f setup-devel.yaml run --rm odoo

    which I found in setup-devel yaml file file.

    I have a few questions:
    1 - is it actually the proper way to use it on the project ? (maybe it should automatically start when launching docker-compose, but it's not my case)
    2 - I see that by using the aggregator I still have repositories created in the host, so they are created outside the container as volumes then recreated in the container.
    Is there a way to avoid keeping remotes (source code, oca repos etc..) on the host and directly create them only inside the container at build time with the aggregator?

    Really appreciate any kind of help.

    Regards
    -- Francesco Ballerini

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Ing. Rolando Pérez Rebollo - 11:11 - 4 Nov 2024