1
0
mirror of https://github.com/fumiama/terasu-cloudflared.git synced 2026-06-07 19:40:30 +08:00

TUN-3438: move ingress into own package, read into TunnelConfig

This commit is contained in:
Adam Chalmers
2020-10-08 19:12:29 -05:00
parent 53a1fa46a8
commit 0eebc7cef9
6 changed files with 141 additions and 111 deletions

View File

@@ -3,6 +3,7 @@ package config
import (
"errors"
"fmt"
"io/ioutil"
"os"
"path/filepath"
"runtime"
@@ -11,6 +12,7 @@ import (
"github.com/urfave/cli/v2"
"gopkg.in/yaml.v2"
"github.com/cloudflare/cloudflared/ingress"
"github.com/cloudflare/cloudflared/validation"
)
@@ -193,3 +195,17 @@ func ValidateUrl(c *cli.Context, allowFromArgs bool) (string, error) {
validUrl, err := validation.ValidateUrl(url)
return validUrl, err
}
func ReadRules(c *cli.Context) ([]ingress.Rule, error) {
configFilePath := c.String("config")
if configFilePath == "" {
return nil, ErrNoConfigFile
}
fmt.Printf("Reading from config file %s\n", configFilePath)
configBytes, err := ioutil.ReadFile(configFilePath)
if err != nil {
return nil, err
}
rules, err := ingress.ParseIngress(configBytes)
return rules, err
}