profile
viewpoint

matsev/git-build-number 13

A simplistic web application created to show how the buildnumber-maven-plugin can be used to embed the Git SHA-1 of each commit to a project.

jayway/going-serverless-workshop 7

A workshop for creating serverless applications on AWS

matsev/getting-familiar-with-spring-boot 4

Lab for learning Spring Boot

matsev/aws-cli-mfa 1

CloudFormation template that enforces MFA for AWS CLI users

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 85c63e10f7a730ff55aa05bedf4a4abaa2c1301b

Add posts

view details

Mattias Severson

commit sha 8df6f59cef33b673a28469d03ec7dc745041114e

Decrease font size

view details

push time in 9 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha d42b9edd0f3a35a49d356c65c4ee49d5f605018f

Add talks page

view details

push time in 11 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 2d807f0e90a7ba668085d0d49292254c7cf87914

Add posts

view details

Mattias Severson

commit sha 46045f90663b4c8b29c28f126a3877a319e816f0

Decrease font size

view details

push time in 11 days

delete branch matsev/matsev.github.io

delete branch : posts

delete time in 11 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 5046d1f10c5e839ff601cd8bd11f17d5f7e54a76

Add posts

view details

Mattias Severson

commit sha 36e01756f5a7168dd532c262960eac8e07cfa0e5

Decrease font size

view details

push time in 11 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 36e01756f5a7168dd532c262960eac8e07cfa0e5

Decrease font size

view details

push time in 11 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 5046d1f10c5e839ff601cd8bd11f17d5f7e54a76

Add posts

view details

push time in 11 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 54f51af1c205f02f3bb8d7942016d1ba0613c5a0

Add license and readme

view details

Mattias Severson

commit sha b7cfc35226bae82ce38c5735aacdf2ae10850bb3

Change theme to minimal-mistakes-jekyll and add customizations

view details

Mattias Severson

commit sha 56cba45022c144cc4c8597a65766e6ab72f1eca4

Update about page

view details

Mattias Severson

commit sha a1534527885b142a36e8c55397b9259b122f881c

Add GitHub Action

view details

push time in 11 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 54f51af1c205f02f3bb8d7942016d1ba0613c5a0

Add license and readme

view details

Mattias Severson

commit sha b7cfc35226bae82ce38c5735aacdf2ae10850bb3

Change theme to minimal-mistakes-jekyll and add customizations

view details

Mattias Severson

commit sha 56cba45022c144cc4c8597a65766e6ab72f1eca4

Update about page

view details

Mattias Severson

commit sha f91e0d269fdbb8b6201cf207e5b67dcc261b5b15

Add posts

view details

push time in 11 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 54f51af1c205f02f3bb8d7942016d1ba0613c5a0

Add license and readme

view details

Mattias Severson

commit sha b7cfc35226bae82ce38c5735aacdf2ae10850bb3

Change theme to minimal-mistakes-jekyll and add customizations

view details

Mattias Severson

commit sha 56cba45022c144cc4c8597a65766e6ab72f1eca4

Update about page

view details

Mattias Severson

commit sha a38ee2d35f32ee45a4859347db59df9eb8808363

Add talks page

view details

push time in 11 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 54f51af1c205f02f3bb8d7942016d1ba0613c5a0

Add license and readme

view details

Mattias Severson

commit sha b7cfc35226bae82ce38c5735aacdf2ae10850bb3

Change theme to minimal-mistakes-jekyll and add customizations

view details

Mattias Severson

commit sha 56cba45022c144cc4c8597a65766e6ab72f1eca4

Update about page

view details

push time in 11 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 66d9fac750a3691084409c87788838d5839aedea

Update about page

view details

Mattias Severson

commit sha b9b6a89c781f70cea4a5d1977fb1e25e10d4b36f

Add GitHub Action

view details

push time in 11 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 66d9fac750a3691084409c87788838d5839aedea

Update about page

view details

Mattias Severson

commit sha 2e27993e8cbc89fa79e2d2800ef75fdf44497c03

Add talks page

view details

push time in 11 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 66d9fac750a3691084409c87788838d5839aedea

Update about page

view details

Mattias Severson

commit sha 84a4c9bbd7a870713b03b66f760e79666480bfca

Add posts

view details

push time in 11 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 66d9fac750a3691084409c87788838d5839aedea

Update about page

view details

push time in 11 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha c6c67671dc487508e6c5f8426122fee9f7f6acf7

Update about page

view details

push time in 15 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha c6c67671dc487508e6c5f8426122fee9f7f6acf7

Update about page

view details

Mattias Severson

commit sha 1547c79a262344745017e427e0946ce18ec68447

Add talks page

view details

push time in 15 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha c6c67671dc487508e6c5f8426122fee9f7f6acf7

Update about page

view details

Mattias Severson

commit sha 5d22a3fb57b5ed9aadba7db7f0cf1bf3ff3ab685

Add GitHub Action

view details

push time in 15 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha c6c67671dc487508e6c5f8426122fee9f7f6acf7

Update about page

view details

Mattias Severson

commit sha 1eab08ff11f0ef10e04ba5d84e85d929f60ebd48

Add posts

view details

push time in 15 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 11688d0388f58baf064d2077e85d882020f11534

Change theme to minimal-mistakes-jekyll and add customizations

view details

Mattias Severson

commit sha 830d06195c44255eecf89c692773cbfcfa2c556f

Add GitHub Action

view details

push time in 15 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 11688d0388f58baf064d2077e85d882020f11534

Change theme to minimal-mistakes-jekyll and add customizations

