1.7.1 • Published 3 days ago

cdk-sops-secrets v1.7.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 days ago

stability  release

cdk-construct-hub npm  npm downloads pypi  pypi downloads

codecov   security-vulnerabilities 

Introduction

This construct library provides a replacement for CDK SecretsManager secrets, with extended functionality for Mozilla/sops.

Secrets filled in this way can be used immediately within the CloudFormation stack and dynamic references. This construct should handle all dependencies, if you use the secretValueFromJson() or secretValue() call to access secret values.

This way, secrets can be securely stored in git repositories and easily synchronized into AWS SecretsManager secrets.

Stability

You can consider this package as stable. Updates will follow Semantic Versioning. Nevertheless, I would recommend pinning the exact version of this library in your package.json.

Prerequisites

  • AWS: I think you already knew it, but this construct will only work with an AWS account.
  • KMS Key: It makes most sense to encrypt your secrets with AWS KMS if you want to sync and use the secret content afterwards in your AWS account.
  • mozilla/sops: This construct assumes that you store your secrets encrypted via sops in your git repository.
  • CDK: As this is a CDK construct, it's only useful if you use the CloudDevelopmentToolkit.

Getting started

  1. Create a Mozilla/sops secrets file (encrypted with an already existing KMS key) and place it somewhere in your git repository
  2. Create a secret with the SopsSecret construct inside your app
    const secret = new SopsSecret(stack, 'SopsComplexSecretJSON', {
      sopsFilePath: 'secets/sopsfile-encrypted.json',
    });
  3. Optional: Access the secret via dynamic references
    secret.secretValueFromJson('json.path.dotted.notation.accessor[0]').toString(),

Advanced configuration examples

Even if using the main functionality should be done in 3 lines of code, there are more options to configure the constructs of this library. If you want to get an Overview of all available configuration options take a look at the documentation at the CDK ConstructHub.

The most useful settings will be explained in the further chapters:

Getting a specific (older version)

While creating the secret or updating the entries of a secret, the native CDK function cdk.FileSystem.fingerprint(...) is used to generate the version information of the AWS SecretsManager secret. Therefore, it is possible to reference the entries from a specific AWS SecretsManager version.

const versionId = cdk.FileSystem.fingerprint(`./sops/SomeSecrets.json`)
const passphrase = ecs.Secret.fromSecretsManagerVersion(secretMgmt, { versionId: versionId }, 'MY_PRIVATE_PASSPHRASE')

const container = TaskDef.addContainer('Container', {
   secrets: {
     MY_PRIVATE_PASSPHRASE: passphrase,
   },
});

Default conversions and how to disable them?

As default behavior, the SopsSecret (via the SopsSync) will convert all content to JSON and flatten its structure. This is useful, because the AWS SecretsManager has some limitations if it comes to YAML and/or complex objects and decimal values. Even if you can store YAML, complex objects and even binaries in AWS SecretsManager secrets, you can't access their values via the SecretsManager API — you can only return them as is. So accessing (nested) values or values from YAML files won't be possible via dynamic references in CloudFormation (and CDK). That's why I decided that conversion to JSON, flatten the structure and stringify all values should be the default behavior. But you can turn off all of these conversion steps:

const secret = new SopsSecret(this, 'SopsComplexSecretJSON', {
  convertToJSON: false, // disable converting the encrypted content to JSON
  stringify: false, // disable stringifying all values
  flatten: false, // disable flattening of the object structure
  sopsFilePath: 'secrets/sopsfile-encrypted.json',
});

Resource provider is missing permissions

Sometimes it can be necessary to access the IAM role of the SopsSync provider. If this is the case, you should create the provider before creating the SopsSecret, and pass the provider to it like this:

// Create the provider
const provider = new SopsSyncProvider(this, 'CustomSopsSyncProvider');
// Grant whatever you need to the provider
const myExtraKmsKey = Key.fromKeyArn(this, 'MyExtraKmsKey', 'YourKeyArn');
myExtraKmsKey.grantDecrypt(provider);
// create the secret and pass the the provider to it
const secret = new SopsSecret(this, 'SopsComplexSecretJSON', {
  sopsProvider: provider,
  secretName: 'myCoolSecret',
  sopsFilePath: 'secrets/sopsfile-encrypted.json',
});

UploadType: INLINE / ASSET

