|
3 | 3 | // |
4 | 4 | // Usage: |
5 | 5 | // |
6 | | -// bosh-agent enable-monit-access --check # Check if new firewall is available (exit 0 = yes) |
7 | | -// bosh-agent enable-monit-access # Add firewall rule (cgroup preferred, UID fallback) |
| 6 | +// bosh-agent enable-monit-access --validate-nftables-present # Validates if new firewall is available (exit 0 = yes) |
| 7 | +// bosh-agent enable-monit-access # Add firewall rule (cgroup preferred, UID fallback) |
8 | 8 | // |
9 | 9 | // This binary serves as a replacement for the complex bash firewall setup logic |
10 | 10 | // that was previously in job service scripts. |
11 | | -package monitaccess |
| 11 | +package firewall |
12 | 12 |
|
13 | 13 | import ( |
14 | 14 | "errors" |
15 | 15 | "os" |
16 | 16 |
|
17 | | - "github.com/cloudfoundry/bosh-agent/v2/platform/firewall" |
18 | 17 | boshlog "github.com/cloudfoundry/bosh-utils/logger" |
19 | 18 | ) |
20 | 19 |
|
21 | 20 | func EnableMonitAccess(logger boshlog.Logger, command string, args []string) { |
22 | 21 | logger.UseTags([]boshlog.LogTag{{Name: "monit-access", LogLevel: boshlog.LevelDebug}}) |
23 | 22 |
|
24 | 23 | // Validate nftables mode: verify if nftables is available |
25 | | - if len(args) > 1 && args[0] == "--validate-nftables-present" { |
26 | | - mgr, err := firewall.NewNftablesFirewall(logger) |
| 24 | + if len(args) > 0 && args[0] == "--validate-nftables-present" { |
| 25 | + mgr, err := NewNftablesFirewall(logger) |
27 | 26 | if err != nil { |
28 | 27 | os.Exit(1) |
29 | 28 | } |
30 | | - defer mgr.Cleanup() |
| 29 | + defer mgr.Cleanup() //nolint:errcheck |
31 | 30 | os.Exit(0) |
32 | 31 | } |
33 | 32 |
|
34 | | - mgr, err := firewall.NewNftablesFirewall(logger) |
| 33 | + mgr, err := NewNftablesFirewall(logger) |
35 | 34 | if err != nil { |
36 | | - if errors.Is(err, firewall.ErrMonitJobsChainNotFound) { |
| 35 | + if errors.Is(err, ErrMonitJobsChainNotFound) { |
37 | 36 | logger.Info(command, "monit_access_jobs chain not found (old stemcell), skipping") |
38 | 37 | os.Exit(0) |
39 | 38 | } |
40 | 39 | logger.Error(command, "Failed to create firewall manager: %v", err) |
41 | 40 | os.Exit(1) |
42 | 41 | } |
43 | | - defer mgr.Cleanup() |
| 42 | + defer mgr.Cleanup() //nolint:errcheck |
44 | 43 |
|
45 | 44 | // Setup mode: add firewall rule |
46 | 45 | logger.Info(command, "Setting up monit firewall rule") |
|
0 commit comments