view details

Mattias Severson

commit sha afa2d252e46f4f7a97397c48d241cac0f12bd9d2

Add talks page

view details

push time in 15 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 11688d0388f58baf064d2077e85d882020f11534

Change theme to minimal-mistakes-jekyll and add customizations

view details

Mattias Severson

commit sha 7d2463f5f59a929e6990529d43c5dd9b96eaf5f8

Add posts

view details

push time in 15 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 11688d0388f58baf064d2077e85d882020f11534

Change theme to minimal-mistakes-jekyll and add customizations

view details

push time in 15 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 24fc27df0fea0702f918efd245caa2f1f4620c7d

Change theme to minimal-mistakes-jekyll and add customizations

view details

Mattias Severson

commit sha 7bd582b95a7bcc812a7eec297a4cd472a42fca69

Add GitHub Action

view details

push time in 15 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 04906034ce9879efd02c552fda410ceb3725ac3a

Add posts

view details

push time in 15 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 24fc27df0fea0702f918efd245caa2f1f4620c7d

Change theme to minimal-mistakes-jekyll and add customizations

view details

Mattias Severson

commit sha 6f59c4865453e5b85a9040272e2a98ae12677188

Add talks page

view details

push time in 15 days

issue commentaws/aws-cli

Bug in v2: "aws cloudformation package" result in "YAML not well-formed"

@revolutionisme Yes, it is the same issue. To my understanding, it is the packaging that causes the problem. In the v1 version, aws cloudformation package command translates the Fn:Join - Fn:FindInMap combination to:

          - Fn::Join:
              - ''
              - - 'arn:aws:iam::'
                - Fn::FindInMap:
                    - AccountMap
                    - prod
                    - AccountId
                - ':role/InvokeLambdaRole'

which is valid when calling aws cloudformation deploy. This is also valid input of v2 deploy. For me it does not matter if the v2 package command is updated to match the output of v1 or if the v2 deploy command is modified to accept the current output of v2 package as long as the combination of v2 package and v2 deploy work together.

matsev

comment created time in 15 days

issue openedaws/aws-cli

Bug v2: aws cloudformation package generates erroneous yaml

aws cloudformation package produces "not well-formed yaml" for Fn::Join together with Fn::FindInMap (when using serverless transform)

Step by step

Given the following template:

AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serverless-2016-10-31

Mappings:
  AccountMap:
    dev:
      AccountId: '112233445566'
    prod:
      AccountId: '1111222233333'

Parameters:
  Environment:
    Type: String
    Description: The environment name
    AllowedValues:
      - test
      - prod

Resources:
  MyLambda:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: nodejs12.x
      CodeUri: ./my-lambda
      Handler: index.handler
      Policies:
        - Version: 2012-10-17
          Statement:
            - Effect: Allow
              Action:
                - sts:AssumeRole
              Resource:
                - !Join ['', ['arn:aws:iam::', !FindInMap [AccountMap, test, AccountId], ':role/InvokeLambdaRole']]
                - !Join ['', ['arn:aws:iam::', !FindInMap [AccountMap, prod, AccountId], ':role/InvokeLambdaRole']]

Execute

$ aws cloudformation package --template-file test.yaml --s3-bucket [bucket name] > test-out.yaml

Attempt to deploy:

$  aws cloudformation deploy --template-file test-out.yaml --stack-name test

Expected result

The stack should be deployed successfully

Actual result

An error occurred (ValidationError) when calling the CreateChangeSet operation: Template format error: YAML not well-formed. (line 36, column 35)


The error is because the Fn::Join together with Fn::FindInMap is incorrect:

Resources:
  MyLambda:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: nodejs12.x
      CodeUri: s3://[bucket name]/[hash]
      Handler: index.handler
      Policies:
      - Version: 2012-10-17
        Statement:
        - Effect: Allow
          Action:
          - sts:AssumeRole
          Resource:
          - Fn::Join:
            - ''
            - ['arn:aws:iam::', Fn::FindInMap: [AccountMap, test, AccountId], :role/InvokeLambdaRole]
          - Fn::Join:
            - ''
            - ['arn:aws:iam::', Fn::FindInMap: [AccountMap, prod, AccountId], :role/InvokeLambdaRole]

$ aws --version
aws-cli/2.0.0 Python/3.7.4 Darwin/19.3.0 botocore/2.0.0dev4

created time in 15 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 24fc27df0fea0702f918efd245caa2f1f4620c7d

Change theme to minimal-mistakes-jekyll and add customizations

view details

Mattias Severson

commit sha 9292cdac55d8c7989f951ffab180ca9cc6ec0082

Add posts

view details

push time in 16 days

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 24fc27df0fea0702f918efd245caa2f1f4620c7d

Change theme to minimal-mistakes-jekyll and add customizations

view details

push time in 16 days

issue commentaws/aws-cli

v2 : AWS ZSH completer does not exist

@sebsto I don't recall installing complete specifically. I guess that it was installed as part of oh-my-zsh that I use.

sebsto

comment created time in 16 days

issue commentaws/aws-cli

v2 : AWS ZSH completer does not exist

FWIW: I had the same issue and used the same completion instructions as for bash, i.e. I added the following lines to my ~/.zshrc file:

complete -C '/usr/local/aws/bin/aws_completer' aws

I have not done any exhaustive tests yet, but it looks promising so far...

sebsto

comment created time in 16 days

issue commentaws-samples/aws-codecommit-pull-request-aws-codebuild

Incorrect rendering of CodeBuild badges