I decided, that the default behavior should be "INLINE" because of the following consideration:

  • Fewer permissions: If we use inline content instead of a S3 asset, the SopsSyncProvider does not need permissions to access the asset bucket and its KMS key.
  • Faster: If we don't have to upload and download things from and to S3, it should be a little faster.
  • Interchangeable: As we use the same information to generate the version of the secret, no new version of the secret should be created, if you change from INLINE to ASSET or vice versa, even if the CloudFormation resource updates.
  • I personally think sops files are not that big, that we should run into limits, but if so — we can change to asset uploadType.

You can change the uplaodType via the properties:

const secret = new SopsSecret(this, 'SopsWithAssetUpload', {
  sopsFilePath: 'secrets/sopsfile-encrypted.json',
  uploadType: UploadType.ASSET, // instead of the default UploadType.INLINE
});

FAQ

It does not work, what can I do?

Even if this construct has some unit and integration tests performed, there can be bugs and issues. As everything is performed by a cloudformation custom resource provider, a good starting point is the log of the corresponding lambda function. It should be located in your AWS Account under Cloudwatch -> Log groups:

/aws/lambda/<YOUR-STACK-NAME>-SingletonLambdaSopsSyncProvider<SOMETHINGsomething1234>

I get errors with dotenv formatted files

Only very basic dotenv syntax is working right now. Only single line values are accepted. The format must match:

key=value

comments must be a single line, not after value assignments.

Error getting data key: 0 successful groups required, got 0

This error message (and failed sync) is related to the mozilla/sops issues #948 and #634. You must not create your secret with the --aws-profile flag. This profile will be written to your sops filed and is required in every runtime environment. You have to define the profile to use via the environment variable AWS_PROFILE instead, to avoid this.

Asset of sync lambda not found

The lambda asset code is generated relative to the path of the index.ts in this package. With tools like nx this can lead to wrong results, so that the asset could not be found.

You can override the asset path via the cdk.json or via the flag -cof the cdk cli.

The context used for this override is sops_sync_provider_asset_path.

So for example you can use

cdk deploy -c "sops_sync_provider_asset_path=some/path/asset.zip"

or in your cdk.json

{
  "context": {
    "sops_sync_provider_asset_path": "some/path/asset.zip"
  } 
}

Motivation

I have created this project to solve a recurring problem of syncing Mozilla/sops secrets into AWS SecretsManager in a convenient, secure way.

Other than that, or perhaps more importantly, my goal was to learn new things:

  • Write a Golang lambda
  • Writing unit tests incl. mocks in Golang
  • Reproducible builds of Golang binaries (byte-by-byte identical)
  • Build reproducible zips (byte-by-byte identical)
  • Release a NPM package
  • Setting up projects with projen
  • CI/CD with GitHub actions
  • CDK unit and integration tests

Other Tools like this

The problem this Construct addresses is so good, already two other implementations exist:

  • isotoma/sops-secretsmanager-cdk: Does nearly the same. Uses CustomResource, wraps the sops CLI, does not support flatten. Found it after I published my solution to NPM :-/
  • taimos/secretsmanager-versioning: Different approach on the same problem. This is a CLI tool with very nice integration into CDK and also handles git versioning information.

License

The Apache-2.0 license. Please have a look at the LICENSE and LICENSE-3RD-PARTY.

1.7.1

3 days ago

1.7.0

3 days ago

1.6.16

1 month ago

1.6.15

2 months ago

1.6.14

2 months ago

1.6.13

2 months ago

1.6.11

2 months ago

1.6.10

2 months ago

1.6.12

2 months ago

1.6.9

2 months ago

1.6.8

2 months ago

1.6.7

2 months ago

1.6.6

2 months ago

1.6.5

2 months ago

1.6.4

2 months ago

1.6.3

2 months ago

1.6.2

2 months ago

1.6.1

2 months ago

1.6.0

2 months ago

1.5.61

2 months ago

1.5.60

2 months ago

1.5.59

3 months ago

1.5.56

3 months ago

1.5.58

3 months ago

1.5.57

3 months ago

1.5.55

3 months ago

1.5.54

3 months ago

1.5.53

3 months ago

1.5.52

3 months ago

1.5.51

3 months ago

1.5.50

3 months ago

1.5.49

3 months ago

1.5.48

3 months ago

1.5.47

3 months ago

1.5.46

3 months ago

1.5.45

4 months ago

1.5.44

4 months ago

1.5.43

4 months ago

1.5.42

4 months ago

1.5.41

4 months ago

1.5.40

4 months ago

1.5.39

