MCPcopy Create free account
hub / github.com/github/gh-aw / getFirewallConfig

Function getFirewallConfig

pkg/workflow/firewall.go:63–107  ·  view source on GitHub ↗

getFirewallConfig returns the firewall configuration from network permissions

(workflowData *WorkflowData)

Source from the content-addressed store, hash-verified

61
62// getFirewallConfig returns the firewall configuration from network permissions
63func getFirewallConfig(workflowData *WorkflowData) *FirewallConfig {
64 if workflowData == nil {
65 return nil
66 }
67
68 agentConfig := getAgentConfig(workflowData)
69 agentVersion := ""
70 if agentConfig != nil {
71 agentVersion = agentConfig.Version
72 }
73
74 // Check resolved firewall configuration from network permissions
75 if workflowData.NetworkPermissions != nil && workflowData.NetworkPermissions.Firewall != nil {
76 config := workflowData.NetworkPermissions.Firewall
77 if agentVersion != "" {
78 if config.Version == agentVersion {
79 return config
80 }
81
82 overrideConfig := *config
83 overrideConfig.Version = agentVersion
84 if config.Version == "" {
85 firewallLog.Printf("Using sandbox.agent.version %s for firewall version", agentVersion)
86 } else {
87 firewallLog.Printf("Overriding firewall version %s with sandbox.agent.version %s", config.Version, agentVersion)
88 }
89 return &overrideConfig
90 }
91 if firewallLog.Enabled() {
92 firewallLog.Printf("Retrieved firewall config: enabled=%v, version=%s, logLevel=%s",
93 config.Enabled, config.Version, config.LogLevel)
94 }
95 return config
96 }
97
98 if agentVersion != "" {
99 firewallLog.Printf("Using sandbox.agent.version override: %s", agentVersion)
100 return &FirewallConfig{
101 Enabled: isFirewallEnabled(workflowData),
102 Version: agentVersion,
103 }
104 }
105
106 return nil
107}
108
109// getAgentConfig returns the agent sandbox configuration from sandbox config
110func getAgentConfig(workflowData *WorkflowData) *AgentSandboxConfig {

Callers 12

validateArcDindRootlessFunction · 0.85
isCliProxyNeededFunction · 0.85
GetInstallationStepsMethod · 0.85
BuildAWFCommandFunction · 0.85
BuildAWFArgsFunction · 0.85
addCliProxyGHTokenToEnvFunction · 0.85
generateCreateAwInfoMethod · 0.85
getAWFVersionForSetupFunction · 0.85
collectDockerImagesFunction · 0.85
BuildAWFConfigJSONFunction · 0.85

Calls 4

getAgentConfigFunction · 0.85
isFirewallEnabledFunction · 0.85
PrintfMethod · 0.45
EnabledMethod · 0.45

Tested by

no test coverage detected