I just added a comment to the PR about the build status without images.

You can just copy / paste the static code build image urls from the source code of this project. Just just pass the correct arguments to the format function, follow the links below for details.

There are four CodeBuild Badge Statuses. Apart from failing.svg and passing.svg there is also the unknown.svg. However, it is not in_progess.svg as one would expect.

For eu-west-1 you have:

  • https://s3-eu-west-1.amazonaws.com/codefactory-eu-west-1-prod-default-build-badges/passing.svg
  • https://s3-eu-west-1.amazonaws.com/codefactory-eu-west-1-prod-default-build-badges/failing.svg
  • https://s3-eu-west-1.amazonaws.com/codefactory-eu-west-1-prod-default-build-badges/unknown.svg
  • https://s3-eu-west-1.amazonaws.com/codefactory-eu-west-1-prod-default-build-badges/in_progress.svg
matsev

comment created time in 17 days

issue commenthupe1980/cdk-multi-profile-plugin

Bug: Fail to create VPC

Thanks for pointing this out. Previously, my cdk.json had only the app entry and somehow a managed to get this work without plugin. I know I have used the --plugin CLI option at some earlier point, but that was some time ago. What confused me is that I have called the $ npx cdk synth multiple times after that without any problem, but as soon as I added the new VPC(...) I encountered the credentials problem mentioned above.

matsev

comment created time in 17 days

issue openedhupe1980/cdk-multi-profile-plugin

Bug: Fail to create VPC

Credentials fail when attempting to create a VPC

Step by step:

  1. Create and add a network stack (se below) to your AWS CDK app:

    import { Construct, Stack, StackProps } from '@aws-cdk/core';
    import { SubnetType, Vpc } from '@aws-cdk/aws-ec2';
    
    export class NetworkStack extends Stack {
      public readonly vpc: Vpc;
    
      constructor(scope: Construct, id: string, props?: StackProps) {
        super(scope, id, props);
    
        this.vpc = new Vpc(this, 'VPC', {
          subnetConfiguration: [{
            name: 'Isolated',
            cidrMask: 24,
            subnetType: SubnetType.ISOLATED,
          }]
        });
      }
    }
    
  2. Build and deploy:

    $ npm run build
    $ npx cdk synth
    

Expected result The AWS CDK should deploy the app and create a new VPC


Actual result

[Error at network-stack] Need to perform AWS calls for account 112233445566, but no credentials found. Tried: default credentials.

package.json excerpt:

{
  "name": "my-app-with-vpc",
  "private": true,
  "bin": {
    "cdk": "bin/cdk.js"
  },
  "scripts": {
    "build": "tsc",
  },
  "devDependencies": {
    "@aws-cdk/core": "^1.23.0",
    "@aws-cdk/aws-ec2": "^1.23.0",
    "cdk-multi-profile-plugin": "^1.1.2",
    "ts-node": "^8.1.0",
    "typescript": "~3.7.2"
  }
}

cdkmultiprofileplugin.json excerpt:

{
  "awsProfiles": {
    "112233445566": "dev-mfa"
  }
}

Where dev-mfa is the AWS CLI profile that is configured (in ~/.aws/config) to access the AWS development account if MFA is provided.


Comment This setup works when deploying stacks with other resources, such as Lambda functions, S3 buckets, DynamoDB tables, etc.

created time in 18 days

issue commentelectron-userland/electron-builder

Feature request: override auto update configuration

See previous stale bot response above

matsev

comment created time in 21 days

issue commentkeeweb/keeweb

KeeWeb Helper (Renderer) is using a lot of CPU

@antelle Hard to say. Based on the dates of when I filed this issue and yesterday's comment, the KeeWeb Helper (Renderer) CPU utilization increases from 0.1 - 0.2% to ~5% in about a week. I have not tried to just launch it without opening any file since I need to access the credentials stored in the .kdbx multiple times per day when I am working.

matsev

comment created time in a month

issue commentkeeweb/keeweb

KeeWeb Helper (Renderer) is using a lot of CPU

FWIW: it seems to be a re-occuring theme. If I leave KeeWeb open for a long time, KeeWeb Helper (Render) steadily increases the CPU performance over time. After restart, it goes back to fraction of a percent.

Screenshot 2020-01-24 at 10 13 28

matsev

comment created time in a month

issue commentaws/aws-cdk

Stack names are not honoured when creating a nested stack

@eladb Thanks for taking the time to writing this up. As you mentioned, our build server is indeed creating artifacts based on the cdk.out so ended up using jq to parse the manifest.json file as you suggested, added below for future reference:

stackName=    # get stack name from somewhere