5 months ago

1.5.38

5 months ago

1.5.37

5 months ago

1.5.36

5 months ago

1.5.35

5 months ago

1.2.255

9 months ago

1.2.254

9 months ago

1.2.257

9 months ago

1.2.256

9 months ago

1.2.259

9 months ago

1.2.258

9 months ago

1.2.251

9 months ago

1.2.250

9 months ago

1.2.253

9 months ago

1.2.252

9 months ago

1.2.266

8 months ago

1.2.265

8 months ago

1.2.268

8 months ago

1.2.267

8 months ago

1.2.269

8 months ago

1.2.260

9 months ago

1.2.262

9 months ago

1.2.261

9 months ago

1.2.264

8 months ago

1.2.263

9 months ago

1.2.277

8 months ago

1.2.276

8 months ago

1.2.279

8 months ago

1.2.278

8 months ago

1.5.5

7 months ago

1.5.4

7 months ago

1.5.3

7 months ago

1.2.271

8 months ago

1.5.2

7 months ago

1.2.270

8 months ago

1.5.1

7 months ago

1.2.273

8 months ago

1.5.0

7 months ago

1.2.272

8 months ago

1.2.275

8 months ago

1.2.274

8 months ago

1.2.288

8 months ago

1.2.287

8 months ago

1.2.289

8 months ago

1.2.280

8 months ago

1.2.282

8 months ago

1.2.281

8 months ago

1.2.284

8 months ago

1.2.283

8 months ago

1.2.286

8 months ago

1.2.285

8 months ago

1.2.211

10 months ago

1.2.210

10 months ago

1.2.213

9 months ago

1.2.212

10 months ago

1.2.215

9 months ago

1.2.214

9 months ago

1.2.217

9 months ago

1.2.216

9 months ago

1.2.208

10 months ago

1.2.207

10 months ago

1.2.209

10 months ago

1.2.222

9 months ago

1.2.221

9 months ago

1.2.224

9 months ago

1.2.223

9 months ago

1.2.226

9 months ago

1.2.225

9 months ago

1.2.228

9 months ago

1.2.227

9 months ago

1.2.220

9 months ago

1.5.9

6 months ago

1.5.8

6 months ago

1.5.7

7 months ago

1.5.6

7 months ago

1.2.219

9 months ago

1.2.218

9 months ago

1.2.233

9 months ago

1.2.232

9 months ago

1.2.235

9 months ago

1.2.234

9 months ago

1.2.237

9 months ago

1.2.236

9 months ago

1.2.239

9 months ago

1.2.238

9 months ago

1.2.231

9 months ago

1.3.0

8 months ago

1.2.230

9 months ago

1.2.229

9 months ago

1.2.244

9 months ago

1.2.243

9 months ago

1.2.246

9 months ago

1.2.245

9 months ago

1.2.248

9 months ago

1.2.247

9 months ago

1.2.249

9 months ago

1.2.240

9 months ago

1.2.242

9 months ago

1.2.241

9 months ago

1.2.291

8 months ago

1.2.290

8 months ago

1.2.293

8 months ago

1.2.292

8 months ago

1.2.294

8 months ago

1.2.200

10 months ago

1.2.202

10 months ago

1.2.201

10 months ago

1.2.204

10 months ago

1.2.203

10 months ago

1.2.206

10 months ago

1.2.205

10 months ago

1.5.30

5 months ago

1.5.32

5 months ago

1.5.31

5 months ago

1.5.34

5 months ago

1.5.33

5 months ago

1.5.10

6 months ago

1.5.12

6 months ago

1.5.11

6 months ago

1.5.14

6 months ago

1.5.13

6 months ago

1.5.15

6 months ago

1.5.19

6 months ago

1.5.21

6 months ago

1.5.20

6 months ago

1.5.23

6 months ago

1.5.22

6 months ago

1.5.25

6 months ago

1.5.24

6 months ago

1.5.27

5 months ago

1.5.26

6 months ago

1.5.29

5 months ago

1.5.28

5 months ago

1.4.20

7 months ago

1.4.22

7 months ago

1.4.24

7 months ago

1.4.26

7 months ago

1.4.25

7 months ago

1.4.28

7 months ago

1.4.27

7 months ago

1.4.29

7 months ago

1.4.31

7 months ago

1.4.30

7 months ago

1.4.33

7 months ago

1.4.32

7 months ago

1.4.35

7 months ago

1.4.34

7 months ago

