saltyorg / Sandbox

Saltbox Sandbox
GNU General Public License v3.0
68 stars 94 forks source link

blackbox: new role to allow for using non-SB containers from inventory #206

Closed powerdude closed 1 year ago

powerdude commented 1 year ago

Description

This is a new role using the instance tech from the Starr app, to open the door and allow for usage of almost any images straight from the inventory without an official role being created. It allows people to fully create a container, but also benefit from the current infrastructure so that they could make services public if desired.

How Has This Been Tested?

With this in place, I was able to create a container that currently doesn't exist in Saltbox without any issues.

blackbox_instances: 
  - "qdirstat"

qdirstat_web_port: "5800"
qdirstat_docker_image_repo: "jlesage/qdirstat"
qdirstat_docker_image_tag: "latest"
qdirstat_docker_volumes_custom:
  - "/:/storage:ro"
saltydk commented 1 year ago

Not sure this makes sense. You can do this in saltbox_mod if you want but maintaining this as saltbox changes will just get annoying to cover all the variations that may be required.

powerdude commented 1 year ago

ok

saltydk commented 1 year ago

For anything that is fine with such a simple template as this docker-compose would fit better, no?

powerdude commented 1 year ago

Well, this was just a simple example of one container I use.

I don't think so because you'd have to pull together all the traefik labels and such and worry about things saltbox already worries about. It seems easier to me to do this versus creating new roles or using docker-compose.

I'm fine if you don't want this as I find it extremely useful to spin something up in just the inventory, so I'll keep this role in my saltbox_mod as I wasn't fully aware of it before.

saltydk commented 1 year ago

Sure, I understand why you think this could be useful.

My worry with this is that is seems complicated to support, which I suppose the others may disagree with me on and we could ignore that. The template itself would, in my opinion, need more logic to cover stuff like user-mapping when containers don't support PUID/GUID. Default mounts should be entirely empty and rely on the user adding what a container needs as it is impossible to make meaningful considerations there.

You'd also need to cover all the fields we cover in the create containers resource task otherwise this would require edits for things that do not fit the mold currently constructed.

So if you put more effort into making this versatile maybe it would have a better shot of getting merged, or we could make it one of the preset roles in saltbox_mod if that makes more sense.

powerdude commented 1 year ago

Good points and I'm sure there are other edge cases to handle too. It can be closed for now as I'll grow it as the need arises over time instead of trying to solve for all the things you've listed now.

saltydk commented 1 year ago

You can close it yourself if you don't want to work on it here.