Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Orchard and Tart integration #95

Open
rkelleyrtp opened this issue Jun 24, 2023 · 3 comments
Open

Orchard and Tart integration #95

rkelleyrtp opened this issue Jun 24, 2023 · 3 comments
Labels
question Further information is requested

Comments

@rkelleyrtp
Copy link

I installed Orchard and Tart on my M2 laptop today and noticed the Orchard worker does not have the same set of functionality as Tart. Is the plan for Orchard to expose the same capability as the Tart CLI tool, or to simply act as an orchestrator (connect to multiple Tart instances)?

Also, I would like to know to connect multiple instances of Tart to the Orchard controller. Maybe it's in the docs somewhere, but I couldn't find it.

@fkorotkov
Copy link
Contributor

Hey @rkelleyrtp, you can check the Deployment Guide about how to deploy a controller independently and how to connect multiple workers.

As for compatibility with Tart CLI, Orchard will try to support as many arguments/features as possible but some of them can't be replicated as is. For example, for folder sharing #91 we'll restrict which folders can be actually mounted. You won't be able to mount an arbitrary folder on the worker for security reasons (for example, so it's how possible to mount $HOME and still some secrets from the worker).

Please let us know which feature of Orchard is missing and we'll try our best to help with your use case.

@fkorotkov fkorotkov added the question Further information is requested label Jun 24, 2023
@rkelleyrtp
Copy link
Author

Hi Fedor,

Thanks for the info. After some digging, I was finally able to get a controller running on my Mac ("Mac-1") as well as a worker running on both Mac-1 and Mac-2. I will post the instructions in a different reply for others to see.

As for the difference between Tart and Orchard:

  • I noticed the inventory of Tart VMs do not get automatically propagated to Orchard. On my Mac-2 machine, I have an inventory of 10 images created but none of them appear in Orchard. However, if I manually started one via Tart on Mac-2 (after connecting to the controller), the VM appeared in the list.
  • I could not find a way to launch a VM on a particular machine. It seems Orchard picks one automatically
  • The orchard list VMs command does not show where the VM is running
  • The orchard command does not have detailed commands for VM management; for example, it does not have clone, set, get, list, rename, etc. Those VM commands are in the Tart cli.
  • It seems all the VMs I tried to create got started on Mac-2. I was expecting a round-robin effect to launch VMs.

I have a number of other items but will keep those out of the discussion for now. I suppose you guys have a roadmap or planned-features list somewhere. I probably should just refer to that before making more comments. Or, maybe I am just not understanding the purpose of the controller.

Thanks for the reply thus far!

@rkelleyrtp
Copy link
Author

Quick instructions for anyone looking to get a couple of Macs working in a home lab build with Orchard:

On the Orchard Controller Machine (eg: Mac-1)

export ORCHARD_BOOTSTRAP_ADMIN_TOKEN=$(openssl rand -hex 32)
export ORCHARD_CONTROLLER_IP=<<IP_of_Mac-1>>
export GIN_MODE=release
orchard controller run
orchard context create --name production --service-account-name bootstrap-admin  --service-account-token $ORCHARD_BOOTSTRAP_ADMIN_TOKEN  https://$ORCHARD_CONTROLLER_IP:6120

Notes:

  • The port used by orchard is 6120. If you use any ports lower than 1024 (eg: 443), you need to run the orchard commands via sudo. Advice: stick with port 6120
  • The "GIN_MODE" env var controls the debug output of the controller. The "release" keyword seems to disable debug output.

On Mac-1 (eg worker-1)
orchard worker run https://$ORCHARD_CONTROLLER_IP:6120 $ORCHARD_BOOTSTRAP_ADMIN_TOKEN


On Mac-2 (eg worker-2)
orchard worker run https://$ORCHARD_CONTROLLER_IP:6120 $ORCHARD_BOOTSTRAP_ADMIN_TOKEN

I think this is all I needed to do to get Orchard working...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants