···
-
import ./make-test-python.nix (
-
# See https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html.
-
iniFormat = pkgs.formats.ini { };
-
region = "ap-northeast-1";
-
sharedConfigurationDefaultProfile = "default";
-
sharedConfigurationFile = iniFormat.generate "config" {
-
"${sharedConfigurationDefaultProfile}" = {
-
sharedCredentialsFile = iniFormat.generate "credentials" {
-
"${sharedConfigurationDefaultProfile}" = {
-
aws_access_key_id = "placeholder";
-
aws_secret_access_key = "placeholder";
-
aws_session_token = "placeholder";
-
sharedConfigurationDirectory = pkgs.runCommand ".aws" { } ''
-
cp ${sharedConfigurationFile} $out/config
-
cp ${sharedCredentialsFile} $out/credentials
-
name = "amazon-cloudwatch-agent";
-
services.amazon-cloudwatch-agent = {
-
commonConfiguration = {
-
shared_credential_profile = sharedConfigurationDefaultProfile;
-
shared_credential_file = "${sharedConfigurationDirectory}/credentials";
-
# Required despite documentation saying the agent ignores it in "onPremise" mode.
-
# Show debug logs and write to a file for interactive debugging.
-
logfile = "/var/log/amazon-cloudwatch-agent/amazon-cloudwatch-agent.log";
-
file_path = "/var/log/amazon-cloudwatch-agent/amazon-cloudwatch-agent.log";
-
log_group_name = "/var/log/amazon-cloudwatch-agent/amazon-cloudwatch-agent.log";
-
log_stream_name = "{local_hostname}";
-
# Keep the runtime directory for interactive debugging.
-
systemd.services.amazon-cloudwatch-agent.serviceConfig.RuntimeDirectoryPreserve = true;
-
machine.wait_for_unit("amazon-cloudwatch-agent.service")
-
machine.wait_for_file("/run/amazon-cloudwatch-agent/amazon-cloudwatch-agent.pid")
-
machine.wait_for_file("/run/amazon-cloudwatch-agent/amazon-cloudwatch-agent.toml")
-
# "config-translator" omits this file if no trace configurations are specified.
-
# See https://github.com/aws/amazon-cloudwatch-agent/issues/1320.
-
machine.wait_for_file("/run/amazon-cloudwatch-agent/amazon-cloudwatch-agent.yaml")
-
machine.wait_for_file("/run/amazon-cloudwatch-agent/env-config.json")