mirror of
https://github.com/yusing/godoxy.git
synced 2026-01-11 21:10:30 +01:00
feat(agent): add runtime configuration to agent env and script
This commit is contained in:
@@ -12,6 +12,7 @@ import (
|
||||
"github.com/yusing/go-proxy/internal/metrics/systeminfo"
|
||||
httpServer "github.com/yusing/go-proxy/internal/net/gphttp/server"
|
||||
"github.com/yusing/go-proxy/internal/task"
|
||||
"github.com/yusing/go-proxy/internal/utils/strutils"
|
||||
"github.com/yusing/go-proxy/pkg"
|
||||
socketproxy "github.com/yusing/go-proxy/socketproxy/pkg"
|
||||
)
|
||||
@@ -46,6 +47,7 @@ func main() {
|
||||
log.Info().Msgf("GoDoxy Agent version %s", pkg.GetVersion())
|
||||
log.Info().Msgf("Agent name: %s", env.AgentName)
|
||||
log.Info().Msgf("Agent port: %d", env.AgentPort)
|
||||
log.Info().Msgf("Agent runtime: %s", env.Runtime)
|
||||
|
||||
log.Info().Msg(`
|
||||
Tips:
|
||||
@@ -63,9 +65,11 @@ Tips:
|
||||
server.StartAgentServer(t, opts)
|
||||
|
||||
if socketproxy.ListenAddr != "" {
|
||||
log.Info().Msgf("Docker socket listening on: %s", socketproxy.ListenAddr)
|
||||
runtime := strutils.Title(string(env.Runtime))
|
||||
|
||||
log.Info().Msgf("%s socket listening on: %s", runtime, socketproxy.ListenAddr)
|
||||
opts := httpServer.Options{
|
||||
Name: "docker",
|
||||
Name: runtime,
|
||||
HTTPAddr: socketproxy.ListenAddr,
|
||||
Handler: socketproxy.NewHandler(),
|
||||
}
|
||||
|
||||
11
agent/pkg/env/env.go
vendored
11
agent/pkg/env/env.go
vendored
@@ -3,7 +3,10 @@ package env
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/yusing/go-proxy/agent/pkg/agent"
|
||||
"github.com/yusing/go-proxy/internal/common"
|
||||
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
func DefaultAgentName() string {
|
||||
@@ -21,6 +24,7 @@ var (
|
||||
AgentCACert string
|
||||
AgentSSLCert string
|
||||
DockerSocket string
|
||||
Runtime agent.ContainerRuntime
|
||||
)
|
||||
|
||||
func init() {
|
||||
@@ -35,4 +39,11 @@ func Load() {
|
||||
|
||||
AgentCACert = common.GetEnvString("AGENT_CA_CERT", "")
|
||||
AgentSSLCert = common.GetEnvString("AGENT_SSL_CERT", "")
|
||||
Runtime = agent.ContainerRuntime(common.GetEnvString("RUNTIME", "docker"))
|
||||
|
||||
switch Runtime {
|
||||
case agent.ContainerRuntimeDocker, agent.ContainerRuntimePodman: //, agent.ContainerRuntimeNerdctl:
|
||||
default:
|
||||
log.Fatal().Str("runtime", string(Runtime)).Msg("invalid runtime")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -74,6 +74,14 @@ if [ -z "$COMMAND" ]; then
|
||||
echo "AGENT_SSL_CERT is not set"
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$DOCKER_SOCKET" ]; then
|
||||
echo "DOCKER_SOCKET is not set"
|
||||
exit 1
|
||||
fi
|
||||
if [ -z "$RUNTIME" ]; then
|
||||
echo "RUNTIME is not set"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# init variables
|
||||
@@ -200,6 +208,8 @@ AGENT_NAME="${AGENT_NAME}"
|
||||
AGENT_PORT="${AGENT_PORT}"
|
||||
AGENT_CA_CERT="${AGENT_CA_CERT}"
|
||||
AGENT_SSL_CERT="${AGENT_SSL_CERT}"
|
||||
DOCKER_SOCKET="${DOCKER_SOCKET}"
|
||||
RUNTIME="${RUNTIME}"
|
||||
EOF
|
||||
chmod 600 $env_file
|
||||
|
||||
|
||||
Reference in New Issue
Block a user