stackId=$(jq -r --arg stackName "$stackName" \
   '.artifacts
   | to_entries[]
   | select(.value.properties.stackName == $stackName)
   | .key
   ' \
   < "./cdk.out/manifest.json" \
   )

npx cdk deploy \
  --app cdk.out \
  --require-approval never \
  "$stackId"

With this approach, we can have $stackName as parameter to our CI/CD deployment script


I have some follow-up questions, but I am not sure which is the best way of communicating them. In the end, I guess I would like to see some additions in the developer guide.

  • You write that "the stack's artifactId which is a deterministic and consistent value derived from the stack's construct node path" and "As long as the construct tree structure doesn't change, this ID not change". I guess that in this particular example it refers to MyApp Construct and the invocations of new PersistenceStack(this, ...) and new PersistenceStack(this, ...) and that they are passed as constructor parameters?
  • As a side effect, it also means that if I modify the MyApp construct I will deploy a new CloudFormation stack instead of modifying an existing stack?
  • Perhaps you have already been considering it, but one suggestion to improve the deployment experience could be to add an entry in the manifest.json that maps account.region.stackName to stackId, e.g.
{
  "111111111111": {
    "eu-west-1": {
      "first-stack-name": "first-stack-id",
      "second-stack-name": "second-stack-id"
    }
  },
  // more accounts
}

That way, there is no need for the reverse mapping. Additionally, that enables you to extend the CDK deploy command to something like

npx cdk deploy \
  --app cdk.out \
  --require-approval never \
  --account 111111111111 \
  --region eu-west-1 \
  first-stack-name second-stack-name
matsev

comment created time in a month

push eventmatsev/matsev.github.io

Mattias Severson

commit sha af6943647814918f950c2ae6ad70068b36141675

Add license and readme

view details

Mattias Severson

commit sha 3495d5f3c07418fc35f88871e8a296a5f72f5bf4

Add posts

view details

push time in a month

push eventmatsev/matsev.github.io

Mattias Severson

commit sha af6943647814918f950c2ae6ad70068b36141675

Add license and readme

view details

Mattias Severson

commit sha a7241008d194393ea28d50944e53991fdc0d0901

Add GitHub Action

view details

push time in a month

push eventmatsev/matsev.github.io

Mattias Severson

commit sha af6943647814918f950c2ae6ad70068b36141675

Add license and readme

view details

push time in a month

push eventmatsev/matsev.github.io

Mattias Severson

commit sha af6943647814918f950c2ae6ad70068b36141675

Add license and readme

view details

Mattias Severson

commit sha 7f7e983c0c8a39f4b34be301d66ad49335658d72

Add talks page

view details

push time in a month

issue openedaws/aws-cdk

Stack names are not honoured when creating a nested stack

Stack names are not honoured when creating a multi-stack, multi-environment CDK application

Reproduction Steps

I am trying to create a CDK app with multiple stacks that is deployed to multiple environments, e.g.

#!/usr/bin/env node
import * as cdk from '@aws-cdk/core';
import { ApplicationStack } from '../lib/application-stack';
import { PersistenceStack } from '../lib/persistence-stack';


class PersistenceStack extends cdk.Stack {
  constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);
    // more constructs and resources
  }
}


class ApplicationStack extends cdk.Stack {
  constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);
    // more constructs and resources
  }
}


class MyApp extends cdk.Construct {

    constructor(scope: cdk.Construct, id: string, props: cdk.StackProps) {
        super(scope, id);

        const persistenceStack = new PersistenceStack(this, 'persistence-stack', {
                ...props,
                description: 'persistence stack',
                stackName: `${id}-persistence`,
            });

        const applicationStack = new ApplicationStack(this, 'application-stack', {
            ...props,
            description: 'application stack',
            stackName: `${id}-application`
        });
        applicationStack.addDependency(persistenceStack);
    }
}


const app = new cdk.App();

new MyApp(app, `dev`, { env: { account: '111111111111', region: 'eu-west-1' } });
new MyApp(app, `test`, { env: { account: '222222222222', region: 'eu-west-1' } });
new MyApp(app, `prod`, { env: { account: '333333333333', region: 'eu-west-1' } });

Expected result

I expected to see is "nice" stack names (since I have specified the stackName properties when calling the constructors):

Successfully synthesized to [...]/my-app/cdk.out
Supply a stack id (devpersistence, prodpersistence, testpersistence, devapplication, prodapplication, testapplication) to display its template.

Actual result

Stack names similar to:

Successfully synthesized to [...]/my-app/cdk.out
Supply a stack id (devpersistencestack30DFECD1, prodpersistencestackFE36DF49, testpersistencestack6C35C777, devapplicationstackE4E1C529, prodapplicationstackA0A96586, testapplicationstackE19450AB) to display its template.

Motivation

I need to the "nice" stack names to feed into the next step our CI/CD pipeline so that the build server can deploy the CDK app.

Environment

  • CLI Version: 1.21.1 (build 842cc5f)
  • Framework Version: 1.21.1
  • OS: macOS Catalina Version 10.15.2
  • Language: TypeScript

This is :bug: Bug Report

created time in a month

issue commentkeeweb/keeweb

KeeWeb Helper (Renderer) is using a lot of CPU

I guess that you define "open" as whether or not I have entered a password so that the credentials are available? I have two key files, both hosted on Dropbox. I have not seen any significant difference when the credentials are available compared to when it is locked.

Perhaps the high number is related to how long the app has been running? As can be seen from the screenshot above, I don't restart KeeWeb very often (typically, I keep KeePass running and just close the lid on my computer at the end of the day). If I reboot it, the "KeeWeb Helper (Renderer)" CPU utilization drops down to 0,3% which is what I expect.

matsev

comment created time in a month

issue openedkeeweb/keeweb

KeeWeb Helper (Renderer) is using a lot of CPU

Describe the bug KeeWeb is using a lot of CPU, despite that it is not actively used

To Reproduce Steps to reproduce the behavior:

  1. Start KeeWeb
  2. Open some other applications
  3. Open Activity monitor, sort rows by CPU

Expected behavior KeeWeb should hardly consume any CPU resources at all when it just idling in the background

Screenshots As can be seen KeeWeb is the app that uses most CPU. Further down the list (not captured in the screenshots are apps like Safari, Slack, Dropbox, Finder, etc). Screenshot 2020-01-16 at 11 39 23