1.4.37

7 months ago

1.4.36

7 months ago

1.4.39

7 months ago

1.4.38

7 months ago

1.4.11

7 months ago

1.4.10

7 months ago

1.4.13

7 months ago

1.4.12

7 months ago

1.4.15

7 months ago

1.4.14

7 months ago

1.4.17

7 months ago

1.4.16

7 months ago

1.4.19

7 months ago

1.4.18

7 months ago

1.4.6

8 months ago

1.4.5

8 months ago

1.4.4

8 months ago

1.4.3

8 months ago

1.4.2

8 months ago

1.4.1

8 months ago

1.4.0

8 months ago

1.4.9

7 months ago

1.4.8

8 months ago

1.4.7

8 months ago

1.2.199

10 months ago

1.2.192

10 months ago

1.2.191

10 months ago

1.2.194

10 months ago

1.2.193

10 months ago

1.2.196

10 months ago

1.2.195

10 months ago

1.2.198

10 months ago

1.2.197

10 months ago

1.4.40

7 months ago

1.4.42

7 months ago

1.4.41

7 months ago

1.4.44

7 months ago

1.4.43

7 months ago

1.4.46

7 months ago

1.4.45

7 months ago

1.4.48

7 months ago

1.4.47

7 months ago

1.4.49

7 months ago

1.4.50

7 months ago

1.2.189

10 months ago

1.2.188

10 months ago

1.2.181

10 months ago

1.2.180

10 months ago

1.2.183

10 months ago

1.2.182

10 months ago

1.2.185

10 months ago

1.2.184

10 months ago

1.2.187

10 months ago

1.2.186

10 months ago

1.2.190

10 months ago

1.2.178

10 months ago

1.2.177

10 months ago

1.2.179

10 months ago

1.2.174

10 months ago

1.2.173

10 months ago

1.2.176

10 months ago

1.2.175

10 months ago

1.2.167

10 months ago

1.2.166

10 months ago

1.2.169

10 months ago

1.2.168

10 months ago

1.2.170

10 months ago

1.2.172

10 months ago

1.2.171

10 months ago

1.2.145

11 months ago

1.2.144

11 months ago

1.2.147

11 months ago

1.2.146

11 months ago

1.2.149

11 months ago

1.2.148

11 months ago

1.2.143

11 months ago

1.2.142

11 months ago

1.2.156

11 months ago

1.2.155

11 months ago

1.2.158

11 months ago

1.2.157

11 months ago

1.2.159

11 months ago

1.2.150

11 months ago

1.2.152

11 months ago

1.2.151

11 months ago

1.2.154

11 months ago

1.2.153

11 months ago

1.2.161

11 months ago

1.2.160

11 months ago

1.2.163

10 months ago

1.2.162

11 months ago

1.2.165

10 months ago

1.2.164

10 months ago

1.2.134

11 months ago

1.2.133

11 months ago

1.2.136

11 months ago

1.2.135

11 months ago

1.2.138

11 months ago

1.2.137

11 months ago

1.2.139

11 months ago

1.2.130

11 months ago

1.2.132

11 months ago

1.2.131

11 months ago

1.2.141

11 months ago

1.2.140

11 months ago

1.2.96

12 months ago

1.2.97

12 months ago

1.2.95

12 months ago

1.2.98

12 months ago

1.2.99

12 months ago

1.2.101

12 months ago

1.2.100

12 months ago

1.2.103

12 months ago

1.2.102

12 months ago

1.2.105

12 months ago

1.2.104

12 months ago

1.2.107

12 months ago

1.2.106

12 months ago

1.2.112

11 months ago

1.2.111

11 months ago

1.2.114

11 months ago

1.2.113

11 months ago

1.2.116

11 months ago

1.2.115

11 months ago

1.2.118

11 months ago

1.2.117

11 months ago

1.2.110

12 months ago

1.2.109

12 months ago

1.2.108

12 months ago

1.2.123

11 months ago

1.2.122

11 months ago

1.2.125

11 months ago

1.2.124

11 months ago

1.2.127

11 months ago

1.2.126

11 months ago

1.2.129

11 months ago

1.2.128

11 months ago

1.2.121

11 months ago

1.2.120

11 months ago

1.2.119

11 months ago

1.2.81

12 months ago

1.2.82

12 months ago

1.2.80

12 months ago

1.2.85

12 months ago

1.2.86

12 months ago

1.2.83

12 months ago

1.2.84

12 months ago

