This script is meant to help verify 'bulk correction' files for submission to MaxMind. The files are expected to (mostly) follow the format provided by the RFC at https://datatracker.ietf.org/doc/rfc8805/ Region codes without the country prefix are accepted. eg, 'NY' is allowed, along with 'US-NY' for the state of New York in the United States. Beyond verifying that the format of the data is correct, the script will also compare the corrections against a given MMDB, reporting on how many corrections differ from the contents in the database.
Package secretcrypt is an utility for keeping your secrets encrypted. For example, you have the following TOML (or any format whose decoder supports TextUnmarshaler interface for custom values) configuration file but you can't include that file in VCS because then your secret value would be exposed. With secretcrypt, you can encrypt your secret using your AWS KMS master key aliased MyKey: use that secret in my TOML config file: or YAML: or JSON: Then, you can use that secret in your config struct and get its plaintext as The KMS option uses AWS Key Management Service. When encrypting and decrypting KMS secrets, you need to provide which AWS region the is to be or was encrypted on, but it defaults to us-east-1. So if you use a custom region, you must provide it to secretcrypt: This mode is meant for local and/or offline development usage. It generates a local key in your user data dir (see appdirs at https://pypi.python.org/pypi/appdirs/1.4.0), so that the key cannot be accidentally committed to CVS. It then uses that key to symmetrically encrypt and decrypt your secrets.
awsregioncertificates provides embedded region certificates for AWS and can be used to validate instance IDs
Package lddynamodb provides a DynamoDB-backed persistent data store for the LaunchDarkly Go SDK. For more details about how and why you can use a persistent data store, see: https://docs.launchdarkly.com/sdk/features/storing-data/dynamodb#go To use the DynamoDB data store with the LaunchDarkly client: By default, the data store uses a basic DynamoDB client configuration that is equivalent to doing this: This default configuration will only work if your AWS credentials and region are available from AWS environment variables and/or configuration files. If you want to set those programmatically or modify any other configuration settings, you can use the methods of the lddynamodb.DataStoreBuilder returned by lddynamodb.DataStore(). For example: Note that CacheSeconds() is not a method of lddynamodb.DataStoreBuilder, but rather a method of ldcomponents.PersistentDataStore(), because the caching behavior is provided by the SDK for all database integrations. If you are also using DynamoDB for other purposes, the data store can coexist with other data in the same table as long as you use the Prefix option to make each application use different keys. However, it is advisable to configure separate tables in DynamoDB, for better control over permissions and throughput.