abundant-judge-84756
03/10/2025, 10:51 AMflyteagent:
enabled: true
plugin_config:
plugins:
agent-service:
defaultAgent:
endpoint: "dns:///flyteagent.flyte-core.svc.cluster.local:8000"
insecure: true
agents:
my-custom-agent:
# I want to use a different endpoint here depending on the domain of my task
endpoint: "dns:///my-custom-agent.live:8000"
agentForTaskTypes:
- custom_task: my-custom-agent
damp-lion-88352
03/10/2025, 2:15 PMdamp-lion-88352
03/10/2025, 2:15 PMabundant-judge-84756
03/10/2025, 2:31 PMglamorous-carpet-83516
03/10/2025, 6:28 PMbillowy-church-83438
03/11/2025, 12:41 AMglamorous-carpet-83516
03/11/2025, 7:35 PMmight be to create separate agents dedicated to specific runtimes rather than overloading a single agent with multiple execution modesagree, the alternative is to create a separate agent.
abundant-judge-84756
03/13/2025, 3:27 PMdev
or next
domain on the flyte cluster, and have these automatically talk to the next/staging versions of the agents. In the current setup, the flyte cluster only knows about one agent endpoint for a particular task type - the live agent - so we don't have an easy way to integration test agent changes without deploying the changes to live agents.
Pointing a local sandbox workflow to the -next agents is an option but isn't ideal - we can't always replicate the conditions on our remote cluster in the local sandbox environment.
If the agent is meant to handle distinct workflow types differently, a more scalable approach might be to create separate agents dedicated to specific runtimes rather than overloading a single agent with multiple execution modes.I'm not 100% sure I follow this comment, but it might be a misunderstanding of our use case. We do already have separate agent instances - next (/staging) and live, which have identical functionality and handle identical tasks, and we're hoping to use one as a staging ground to deploy and test new changes. There's only two ways around this that we've been able to think of at the moment - option 1) self-host a second Flyte cluster that's used for testing workflows before making changes to live infrastructure. This confuses the concept of domains, but would allow us to run a 'staging' configuration that points to different agent endpoints. - option 2) create different task definitions - MyAgentTaskNext and MyAgentTaskLive that get picked up by different agents, and use conditionals in the workflows to decide which task to run based on the execution domain. This feels like a bit of an anti-pattern and it introduces a lot of conditional steps to our workflows 🤔 Happy to make an issue - I'll wait until we've confirmed whether this is something that does indeed make sense as a potential feature.
glamorous-carpet-83516
03/13/2025, 11:55 PMbillowy-church-83438
03/14/2025, 3:50 AMThe use case here is for remote testing
identical code/execution but for different domains
we’re hoping to use one as a staging ground to deploy and test new changes.I think what you are proposing is some cost-effective way to do integration testing in PROD. 🙂 For example, currently, we have the luxury to spin off another flyte data planes with bunch of k8s GPU/nodes provisioned for staging. Once tested, the same code same execution will be rolled out to PROD. Your use case probably can enable the testing in PROD directly without additional resources cost and operational overhead. :) Looking forward to seeing the PR that Kevin mentioned as well. 👍