Environment KeeWeb v1.12.3 (9b07bbd5, 2019-11-06) Environment: electron v7.0.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) KeeWeb/1.12.3 Chrome/78.0.3905.1 Electron/7.0.0 Safari/537.36 macOS Catalina 10.15.2

created time in a month

issue commentelectron-userland/electron-builder

Documentation request: generic update server requirements

@gemma-ferreras I am afraid I don't have more information regarding this matter. In the end, our product owner decided that it was ok to publish our application to a static S3 bucket.

matsev

comment created time in a month

issue commentawslabs/aws-sam-cli

Executing "sam deploy" fails when using MFA

TIL: The AWS CLI caches the temp access keys in a file ~/.aws/cli/cache/<some-guid>.json if an AWS CLI profile is configured with mfa_serial.

Ref: https://github.com/aws/aws-cdk/issues/1248#issue-384565974

matsev

comment created time in a month

create barnchmatsev/matsev.github.io

branch : talks

created branch time in a month

create barnchmatsev/matsev.github.io

branch : temp

created branch time in a month

create barnchmatsev/matsev.github.io

branch : github-action

created branch time in a month

push eventmatsev/matsev.github.io

Mattias Severson

commit sha c75aec1f14284d69e0904062bd6560da52e76ad9

Add posts

view details

push time in a month

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 3b43ef4b4fac22dced133fccfca448e3e58cb543

adding posts

view details

push time in a month

create barnchmatsev/matsev.github.io

branch : posts

created branch time in a month

create barnchmatsev/matsev.github.io

branch : dev

created branch time in a month

created repositorymatsev/matsev.github.io

My web site

created time in a month

create barnchmatsev/matsev.github.io

branch : github-action

created branch time in a month

create barnchmatsev/matsev.github.io

branch : posts

created branch time in a month

push eventmatsev/matsev.github.io

matsev

commit sha 611de701558bd82e9aafd4a69e9ca855be356c3d

Deploying to master from 946da87eb69ed5224c704f5f915a9980679a775c

view details

push time in a month

create barnchmatsev/matsev.github.io

branch : master

created branch time in a month

create barnchmatsev/matsev.github.io

branch : dev

created branch time in a month

created repositorymatsev/matsev.github.io

My web site

created time in a month

create barnchmatsev/matsev.github.io

branch : dev

created branch time in a month

created repositorymatsev/matsev.github.io

My home page

created time in a month

delete branch matsev/matsev.github.io

delete branch : master

delete time in 2 months

create barnchmatsev/matsev.github.io

branch : master

created branch time in 2 months

create barnchmatsev/matsev.github.io

branch : dev

created branch time in 2 months

created repositorymatsev/matsev.github.io

My personal webpage

created time in 2 months

create barnchmatsev/matsev.github.io

branch : dev

created branch time in 2 months

created repositorymatsev/matsev.github.io

My web page

created time in 2 months

create barnchmatsev/matsev.github.io

branch : dev

created branch time in 2 months

created repositorymatsev/matsev.github.io

created time in 2 months

create barnchmatsev/matsev.github.io

branch : dev

created branch time in 2 months

issue commentawslabs/aws-sam-cli

Executing "sam deploy" fails when using MFA

FYI: After reading the release notes of version 0.4.0, I tested to upgrade my SAM CLI installation because it was not clear to me whether or not this issue was resolved. Regrettably the problem is still present.

matsev

comment created time in 2 months

PR opened masa-iwasaki/setup-rbenv

Limit Git clone depth

Improve performance when installing rbenv and ruby-build by limiting the Git clone depth to the latest commit.

Ref: [git clone --dept]https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---depthltdepthgt)

+2 -2

0 comment

1 changed file

pr created time in 2 months

push eventmatsev/setup-rbenv

Mattias Severson

commit sha 3ab0b9cbd6d798ac459a0186fd7faac1c33e24f6

Limit Git clone depth Improve performance when installing `rbenv` and `ruby-build` by limiting the Git clone depth to the latest commit. Ref: [git clone --dept]https://git-scm.com/docs/git-clone#Documentation/git-clone.txt---depthltdepthgt)

view details

push time in 2 months

fork matsev/setup-rbenv

Set up your GitHub Actions workflow with rbenv

fork in 2 months

create barnchmatsev/matsev.github.io

branch : master

created branch time in 2 months

created repositorymatsev/matsev.github.io

created time in 2 months

push eventmatsev/matsev.github.io

Mattias Severson

commit sha 5d4f0bbd47c1190cc82ed41655a79735f2c8974c

Set theme jekyll-theme-leap-day

view details

push time in 2 months

create barnchmatsev/matsev.github.io

branch : master

created branch time in 2 months

created repositorymatsev/matsev.github.io

created time in 2 months

issue commentkeeweb/keeweb

Feature request: add Touch ID support to unlock KeeWeb on macOS

@antelle Yes, this suggestion is for convenience.

Initially, I thought of a similar implementation as described in the issue that you linked (e.g. storing the master password somewhere that can use Touch ID for authentication when reading and writing data). However, looking at the current Electron API, this is not feasible since as you noted the Electron Touch ID API does not provide and API for reading and writing data (I have not looked at the native macOS APIs, but I would not be surprised if there are functions there).

After thinking about the matter some more, it occurred to me that it is possible to restate the problem from "how can we unlock the KeePass database using Touch ID" to "how can we unlock the KeeWeb app using Touch ID" then the current Electron Touch ID API will suffice. IMHO it has also the benefit of not storing the master password.

matsev

comment created time in 2 months

issue openedkeeweb/keeweb

Feature request: add Touch ID support to unlock KeeWeb on macOS