1.2.89

12 months ago

1.2.87

12 months ago

1.2.88

12 months ago

1.2.92

12 months ago

1.2.93

12 months ago

1.2.90

12 months ago

1.2.91

12 months ago

1.2.94

12 months ago

1.2.60

1 year ago

1.2.63

1 year ago

1.2.64

1 year ago

1.2.61

1 year ago

1.2.62

1 year ago

1.2.67

1 year ago

1.2.68

1 year ago

1.2.65

1 year ago

1.2.66

1 year ago

1.2.69

1 year ago

1.2.70

1 year ago

1.2.71

1 year ago

1.2.74

1 year ago

1.2.75

1 year ago

1.2.72

1 year ago

1.2.73

1 year ago

1.2.78

12 months ago

1.2.79

12 months ago

1.2.76

1 year ago

1.2.77

1 year ago

1.2.49

1 year ago

1.2.48

1 year ago

1.2.52

1 year ago

1.2.53

1 year ago

1.2.50

1 year ago

1.2.51

1 year ago

1.2.56

1 year ago

1.2.57

1 year ago

1.2.54

1 year ago

1.2.55

1 year ago

1.2.58

1 year ago

1.2.59

1 year ago

1.2.41

1 year ago

1.2.42

1 year ago

1.2.40

1 year ago

1.2.45

1 year ago

1.2.46

1 year ago

1.2.43

1 year ago

1.2.44

1 year ago

1.2.47

1 year ago

1.2.19

1 year ago

1.2.20

1 year ago

1.2.23

1 year ago

1.2.24

1 year ago

1.2.21

1 year ago

1.2.22

1 year ago

1.2.27

1 year ago

1.2.28

1 year ago

1.2.25

1 year ago

1.2.26

1 year ago

1.2.29

1 year ago

1.2.30

1 year ago

1.2.31

1 year ago

1.2.34

1 year ago

1.2.35

1 year ago

1.2.32

1 year ago

1.2.33

1 year ago

1.2.38

1 year ago

1.2.39

1 year ago

1.2.36

1 year ago

1.2.37

1 year ago

1.2.18

1 year ago

1.1.201

1 year ago

1.1.200

1 year ago

1.1.188

1 year ago

1.1.187

1 year ago

1.1.186

1 year ago

1.1.189

1 year ago

1.2.12

1 year ago

1.2.13

1 year ago

1.2.10

1 year ago

1.2.11

1 year ago

1.2.16

1 year ago

1.2.17

1 year ago

1.2.14

1 year ago

1.2.15

1 year ago

1.1.191

1 year ago

1.1.190

1 year ago

1.1.199

1 year ago

1.1.198

1 year ago

1.1.197

1 year ago

1.1.196

1 year ago

1.1.195

1 year ago

1.1.194

1 year ago

1.1.193

1 year ago

1.1.192

1 year ago

1.2.0

1 year ago

1.2.8

1 year ago

1.2.7

1 year ago

1.2.6

1 year ago

1.2.5

1 year ago

1.2.4

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.2.9

1 year ago

1.1.185

1 year ago

1.1.184

1 year ago

1.1.180

1 year ago

1.1.183

1 year ago

1.1.182

1 year ago

1.1.181

1 year ago

1.1.179

1 year ago

1.1.178

1 year ago

1.1.177

1 year ago

1.1.176

1 year ago

1.1.175

1 year ago

1.1.174

1 year ago

1.1.173

1 year ago

1.1.172

1 year ago

1.1.171

1 year ago

1.1.170

1 year ago

1.1.169

1 year ago

1.1.168

1 year ago

1.1.166

1 year ago

1.1.167

1 year ago

1.1.149

1 year ago

1.1.165

1 year ago

1.1.164

1 year ago

1.1.163

1 year ago

1.1.162

1 year ago

1.1.161

1 year ago

1.1.160

1 year ago

1.1.155

1 year ago

1.1.154

1 year ago

1.1.153

1 year ago

1.1.152

1 year ago

1.1.151

1 year ago

1.1.150

1 year ago

1.1.159

1 year ago

1.1.158

1 year ago

1.1.157

1 year ago

1.1.156

1 year ago

1.1.100

1 year ago

1.1.108

1 year ago

1.1.107

1 year ago

1.1.106

1 year ago

1.1.105

1 year ago

1.1.104

1 year ago

1.1.103

1 year ago

1.1.102

1 year ago

1.1.101

1 year ago

