Documentation
¶
Index ¶
- Constants
- Variables
- func CallForEachString(label string, callOnSet []string, callFn func(string) error) (callErrors []error)
- func Deploy() error
- func PantherNames(setString string) []string
- func PreCheck(region string) error
- func Stack(packager *pkg.Packager, templatePath, stack string, params map[string]string) (map[string]string, error)
- type Company
- type FirstUser
- type Infra
- type LogSubscriptions
- type Monitoring
- type PantherConfig
- type Setup
- type Web
Constants ¶
View Source
const ConfigFilepath = "deployments/panther_config.yml"
Variables ¶
View Source
var SupportedRegions = map[string]bool{ "ap-northeast-1": true, "ap-northeast-2": true, "ap-south-1": true, "ap-southeast-1": true, "ap-southeast-2": true, "ca-central-1": true, "eu-central-1": true, "eu-north-1": true, "eu-west-1": true, "eu-west-2": true, "eu-west-3": true, "sa-east-1": true, "us-east-1": true, "us-east-2": true, "us-west-1": true, "us-west-2": true, }
SupportedRegions is a set of region names where Panther can be deployed. Not all AWS services are available in every region. https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services
Functions ¶
func CallForEachString ¶ added in v1.16.0
func CallForEachString(label string, callOnSet []string, callFn func(string) error) (callErrors []error)
Call a method for every string in the callOnSet string slice. Return a slice of errors where the index of the error is the index of the callOnSet string used as the argument in the function call.
func PantherNames ¶ added in v1.16.0
Takes a string and returns the panther- prefixed, lowercased slice of words(strings) (separated by spaces). e.g "oRg-ApI" -> []string{"panther-org-api"} e.g "one two THREE" -> []string{"panther-one", "panther-two", "panther-three"}
Types ¶
type Infra ¶
type Infra struct {
BaseLayerVersionArns string `yaml:"BaseLayerVersionArns"`
LoadBalancerSecurityGroupCidr string `yaml:"LoadBalancerSecurityGroupCidr"`
LogProcessorLambdaMemorySize int `yaml:"LogProcessorLambdaMemorySize"`
LogProcessorLambdaSQSReadBatchSize string `yaml:"LogProcessorLambdaSQSReadBatchSize"`
PipLayer []string `yaml:"PipLayer"`
KvTableBillingMode string `yaml:"KvTableBillingMode"`
PythonLayerVersionArn string `yaml:"PythonLayerVersionArn"`
PythonManagedPolicyArn string `yaml:"PythonManagedPolicyArn"`
PythonAssumableRoleArns []string `yaml:"PythonAssumableRoleArns"`
SecurityGroupID string `yaml:"SecurityGroupID"`
SubnetOneID string `yaml:"SubnetOneID"`
SubnetTwoID string `yaml:"SubnetTwoID"`
SubnetOneIPRange string `yaml:"SubnetOneIPRange"`
SubnetTwoIPRange string `yaml:"SubnetTwoIPRange"`
VpcID string `yaml:"VpcID"`
}
type LogSubscriptions ¶
type LogSubscriptions struct {
PrincipalARNs []string `yaml:"PrincipalARNs"`
}
type Monitoring ¶
type PantherConfig ¶
type PantherConfig struct {
Infra Infra `yaml:"Infra"`
Monitoring Monitoring `yaml:"Monitoring"`
Setup Setup `yaml:"Setup"`
Web Web `yaml:"Web"`
}
type Setup ¶
type Setup struct {
Company Company `yaml:"Company"`
FirstUser FirstUser `yaml:"FirstUser"`
OnboardSelf bool `yaml:"OnboardSelf"`
EnableS3AccessLogs bool `yaml:"EnableS3AccessLogs"`
EnableCloudTrail bool `yaml:"EnableCloudTrail"`
EnableGuardDuty bool `yaml:"EnableGuardDuty"`
S3AccessLogsBucket string `yaml:"S3AccessLogsBucket"`
DataReplicationBucket string `yaml:"DataReplicationBucket"`
InitialAnalysisSets []string `yaml:"InitialAnalysisSets"`
LogSubscriptions LogSubscriptions `yaml:"LogSubscriptions"`
}
Click to show internal directories.
Click to hide internal directories.