Is your feature request related to a problem? Please describe.

I would like to be able to use Touch ID to unlock KeeWeb on macOS

Describe the solution you'd like

Touch ID user interaction flow

  1. The user starts KeeWeb and enters the password to unlock the keepass file (either stored locally, on Dropbox, etc).
  2. If the password is correct, KeeWeb is unlocked (in the same way as today). The password is stored in memory and a timer is started.
  3. After some time, KeeWeb is locked due to inactivity (by the existing auto lock feature).
  4. If the user needs access to KeeWeb again, he/she can unlock KeeWeb either by entering the password or using Touch ID (unless the timer has expired).
  5. Unlocking KeeWeb (or some other KeeWeb interaction that requires KeeWeb to be unlocked) restarts the timer.
  6. If the timer has expired, the password is erased from memory and the user must enter the password to unlock KeeWeb again.

Configuration settings

  • The user should presented with the option to enable Touch ID in addition to the existing auto lock feature.
  • The timeout of how long the Touch ID is enabled should be configurable.
  • The settings can be hidden (or disabled) for users that have installed KeeWeb on platforms that do not support Touch ID by using the systemPreferences.canPromptTouchID() function.
  • The configuration setting of whether or not Touch ID is enabled should preferably not be enabled if the KeeWeb is locked.

Additional context

Many applications on macOS use Touch ID to authenticate users, including Apple Pay and Keychain / Safari integration for providing username and password for web pages.

The Touch ID apis (systemPreferences.canPromptTouchID() and systemPreferences.promptTouchID(reason)) were added to the Electron as part of the v6.0.0 release.

created time in 2 months

issue commentjest-community/jest-junit

Override jest-junit default output location?

@palmerj3 Thanks for taking the time to investigate this!

matsev

comment created time in 2 months

issue openedawslabs/aws-sam-cli

Executing "sam deploy" fails when using MFA

Description

sam deploy fails when using AWS CLI profiles that have configured to use MFA

Steps to reproduce

  1. Setup MFA using IAM and AWS CLI profiles as described in this blog post
  2. Execute sam deploy

Observed result

The deploy command prompts for the MFA code twice, then it fails:

<pre> Initiating deployment

Enter MFA code for arn:aws:iam::[account id]:mfa/[IAM user]: [entering MFA] Enter MFA code for arn:aws:iam::[account id]:mfa/[IAM user]: [entering MFA again] Sending Telemetry: {'metrics': [{'commandRun': {'awsProfileProvided': False, 'debugFlagProvided': True, 'region': 'eu-west-1', 'commandName': 'sam deploy', 'duration': 11627, 'exitReason': 'RefreshWithMFAUnsupportedError', 'exitCode': 255, 'requestId': 'request id', 'installationId': 'installation id', 'sessionId': 'session id', 'executionEnvironment': 'CLI', 'pyversion': '3.7.5', 'samcliVersion': '0.38.0'}}]} HTTPSConnectionPool(host='aws-serverless-tools-telemetry.us-west-2.amazonaws.com', port=443): Read timed out. (read timeout=0.1) Traceback (most recent call last): File "/usr/local/bin/sam", line 11, in <module> load_entry_point('aws-sam-cli==0.38.0', 'console_scripts', 'sam')() File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/click/core.py", line 764, in call return self.main(*args, **kwargs) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/click/core.py", line 717, in main rv = self.invoke(ctx) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/click/core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/click/core.py", line 555, in invoke return callback(*args, **kwargs) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/click/decorators.py", line 64, in new_func return ctx.invoke(f, obj, *args, **kwargs) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/click/core.py", line 555, in invoke return callback(*args, **kwargs) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/samcli/lib/telemetry/metrics.py", line 93, in wrapped raise exception # pylint: disable=raising-bad-type File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/samcli/lib/telemetry/metrics.py", line 62, in wrapped return_value = func(*args, **kwargs) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/samcli/commands/deploy/command.py", line 187, in cli ctx.profile, File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/samcli/commands/deploy/command.py", line 305, in do_cli deploy_context.run() File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/samcli/commands/deploy/deploy_context.py", line 129, in run self.confirm_changeset, File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/samcli/commands/deploy/deploy_context.py", line 156, in deploy tags=tags, File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/samcli/lib/deploy/deployer.py", line 408, in create_and_wait_for_changeset stack_name, cfn_template, parameter_values, capabilities, role_arn, notification_arns, s3_uploader, tags File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/samcli/lib/deploy/deployer.py", line 171, in create_changeset s3_uploader.upload_with_dedup(temporary_file.name, "template"), version_property="Version" File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/samcli/lib/package/s3_uploader.py", line 127, in upload_with_dedup return self.upload(file_name, remote_path) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/samcli/lib/package/s3_uploader.py", line 76, in upload if not self.force_upload and self.file_exists(remote_path): File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/samcli/lib/package/s3_uploader.py", line 141, in file_exists self.s3.head_object(Bucket=self.bucket_name, Key=remote_path) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/client.py", line 272, in _api_call return self._make_api_call(operation_name, kwargs) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/client.py", line 563, in _make_api_call operation_model, request_dict, request_context) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/client.py", line 582, in _make_request return self._endpoint.make_request(operation_model, request_dict) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/endpoint.py", line 102, in make_request return self._send_request(request_dict, operation_model) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/endpoint.py", line 132, in _send_request request = self.create_request(request_dict, operation_model) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/endpoint.py", line 116, in create_request operation_name=operation_model.name) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/hooks.py", line 356, in emit return self._emitter.emit(aliased_event_name, **kwargs) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/hooks.py", line 228, in emit return self._emit(event_name, kwargs) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/hooks.py", line 211, in _emit response = handler(**kwargs) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/signers.py", line 90, in handler return self.sign(operation_name, request) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/signers.py", line 152, in sign auth = self.get_auth_instance(**kwargs) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/signers.py", line 232, in get_auth_instance frozen_credentials = self._credentials.get_frozen_credentials() File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/credentials.py", line 591, in get_frozen_credentials self._refresh() File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/credentials.py", line 486, in _refresh self._protected_refresh(is_mandatory=is_mandatory_refresh) File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/credentials.py", line 502, in _protected_refresh metadata = self._refresh_using() File "/usr/local/Cellar/aws-sam-cli/0.38.0/libexec/lib/python3.7/site-packages/botocore/credentials.py", line 248, in call raise RefreshWithMFAUnsupportedError() botocore.exceptions.RefreshWithMFAUnsupportedError: Cannot refresh credentials: MFA token required. </pre>