1.1.122

1 year ago

1.1.92

1 year ago

1.1.121

1 year ago

1.1.91

1 year ago

1.1.120

1 year ago

1.1.90

1 year ago

1.1.96

1 year ago

1.1.95

1 year ago

1.1.94

1 year ago

1.1.93

1 year ago

1.1.129

1 year ago

1.1.99

1 year ago

1.1.128

1 year ago

1.1.98

1 year ago

1.1.127

1 year ago

1.1.97

1 year ago

1.1.126

1 year ago

1.1.125

1 year ago

1.1.124

1 year ago

1.1.123

1 year ago

1.1.109

1 year ago

1.1.111

1 year ago

1.1.110

1 year ago

1.1.119

1 year ago

1.1.118

1 year ago

1.1.117

1 year ago

1.1.116

1 year ago

1.1.115

1 year ago

1.1.114

1 year ago

1.1.113

1 year ago

1.1.112

1 year ago

1.1.70

1 year ago

1.1.74

1 year ago

1.1.73

1 year ago

1.1.72

1 year ago

1.1.71

1 year ago

1.1.78

1 year ago

1.1.77

1 year ago

1.1.76

1 year ago

1.1.75

1 year ago

1.1.79

1 year ago

1.1.81

1 year ago

1.1.80

1 year ago

1.1.85

1 year ago

1.1.84

1 year ago

1.1.83

1 year ago

1.1.82

1 year ago

1.1.89

1 year ago

1.1.88

1 year ago

1.1.87

1 year ago

1.1.86

1 year ago

1.1.52

1 year ago

1.1.51

1 year ago

1.1.50

1 year ago

1.1.56

1 year ago

1.1.55

1 year ago

1.1.54

1 year ago

1.1.53

1 year ago

1.1.59

1 year ago

1.1.58

1 year ago

1.1.57

1 year ago

1.1.63

1 year ago

1.1.62

1 year ago

1.1.61

1 year ago

1.1.60

1 year ago

1.1.67

1 year ago

1.1.66

1 year ago

1.1.65

1 year ago

1.1.64

1 year ago

1.1.69

1 year ago

1.1.68

1 year ago

1.1.49

1 year ago

1.1.144

1 year ago

1.1.143

1 year ago

1.1.142

1 year ago

1.1.141

1 year ago

1.1.140

1 year ago

1.1.148

1 year ago

1.1.147

1 year ago

1.1.146

1 year ago

1.1.145

1 year ago

1.1.133

1 year ago

1.1.132

1 year ago

1.1.131

1 year ago

1.1.130

1 year ago

1.1.139

1 year ago

1.1.138

1 year ago

1.1.137

1 year ago

1.1.136

1 year ago

1.1.135

1 year ago

1.1.134

1 year ago

0.3.280

1 year ago

0.3.282

1 year ago

0.3.281

1 year ago

0.3.284

1 year ago

0.3.283

1 year ago

0.3.285

1 year ago

0.3.271

2 years ago

0.3.270

2 years ago

0.3.273

2 years ago

0.3.272

2 years ago

0.3.275

2 years ago

0.3.274

2 years ago

0.3.277

1 year ago

0.3.276

2 years ago

0.3.279

1 year ago

0.3.278

1 year ago

1.1.29

1 year ago

1.1.28

1 year ago

0.3.228

2 years ago

1.1.30

1 year ago

1.1.34

1 year ago

1.1.33

1 year ago

1.1.32

1 year ago

1.1.31

1 year ago

1.1.38

1 year ago

1.1.37

1 year ago

1.1.36

1 year ago

1.1.35

1 year ago

1.1.39

1 year ago

1.1.41

1 year ago

1.1.40

1 year ago

1.1.45

1 year ago

1.1.44

1 year ago

1.1.43

1 year ago

1.1.42

1 year ago

1.1.48

1 year ago

1.1.47

1 year ago

1.1.46

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.1.9

1 year ago

1.1.8

1 year ago

1.1.7

1 year ago

1.1.6

1 year ago

1.1.5

1 year ago

1.1.4

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.1.12

1 year ago

1.1.11

1 year ago

1.1.10

1 year ago

1.1.16

1 year ago

1.1.15

1 year ago

1.1.14

1 year ago

1.1.13

1 year ago

1.1.19

1 year ago

1.1.18

1 year ago

1.1.17

1 year ago

1.1.23

1 year ago

1.1.22

1 year ago

1.1.21

1 year ago

