simplify docker-compose with spruce docker images (#39)

* simplify compose with spruce docker images

* cleanup unnecessary lines
This commit is contained in:
Jack Murdock
2021-01-05 13:15:10 -08:00
committed by GitHub
parent 96e7b4764f
commit e10ab4c61a
13 changed files with 87 additions and 967 deletions
-165
View File
@@ -1,165 +0,0 @@
---
prometheus:
defaultNamespace: xmidt
defaultSubsystem: argus
constLabels:
development: "true"
log:
file: stdout
level: DEBUG
health:
disableLogging: false
custom:
server: development
servers:
primary:
address: :6600
disableHTTPKeepAlives: true
header:
X-Midt-Server:
- argus
X-Midt-Version:
- development
metrics:
address: :6601
disableHTTPKeepAlives: true
header:
X-Midt-Server:
- argus
X-Midt-Version:
- development
health:
address: :6602
disableHTTPKeepAlives: true
header:
X-Midt-Server:
- argus
X-Midt-Version:
- development
#yugabyte:
# # hosts is and array of address and port used to connect to the cluster.
# hosts:
# - "localhost:9042"
# # database is the name of the database being connected to.
# database: "argus"
# # opTimeout is the timeout for database calls after argus is connected.
# # If the opTimeout is set to 0, it defaults to 10s.
# # (Optional) defaults to 10s
# opTimeout: 100ms
# # username is the username to use when connecting to the database.
# # (Optional)
# username: "cassandra"
#
# # password is the password to use when connecting to the database.
# # (Optional)
# password: "cassandra"
#
# # SSLRootCert is the root cert to use when connecting to the database.
# # The SSLKey and SSLCert must also be provided in order to connect securely.
# # (Optional)
# #sslRootCert: "/etc/argus/ca.crt"
#
# # SSLKey is the SSL key to use when connecting to the database. The
# # SSLRootCert and SSLCert must also be provided in order to connect securely.
# # (Optional)
# #sslKey: "/etc/argus/node.0.0.0.0.key"
#
# # SSLCert is the SSL cert to use when connecting to the database. The SSLKey
# # and SSLRootCert must also be provided in order to connect securely.
# # (Optional)
# #sslCert: "/etc/argus/node.0.0.0.0.crt"
#
# # If you want to verify the hostname and server cert (like a wildcard for cass cluster) then you should turn this on
# # This option is basically the inverse of InSecureSkipVerify
# # See InSecureSkipVerify in http://golang.org/pkg/crypto/tls/ for more info
# # (Optional) defaults to false
# #enableHostVerification: false
# dyanmo is the configuration block to communicate with dynamoDB.
dynamo:
# endpoint is used to set a custom aws endpoint.
# (Optional)
endpoint: http://dynamodb:8000
# table is the name of the table that is already configured with bucket and id as the key.
table: "gifnoc"
# region is where request should go to.
region: "us-east-2"
# maxRetires is the maximum times the application will retry the request to the db.
# (Optional) default: 3
maxRetries: 3
# accessKey is the AWS accessKey to access dynamodb.
accessKey: "accessKey"
# secretKey is the AWS secretKey to go with the accessKey to access dynamodb.
secretKey: "secretKey"
# request is a config section related to operation authorization
# and request validation.
request:
authorization:
# adminToken serves as a master key which allows performing operations on any
# item regardless of their ownership status.
adminToken: "Hzu1WpIe7S8G"
validation:
# maxTTL specifies the cap for the TTL of items when values are specified.
maxTTL: "24h"
##############################################################################
# Authorization Credentials
##############################################################################
# authHeader is a list of Basic Auth credentials intended to be used for local testing purposes
# WARNING! Be sure to remove this from your production config
authHeader: ["dXNlcjpwYXNz"]
# jwtValidator provides Bearer auth configuration
jwtValidator:
keys:
Factory:
uri: "http://themis:6500/keys/local"
purpose: 0
updateInterval: 24h
# capabilityCheck provides the details needed for checking an incoming JWT's
# capabilities. If the type of check isn't provided, no checking is done. The
# type can be "monitor" or "enforce". If it is empty or a different value, no
# checking is done. If "monitor" is provided, the capabilities are checked but
# the request isn't rejected when there isn't a valid capability for the
# request. Instead, a message is logged. When "enforce" is provided, a request
# that doesn't have the needed capability is rejected.
#
# The capability is expected to have the format:
#
# {prefix}{endpoint}:{method}
#
# The prefix can be a regular expression. If it's empty, no capability check
# is done. The endpoint is a regular expression that should match the endpoint
# the request was sent to. The method is usually the method of the request, such as
# GET. The accept all method is a catchall string that indicates the capability
# is approved for all methods.
# (Optional)
#capabilityCheck:
# # type provides the mode for capability checking.
# type: "monitor"
# # prefix provides the regex to match the capability before the endpoint.
# prefix: "xmidt"
# # acceptAllMethod provides a way to have a capability that allows all
# # methods for a specific endpoint.
# acceptAllMethod: "all"
# # endpointBuckets provides regular expressions to use against the request
# # endpoint in order to group requests for a metric label.
# endpointBuckets:
# - "store\\b"
# - "store/.*\\b"
@@ -1,84 +0,0 @@
---
primary:
address: ":6000"
health:
address: ":6001"
options:
- "PayloadsOverZero"
- "PayloadsOverHundred"
- "PayloadsOverThousand"
- "PayloadsOverTenThousand"
pprof:
address: ":6002"
metric:
address: ":6003"
metricsOptions:
namespace: "xmidt"
subsystem: "caduceus"
log:
file: "stdout"
level: "DEBUG"
json: true
env: test
fqdn: caduceus
scheme: http
numWorkerThreads: 10
jobQueueSize: 10
sender:
numWorkersPerSender: 5000
queueSizePerSender: 100000
cutOffPeriod: 10s
linger: 180s
clientTimeout: 60s
deliveryRetries: 1
deliveryInterval: 10ms
responseHeaderTimeout: 10s
profilerFrequency: 15
profilerDuration: 15
profilerQueueSize: 100
totalIncomingPayloadSizeBuckets:
- 100
- 1000
- 10000
perSourceIncomingPayloadSizeBuckets:
- 100
- 1000
- 10000
authHeader: ["dXNlcjpwYXNz"]
webhook:
argus:
bucket: webhooks
address: http://argus:6600
pullInterval: 5s
adminToken: Hzu1WpIe7S8G
auth:
Basic: Basic dXNlcjpwYXNz
service:
defaultScheme: http
consul:
client:
address: "consul0:8500"
scheme: "http"
waitTime: "30s"
disableGenerateID: true
vnodeCount: 211
registrations:
-
id: "caduceus"
name: "caduceus"
tags:
- "stage=dev"
- "flavor=docker"
address: "http://caduceus"
scheme: "http"
port: 6000
checks:
-
checkID: "caduceus:http"
http: "http://caduceus:6001/health"
interval: "30s"
deregisterCriticalServiceAfter: "70s"
@@ -1,58 +0,0 @@
---
fqdn: petasos
env: test
scheme: http
primary:
address: ":6400"
health:
address: ":6401"
options:
- "PayloadsOverZero"
- "PayloadsOverHundred"
- "PayloadsOverThousand"
- "PayloadsOverTenThousand"
pprof:
address: ":6402"
metric:
address: ":6403"
metricsOptions:
namespace: "xmidt"
subsystem: "petasos"
control:
address: ":6404"
log:
file: "stdout"
level: "debug"
json: true
service:
defaultScheme: http
consul:
client:
address: "consul0:8500"
scheme: "http"
waitTime: "30s"
disableGenerateID: true
watches:
-
service: "talaria"
passingOnly: true
vnodeCount: 211
redundancy:
dc1:
defaultScheme: http
consul:
client:
address: "consul1:8500"
scheme: "http"
waitTime: "30s"
disableGenerateID: true
watches:
-
service: "talaria"
passingOnly: true
vnodeCount: 211
@@ -59,7 +59,7 @@ scrape_configs:
# scheme defaults to 'http'.
static_configs:
- targets: ['talaria-0:6204', 'talaria-1:6214', 'talaria-2:6224']
- targets: ['talaria-0:6204', 'talaria-1:6204', 'talaria-2:6204']
- job_name: 'tr1d1um'
# metrics_path defaults to '/metrics'
@@ -74,10 +74,10 @@ scrape_configs:
static_configs:
- targets: ['argus:6601']
- job_name: 'themis'
static_configs:
- targets: ['themis:6502']
- targets: ['themis:6503']
- job_name: 'consul'
metrics_path: "/v1/agent/metrics"
@@ -1,81 +0,0 @@
---
fqdn: scytale
env: test
scheme: http
primary:
address: ":6300"
health:
address: ":6301"
options:
- "PayloadsOverZero"
- "PayloadsOverHundred"
- "PayloadsOverThousand"
- "PayloadsOverTenThousand"
pprof:
address: ":6302"
metric:
address: ":6303"
metricsOptions:
namespace: "xmidt"
subsystem: "scytale"
log:
file: "stdout"
level: "DEBUG"
json: true
fanout:
endpoints: [ "http://petasos:6400/api/v2/device/send" ]
authorization: dXNlcjpwYXNz
fanoutTimeout: "5s"
clientTimeout: "5s"
concurrency: 10
service:
consul:
client:
address: "consul0:8500"
scheme: "http"
disableGenerateID: true
vnodeCount: 211
watches:
-
service: "talaria"
allDatacenters: true
tags:
- "dev"
- "docker"
passingOnly: true
registrations:
-
id: "scytale"
name: "scytale"
tags:
- "stage=dev"
- "flavor=docker"
address: "http://scytale"
scheme: "http"
port: 6200
checks:
-
checkID: "talaria-0:http"
http: "http://scytale:6301/health"
interval: "30s"
deregisterCriticalServiceAfter: "70s"
aws:
accessKey: "supbro"
secretKey: "nahbro"
env: local-dev
sns:
awsEndpoint: http://goaws:4100
region: "us-east-1"
topicArn: arn:aws:sns:us-east-1:000000000000:xmidt-local-caduceus
urlPath: "/api/v2/aws/sns"
waitForDns: 0
authHeader: ["dXNlcjpwYXNz"]
start:
duration: 1
apiPath: http://caduceus:6000/hooks
authHeader: dXNlcjpwYXNz
@@ -1,122 +0,0 @@
---
fqdn: talaria
env: test
scheme: http
primary:
address: ":6200"
health:
address: ":6201"
pprof:
address: ":6202"
control:
address: ":6203"
metric:
address: ":6204"
metricsOptions:
namespace: "xmidt"
subsystem: "talaria"
log:
file: "stdout"
level: "debug"
json: true
device:
manager:
wrpSourceCheck:
type: enforce
upgrader:
handshakeTimeout: "10s"
maxDevices: 2000
deviceMessageQueueSize: 100
pingPeriod: "45s"
idlePeriod: "135s"
requestTimeout: "15s"
rehasher:
services:
- talaria
outbound:
method: "POST"
eventEndpoints:
default: http://caduceus:6000/api/v3/notify
requestTimeout: "125s"
defaultScheme: "http"
allowedSchemes:
- "http"
- "https"
outboundQueueSize: 1000
workerPoolSize: 100
transport:
maxIdleConns: 0
maxIdleConnsPerHost: 100
idleConnTimeout: "120s"
clientTimeout: "160s"
authKey: dXNlcjpwYXNz
inbound:
authKey: dXNlcjpwYXNz
eventMap:
default: http://caduceus:6000/api/v3/notify
jwtValidator:
keys:
Factory:
uri: "http://themis:6500/keys/local"
purpose: 0
updateInterval: 24h
deviceAccessCheck:
type: enforce
checks:
-
name: PartnerID
deviceCredentialPath: partner-id
op: contains
wrpCredentialPath: PartnerIDs
inversed: true
-
name: Trusted Device
deviceCredentialPath: trust
op: "gt"
inputValue: 999
service:
defaultScheme: http
consul:
client:
address: "consul0:8500"
scheme: "http"
waitTime: "30s"
disableGenerateID: true
vnodeCount: 211
watches:
-
service: "talaria"
tags:
- "stage=dev"
- "flavor=docker"
passingOnly: true
-
service: "caduceus"
tags:
- "stage=dev"
- "flavor=docker"
passingOnly: true
registrations:
-
id: "talaria-0"
name: "talaria"
tags:
- "stage=dev"
- "flavor=docker"
address: "http://talaria-0"
scheme: "http"
port: 6200
checks:
-
checkID: "talaria-0:http"
http: "http://talaria-0:6201/health"
interval: "30s"
deregisterCriticalServiceAfter: "70s"
@@ -1,123 +0,0 @@
---
fqdn: talaria
env: test
scheme: http
primary:
address: ":6210"
health:
address: ":6211"
pprof:
address: ":6212"
control:
address: ":6213"
metric:
address: ":6214"
metricsOptions:
namespace: "xmidt"
subsystem: "talaria"
log:
file: "stdout"
level: "debug"
json: true
device:
manager:
wrpSourceCheck:
type: enforce
upgrader:
handshakeTimeout: "10s"
maxDevices: 2000
deviceMessageQueueSize: 100
pingPeriod: "45s"
idlePeriod: "135s"
requestTimeout: "15s"
rehasher:
services:
- talaria
outbound:
method: "POST"
eventEndpoints:
default: http://caduceus:6000/api/v3/notify
requestTimeout: "125s"
defaultScheme: "http"
allowedSchemes:
- "http"
- "https"
outboundQueueSize: 1000
workerPoolSize: 100
transport:
maxIdleConns: 0
maxIdleConnsPerHost: 100
idleConnTimeout: "120s"
clientTimeout: "160s"
authKey: dXNlcjpwYXNz
inbound:
authKey: dXNlcjpwYXNz
eventMap:
default: http://caduceus:6000/api/v3/notify
jwtValidator:
keys:
Factory:
uri: "http://themis:6500/keys/local"
purpose: 0
updateInterval: 24h
deviceAccessCheck:
type: enforce
checks:
-
name: PartnerID
deviceCredentialPath: partner-id
op: contains
wrpCredentialPath: PartnerIDs
inversed: true
-
name: Trusted Device
deviceCredentialPath: trust
op: "gt"
inputValue: 999
service:
defaultScheme: http
consul:
client:
address: "consul0:8500"
scheme: "http"
waitTime: "30s"
disableGenerateID: true
vnodeCount: 211
watches:
-
service: "talaria"
tags:
- "stage=dev"
- "flavor=docker"
passingOnly: true
-
service: "caduceus"
tags:
- "stage=dev"
- "flavor=docker"
passingOnly: true
registrations:
-
id: "talaria-1"
name: "talaria"
tags:
- "stage=dev"
- "flavor=docker"
address: "http://talaria-1"
scheme: "http"
port: 6210
checks:
-
checkID: "talaria-1:http"
http: "http://talaria-1:6211/health"
interval: "30s"
deregisterCriticalServiceAfter: "70s"
@@ -1,123 +0,0 @@
---
fqdn: talaria
env: test
scheme: http
primary:
address: ":6220"
health:
address: ":6221"
pprof:
address: ":6222"
control:
address: ":6223"
metric:
address: ":6224"
metricsOptions:
namespace: "xmidt"
subsystem: "talaria"
log:
file: "stdout"
level: "debug"
json: false
device:
manager:
wrpSourceCheck:
type: enforce
upgrader:
handshakeTimeout: "10s"
maxDevices: 2000
deviceMessageQueueSize: 100
pingPeriod: "45s"
idlePeriod: "135s"
requestTimeout: "15s"
rehasher:
services:
- talaria
outbound:
method: "POST"
eventEndpoints:
default: http://caduceus:6000/api/v3/notify
requestTimeout: "125s"
defaultScheme: "http"
allowedSchemes:
- "http"
- "https"
outboundQueueSize: 1000
workerPoolSize: 100
transport:
maxIdleConns: 0
maxIdleConnsPerHost: 100
idleConnTimeout: "120s"
clientTimeout: "160s"
authKey: dXNlcjpwYXNz
inbound:
authKey: dXNlcjpwYXNz
eventMap:
default: http://caduceus:6000/api/v3/notify
jwtValidator:
keys:
Factory:
uri: "http://themis:6500/keys/local"
purpose: 0
updateInterval: 24h
deviceAccessCheck:
type: enforce
checks:
-
name: PartnerID
deviceCredentialPath: partner-id
op: contains
wrpCredentialPath: PartnerIDs
inversed: true
-
name: Trusted Device
deviceCredentialPath: trust
op: "gt"
inputValue: 999
service:
defaultScheme: http
consul:
client:
address: "consul1:8500"
scheme: "http"
waitTime: "30s"
disableGenerateID: true
vnodeCount: 211
watches:
-
service: "talaria"
tags:
- "stage=dev"
- "flavor=docker"
passingOnly: true
-
service: "caduceus"
tags:
- "stage=dev"
- "flavor=docker"
passingOnly: true
registrations:
-
id: "talaria-2"
name: "talaria"
tags:
- "stage=dev"
- "flavor=docker"
address: "http://talaria-2"
scheme: "http"
port: 6220
checks:
-
checkID: "talaria-2:http"
http: "http://talaria-2:6221/health"
interval: "30s"
deregisterCriticalServiceAfter: "70s"
@@ -1,53 +0,0 @@
---
servers:
key:
address: :6500
issuer:
address: :6501
metrics:
address: :6502
health:
address: :6503
health:
disableLogging: false
custom:
server: "themis"
prometheus:
defaultNamespace: xmidt
defaultSubsystem: themis
token:
alg: RS256
nonce: true
notBeforeDelta: -15s
duration: 2h
claims:
iss:
value: "themis"
trust:
value: 1000
capabilities:
value:
- xmidt:issuer:test:.*:all
sub:
value: client:supplied
partnerID:
claim: partner-id
header: X-Midt-Partner-ID
parameter: pid
default: comcast
key:
kid: local
type: rsa
bits: 2048
log:
file: "stdout"
level: "DEBUG"
@@ -1,54 +0,0 @@
---
fqdn: tr1d1um
env: test
scheme: http
hooksScheme: http
primary:
address: ":6100"
health:
address: ":6101"
options:
- "PayloadsOverZero"
- "PayloadsOverHundred"
- "PayloadsOverThousand"
- "PayloadsOverTenThousand"
readTimeout: "15s"
idleTimeout: "15s"
pprof:
address: ":6102"
readTimeout: "15s"
idleTimeout: "15s"
metric:
address: ":6103"
metricsOptions:
namespace: "webpa"
subsystem: "tr1d1um"
readTimeout: "15s"
idleTimeout: "15s"
log:
file: "stdout"
level: "INFO"
json: false
reducedLoggingResponseCodes: [200, 504]
webhook:
argus:
bucket: webhooks
address: http://argus:6600
pullInterval: 5s
adminToken: Hzu1WpIe7S8G
auth:
Basic: Basic dXNlcjpwYXNz
authHeader: ["dXNlcjpwYXNz"]
targetURL: http://scytale:6300
WRPSource: "dns:tr1d1um.example.net"
supportedServices:
- "config"
clientTimeout: "135s"
respWaitTimeout: "129s"
netDialerTimeout: "5s"
requestRetryInterval: "2s"
requestMaxRetries: 2