Expected result

The sam deploy command should deploy successfully

Comments

The failure mode is inconsistent, I have actually been able to deploy the stack once in about ten or more attempts.

The SAM CLI does not remember the MFA token between command execution. For example, when calling sam package I have to enter a MFA token once, and then if immediately calling sam deploy I have to enter it again (twice actually, as observed above), even if these command are executed in the same bash script.

In contrast when using the same AWS CLI profile configuration together with the aws cli command the aws cloudformation package prompts for MFA once, then calling aws cloudformation deploy I do not have to re-enter the MFA code. Moreover, after the aws cloudformation deploy I can continue to call other aws CLI commands for the duration of the session without entering MFA.

Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

  1. OS: OS X Mojave, 10.14.6
  2. sam --version: 0.38.0

created time in 2 months

issue commentjest-community/jest-junit

Override jest-junit default output location?

Thanks for the rapid response. I have created a GitHub repo that you can use for debugging:

https://github.com/matsev/debug-jest-junit-config

matsev

comment created time in 2 months

create barnchmatsev/debug-jest-junit-config

branch : master

created branch time in 2 months

created repositorymatsev/debug-jest-junit-config

Demo project for debugging junit-jest configuration

created time in 2 months

issue openedjest-community/jest-junit

Override jest-junit default output location?

How can I override the default output directory and file name jest-junit?

I would like to customise the output configuration of output when using Jest, but it still ends up in the default location, i.e. ./junit.xml in the project root folder.


My configuration

In package.json:

  "scripts": {
    "test": "jest --ci --reporters=default --reporters=jest-junit",
  },
  "devDependencies": {
    "jest": "^24.9.0",
    "jest-junit": "^10.0.0",
  }

In jest.config.js

module.exports = {
  testMatch: [
    '**/*.spec.js',
  ],
  reporters: [
    'default',
    [ 'jest-junit', {
      outputDirectory: 'test_reports',
      outputName: 'jest-junit.xml',
    } ]
  ]
};

Expected result:

  • A file with the test result at ./test_reports/jest-junit.xml

Actual result:

  • A file with the test result at in ./junit.xml

Comment

If I add the configuration to the package.json file instead (see below), the XML file is generated in the desired location:

"jest-junit": {
  "outputDirectory": "test_reports",
  "outputName": "jest-junit.xml"
},

created time in 2 months

startedawslabs/aws-sam-cli

started time in 3 months

issue commentelectron-userland/electron-builder

Feature request: override auto update configuration

In response to stale bot:

Is this still relevant?

Yes, we still would like to create one build that can be pushed to different channels without rebuilding the project

matsev

comment created time in 3 months

issue openedlerna/lerna

Lerna bootstrap does not link local dependencies

<!--- Provide a general summary of the issue in the Title above --> I have configured two modules in a mono repo to use lerna with a local dependency. I expected that

$ lerna bootstrap
$ lerna run test

would be sufficient to download all external dependencies, link a local dependency and execute and pass all tests in all modules.

Expected Behavior

As per the lerna bootstrap documentation:

  1. Symlink together all Lerna packages that are dependencies of each other.

Thus, I expected that lerna bootstrap would create a symlink in module-b/node_modules below that points to module-a (which then would allow the tests to be executed and pass).

Current Behavior

No linking occurs, which cause the tests to fail:

lerna ERR! yarn run test exited 1 in 'module-b' lerna ERR! yarn run test stdout: yarn run v1.19.1 $ jest info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

lerna ERR! yarn run test stderr: FAIL ./import.test.js ● Test suite failed to run

Cannot find module 'module-a' from 'import.test.js'