1.1.20

1 year ago

1.1.27

1 year ago

1.1.26

1 year ago

1.1.25

1 year ago

1.1.24

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

0.3.260

2 years ago

0.3.262

2 years ago

0.3.261

2 years ago

0.3.264

2 years ago

0.3.263

2 years ago

0.3.266

2 years ago

0.3.265

2 years ago

0.3.268

2 years ago

0.3.267

2 years ago

0.3.269

2 years ago

0.3.251

2 years ago

0.3.250

2 years ago

0.3.253

2 years ago

0.3.252

2 years ago

0.3.255

2 years ago

0.3.254

2 years ago

0.3.257

2 years ago

0.3.256

2 years ago

0.3.259

2 years ago

0.3.258

2 years ago

0.3.240

2 years ago

0.3.242

2 years ago

0.3.241

2 years ago

0.3.244

2 years ago

0.3.243

2 years ago

0.3.246

2 years ago

0.3.245

2 years ago

0.3.248

2 years ago

0.3.247

2 years ago

0.3.249

2 years ago

0.3.231

2 years ago

0.3.230

2 years ago

0.3.233

2 years ago

0.3.232

2 years ago

0.3.235

2 years ago

0.3.234

2 years ago

0.3.237

2 years ago

0.3.236

2 years ago

0.3.239

2 years ago

0.3.238

2 years ago

0.3.229

2 years ago

0.3.198

2 years ago

0.3.197

2 years ago

0.3.199

2 years ago

0.3.220

2 years ago

0.3.222

2 years ago

0.3.221

2 years ago

0.3.224

2 years ago

0.3.223

2 years ago

0.3.226

2 years ago

0.3.225

2 years ago

0.3.227

2 years ago

0.3.219

2 years ago

0.3.218

2 years ago

0.3.211

2 years ago

0.3.210

2 years ago

0.3.213

2 years ago

0.3.212

2 years ago

0.3.215

2 years ago

0.3.214

2 years ago

0.3.217

2 years ago

0.3.216

2 years ago

0.3.208

2 years ago

0.3.207

2 years ago

0.3.209

2 years ago

0.3.200

2 years ago

0.3.202

2 years ago

0.3.201

2 years ago

0.3.204

2 years ago

0.3.203

2 years ago

0.3.206

2 years ago

0.3.205

2 years ago

0.3.181

2 years ago

0.3.180

2 years ago

0.3.183

2 years ago

0.3.182

2 years ago

0.3.185

2 years ago

0.3.184

2 years ago

0.3.187

2 years ago

0.3.186

2 years ago

0.3.189

2 years ago

0.3.188

2 years ago

0.3.79

2 years ago

0.3.78

2 years ago

0.3.77

2 years ago

0.3.76

2 years ago

0.3.170

2 years ago

0.3.172

2 years ago

0.3.171

2 years ago

0.3.174

2 years ago

0.3.173

2 years ago

0.3.176

2 years ago

0.3.175

2 years ago

0.3.178

2 years ago

0.3.177

2 years ago

0.3.179

2 years ago

0.3.161

2 years ago

0.3.160

2 years ago

0.3.163

2 years ago

0.3.162

2 years ago

0.3.165

2 years ago

0.3.164

2 years ago

0.3.167

2 years ago

0.3.166

2 years ago

0.3.169

2 years ago

0.3.168

2 years ago

0.3.150

2 years ago

0.3.152

2 years ago

0.3.151

2 years ago

0.3.154

2 years ago

0.3.153

2 years ago

0.3.156

2 years ago

0.3.155

2 years ago

0.3.158

2 years ago

0.3.157

2 years ago

0.3.159

2 years ago

0.3.97

2 years ago

0.3.96

2 years ago

0.3.95

2 years ago

0.3.94

2 years ago

0.3.93

2 years ago

0.3.92

2 years ago

0.3.91

2 years ago

0.3.90

2 years ago

0.3.99

2 years ago

0.3.98

2 years ago

0.3.192

2 years ago

0.3.86

2 years ago

0.3.191

2 years ago

0.3.85

2 years ago

0.3.194

2 years ago

0.3.84

2 years ago

0.3.193

2 years ago

0.3.83

2 years ago

0.3.196

2 years ago

0.3.82

2 years ago

0.3.195

2 years ago

0.3.81

2 years ago

0.3.80

2 years ago

0.3.89

2 years ago

0.3.88

2 years ago

0.3.87

2 years ago

