diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..fb51fd2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,16 @@ +FROM golang:1.21-alpine AS builder +WORKDIR /app + +COPY go.mod go.sum ./ + +RUN go mod download + +COPY . . + +RUN CGO_ENABLED=0 GOOS=linux go build -o /app/main + +FROM scratch + +COPY --from=builder /app/main /app/main + +ENTRYPOINT ["/app/main", "start"] \ No newline at end of file diff --git a/cdk/.gitignore b/cdk/.gitignore new file mode 100644 index 0000000..92fe1ec --- /dev/null +++ b/cdk/.gitignore @@ -0,0 +1,19 @@ +# Binaries for programs and plugins +*.exe +*.exe~ +*.dll +*.so +*.dylib + +# Test binary, built with `go test -c` +*.test + +# Output of the go coverage tool, specifically when used with LiteIDE +*.out + +# go.sum should be committed +!go.sum + +# CDK asset staging directory +.cdk.staging +cdk.out diff --git a/cdk/.nvmrc b/cdk/.nvmrc new file mode 100644 index 0000000..093fa3e --- /dev/null +++ b/cdk/.nvmrc @@ -0,0 +1 @@ +v20.8.1 \ No newline at end of file diff --git a/cdk/cdk.json b/cdk/cdk.json new file mode 100644 index 0000000..b578999 --- /dev/null +++ b/cdk/cdk.json @@ -0,0 +1,59 @@ +{ + "app": "go mod download && go run test.go", + "watch": { + "include": [ + "**" + ], + "exclude": [ + "README.md", + "cdk*.json", + "go.mod", + "go.sum", + "**/*test.go" + ] + }, + "context": { + "@aws-cdk/aws-lambda:recognizeLayerVersion": true, + "@aws-cdk/core:checkSecretUsage": true, + "@aws-cdk/core:target-partitions": [ + "aws", + "aws-cn" + ], + "@aws-cdk-containers/ecs-service-extensions:enableDefaultLogDriver": true, + "@aws-cdk/aws-ec2:uniqueImdsv2TemplateName": true, + "@aws-cdk/aws-ecs:arnFormatIncludesClusterName": true, + "@aws-cdk/aws-iam:minimizePolicies": true, + "@aws-cdk/core:validateSnapshotRemovalPolicy": true, + "@aws-cdk/aws-codepipeline:crossAccountKeyAliasStackSafeResourceName": true, + "@aws-cdk/aws-s3:createDefaultLoggingPolicy": true, + "@aws-cdk/aws-sns-subscriptions:restrictSqsDescryption": true, + "@aws-cdk/aws-apigateway:disableCloudWatchRole": true, + "@aws-cdk/core:enablePartitionLiterals": true, + "@aws-cdk/aws-events:eventsTargetQueueSameAccount": true, + "@aws-cdk/aws-iam:standardizedServicePrincipals": true, + "@aws-cdk/aws-ecs:disableExplicitDeploymentControllerForCircuitBreaker": true, + "@aws-cdk/aws-iam:importedRoleStackSafeDefaultPolicyName": true, + "@aws-cdk/aws-s3:serverAccessLogsUseBucketPolicy": true, + "@aws-cdk/aws-route53-patters:useCertificate": true, + "@aws-cdk/customresources:installLatestAwsSdkDefault": false, + "@aws-cdk/aws-rds:databaseProxyUniqueResourceName": true, + "@aws-cdk/aws-codedeploy:removeAlarmsFromDeploymentGroup": true, + "@aws-cdk/aws-apigateway:authorizerChangeDeploymentLogicalId": true, + "@aws-cdk/aws-ec2:launchTemplateDefaultUserData": true, + "@aws-cdk/aws-secretsmanager:useAttachedSecretResourcePolicyForSecretTargetAttachments": true, + "@aws-cdk/aws-redshift:columnId": true, + "@aws-cdk/aws-stepfunctions-tasks:enableEmrServicePolicyV2": true, + "@aws-cdk/aws-ec2:restrictDefaultSecurityGroup": true, + "@aws-cdk/aws-apigateway:requestValidatorUniqueId": true, + "@aws-cdk/aws-kms:aliasNameRef": true, + "@aws-cdk/aws-autoscaling:generateLaunchTemplateInsteadOfLaunchConfig": true, + "@aws-cdk/core:includePrefixInUniqueNameGeneration": true, + "@aws-cdk/aws-efs:denyAnonymousAccess": true, + "@aws-cdk/aws-opensearchservice:enableOpensearchMultiAzWithStandby": true, + "@aws-cdk/aws-lambda-nodejs:useLatestRuntimeVersion": true, + "@aws-cdk/aws-efs:mountTargetOrderInsensitiveLogicalId": true, + "@aws-cdk/aws-rds:auroraClusterChangeScopeOfInstanceParameterGroupWithEachParameters": true, + "@aws-cdk/aws-appsync:useArnForSourceApiAssociationIdentifier": true, + "@aws-cdk/aws-rds:preventRenderingDeprecatedCredentials": true + } +} diff --git a/cdk/go.mod b/cdk/go.mod new file mode 100644 index 0000000..ed8d7d1 --- /dev/null +++ b/cdk/go.mod @@ -0,0 +1,24 @@ +module cdk + +go 1.21 + +require ( + github.com/aws/aws-cdk-go/awscdk/v2 v2.103.1 + github.com/aws/constructs-go/constructs/v10 v10.2.70 + github.com/aws/jsii-runtime-go v1.89.0 +) + +require ( + github.com/Masterminds/semver/v3 v3.2.1 // indirect + github.com/cdklabs/awscdk-asset-awscli-go/awscliv1/v2 v2.2.200 // indirect + github.com/cdklabs/awscdk-asset-kubectl-go/kubectlv20/v2 v2.1.2 // indirect + github.com/cdklabs/awscdk-asset-node-proxy-agent-go/nodeproxyagentv6/v2 v2.0.1 // indirect + github.com/fatih/color v1.15.0 // indirect + github.com/mattn/go-colorable v0.1.13 // indirect + github.com/mattn/go-isatty v0.0.19 // indirect + github.com/yuin/goldmark v1.4.13 // indirect + golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 // indirect + golang.org/x/mod v0.12.0 // indirect + golang.org/x/sys v0.12.0 // indirect + golang.org/x/tools v0.13.0 // indirect +) diff --git a/cdk/go.sum b/cdk/go.sum new file mode 100644 index 0000000..3d89c1e --- /dev/null +++ b/cdk/go.sum @@ -0,0 +1,45 @@ +github.com/Masterminds/semver/v3 v3.2.1 h1:RN9w6+7QoMeJVGyfmbcgs28Br8cvmnucEXnY0rYXWg0= +github.com/Masterminds/semver/v3 v3.2.1/go.mod h1:qvl/7zhW3nngYb5+80sSMF+FG2BjYrf8m9wsX0PNOMQ= +github.com/aws/aws-cdk-go/awscdk/v2 v2.103.1 h1:MGvfJf/mzWjZbvxUOLoOGqs1ufWFwbYN0tqdIcfhs4U= +github.com/aws/aws-cdk-go/awscdk/v2 v2.103.1/go.mod h1:YiTDqGNUGWRyjTxk8ARq25G+b0UI9K++5pnJRcyc/8s= +github.com/aws/constructs-go/constructs/v10 v10.2.70 h1:CuKeOwf27CzGUt8XxOZStFSOVZ7An5XpCzxvqUk8zW4= +github.com/aws/constructs-go/constructs/v10 v10.2.70/go.mod h1:Jnh2jtqYQBjifA5+03aJmnIItEcjqAgMBJ8iZpFjNRE= +github.com/aws/jsii-runtime-go v1.89.0 h1:1HKw9LyE8lOM9iMiSzVOUAVeUInTNhOyoxQrVVRbSFk= +github.com/aws/jsii-runtime-go v1.89.0/go.mod h1:Jkx2jjw8wKQdQYzwh+JDDGy3MRPwKqDCeSvW6WWubi0= +github.com/cdklabs/awscdk-asset-awscli-go/awscliv1/v2 v2.2.200 h1:CwkS78cin4h5A3IaDcL69GrBI1HgTEB/xtECTf1luCc= +github.com/cdklabs/awscdk-asset-awscli-go/awscliv1/v2 v2.2.200/go.mod h1:sx6+u9s3UHyhm9BGrkGdQgNA0Ni5ekbJ9hW2Gupvoy0= +github.com/cdklabs/awscdk-asset-kubectl-go/kubectlv20/v2 v2.1.2 h1:k+WD+6cERd59Mao84v0QtRrcdZuuSMfzlEmuIypKnVs= +github.com/cdklabs/awscdk-asset-kubectl-go/kubectlv20/v2 v2.1.2/go.mod h1:CvFHBo0qcg8LUkJqIxQtP1rD/sNGv9bX3L2vHT2FUAo= +github.com/cdklabs/awscdk-asset-node-proxy-agent-go/nodeproxyagentv6/v2 v2.0.1 h1:MBBQNKKPJ5GArbctgwpiCy7KmwGjHDjUUH5wEzwIq8w= +github.com/cdklabs/awscdk-asset-node-proxy-agent-go/nodeproxyagentv6/v2 v2.0.1/go.mod h1:/2WiXEft9s8ViJjD01CJqDuyJ8HXBjhBLtK5OvJfdSc= +github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= +github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= +github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616 h1:VLliZ0d+/avPrXXH+OakdXhpJuEoBZuwh1m2j7U6Iug= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= diff --git a/cdk/test.go b/cdk/test.go new file mode 100644 index 0000000..dc1d235 --- /dev/null +++ b/cdk/test.go @@ -0,0 +1,103 @@ +package main + +import ( + "runtime" + + "github.com/aws/aws-cdk-go/awscdk/v2" + "github.com/aws/aws-cdk-go/awscdk/v2/awsecrassets" + "github.com/aws/aws-cdk-go/awscdk/v2/awsecs" + + // "github.com/aws/aws-cdk-go/awscdk/v2/awssqs" + "github.com/aws/constructs-go/constructs/v10" + "github.com/aws/jsii-runtime-go" +) + +type TestStackProps struct { + awscdk.StackProps +} + +func NewPotStackStack(scope constructs.Construct, id string, props *TestStackProps) awscdk.Stack { + var sprops awscdk.StackProps + if props != nil { + sprops = props.StackProps + } + stack := awscdk.NewStack(scope, &id, &sprops) + + _, filename, _, _ := runtime.Caller(1) + appImage := awsecrassets.NewDockerImageAsset(stack, jsii.String("MyAsset"), &awsecrassets.DockerImageAssetProps{ + Directory: jsii.String("./../"), + }) + + taskDefinition := awsecs.NewFargateTaskDefinition(stack, jsii.String("MyTask"), &awsecs.FargateTaskDefinitionProps{ + Cpu: jsii.Number(256), + MemoryLimitMiB: jsii.Number(512), + }) + + container := taskDefinition.AddContainer(jsii.String("TaskDefinition"), &awsecs.ContainerDefinitionOptions{ + Image: awsecs.ContainerImage_FromDockerImageAsset(appImage), + Essential: jsii.Bool(true), + PortMappings: &[]*awsecs.PortMapping{ + { + ContainerPort: jsii.Number(8080), + HostPort: jsii.Number(80), + }, + }, + }) + + taskDefinition.SetDefaultContainer(container) + + cluster := awsecs.NewCluster(stack, jsii.String("EcsCluster"), &awsecs.ClusterProps{}) + awsecs.NewFargateService(stack, jsii.String("EcsService"), &awsecs.FargateServiceProps{ + Cluster: cluster, + TaskDefinition: taskDefinition, + DesiredCount: jsii.Number(1), + AssignPublicIp: jsii.Bool(true), + MaxHealthyPercent: jsii.Number(200), + MinHealthyPercent: jsii.Number(0), + + HealthCheckGracePeriod: awscdk.Duration_Seconds(jsii.Number(60)), + }) + + return stack +} + +func main() { + defer jsii.Close() + + app := awscdk.NewApp(nil) + + NewPotStackStack(app, "TestStack", &TestStackProps{ + awscdk.StackProps{ + Env: env(), + }, + }) + + app.Synth(nil) +} + +// env determines the AWS environment (account+region) in which our stack is to +// be deployed. For more information see: https://docs.aws.amazon.com/cdk/latest/guide/environments.html +func env() *awscdk.Environment { + // If unspecified, this stack will be "environment-agnostic". + // Account/Region-dependent features and context lookups will not work, but a + // single synthesized template can be deployed anywhere. + //--------------------------------------------------------------------------- + return nil + + // Uncomment if you know exactly what account and region you want to deploy + // the stack to. This is the recommendation for production stacks. + //--------------------------------------------------------------------------- + // return &awscdk.Environment{ + // Account: jsii.String("123456789012"), + // Region: jsii.String("us-east-1"), + // } + + // Uncomment to specialize this stack for the AWS Account and Region that are + // implied by the current CLI configuration. This is recommended for dev + // stacks. + //--------------------------------------------------------------------------- + // return &awscdk.Environment{ + // Account: jsii.String(os.Getenv("CDK_DEFAULT_ACCOUNT")), + // Region: jsii.String(os.Getenv("CDK_DEFAULT_REGION")), + // } +} diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..c52749a --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,6 @@ +version: "3" +services: + app: + build: . + ports: + - "8080:8080" \ No newline at end of file diff --git a/go.work b/go.work new file mode 100644 index 0000000..7a5312f --- /dev/null +++ b/go.work @@ -0,0 +1,6 @@ +go 1.21.1 + +use ( + . + ./cdk/ +) diff --git a/go.work.sum b/go.work.sum new file mode 100644 index 0000000..013a942 --- /dev/null +++ b/go.work.sum @@ -0,0 +1,50 @@ +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3 h1:ZSTrOEhiM5J5RFxEaFvMZVEAM1KvT1YzbEOwB2EAGjA= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= +github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= +github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= +github.com/go-test/deep v1.0.3 h1:ZrJSEWsXzPOxaZnFteGEfooLba+ju3FYIbOrS+rQd68= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4= +github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348 h1:MtvEpTB6LX3vkb4ax0b5D2DHbNAUsen0Gx5wZoq3lV4= +github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/philhofer/fwd v1.1.2 h1:bnDivRJ1EWPjUIRXV5KfORO897HTbpFAQddBdE8t7Gw= +github.com/philhofer/fwd v1.1.2/go.mod h1:qkPdfjR2SIEbspLqpe1tO4n5yICnr2DY7mqEx2tUTP0= +github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= +github.com/santhosh-tekuri/jsonschema v1.2.4 h1:hNhW8e7t+H1vgY+1QeEQpveR6D4+OwKPXCfD2aieJis= +github.com/santhosh-tekuri/jsonschema v1.2.4/go.mod h1:TEAUOeZSmIxTTuHatJzrvARHiuO9LYd+cIxzgEHCQI4= +github.com/sergi/go-diff v1.0.0 h1:Kpca3qRNrduNnOQeazBd0ysaKrUJiIuISHxogkT9RPQ= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= +github.com/tinylib/msgp v1.1.8 h1:FCXC1xanKO4I8plpHGH2P7koL/RzZs12l/+r7vakfm0= +github.com/tinylib/msgp v1.1.8/go.mod h1:qkpG+2ldGg4xRFmx+jfTvZPxfGFhi64BcnL9vkCm/Tw= +github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= +github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= +github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b h1:FosyBZYxY34Wul7O/MSKey3txpPYyCqVO5ZyceuQJEI= +github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8= +go.uber.org/goleak v1.2.0 h1:xqgm/S+aQvhWFTtR0XK3Jvg7z8kGV8P4X14IzwN3Eqk= +go.uber.org/goleak v1.2.0/go.mod h1:XJYK+MuIchqpmGmUSAzotztawfKvYLUIgg7guXrwVUo= +golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= +golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.12.0 h1:/ZfYdc3zq+q02Rv9vGqTeSItdzZTSNDmfTi0mBAuidU= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= +rsc.io/pdf v0.1.1 h1:k1MczvYDUvJBe93bYd7wrZLLUEcLZAuF824/I4e5Xr4= diff --git a/http/metrics/metrics.go b/http/metrics/metrics.go new file mode 100644 index 0000000..e69de29 diff --git a/secret.yml b/secret.yml deleted file mode 100644 index 55d0696..0000000 --- a/secret.yml +++ /dev/null @@ -1,821 +0,0 @@ -adafruit-api-key: - name: adafruit-api-key - weight: 1 - name_regex: adafruit-api-key - secret_regex: (?i)(?:adafruit)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9_-]{32})(?:['|\"|\n|\r\x60|;]|$) -adobe-client-id: - name: adobe-client-id - weight: 1 - name_regex: adobe-client-id - secret_regex: (?i)(?:adobe)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-f0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -adobe-client-secret: - name: adobe-client-secret - weight: 1 - name_regex: adobe-client-secret - secret_regex: (?i)\b((p8e-)(?i)[a-z0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -age secret key: - name: age secret key - weight: 1 - name_regex: age secret key - secret_regex: AGE-SECRET-KEY-1[QPZRY9X8GF2TVDW0S3JN54KHCE6MUA7L]{58} -airtable-api-key: - name: airtable-api-key - weight: 1 - name_regex: airtable-api-key - secret_regex: (?i)(?:airtable)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{17})(?:['|\"|\n|\r\x60|;]|$) -algolia-api-key: - name: algolia-api-key - weight: 1 - name_regex: algolia-api-key - secret_regex: (?i)(?:algolia)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -alibaba-access-key-id: - name: alibaba-access-key-id - weight: 1 - name_regex: alibaba-access-key-id - secret_regex: (?i)\b((LTAI)(?i)[a-z0-9]{20})(?:['|\"|\n|\r\x60|;]|$) -alibaba-secret-key: - name: alibaba-secret-key - weight: 1 - name_regex: alibaba-secret-key - secret_regex: (?i)(?:alibaba)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{30})(?:['|\"|\n|\r\x60|;]|$) -asana-client-id: - name: asana-client-id - weight: 1 - name_regex: asana-client-id - secret_regex: (?i)(?:asana)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([0-9]{16})(?:['|\"|\n|\r\x60|;]|$) -asana-client-secret: - name: asana-client-secret - weight: 1 - name_regex: asana-client-secret - secret_regex: (?i)(?:asana)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -atlassian-api-token: - name: atlassian-api-token - weight: 1 - name_regex: atlassian-api-token - secret_regex: (?i)(?:atlassian|confluence|jira)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{24})(?:['|\"|\n|\r\x60|;]|$) -authress-service-client-access-key: - name: authress-service-client-access-key - weight: 1 - name_regex: authress-service-client-access-key - secret_regex: (?i)\b((?:sc|ext|scauth|authress)_[a-z0-9]{5,30}\.[a-z0-9]{4,6}\.acc[_-][a-z0-9-]{10,32}\.[a-z0-9+/_=-]{30,120})(?:['|\"|\n|\r\x60|;]|$) -aws-access-token: - name: aws-access-token - weight: 1 - name_regex: aws-access-token - secret_regex: (A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16} -beamer-api-token: - name: beamer-api-token - weight: 1 - name_regex: beamer-api-token - secret_regex: (?i)(?:beamer)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(b_[a-z0-9=_\-]{44})(?:['|\"|\n|\r\x60|;]|$) -bitbucket-client-id: - name: bitbucket-client-id - weight: 1 - name_regex: bitbucket-client-id - secret_regex: (?i)(?:bitbucket)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -bitbucket-client-secret: - name: bitbucket-client-secret - weight: 1 - name_regex: bitbucket-client-secret - secret_regex: (?i)(?:bitbucket)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9=_\-]{64})(?:['|\"|\n|\r\x60|;]|$) -bittrex-access-key: - name: bittrex-access-key - weight: 1 - name_regex: bittrex-access-key - secret_regex: (?i)(?:bittrex)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -bittrex-secret-key: - name: bittrex-secret-key - weight: 1 - name_regex: bittrex-secret-key - secret_regex: (?i)(?:bittrex)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -clojars-api-token: - name: clojars-api-token - weight: 1 - name_regex: clojars-api-token - secret_regex: (?i)(CLOJARS_)[a-z0-9]{60} -codecov-access-token: - name: codecov-access-token - weight: 1 - name_regex: codecov-access-token - secret_regex: (?i)(?:codecov)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -coinbase-access-token: - name: coinbase-access-token - weight: 1 - name_regex: coinbase-access-token - secret_regex: (?i)(?:coinbase)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9_-]{64})(?:['|\"|\n|\r\x60|;]|$) -confluent-access-token: - name: confluent-access-token - weight: 1 - name_regex: confluent-access-token - secret_regex: (?i)(?:confluent)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{16})(?:['|\"|\n|\r\x60|;]|$) -confluent-secret-key: - name: confluent-secret-key - weight: 1 - name_regex: confluent-secret-key - secret_regex: (?i)(?:confluent)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{64})(?:['|\"|\n|\r\x60|;]|$) -contentful-delivery-api-token: - name: contentful-delivery-api-token - weight: 1 - name_regex: contentful-delivery-api-token - secret_regex: (?i)(?:contentful)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9=_\-]{43})(?:['|\"|\n|\r\x60|;]|$) -databricks-api-token: - name: databricks-api-token - weight: 1 - name_regex: databricks-api-token - secret_regex: (?i)\b(dapi[a-h0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -datadog-access-token: - name: datadog-access-token - weight: 1 - name_regex: datadog-access-token - secret_regex: (?i)(?:datadog)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{40})(?:['|\"|\n|\r\x60|;]|$) -defined-networking-api-token: - name: defined-networking-api-token - weight: 1 - name_regex: defined-networking-api-token - secret_regex: (?i)(?:dnkey)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(dnkey-[a-z0-9=_\-]{26}-[a-z0-9=_\-]{52})(?:['|\"|\n|\r\x60|;]|$) -digitalocean-access-token: - name: digitalocean-access-token - weight: 1 - name_regex: digitalocean-access-token - secret_regex: (?i)\b(doo_v1_[a-f0-9]{64})(?:['|\"|\n|\r\x60|;]|$) -digitalocean-pat: - name: digitalocean-pat - weight: 1 - name_regex: digitalocean-pat - secret_regex: (?i)\b(dop_v1_[a-f0-9]{64})(?:['|\"|\n|\r\x60|;]|$) -digitalocean-refresh-token: - name: digitalocean-refresh-token - weight: 1 - name_regex: digitalocean-refresh-token - secret_regex: (?i)\b(dor_v1_[a-f0-9]{64})(?:['|\"|\n|\r\x60|;]|$) -discord-api-token: - name: discord-api-token - weight: 1 - name_regex: discord-api-token - secret_regex: (?i)(?:discord)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-f0-9]{64})(?:['|\"|\n|\r\x60|;]|$) -discord-client-id: - name: discord-client-id - weight: 1 - name_regex: discord-client-id - secret_regex: (?i)(?:discord)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([0-9]{18})(?:['|\"|\n|\r\x60|;]|$) -discord-client-secret: - name: discord-client-secret - weight: 1 - name_regex: discord-client-secret - secret_regex: (?i)(?:discord)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9=_\-]{32})(?:['|\"|\n|\r\x60|;]|$) -doppler-api-token: - name: doppler-api-token - weight: 1 - name_regex: doppler-api-token - secret_regex: (dp\.pt\.)(?i)[a-z0-9]{43} -droneci-access-token: - name: droneci-access-token - weight: 1 - name_regex: droneci-access-token - secret_regex: (?i)(?:droneci)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -dropbox-api-token: - name: dropbox-api-token - weight: 1 - name_regex: dropbox-api-token - secret_regex: (?i)(?:dropbox)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{15})(?:['|\"|\n|\r\x60|;]|$) -dropbox-long-lived-api-token: - name: dropbox-long-lived-api-token - weight: 1 - name_regex: dropbox-long-lived-api-token - secret_regex: (?i)(?:dropbox)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{11}(AAAAAAAAAA)[a-z0-9\-_=]{43})(?:['|\"|\n|\r\x60|;]|$) -dropbox-short-lived-api-token: - name: dropbox-short-lived-api-token - weight: 1 - name_regex: dropbox-short-lived-api-token - secret_regex: (?i)(?:dropbox)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(sl\.[a-z0-9\-=_]{135})(?:['|\"|\n|\r\x60|;]|$) -duffel-api-token: - name: duffel-api-token - weight: 1 - name_regex: duffel-api-token - secret_regex: duffel_(test|live)_(?i)[a-z0-9_\-=]{43} -dynatrace-api-token: - name: dynatrace-api-token - weight: 1 - name_regex: dynatrace-api-token - secret_regex: dt0c01\.(?i)[a-z0-9]{24}\.[a-z0-9]{64} -easypost-api-token: - name: easypost-api-token - weight: 1 - name_regex: easypost-api-token - secret_regex: \bEZAK(?i)[a-z0-9]{54} -easypost-test-api-token: - name: easypost-test-api-token - weight: 1 - name_regex: easypost-test-api-token - secret_regex: \bEZTK(?i)[a-z0-9]{54} -etsy-access-token: - name: etsy-access-token - weight: 1 - name_regex: etsy-access-token - secret_regex: (?i)(?:etsy)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{24})(?:['|\"|\n|\r\x60|;]|$) -facebook: - name: facebook - weight: 1 - name_regex: facebook - secret_regex: (?i)(?:facebook)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-f0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -fastly-api-token: - name: fastly-api-token - weight: 1 - name_regex: fastly-api-token - secret_regex: (?i)(?:fastly)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9=_\-]{32})(?:['|\"|\n|\r\x60|;]|$) -finicity-api-token: - name: finicity-api-token - weight: 1 - name_regex: finicity-api-token - secret_regex: (?i)(?:finicity)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-f0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -finicity-client-secret: - name: finicity-client-secret - weight: 1 - name_regex: finicity-client-secret - secret_regex: (?i)(?:finicity)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{20})(?:['|\"|\n|\r\x60|;]|$) -finnhub-access-token: - name: finnhub-access-token - weight: 1 - name_regex: finnhub-access-token - secret_regex: (?i)(?:finnhub)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{20})(?:['|\"|\n|\r\x60|;]|$) -flickr-access-token: - name: flickr-access-token - weight: 1 - name_regex: flickr-access-token - secret_regex: (?i)(?:flickr)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -flutterwave-encryption-key: - name: flutterwave-encryption-key - weight: 1 - name_regex: flutterwave-encryption-key - secret_regex: FLWSECK_TEST-(?i)[a-h0-9]{12} -flutterwave-public-key: - name: flutterwave-public-key - weight: 1 - name_regex: flutterwave-public-key - secret_regex: FLWPUBK_TEST-(?i)[a-h0-9]{32}-X -flutterwave-secret-key: - name: flutterwave-secret-key - weight: 1 - name_regex: flutterwave-secret-key - secret_regex: FLWSECK_TEST-(?i)[a-h0-9]{32}-X -frameio-api-token: - name: frameio-api-token - weight: 1 - name_regex: frameio-api-token - secret_regex: fio-u-(?i)[a-z0-9\-_=]{64} -freshbooks-access-token: - name: freshbooks-access-token - weight: 1 - name_regex: freshbooks-access-token - secret_regex: (?i)(?:freshbooks)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{64})(?:['|\"|\n|\r\x60|;]|$) -gcp-api-key: - name: gcp-api-key - weight: 1 - name_regex: gcp-api-key - secret_regex: (?i)\b(AIza[0-9A-Za-z\\-_]{35})(?:['|\"|\n|\r\x60|;]|$) -generic-api-key: - name: generic-api-key - weight: 1 - name_regex: generic-api-key - secret_regex: (?i)(?:key|api|token|secret|client|passwd|password|auth|access)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([0-9a-z\-_.=]{10,150})(?:['|\"|\n|\r\x60|;]|$) -github-app-token: - name: github-app-token - weight: 1 - name_regex: github-app-token - secret_regex: (ghu|ghs)_[0-9a-zA-Z]{36} -github-fine-grained-pat: - name: github-fine-grained-pat - weight: 1 - name_regex: github-fine-grained-pat - secret_regex: github_pat_[0-9a-zA-Z_]{82} -github-oauth: - name: github-oauth - weight: 1 - name_regex: github-oauth - secret_regex: gho_[0-9a-zA-Z]{36} -github-pat: - name: github-pat - weight: 1 - name_regex: github-pat - secret_regex: ghp_[0-9a-zA-Z]{36} -github-refresh-token: - name: github-refresh-token - weight: 1 - name_regex: github-refresh-token - secret_regex: ghr_[0-9a-zA-Z]{36} -gitlab-pat: - name: gitlab-pat - weight: 1 - name_regex: gitlab-pat - secret_regex: glpat-[0-9a-zA-Z\-\_]{20} -gitlab-ptt: - name: gitlab-ptt - weight: 1 - name_regex: gitlab-ptt - secret_regex: glptt-[0-9a-f]{40} -gitlab-rrt: - name: gitlab-rrt - weight: 1 - name_regex: gitlab-rrt - secret_regex: GR1348941[0-9a-zA-Z\-\_]{20} -gitter-access-token: - name: gitter-access-token - weight: 1 - name_regex: gitter-access-token - secret_regex: (?i)(?:gitter)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9_-]{40})(?:['|\"|\n|\r\x60|;]|$) -gocardless-api-token: - name: gocardless-api-token - weight: 1 - name_regex: gocardless-api-token - secret_regex: (?i)(?:gocardless)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(live_(?i)[a-z0-9\-_=]{40})(?:['|\"|\n|\r\x60|;]|$) -grafana-api-key: - name: grafana-api-key - weight: 1 - name_regex: grafana-api-key - secret_regex: (?i)\b(eyJrIjoi[A-Za-z0-9]{70,400}={0,2})(?:['|\"|\n|\r\x60|;]|$) -grafana-cloud-api-token: - name: grafana-cloud-api-token - weight: 1 - name_regex: grafana-cloud-api-token - secret_regex: (?i)\b(glc_[A-Za-z0-9+/]{32,400}={0,2})(?:['|\"|\n|\r\x60|;]|$) -grafana-service-account-token: - name: grafana-service-account-token - weight: 1 - name_regex: grafana-service-account-token - secret_regex: (?i)\b(glsa_[A-Za-z0-9]{32}_[A-Fa-f0-9]{8})(?:['|\"|\n|\r\x60|;]|$) -hashicorp-tf-api-token: - name: hashicorp-tf-api-token - weight: 1 - name_regex: hashicorp-tf-api-token - secret_regex: (?i)[a-z0-9]{14}\.atlasv1\.[a-z0-9\-_=]{60,70} -heroku-api-key: - name: heroku-api-key - weight: 1 - name_regex: heroku-api-key - secret_regex: (?i)(?:heroku)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\"|\n|\r\x60|;]|$) -hubspot-api-key: - name: hubspot-api-key - weight: 1 - name_regex: hubspot-api-key - secret_regex: (?i)(?:hubspot)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12})(?:['|\"|\n|\r\x60|;]|$) -huggingface-access-token: - name: huggingface-access-token - weight: 1 - name_regex: huggingface-access-token - secret_regex: (?:^|[\\'"` >=:])(hf_[a-zA-Z]{34})(?:$|[\\'"` <]) -huggingface-organization-api-token: - name: huggingface-organization-api-token - weight: 1 - name_regex: huggingface-organization-api-token - secret_regex: (?:^|[\\'"` >=:\(,)])(api_org_[a-zA-Z]{34})(?:$|[\\'"` <\),]) -intercom-api-key: - name: intercom-api-key - weight: 1 - name_regex: intercom-api-key - secret_regex: (?i)(?:intercom)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9=_\-]{60})(?:['|\"|\n|\r\x60|;]|$) -jfrog-api-key: - name: jfrog-api-key - weight: 1 - name_regex: jfrog-api-key - secret_regex: (?i)(?:jfrog|artifactory|bintray|xray)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{73})(?:['|\"|\n|\r\x60|;]|$) -jfrog-identity-token: - name: jfrog-identity-token - weight: 1 - name_regex: jfrog-identity-token - secret_regex: (?i)(?:jfrog|artifactory|bintray|xray)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{64})(?:['|\"|\n|\r\x60|;]|$) -jwt: - name: jwt - weight: 1 - name_regex: jwt - secret_regex: \b(ey[a-zA-Z0-9]{17,}\.ey[a-zA-Z0-9\/\\_-]{17,}\.(?:[a-zA-Z0-9\/\\_-]{10,}={0,2})?)(?:['|\"|\n|\r\x60|;]|$) -jwt-base64: - name: jwt-base64 - weight: 1 - name_regex: jwt-base64 - secret_regex: \bZXlK(?:(?PaGJHY2lPaU)|(?PaGNIVWlPaU)|(?PaGNIWWlPaU)|(?PaGRXUWlPaU)|(?PaU5qUWlP)|(?PamNtbDBJanBi)|(?PamRIa2lPaU)|(?PbGNHc2lPbn)|(?PbGJtTWlPaU)|(?PcWEzVWlPaU)|(?PcWQyc2lPb)|(?PcGMzTWlPaU)|(?PcGRpSTZJ)|(?PcmFXUWlP)|(?PclpYbGZiM0J6SWpwY)|(?PcmRIa2lPaUp)|(?PdWIyNWpaU0k2)|(?Pd01tTWlP)|(?Pd01uTWlPaU)|(?Pd2NIUWlPaU)|(?PemRXSWlPaU)|(?PemRuUWlP)|(?PMFlXY2lPaU)|(?PMGVYQWlPaUp)|(?PMWNtd2l)|(?PMWMyVWlPaUp)|(?PMlpYSWlPaU)|(?PMlpYSnphVzl1SWpv)|(?PNElqb2)|(?PNE5XTWlP)|(?PNE5YUWlPaU)|(?PNE5YUWpVekkxTmlJNkl)|(?PNE5YVWlPaU)|(?PNmFYQWlPaU))[a-zA-Z0-9\/\\_+\-\r\n]{40,}={0,2} -kraken-access-token: - name: kraken-access-token - weight: 1 - name_regex: kraken-access-token - secret_regex: (?i)(?:kraken)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9\/=_\+\-]{80,90})(?:['|\"|\n|\r\x60|;]|$) -kucoin-access-token: - name: kucoin-access-token - weight: 1 - name_regex: kucoin-access-token - secret_regex: (?i)(?:kucoin)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-f0-9]{24})(?:['|\"|\n|\r\x60|;]|$) -kucoin-secret-key: - name: kucoin-secret-key - weight: 1 - name_regex: kucoin-secret-key - secret_regex: (?i)(?:kucoin)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\"|\n|\r\x60|;]|$) -launchdarkly-access-token: - name: launchdarkly-access-token - weight: 1 - name_regex: launchdarkly-access-token - secret_regex: (?i)(?:launchdarkly)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9=_\-]{40})(?:['|\"|\n|\r\x60|;]|$) -linear-api-key: - name: linear-api-key - weight: 1 - name_regex: linear-api-key - secret_regex: lin_api_(?i)[a-z0-9]{40} -linear-client-secret: - name: linear-client-secret - weight: 1 - name_regex: linear-client-secret - secret_regex: (?i)(?:linear)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-f0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -linkedin-client-id: - name: linkedin-client-id - weight: 1 - name_regex: linkedin-client-id - secret_regex: (?i)(?:linkedin|linked-in)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{14})(?:['|\"|\n|\r\x60|;]|$) -linkedin-client-secret: - name: linkedin-client-secret - weight: 1 - name_regex: linkedin-client-secret - secret_regex: (?i)(?:linkedin|linked-in)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{16})(?:['|\"|\n|\r\x60|;]|$) -lob-api-key: - name: lob-api-key - weight: 1 - name_regex: lob-api-key - secret_regex: (?i)(?:lob)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}((live|test)_[a-f0-9]{35})(?:['|\"|\n|\r\x60|;]|$) -lob-pub-api-key: - name: lob-pub-api-key - weight: 1 - name_regex: lob-pub-api-key - secret_regex: (?i)(?:lob)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}((test|live)_pub_[a-f0-9]{31})(?:['|\"|\n|\r\x60|;]|$) -mailchimp-api-key: - name: mailchimp-api-key - weight: 1 - name_regex: mailchimp-api-key - secret_regex: (?i)(?:mailchimp)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-f0-9]{32}-us20)(?:['|\"|\n|\r\x60|;]|$) -mailgun-private-api-token: - name: mailgun-private-api-token - weight: 1 - name_regex: mailgun-private-api-token - secret_regex: (?i)(?:mailgun)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(key-[a-f0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -mailgun-pub-key: - name: mailgun-pub-key - weight: 1 - name_regex: mailgun-pub-key - secret_regex: (?i)(?:mailgun)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(pubkey-[a-f0-9]{32})(?:['|\"|\n|\r\x60|;]|$) -mailgun-signing-key: - name: mailgun-signing-key - weight: 1 - name_regex: mailgun-signing-key - secret_regex: (?i)(?:mailgun)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-h0-9]{32}-[a-h0-9]{8}-[a-h0-9]{8})(?:['|\"|\n|\r\x60|;]|$) -mapbox-api-token: - name: mapbox-api-token - weight: 1 - name_regex: mapbox-api-token - secret_regex: (?i)(?:mapbox)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(pk\.[a-z0-9]{60}\.[a-z0-9]{22})(?:['|\"|\n|\r\x60|;]|$) -mattermost-access-token: - name: mattermost-access-token - weight: 1 - name_regex: mattermost-access-token - secret_regex: (?i)(?:mattermost)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{26})(?:['|\"|\n|\r\x60|;]|$) -messagebird-api-token: - name: messagebird-api-token - weight: 1 - name_regex: messagebird-api-token - secret_regex: (?i)(?:messagebird|message-bird|message_bird)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{25})(?:['|\"|\n|\r\x60|;]|$) -messagebird-client-id: - name: messagebird-client-id - weight: 1 - name_regex: messagebird-client-id - secret_regex: (?i)(?:messagebird|message-bird|message_bird)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\"|\n|\r\x60|;]|$) -microsoft-teams-webhook: - name: microsoft-teams-webhook - weight: 1 - name_regex: microsoft-teams-webhook - secret_regex: https:\/\/[a-z0-9]+\.webhook\.office\.com\/webhookb2\/[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}@[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12}\/IncomingWebhook\/[a-z0-9]{32}\/[a-z0-9]{8}-([a-z0-9]{4}-){3}[a-z0-9]{12} -netlify-access-token: - name: netlify-access-token - weight: 1 - name_regex: netlify-access-token - secret_regex: (?i)(?:netlify)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9=_\-]{40,46})(?:['|\"|\n|\r\x60|;]|$) -new-relic-browser-api-token: - name: new-relic-browser-api-token - weight: 1 - name_regex: new-relic-browser-api-token - secret_regex: (?i)(?:new-relic|newrelic|new_relic)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(NRJS-[a-f0-9]{19})(?:['|\"|\n|\r\x60|;]|$) -new-relic-user-api-id: - name: new-relic-user-api-id - weight: 1 - name_regex: new-relic-user-api-id - secret_regex: (?i)(?:new-relic|newrelic|new_relic)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{64})(?:['|\"|\n|\r\x60|;]|$) -new-relic-user-api-key: - name: new-relic-user-api-key - weight: 1 - name_regex: new-relic-user-api-key - secret_regex: (?i)(?:new-relic|newrelic|new_relic)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(NRAK-[a-z0-9]{27})(?:['|\"|\n|\r\x60|;]|$) -npm-access-token: - name: npm-access-token - weight: 1 - name_regex: npm-access-token - secret_regex: (?i)\b(npm_[a-z0-9]{36})(?:['|\"|\n|\r\x60|;]|$) -nytimes-access-token: - name: nytimes-access-token - weight: 1 - name_regex: nytimes-access-token - secret_regex: (?i)(?:nytimes|new-york-times,|newyorktimes)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9=_\-]{32})(?:['|\"|\n|\r\x60|;]|$) -okta-access-token: - name: okta-access-token - weight: 1 - name_regex: okta-access-token - secret_regex: (?i)(?:okta)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9=_\-]{42})(?:['|\"|\n|\r\x60|;]|$) -openai-api-key: - name: openai-api-key - weight: 1 - name_regex: openai-api-key - secret_regex: (?i)\b(sk-[a-zA-Z0-9]{20}T3BlbkFJ[a-zA-Z0-9]{20})(?:['|\"|\n|\r\x60|;]|$) -plaid-api-token: - name: plaid-api-token - weight: 1 - name_regex: plaid-api-token - secret_regex: (?i)(?:plaid)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(access-(?:sandbox|development|production)-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\"|\n|\r\x60|;]|$) -plaid-client-id: - name: plaid-client-id - weight: 1 - name_regex: plaid-client-id - secret_regex: (?i)(?:plaid)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{24})(?:['|\"|\n|\r\x60|;]|$) -plaid-secret-key: - name: plaid-secret-key - weight: 1 - name_regex: plaid-secret-key - secret_regex: (?i)(?:plaid)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{30})(?:['|\"|\n|\r\x60|;]|$) -planetscale-api-token: - name: planetscale-api-token - weight: 1 - name_regex: planetscale-api-token - secret_regex: (?i)\b(pscale_tkn_(?i)[a-z0-9=\-_\.]{32,64})(?:['|\"|\n|\r\x60|;]|$) -planetscale-oauth-token: - name: planetscale-oauth-token - weight: 1 - name_regex: planetscale-oauth-token - secret_regex: (?i)\b(pscale_oauth_(?i)[a-z0-9=\-_\.]{32,64})(?:['|\"|\n|\r\x60|;]|$) -planetscale-password: - name: planetscale-password - weight: 1 - name_regex: planetscale-password - secret_regex: (?i)\b(pscale_pw_(?i)[a-z0-9=\-_\.]{32,64})(?:['|\"|\n|\r\x60|;]|$) -postman-api-token: - name: postman-api-token - weight: 1 - name_regex: postman-api-token - secret_regex: (?i)\b(PMAK-(?i)[a-f0-9]{24}\-[a-f0-9]{34})(?:['|\"|\n|\r\x60|;]|$) -prefect-api-token: - name: prefect-api-token - weight: 1 - name_regex: prefect-api-token - secret_regex: (?i)\b(pnu_[a-z0-9]{36})(?:['|\"|\n|\r\x60|;]|$) -private-key: - name: private-key - weight: 1 - name_regex: private-key - secret_regex: (?i)-----BEGIN[ A-Z0-9_-]{0,100}PRIVATE KEY( BLOCK)?-----[\S-]*KEY( BLOCK)?---- -pulumi-api-token: - name: pulumi-api-token - weight: 1 - name_regex: pulumi-api-token - secret_regex: (?i)\b(pul-[a-f0-9]{40})(?:['|\"|\n|\r\x60|;]|$) -pypi-upload-token: - name: pypi-upload-token - weight: 1 - name_regex: pypi-upload-token - secret_regex: pypi-AgEIcHlwaS5vcmc[A-Za-z0-9\-_]{50,1000} -rapidapi-access-token: - name: rapidapi-access-token - weight: 1 - name_regex: rapidapi-access-token - secret_regex: (?i)(?:rapidapi)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9_-]{50})(?:['|\"|\n|\r\x60|;]|$) -readme-api-token: - name: readme-api-token - weight: 1 - name_regex: readme-api-token - secret_regex: (?i)\b(rdme_[a-z0-9]{70})(?:['|\"|\n|\r\x60|;]|$) -rubygems-api-token: - name: rubygems-api-token - weight: 1 - name_regex: rubygems-api-token - secret_regex: (?i)\b(rubygems_[a-f0-9]{48})(?:['|\"|\n|\r\x60|;]|$) -scalingo-api-token: - name: scalingo-api-token - weight: 1 - name_regex: scalingo-api-token - secret_regex: \btk-us-[a-zA-Z0-9-_]{48}\b -sendbird-access-id: - name: sendbird-access-id - weight: 1 - name_regex: sendbird-access-id - secret_regex: (?i)(?:sendbird)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\"|\n|\r\x60|;]|$) -sendbird-access-token: - name: sendbird-access-token - weight: 1 - name_regex: sendbird-access-token - secret_regex: (?i)(?:sendbird)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-f0-9]{40})(?:['|\"|\n|\r\x60|;]|$) -sendgrid-api-token: - name: sendgrid-api-token - weight: 1 - name_regex: sendgrid-api-token - secret_regex: (?i)\b(SG\.(?i)[a-z0-9=_\-\.]{66})(?:['|\"|\n|\r\x60|;]|$) -sendinblue-api-token: - name: sendinblue-api-token - weight: 1 - name_regex: sendinblue-api-token - secret_regex: (?i)\b(xkeysib-[a-f0-9]{64}\-(?i)[a-z0-9]{16})(?:['|\"|\n|\r\x60|;]|$) -sentry-access-token: - name: sentry-access-token - weight: 1 - name_regex: sentry-access-token - secret_regex: (?i)(?:sentry)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-f0-9]{64})(?:['|\"|\n|\r\x60|;]|$) -shippo-api-token: - name: shippo-api-token - weight: 1 - name_regex: shippo-api-token - secret_regex: (?i)\b(shippo_(live|test)_[a-f0-9]{40})(?:['|\"|\n|\r\x60|;]|$) -shopify-access-token: - name: shopify-access-token - weight: 1 - name_regex: shopify-access-token - secret_regex: shpat_[a-fA-F0-9]{32} -shopify-custom-access-token: - name: shopify-custom-access-token - weight: 1 - name_regex: shopify-custom-access-token - secret_regex: shpca_[a-fA-F0-9]{32} -shopify-private-app-access-token: - name: shopify-private-app-access-token - weight: 1 - name_regex: shopify-private-app-access-token - secret_regex: shppa_[a-fA-F0-9]{32} -shopify-shared-secret: - name: shopify-shared-secret - weight: 1 - name_regex: shopify-shared-secret - secret_regex: shpss_[a-fA-F0-9]{32} -sidekiq-secret: - name: sidekiq-secret - weight: 1 - name_regex: sidekiq-secret - secret_regex: (?i)(?:BUNDLE_ENTERPRISE__CONTRIBSYS__COM|BUNDLE_GEMS__CONTRIBSYS__COM)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-f0-9]{8}:[a-f0-9]{8})(?:['|\"|\n|\r\x60|;]|$) -sidekiq-sensitive-url: - name: sidekiq-sensitive-url - weight: 1 - name_regex: sidekiq-sensitive-url - secret_regex: (?i)\b(http(?:s??):\/\/)([a-f0-9]{8}:[a-f0-9]{8})@(?:gems.contribsys.com|enterprise.contribsys.com)(?:[\/|\#|\?|:]|$) -slack-app-token: - name: slack-app-token - weight: 1 - name_regex: slack-app-token - secret_regex: (?i)(xapp-\d-[A-Z0-9]+-\d+-[a-z0-9]+) -slack-bot-token: - name: slack-bot-token - weight: 1 - name_regex: slack-bot-token - secret_regex: (xoxb-[0-9]{10,13}\-[0-9]{10,13}[a-zA-Z0-9-]*) -slack-config-access-token: - name: slack-config-access-token - weight: 1 - name_regex: slack-config-access-token - secret_regex: (?i)(xoxe.xox[bp]-\d-[A-Z0-9]{163,166}) -slack-config-refresh-token: - name: slack-config-refresh-token - weight: 1 - name_regex: slack-config-refresh-token - secret_regex: (?i)(xoxe-\d-[A-Z0-9]{146}) -slack-legacy-bot-token: - name: slack-legacy-bot-token - weight: 1 - name_regex: slack-legacy-bot-token - secret_regex: (xoxb-[0-9]{8,14}\-[a-zA-Z0-9]{18,26}) -slack-legacy-token: - name: slack-legacy-token - weight: 1 - name_regex: slack-legacy-token - secret_regex: (xox[os]-\d+-\d+-\d+-[a-fA-F\d]+) -slack-legacy-workspace-token: - name: slack-legacy-workspace-token - weight: 1 - name_regex: slack-legacy-workspace-token - secret_regex: (xox[ar]-(?:\d-)?[0-9a-zA-Z]{8,48}) -slack-user-token: - name: slack-user-token - weight: 1 - name_regex: slack-user-token - secret_regex: (xox[pe](?:-[0-9]{10,13}){3}-[a-zA-Z0-9-]{28,34}) -slack-webhook-url: - name: slack-webhook-url - weight: 1 - name_regex: slack-webhook-url - secret_regex: (https?:\/\/)?hooks.slack.com\/(services|workflows)\/[A-Za-z0-9+\/]{43,46} -snyk-api-token: - name: snyk-api-token - weight: 1 - name_regex: snyk-api-token - secret_regex: (?i)(?:snyk)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\"|\n|\r\x60|;]|$) -square-access-token: - name: square-access-token - weight: 1 - name_regex: square-access-token - secret_regex: (?i)\b(sq0atp-[0-9A-Za-z\-_]{22})(?:['|\"|\n|\r\x60|;]|$) -squarespace-access-token: - name: squarespace-access-token - weight: 1 - name_regex: squarespace-access-token - secret_regex: (?i)(?:squarespace)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})(?:['|\"|\n|\r\x60|;]|$) -stripe-access-token: - name: stripe-access-token - weight: 1 - name_regex: stripe-access-token - secret_regex: (?i)(sk|pk)_(test|live)_[0-9a-z]{10,32} -sumologic-access-id: - name: sumologic-access-id - weight: 1 - name_regex: sumologic-access-id - secret_regex: (?i:(?:sumo)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3})(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(su[a-zA-Z0-9]{12})(?:['|\"|\n|\r\x60|;]|$) -sumologic-access-token: - name: sumologic-access-token - weight: 1 - name_regex: sumologic-access-token - secret_regex: (?i)(?:sumo)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{64})(?:['|\"|\n|\r\x60|;]|$) -telegram-bot-api-token: - name: telegram-bot-api-token - weight: 1 - name_regex: telegram-bot-api-token - secret_regex: (?i)(?:^|[^0-9])([0-9]{5,16}:A[a-zA-Z0-9_\-]{34})(?:$|[^a-zA-Z0-9_\-]) -travisci-access-token: - name: travisci-access-token - weight: 1 - name_regex: travisci-access-token - secret_regex: (?i)(?:travis)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{22})(?:['|\"|\n|\r\x60|;]|$) -twilio-api-key: - name: twilio-api-key - weight: 1 - name_regex: twilio-api-key - secret_regex: SK[0-9a-fA-F]{32} -twitch-api-token: - name: twitch-api-token - weight: 1 - name_regex: twitch-api-token - secret_regex: (?i)(?:twitch)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{30})(?:['|\"|\n|\r\x60|;]|$) -twitter-access-secret: - name: twitter-access-secret - weight: 1 - name_regex: twitter-access-secret - secret_regex: (?i)(?:twitter)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{45})(?:['|\"|\n|\r\x60|;]|$) -twitter-access-token: - name: twitter-access-token - weight: 1 - name_regex: twitter-access-token - secret_regex: (?i)(?:twitter)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([0-9]{15,25}-[a-zA-Z0-9]{20,40})(?:['|\"|\n|\r\x60|;]|$) -twitter-api-key: - name: twitter-api-key - weight: 1 - name_regex: twitter-api-key - secret_regex: (?i)(?:twitter)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{25})(?:['|\"|\n|\r\x60|;]|$) -twitter-api-secret: - name: twitter-api-secret - weight: 1 - name_regex: twitter-api-secret - secret_regex: (?i)(?:twitter)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{50})(?:['|\"|\n|\r\x60|;]|$) -twitter-bearer-token: - name: twitter-bearer-token - weight: 1 - name_regex: twitter-bearer-token - secret_regex: (?i)(?:twitter)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(A{22}[a-zA-Z0-9%]{80,100})(?:['|\"|\n|\r\x60|;]|$) -typeform-api-token: - name: typeform-api-token - weight: 1 - name_regex: typeform-api-token - secret_regex: (?i)(?:typeform)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(tfp_[a-z0-9\-_\.=]{59})(?:['|\"|\n|\r\x60|;]|$) -vault-batch-token: - name: vault-batch-token - weight: 1 - name_regex: vault-batch-token - secret_regex: (?i)\b(hvb\.[a-z0-9_-]{138,212})(?:['|\"|\n|\r\x60|;]|$) -vault-service-token: - name: vault-service-token - weight: 1 - name_regex: vault-service-token - secret_regex: (?i)\b(hvs\.[a-z0-9_-]{90,100})(?:['|\"|\n|\r\x60|;]|$) -yandex-access-token: - name: yandex-access-token - weight: 1 - name_regex: yandex-access-token - secret_regex: (?i)(?:yandex)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(t1\.[A-Z0-9a-z_-]+[=]{0,2}\.[A-Z0-9a-z_-]{86}[=]{0,2})(?:['|\"|\n|\r\x60|;]|$) -yandex-api-key: - name: yandex-api-key - weight: 1 - name_regex: yandex-api-key - secret_regex: (?i)(?:yandex)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(AQVN[A-Za-z0-9_\-]{35,38})(?:['|\"|\n|\r\x60|;]|$) -yandex-aws-access-token: - name: yandex-aws-access-token - weight: 1 - name_regex: yandex-aws-access-token - secret_regex: (?i)(?:yandex)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}(YC[a-zA-Z0-9_\-]{38})(?:['|\"|\n|\r\x60|;]|$) -zendesk-secret-key: - name: zendesk-secret-key - weight: 1 - name_regex: zendesk-secret-key - secret_regex: (?i)(?:zendesk)(?:[0-9a-z\-_\t .]{0,20})(?:[']|["]){0,3}(?:=|>|:{1,3}=|\|\|:|<=|=>|:|\?=)(?:'|\"=|\x60){0,5}([a-z0-9]{40})(?:['|\"|\n|\r\x60|;]|$) -