> 1 | const moduleA = require('module-a');
    | ^
  2 | 
  3 | test('should import module-a', () => {
  4 |   moduleA();

  at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:259:17)
  at Object.<anonymous> (import.test.js:1:1)

Steps to Reproduce (for bugs)

  1. Create the folder structure below
  2. Copy the files inlined to their corresponding directory
  3. Execute $ lerna bootstrap followed by $ lerna run test
project-root
   + packages
   |       + module-a
   |       |      + package.json
   |       |      + index.js
   |       |
   |       + module-b
   |       |      + package.json
   |       |      + import.test.js
   |
   +  lerna.json     

<details><summary>packages/module-a/package.json</summary><p> <!-- browsers demand the next line be empty -->

{
  "name": "module-a",
  "version": "1.0.0",
  "private": true,
  "main": "index.js",
  "scripts": {
    "test": "echo \"Test passed in module-a\""
  }
}

</p></details> <details><summary>packages/module-a/index.js</summary><p> <!-- browsers demand the next line be empty -->

module.exports = () => console.log('Log in module-a');

</p></details>

<details><summary>packages/module-b/package.json</summary><p> <!-- browsers demand the next line be empty -->

{
  "name": "module-b",
  "version": "1.0.0",
  "private": true,
  "main": "index.js",
  "scripts": {
    "test": "jest"
  },
  "dependencies": {
    "module-a": "file:../module-a"
  },
  "devDependencies": {
    "jest": "^24.9.0"
  }
}

</p></details> <details><summary>packages/module-b/import.test.js</summary><p> <!-- browsers demand the next line be empty -->

const moduleA = require('module-a');

test('should import module-a', () => {
  moduleA();
});

</p></details>

<details><summary>lerna.json</summary><p> <!-- browsers demand the next line be empty -->

{
  "npmClient": "yarn",
  "packages": [
    "packages/*"
  ],
  "version": "independent"
}

Context

I would like to have a build script that executes all tests in all modules as well as having a simple instruction for new project members so that they can be productive in our multi-module project.

Your Environment

Executable Version
lerna --version 3.18.4
npm --version 6.11.3
yarn --version 1.19.1
node --version v12.12.0
OS Version
NAME VERSION
macOS Mojave 10.14.6

created time in 3 months

pull request commentspring-projects/spring-security

SEC-2083: Created a class that allows filtering of immutable collections...

@eleftherias I am sorry, but I have no intention of updating the PR.

After reading back, I recall the the problem I had back then, but I changed projects a long time ago. Supporting immutable collections still seems like good idea though, feel free to modify the PR in any way you find suitable.

matsev

comment created time in 4 months

issue openedelectron-userland/electron-builder

Feature request: override auto update configuration

We would like to override the location of the auto update, both for S3 as well as for the generic server, possibly by using environment variables.

Motivation:

Our build pipeline dictates that each version of the electron app is built once, then the following happens:

  • A build is triggered on each git push. The build is assigned a unique build number. If the build completes successfully the build artifacts are published to our auto update "test" S3 bucket. Typically, this happens multiple times per day.
  • Every now and then (usually once per sprint), one of these build is selected as our release candidate. The binary build artifacts are then copied to auto update "stage" bucket.
  • Lastly, if the release candidate is accepted, then the build artifacts are copied to the auto update "prod" bucket.

We have studied the Continuous Deployment Workflow on Amazon S3 and other non-GitHub, but have arrived to the conclusion that it does not fit our needs, since that flow dictates

  • The version in package.json must be updated with the channel name to separate "test", "stage" and "prod" / "latest"
  • Thus a re-build is required when moving a build artifact between different channels

With the proposal above, our intention is that we will always build for auto update from the production (i.e. the "latest" channel). However by using an environment variable we could override the auto update location locally so that it points to our test and stage auto update buckets or servers when we are testing.


"vue-cli-plugin-electron-builder": "^1.4.0" (which has a transitive dependency to "electron-builder": "^21.2.0",)

Currently targeting Windows, but other OS are discussed

created time in 5 months

issue openedkeeweb/keeweb

Copying "Website" omits the protocol part of the url

Describe the bug When clicking on "Website" in the gui, the protocol part of the url is omitted (only the host and path of the url is copied to the clipboard).

To Reproduce Steps to reproduce the behavior:

  1. Click on +
  2. Select Entry to create a new entry
  3. Enter a Website, e.g. https://www.gmail.com
  4. Click tab or click some other field so that the website is persisted
  5. Click on Website again to copy the url to the clipboard
  6. Open a text editor and paste

Expected behavior The full url, including the protocol, should be pasted, e.g. https://www.gmail.com

Actual behaviour The protocol part is missing when pasting the url, e.g. www.gmail.com

Comment This is not a problem if the website has a redirect from http to https (gmail does this), otherwise the result is a connection error. Since KeeWeb has no way of knowing this, I suggest that you always copy the full url.

Environment KeeWeb v1.11.5 (e8e2b499, 2019-09-29) Environment: electron v6.0.10 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) KeeWeb/1.11.5 Chrome/76.0.3809.146 Electron/6.0.10 Safari/537.36

created time in 5 months

issue openedelectron-userland/electron-builder

Documentation request: generic update server requirements

The GenericServerOptions paragraph of the Publish documentation contains information about information that is for the electron builder configuration, but it lacks information about what is required on the server side. Please consider add some general guide lines about what is required on the server side, e.g. is a static file server enough, what files needs to be uploaded, what are the purpose of each file, etc.

created time in 5 months

pull request commentraszi/node-tmp

Update dependencies to latest versions

@silkentrance I guess that you are referring to the Allow edits from maintainers checkbox? As far as I can tell it is checked so you should be good to go.

matsev

comment created time in 5 months

pull request commentraszi/node-tmp

Update dependencies to latest versions

Thanks for the feedback. May I suggest that you bump the Node version to v10 which is the current Active LTS release (or at least to Node version v8 which has Maintenance LTS status). v6.9.0 was declared end of live in April this year. Please see the releases page for more information about the Node release schedule.

matsev

comment created time in 6 months

pull request commentraszi/node-tmp

Update dependencies to latest versions

I get the same failing tests when running the tests on the master branch on my local computer (i.e. without my changes), so I am not convinced that they origin from this PR. My best guess is that they origin from (transitive) dependency updates since node-tmp does not have package-lock.json that set them in stone.

matsev

comment created time in 6 months

more