Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var AgentCmd = &cobra.Command{
Use: "agent",
Short: "Start the agent process",
Args: cobra.NoArgs,
RunE: func(cmd *cobra.Command, args []string) error {
setLogLevel()
agentMode := config.ModeProject
if hostModeFlag {
agentMode = config.ModeHost
}
c, err := config.GetConfig(agentMode)
if err != nil {
return err
}
c.ProjectDir = filepath.Join(os.Getenv("HOME"), c.ProjectName)
if projectDir := os.Getenv("DAYTONA_PROJECT_DIR"); projectDir != "" {
c.ProjectDir = projectDir
}
gitLogWriter := io.MultiWriter(os.Stdout)
var agentLogWriter io.Writer
if c.LogFilePath != nil {
logFile, err := os.OpenFile(*c.LogFilePath, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
return err
}
defer logFile.Close()
gitLogWriter = io.MultiWriter(os.Stdout, logFile)
agentLogWriter = logFile
}
git := &git.Service{
ProjectDir: c.ProjectDir,
GitConfigFileName: filepath.Join(os.Getenv("HOME"), ".gitconfig"),
LogWriter: gitLogWriter,
}
sshServer := &ssh.Server{
ProjectDir: c.ProjectDir,
DefaultProjectDir: os.Getenv("HOME"),
}
tailscaleHostname := project.GetProjectHostname(c.WorkspaceId, c.ProjectName)
if hostModeFlag {
tailscaleHostname = c.WorkspaceId
}
telemetryEnabled := os.Getenv("DAYTONA_TELEMETRY_ENABLED") == "true"
tailscaleServer := &tailscale.Server{
Hostname: tailscaleHostname,
Server: c.Server,
TelemetryEnabled: telemetryEnabled,
ClientId: c.ClientId,
}
agent := agent.Agent{
Config: c,
Git: git,
Ssh: sshServer,
Tailscale: tailscaleServer,
LogWriter: agentLogWriter,
TelemetryEnabled: telemetryEnabled,
}
return agent.Start()
},
}
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.