in pkg/inject/inject.go [100:233]
func (m *SidecarInjector) injectAppMeshPatches(ms *appmesh.Mesh, vn *appmesh.VirtualNode, vg *appmesh.VirtualGateway, pod *corev1.Pod) error {
// List out all the mutators in sequence
var mutators []PodMutator
if vn != nil {
mutators = []PodMutator{
newProxyMutator(proxyMutatorConfig{
egressIgnoredIPs: m.config.IgnoredIPs,
initProxyMutatorConfig: initProxyMutatorConfig{
containerImage: m.config.InitImage,
cpuRequests: m.config.SidecarCpuRequests,
memoryRequests: m.config.SidecarMemoryRequests,
cpuLimits: m.config.SidecarCpuLimits,
memoryLimits: m.config.SidecarMemoryLimits,
},
}, vn),
newEnvoyMutator(envoyMutatorConfig{
accountID: m.accountID,
awsRegion: m.awsRegion,
preview: m.config.Preview,
enableSDS: m.config.EnableSDS,
sdsUdsPath: m.config.SdsUdsPath,
logLevel: m.config.LogLevel,
adminAccessPort: m.config.EnvoyAdminAcessPort,
adminAccessLogFile: m.config.EnvoyAdminAccessLogFile,
preStopDelay: m.config.PreStopDelay,
readinessProbeInitialDelay: m.config.ReadinessProbeInitialDelay,
readinessProbePeriod: m.config.ReadinessProbePeriod,
sidecarImageRepository: m.config.SidecarImageRepository,
sidecarImageTag: m.config.SidecarImageTag,
sidecarCPURequests: m.config.SidecarCpuRequests,
sidecarMemoryRequests: m.config.SidecarMemoryRequests,
sidecarCPULimits: m.config.SidecarCpuLimits,
sidecarMemoryLimits: m.config.SidecarMemoryLimits,
enableXrayTracing: m.config.EnableXrayTracing,
xrayDaemonPort: m.config.XrayDaemonPort,
xraySamplingRate: m.config.XraySamplingRate,
enableJaegerTracing: m.config.EnableJaegerTracing,
jaegerPort: m.config.JaegerPort,
jaegerAddress: m.config.JaegerAddress,
enableDatadogTracing: m.config.EnableDatadogTracing,
datadogTracerPort: m.config.DatadogPort,
datadogTracerAddress: m.config.DatadogAddress,
enableStatsTags: m.config.EnableStatsTags,
enableStatsD: m.config.EnableStatsD,
statsDPort: m.config.StatsDPort,
statsDAddress: m.config.StatsDAddress,
statsDSocketPath: m.config.StatsDSocketPath,
waitUntilProxyReady: m.config.WaitUntilProxyReady,
controllerVersion: m.controllerVersion,
k8sVersion: m.k8sVersion,
useDualStackEndpoint: m.config.DualStackEndpoint,
enableAdminAccessIPv6: m.config.EnvoyAdminAccessEnableIPv6,
postStartTimeout: m.config.PostStartTimeout,
postStartInterval: m.config.PostStartInterval,
useFipsEndpoint: m.config.FipsEndpoint,
awsAccessKeyId: m.config.EnvoyAwsAccessKeyId,
awsSecretAccessKey: m.config.EnvoyAwsSecretAccessKey,
awsSessionToken: m.config.EnvoyAwsSessionToken,
}, ms, vn),
newXrayMutator(xrayMutatorConfig{
awsRegion: m.awsRegion,
sidecarCPURequests: m.config.SidecarCpuRequests,
sidecarMemoryRequests: m.config.SidecarMemoryRequests,
sidecarCPULimits: m.config.SidecarCpuLimits,
sidecarMemoryLimits: m.config.SidecarMemoryLimits,
xRayImage: m.config.XRayImage,
xRayDaemonPort: m.config.XrayDaemonPort,
xRayLogLevel: m.config.XrayLogLevel,
xRayConfigRoleArn: m.config.XrayConfigRoleArn,
}, m.config.EnableXrayTracing),
newCloudMapHealthyReadinessGate(vn),
newIAMForServiceAccountsMutator(m.config.EnableIAMForServiceAccounts),
newECRSecretMutator(m.config.EnableECRSecret),
}
} else if vg != nil {
mutators = []PodMutator{newVirtualGatewayEnvoyConfig(virtualGatwayEnvoyConfig{
accountID: m.accountID,
awsRegion: m.awsRegion,
preview: m.config.Preview,
enableSDS: m.config.EnableSDS,
sdsUdsPath: m.config.SdsUdsPath,
logLevel: m.config.LogLevel,
adminAccessPort: m.config.EnvoyAdminAcessPort,
adminAccessLogFile: m.config.EnvoyAdminAccessLogFile,
sidecarImageRepository: m.config.SidecarImageRepository,
sidecarImageTag: m.config.SidecarImageTag,
readinessProbeInitialDelay: m.config.ReadinessProbeInitialDelay,
readinessProbePeriod: m.config.ReadinessProbePeriod,
enableXrayTracing: m.config.EnableXrayTracing,
xrayDaemonPort: m.config.XrayDaemonPort,
xraySamplingRate: m.config.XraySamplingRate,
enableJaegerTracing: m.config.EnableJaegerTracing,
jaegerPort: m.config.JaegerPort,
jaegerAddress: m.config.JaegerAddress,
enableDatadogTracing: m.config.EnableDatadogTracing,
datadogTracerPort: m.config.DatadogPort,
datadogTracerAddress: m.config.DatadogAddress,
enableStatsTags: m.config.EnableStatsTags,
enableStatsD: m.config.EnableStatsD,
statsDPort: m.config.StatsDPort,
statsDAddress: m.config.StatsDAddress,
statsDSocketPath: m.config.StatsDSocketPath,
controllerVersion: m.controllerVersion,
k8sVersion: m.k8sVersion,
useDualStackEndpoint: m.config.DualStackEndpoint,
enableAdminAccessIPv6: m.config.EnvoyAdminAccessEnableIPv6,
useFipsEndpoint: m.config.FipsEndpoint,
awsAccessKeyId: m.config.EnvoyAwsAccessKeyId,
awsSecretAccessKey: m.config.EnvoyAwsSecretAccessKey,
awsSessionToken: m.config.EnvoyAwsSessionToken,
}, ms, vg),
newXrayMutator(xrayMutatorConfig{
awsRegion: m.awsRegion,
sidecarCPURequests: m.config.SidecarCpuRequests,
sidecarMemoryRequests: m.config.SidecarMemoryRequests,
sidecarCPULimits: m.config.SidecarCpuLimits,
sidecarMemoryLimits: m.config.SidecarMemoryLimits,
xRayImage: m.config.XRayImage,
xRayDaemonPort: m.config.XrayDaemonPort,
xRayLogLevel: m.config.XrayLogLevel,
xRayConfigRoleArn: m.config.XrayConfigRoleArn,
}, m.config.EnableXrayTracing),
}
}
for _, mutator := range mutators {
err := mutator.mutate(pod)
if err != nil {
return err
}
}
return nil
}