0.3.190

2 years ago

0.3.101

2 years ago

0.3.100

2 years ago

0.3.103

2 years ago

0.3.102

2 years ago

0.3.105

2 years ago

0.3.104

2 years ago

0.3.107

2 years ago

0.3.106

2 years ago

0.3.141

2 years ago

0.3.140

2 years ago

0.3.143

2 years ago

0.3.142

2 years ago

0.3.145

2 years ago

0.3.144

2 years ago

0.3.147

2 years ago

0.3.146

2 years ago

0.3.149

2 years ago

0.3.148

2 years ago

0.3.130

2 years ago

0.3.132

2 years ago

0.3.131

2 years ago

0.3.134

2 years ago

0.3.133

2 years ago

0.3.136

2 years ago

0.3.135

2 years ago

0.3.138

2 years ago

0.3.137

2 years ago

0.3.139

2 years ago

0.3.121

2 years ago

0.3.120

2 years ago

0.3.123

2 years ago

0.3.122

2 years ago

0.3.125

2 years ago

0.3.124

2 years ago

0.3.127

2 years ago

0.3.126

2 years ago

0.3.129

2 years ago

0.3.128

2 years ago

0.3.119

2 years ago

0.3.110

2 years ago

0.3.112

2 years ago

0.3.111

2 years ago

0.3.114

2 years ago

0.3.113

2 years ago

0.3.116

2 years ago

0.3.115

2 years ago

0.3.118

2 years ago

0.3.117

2 years ago

0.3.109

2 years ago

0.3.108

2 years ago

0.3.75

2 years ago

0.3.74

2 years ago

0.3.73

2 years ago

0.3.72

2 years ago

0.3.71

2 years ago

0.3.70

2 years ago

0.3.64

2 years ago

0.3.63

2 years ago

0.3.62

2 years ago

0.3.61

2 years ago

0.3.60

2 years ago

0.3.69

2 years ago

0.3.68

2 years ago

0.3.67

2 years ago

0.3.66

2 years ago

0.3.65

2 years ago

0.3.53

2 years ago

0.3.52

2 years ago

0.3.51

2 years ago

0.3.50

2 years ago

0.3.59

2 years ago

0.3.58

2 years ago

0.3.57

2 years ago

0.3.56

2 years ago

0.3.55

2 years ago

0.3.54

2 years ago

0.3.42

2 years ago

0.3.41

2 years ago

0.3.40

2 years ago

0.3.49

2 years ago

0.3.48

2 years ago

0.3.47

2 years ago

0.3.46

2 years ago

0.3.45

2 years ago

0.3.44

2 years ago

0.3.43

2 years ago

0.3.31

2 years ago

0.3.30

2 years ago

0.3.39

2 years ago

0.3.38

2 years ago

0.3.37

2 years ago

0.3.36

2 years ago

0.3.35

2 years ago

0.3.34

2 years ago

0.3.33

2 years ago

0.3.32

2 years ago

0.3.29

2 years ago

0.3.20

2 years ago

0.3.28

2 years ago

0.3.27

2 years ago

0.3.26

2 years ago

0.3.25

2 years ago

0.3.24

2 years ago

0.3.23

2 years ago

0.3.22

2 years ago

0.3.21

2 years ago

0.3.19

2 years ago

0.3.18

2 years ago

0.3.17

2 years ago

0.3.16

2 years ago

0.3.15

2 years ago

0.3.6

2 years ago

0.3.5

2 years ago

0.3.8

2 years ago

0.3.7

2 years ago

0.3.9

2 years ago

0.3.14

2 years ago

0.3.13

2 years ago

0.3.12

2 years ago

0.3.11

2 years ago

0.3.10

2 years ago

0.3.4

2 years ago

0.3.3

2 years ago

0.3.2

2 years ago

0.3.1

2 years ago

0.2.10

2 years ago

0.2.9

2 years ago

0.2.8

2 years ago

0.2.7

2 years ago

0.2.6

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.1.11

2 years ago

0.1.10

2 years ago

0.1.9

2 years ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago

0.0.0

2 years ago

0.0.20

2 years ago

0.0.19

2 years ago

0.0.18

2 years ago

0.0.17

2 years ago

0.0.16

2 years ago

0.0.15

2 years ago

0.0.14

2 years ago

0.0.13

2 years ago

0.0.12

2 years ago

0.0.11

2 years ago

0.0.10

2 years ago

0.0.9

2 years ago