nautobot / nautobot-docker-compose

Docker Compose for Nautobot
47 stars 43 forks source link

Update Project to Use Poetry #68

Closed jdrew82 closed 7 months ago

jdrew82 commented 10 months ago

This PR is to refactor the project to use Poetry for dependency management instead of requirements.txt and the older build system. I've made this update to address the following:

  1. Now that we have multiple major versions of Nautobot and Apps we're seeing users experiencing difficulty in managing their dependencies and having unexpected upgrades and changes occurring. Using poetry will enable users to choose their expected Nautobot version and have the most compatible App versions recommended during the dependency resolution process.
  2. The current structure requires utilizing multiple different files for creating the environment and also customizing it. If we change to Poetry this is simplified a lot to executing some shell commands in most cases.
  3. We utilize Poetry and invoke in our Apps and are suggesting it's use in the cookiecutter so should be consistent.
  4. This aligns closer to how we're deploying Nautobot with K8s.
jvanderaa commented 10 months ago

What is the part about adding invoke onto this? Are we still able to do docker compose up to get going?

jdrew82 commented 10 months ago

What is the part about adding invoke onto this? Are we still able to do docker compose up to get going?

I still need to finish updating documentation to include that bit. I think you should still be able to do 'docker compose up' in the environments folder if you specify the project or which files. Need to test to confirm though.

jdrew82 commented 10 months ago

What is the part about adding invoke onto this? Are we still able to do docker compose up to get going?

I've confirmed that you are able to use docker compose up commands if you want, but you need to add all the additional toggles such as specifying the project name and folder. The invoke command makes this much simpler so I think it makes more sense to just tell users to use the invoke commands.

sslhansen commented 9 months ago

Just a small comment to the readme. The creds.example.env file is referred to as creds.example.example instead of creds.example.env on line 128 in the code block :)

image