{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":438532179,"defaultBranch":"main","name":"cloud-native-app-simulator","ownerLogin":"EricssonResearch","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-12-15T07:16:22.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/611464?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1693563277.0","currentOid":""},"activityList":{"items":[{"before":"5ace3e88dd34c44b28756558bc266e6db92a1128","after":"ef397c3fd98f603300c9f421cb77fd1c86bd360f","ref":"refs/heads/main","pushedAt":"2023-10-25T15:53:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Fix concurrency crash (#91)","shortMessageHtmlLink":"Fix concurrency crash (#91)"}},{"before":"1faa81e4eab15bebde8ea4cd0167d0e734b77769","after":null,"ref":"refs/heads/dev","pushedAt":"2023-09-01T08:50:15.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"}},{"before":"f2d2da3c7101ffd3f83d5b52d5b9d7eca5922863","after":"5ace3e88dd34c44b28756558bc266e6db92a1128","ref":"refs/heads/main","pushedAt":"2023-09-01T08:48:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge development (#89)\n\n* Separate image URLs into production and development\r\n\r\n* Add parameter to settings for image URL and policy\r\n\r\n* Remove Python application emulator\r\n\r\n* Target Go 1.20 and upgrade all packages\r\n\r\nThis shouldn't change anything since k8s.io/apimachinery already requires Go 1.20\r\n\r\n* Move the application model into a separate directory\r\n\r\n* Add placeholder Go emulator\r\n\r\n* Move Dockerfile to the repo root\r\nThis is necessary because the emulator needs to access both emulator/ and model/\r\n\r\n* Read config in emulator (test)\r\n\r\n* Set GOMAXPROCS to the number of processes in configmap\r\n\r\n* Shebang should always be on the first line\r\n\r\n* Add script to redeploy emulator in dev environment\r\n\r\n* Move HTTP server into goroutine\r\n\r\n* Use encoding/json instead of sending string\r\n\r\n* Add notFoundHandler\r\n\r\n* Add endpointHandler\r\n\r\n* Clean up emulator code\r\n\r\n* Add testing config map for running emulator outside of K8s\r\n\r\n* Change JSON response to better match old Python emulator\r\n\r\n* Use struct instead of creating functions\r\n\r\n* Export response structs\r\n\r\n* Add CPU stressor\r\n\r\n* Move CPU time function into util\r\n\r\n* Add basic logging for endpoint calls\r\n\r\n* Add ExecParallel for stressors\r\n\r\n* Read SERVICE_NAME from env\r\n\r\n* Remove unused istio.go and redis.go\r\n\r\n* Use Go workspace to separate modules\r\n\r\n* Add CPU task response\r\n\r\n* Add network task function\r\n\r\n* Refactor stressors to use interface\r\n\r\n* Indent JSON response\r\n\r\n* Forward the HTTP request to NetworkTask\r\n\r\n* Propagate headers from inbound to outbound\r\n\r\n* Move payload generation into separate function\r\n\r\n* Format time when logging\r\n\r\n* Add a restful.POST function for forwarding requests\r\n\r\n* Restructure code to avoid import cycles\r\n\r\n* Change called service port type to int\r\n\r\n* Add function for forwarding requests to endpoints\r\n\r\n* Set the slice capacity on init\r\n\r\n* Call other endpoints in NetworkTask\r\n\r\n* Combine network responses\r\nI don't like this code...\r\n\r\n* Omit port if zero\r\nThis seems to match what Python does\r\n\r\n* Simplify code for network complexity\r\n\r\n* Fix for NetworkTask == nil\r\n\r\n* Don't append services and statuses twice\r\n\r\n* Format status properly\r\n\r\n* Fix duplicated service name in network complexity\r\n\r\n* Embed task responses in RESTResponse\r\n\r\n* Add ForwardParallel function\r\n\r\n* Move threads parameter into CPU complexity\r\n\r\n* Support CPU stressor on multiple goroutines\r\n\r\n* Rename response.go to api.go\r\nSince it contains requests now\r\n\r\n* Log CPU tasks if logging=true\r\n\r\n* Move documentation from wiki into repo\r\n\r\n* Move documentation from wiki into repo\r\n\r\n* Worker image should not be built in model/ anymore\r\n\r\n* Worker image should not be built in model/ anymore\r\n\r\n* Add logging for network tasks\r\n\r\n* Also remove threads from model.Service\r\n\r\n* Remove the workaround for null network complexity\r\nIn Go, a nil slice is an empty slice, so it works without panicking\r\n\r\n* Ensure CPU complexity uses at least one thread in generator\r\n\r\n* Allow processes = 0 in service\r\n\r\n* Panic if input contains unknown fields\r\n\r\n* Show protocol in network task log\r\n\r\n* Set execution mode and forward requests in validation.go\r\n\r\n* Update simple example to work with the new emulator\r\n\r\n* Generate a new complex example\r\n\r\n* Log configuration on startup\r\n\r\n* Add documentation for adding a new stressor\r\n\r\n* Add stressor documentation to generator-parameters.md\r\n\r\n* Fix issue with execution time rounding\r\n\r\n* Remove lock_threads from cpu complexity\r\nIt always needs to be on or the stressor doesn't work properly\r\n\r\n* Fix image link in complex example\r\n\r\n* Add comment to clarify that HTTP server should always be running\r\n\r\n* Launch gRPC server on demand\r\n\r\n* Convert requests and responses to protobufs\r\ngRPC works with protobufs so this makes it easier to share types between the HTTP and gRPC server\r\n\r\n* Move protobuf structs to generated package\r\n\r\n* Add a generated placeholder gRPC service to the repo\r\n\r\n* Set AllowPartial to true\r\nShould be faster\r\n\r\n* Unconditionally use HTTP server as readiness probe\r\n\r\n* Compile the service at runtime\r\nThis is necessary once gRPC support is added\r\n\r\n* Set run.sh executable bit\r\n\r\n* Clean caches after build\r\n\r\n* More edits to try to save space\r\n\r\n* Add placeholder file for registering services\r\n\r\n* Remove status from response\r\nHTTP provides 200 OK, 404 Not Found, etc and gRPC provides OK, INVALID_ARGUMENT, etc\r\n\r\n* Start gRPC server\r\n\r\n* Update stressors.md for new API\r\n\r\n* Start generating emulator code\r\n\r\n* Add function for converting K8s name to Go name\r\n\r\n* Use goname to generate service.go\r\n\r\n* Add logging to stressors.md\r\n\r\n* Generate gRPC code in run.sh\r\n\r\n* Implement gRPC health service\r\n\r\n* Generate service name when Check is called\r\nThis is faster since we only have one service anyway\r\n\r\n* Do not update modules in run.sh\r\nThe emulator is supposed to use the modules in the base image\r\n\r\n* Download protoc in run.sh\r\n\r\n* Fix protoc not finding packages\r\n\r\n* Use goname in service.tmpl\r\n\r\n* Fix segfault in generator\r\n\r\n* Fix go build not working\r\n\r\n* Expose gRPC on port 81\r\n\r\n* Add function CallGeneratedEndpoint\r\n\r\n* Enable gRPC reflection service\r\nFor grpcurl, etc\r\n\r\n* Only generate protobufs for gRPC services\r\n\r\n* Install grpc_health_probe in base image\r\n\r\n* Check for empty response data\r\n\r\n* Also check ResponseData.Tasks != nil\r\n\r\n* Specify protocol for microservice instead of endpoint\r\nAs discussed with Aleksandra, running two servers on two ports is complicated and unrealistic for a microservice\r\n\r\n* Forward requests to gRPC endpoints\r\n\r\n* Add protocols to network task response\r\n\r\n* Update impl.tmpl to match new definition\r\n\r\n* Print protocols in LogNetworkTask\r\n\r\n* Fix parallel gRPC request\r\n\r\n* Update stressors.md to match current implementation\r\n\r\n* Create Dockerfile for application-generator\r\n\r\n* Write generated files to k8s/generated\r\n\r\n* Build Docker image in generator\r\n\r\n* Write Docker output to stdout/stderr\r\n\r\n* Fix error in Docker build\r\n\r\n* Do not download modules for model\r\nSince emulator depends on model\r\n\r\n* Delete placeholder files from base layer\r\n\r\n* Copy grpc_health_probe into final image\r\n\r\n* Fix grpc_health_probe path\r\n\r\n* Improve endpoint response format to be less ambiguous\r\n\r\n* Add build ID to Docker image and config to make sure they match\r\n\r\n* Warn instead of panicking on build ID mismatch\r\n\r\n* Change all errors to lowercase\r\nhttps://github.com/golang/go/wiki/CodeReviewComments#error-strings\r\n\r\n* Update documentation to match new response format\r\n\r\n* Fix inconsistent endpoint keys\r\n\r\n* Fix buildID not being set in emulator\r\n\r\n* Remove most TODOs\r\n\r\n* Fix buildID not being set in Dockerfile\r\n\r\n* Move generated files out of k8s/\r\nFixes warning when running deploy.sh\r\n\r\n* Remove the development config map\r\n\r\n* Document api.proto\r\n\r\n* Use strcase package\r\n\r\n* Ignore go.work.sum\r\nThis file includes other modules installed by the user, such as gopls\r\n\r\n* Separate generated files into client and server\r\nPrevents import cycle error\r\n\r\n* Remove old run.sh script\r\n\r\n* Ensure that gRPC status codes are returned on error\r\n\r\n* Return INVALID_ARGUMENT if endpoint doesn't exist\r\n\r\n* Fix api.proto comment\r\n\r\n* Update documentation for Docker base and layered images\r\n\r\n* Add DefaultProtocol back into generator\r\n\r\n* Split CreateK8sYaml into two functions\r\n\r\n* Name docker images after hostname\r\nThis ensures they won't be pulled down from the Docker registry\r\n\r\n* Remove buildID and give all images unique tag\r\n\r\n* Delete old hydragen-emulator images\r\n\r\n* Never cache results from image build\r\n\r\n* Add auto-deployment of images for Kind\r\n\r\n* Add break to deploy.sh\r\n\r\n* Add containerd-push-image-to-clusters.sh\r\n\r\n* Pass sudo password to remote script\r\n\r\n* Fix containerd-push-image-to-clusters.sh\r\n\r\n* Remove old code from deploy.sh\r\n\r\n* Fix ssh commands in containerd-push-image-to-clusters.sh\r\n\r\n* Document helper scripts for kind and containerd\r\n\r\n* Run goimports after generating gRPC code\r\n\r\n* Ensure TrafficForwardRatio is positive\r\n\r\n* Implement TrafficForwardRatio\r\n\r\n* Don't allow traffic forward ratio under 1\r\nOtherwise the default is 0\r\n\r\n* Make sure multiple responses from endpoint can be returned\r\n\r\n* Change container name back to \"app\"\r\n\r\n* Add SSH and sudo password options to containerd-push-image-to-clusters.sh\r\n\r\n* Set GOMEMLIMIT in k8s manifest\r\n\r\n* Add debug output to containerd script\r\n\r\n* Only use contexts in containerd script\r\n\r\n* Don't reference loop variable in HTTP server\r\nhttps://github.com/golang/go/wiki/CommonMistakes#using-reference-to-loop-iterator-variable\r\n\r\n* Set default emulator base image to busybox\r\nProvides a shell and utilities without increasing image size by much\r\n\r\n* Rename \"base image\" to \"source image\"\r\n\r\n* Add a base_image option in config\r\n\r\n* Set BASEIMAGE in Dockerfile\r\n\r\n* Document base_image parameter\r\n\r\n* Automatically determine port and protocol of called service\r\n\r\n* Add an option to use the development image with the random preset\r\n\r\n* Fix port and protocol not applying in network complexity\r\n\r\n* Update simple example for new Go emulator\r\n\r\n* Update complex example by generating new application\r\n\r\n---------\r\n\r\nCo-authored-by: Hannes Mann ","shortMessageHtmlLink":"Merge development (#89)"}},{"before":"3272f02d16e079ede9ccf39da1c481edf9e8c29e","after":"1faa81e4eab15bebde8ea4cd0167d0e734b77769","ref":"refs/heads/dev","pushedAt":"2023-09-01T08:33:36.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #88 from hannesmann/update-examples\n\nUpdate simple and complex example","shortMessageHtmlLink":"Merge pull request #88 from hannesmann/update-examples"}},{"before":"2c6eb452361473e2b54c72b87b55285799ac596a","after":"3272f02d16e079ede9ccf39da1c481edf9e8c29e","ref":"refs/heads/dev","pushedAt":"2023-09-01T08:24:32.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #87 from hannesmann/fix-endpoint-autodiscovery\n\nFix port and protocol not applying in network complexity","shortMessageHtmlLink":"Merge pull request #87 from hannesmann/fix-endpoint-autodiscovery"}},{"before":"09cabbfaa21588468fb8f4952e56abdf974947c3","after":"2c6eb452361473e2b54c72b87b55285799ac596a","ref":"refs/heads/dev","pushedAt":"2023-08-31T17:06:37.000Z","pushType":"pr_merge","commitsCount":6,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #84 from hannesmann/base-image-config\n\nAdd a parameter for changing the base image of the application emulator","shortMessageHtmlLink":"Merge pull request #84 from hannesmann/base-image-config"}},{"before":"7303263b7260fc34ab53b8dd9bf33fafe309ab5f","after":"09cabbfaa21588468fb8f4952e56abdf974947c3","ref":"refs/heads/dev","pushedAt":"2023-08-31T16:32:12.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #85 from hannesmann/random-preset-development\n\nAdd an option to use the development image with the random preset","shortMessageHtmlLink":"Merge pull request #85 from hannesmann/random-preset-development"}},{"before":"38a8f291861658b5e3e27da47ef379248562f47b","after":"7303263b7260fc34ab53b8dd9bf33fafe309ab5f","ref":"refs/heads/dev","pushedAt":"2023-08-31T16:30:09.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #86 from hannesmann/endpoint-autodiscovery\n\nAutomatically determine port and protocol of called service","shortMessageHtmlLink":"Merge pull request #86 from hannesmann/endpoint-autodiscovery"}},{"before":"c6c00e4957b5e4f34d696523b7d6ff5ab220564c","after":"38a8f291861658b5e3e27da47ef379248562f47b","ref":"refs/heads/dev","pushedAt":"2023-08-25T12:49:19.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #83 from hannesmann/fix-http-endpoints\n\nFix multiple HTTP endpoints on the same service","shortMessageHtmlLink":"Merge pull request #83 from hannesmann/fix-http-endpoints"}},{"before":"5ec1f09a97a09e389ec19d6af9d5e84df1afafa1","after":"c6c00e4957b5e4f34d696523b7d6ff5ab220564c","ref":"refs/heads/dev","pushedAt":"2023-08-24T12:25:55.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #82 from hannesmann/containerd-debug\n\nFix containerd script when context name is not the same as cluster name","shortMessageHtmlLink":"Merge pull request #82 from hannesmann/containerd-debug"}},{"before":"398af809a81491b2ad2e26cc1beef974eadb7a97","after":"5ec1f09a97a09e389ec19d6af9d5e84df1afafa1","ref":"refs/heads/dev","pushedAt":"2023-08-24T12:24:29.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #81 from hannesmann/memory-limit\n\nSet GOMEMLIMIT in Kubernetes manifest","shortMessageHtmlLink":"Merge pull request #81 from hannesmann/memory-limit"}},{"before":"ed9003860be71bdc44933a0716c2760fdf21bee9","after":"398af809a81491b2ad2e26cc1beef974eadb7a97","ref":"refs/heads/dev","pushedAt":"2023-08-24T12:23:44.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #80 from hannesmann/password-arguments\n\nAdd SSH and sudo password options to containerd script","shortMessageHtmlLink":"Merge pull request #80 from hannesmann/password-arguments"}},{"before":"e4b242a675dd059c6fbfcc980ce4cb2fa9a734c8","after":"ed9003860be71bdc44933a0716c2760fdf21bee9","ref":"refs/heads/dev","pushedAt":"2023-08-24T12:21:30.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #79 from hannesmann/container-name\n\nChange container name back to \"app\"","shortMessageHtmlLink":"Merge pull request #79 from hannesmann/container-name"}},{"before":"470370a2a281a302f1b6277ad47475b66508755b","after":"e4b242a675dd059c6fbfcc980ce4cb2fa9a734c8","ref":"refs/heads/dev","pushedAt":"2023-08-15T14:32:31.000Z","pushType":"pr_merge","commitsCount":5,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #78 from hannesmann/forward-ratio\n\nImplement traffic forward ratio for Go emulator","shortMessageHtmlLink":"Merge pull request #78 from hannesmann/forward-ratio"}},{"before":"eb0882c23dec6d895d65e459bad7af1a3c13ce6e","after":"470370a2a281a302f1b6277ad47475b66508755b","ref":"refs/heads/dev","pushedAt":"2023-08-15T11:05:51.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #77 from hannesmann/goimports\n\nRun goimports after generating gRPC code","shortMessageHtmlLink":"Merge pull request #77 from hannesmann/goimports"}},{"before":"06def84847ce0738dd5b4ace48cc76d3a0d86c4d","after":"eb0882c23dec6d895d65e459bad7af1a3c13ce6e","ref":"refs/heads/dev","pushedAt":"2023-08-15T11:04:17.000Z","pushType":"pr_merge","commitsCount":13,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #76 from hannesmann/containerd\n\nContainer improvements","shortMessageHtmlLink":"Merge pull request #76 from hannesmann/containerd"}},{"before":"0196294ab40f9130fe2b0b2b5879c4b94ed0db5d","after":"06def84847ce0738dd5b4ace48cc76d3a0d86c4d","ref":"refs/heads/dev","pushedAt":"2023-08-07T09:19:21.000Z","pushType":"pr_merge","commitsCount":76,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #75 from hannesmann/grpc\n\nImplement gRPC client and server for the Go emulator","shortMessageHtmlLink":"Merge pull request #75 from hannesmann/grpc"}},{"before":"2d3a69175268e794b5374f183c80a23149644f7c","after":"0196294ab40f9130fe2b0b2b5879c4b94ed0db5d","ref":"refs/heads/dev","pushedAt":"2023-07-17T13:00:50.000Z","pushType":"pr_merge","commitsCount":55,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #74 from hannesmann/stressors\n\nImplement CPU and network stressors for the Go emulator","shortMessageHtmlLink":"Merge pull request #74 from hannesmann/stressors"}},{"before":"206443531a86bd9e668d4bc93115991a41707989","after":"2d3a69175268e794b5374f183c80a23149644f7c","ref":"refs/heads/dev","pushedAt":"2023-07-12T11:58:03.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #70 from hannesmann/move-wiki-to-repo\n\nMove documentation from wiki into repository","shortMessageHtmlLink":"Merge pull request #70 from hannesmann/move-wiki-to-repo"}},{"before":"7b2192d6dae5e96ba385b830db921e872c08b5e3","after":"206443531a86bd9e668d4bc93115991a41707989","ref":"refs/heads/dev","pushedAt":"2023-07-07T11:23:54.000Z","pushType":"pr_merge","commitsCount":21,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #69 from hannesmann/replace-python-with-go\n\nReplace Python emulator with Go emulator","shortMessageHtmlLink":"Merge pull request #69 from hannesmann/replace-python-with-go"}},{"before":"f2d2da3c7101ffd3f83d5b52d5b9d7eca5922863","after":"7b2192d6dae5e96ba385b830db921e872c08b5e3","ref":"refs/heads/dev","pushedAt":"2023-06-28T14:26:24.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #68 from hannesmann/development-image-url\n\nAdd option to use development Docker image","shortMessageHtmlLink":"Merge pull request #68 from hannesmann/development-image-url"}},{"before":null,"after":"f2d2da3c7101ffd3f83d5b52d5b9d7eca5922863","ref":"refs/heads/dev","pushedAt":"2023-06-28T13:52:00.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #62 from hannesmann/input-validation\n\nValidation for input JSON file in application generator","shortMessageHtmlLink":"Merge pull request #62 from hannesmann/input-validation"}},{"before":"daddd27d9e90182c763e48cf009e2c65f7d6310b","after":"f2d2da3c7101ffd3f83d5b52d5b9d7eca5922863","ref":"refs/heads/main","pushedAt":"2023-06-22T13:13:53.000Z","pushType":"pr_merge","commitsCount":15,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #62 from hannesmann/input-validation\n\nValidation for input JSON file in application generator","shortMessageHtmlLink":"Merge pull request #62 from hannesmann/input-validation"}},{"before":"43d394724defeb3efc362ae72195dc3ee57e6eb7","after":"daddd27d9e90182c763e48cf009e2c65f7d6310b","ref":"refs/heads/main","pushedAt":"2023-06-02T12:52:11.532Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"alekodu","name":"Aleksandra Obeso Duque","path":"/alekodu","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22100933?s=80&v=4"},"commit":{"message":"Merge pull request #61 from alekodu/main\n\nmoving logging doc to wiki","shortMessageHtmlLink":"Merge pull request #61 from alekodu/main"}},{"before":"5eac9824fdce16c8463892bab55a29197c14bf49","after":"43d394724defeb3efc362ae72195dc3ee57e6eb7","ref":"refs/heads/main","pushedAt":"2023-06-01T13:49:13.413Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"salehsedghpour","name":"Mohammad Reza Saleh Sedghpour","path":"/salehsedghpour","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/29206270?s=80&v=4"},"commit":{"message":"Merge pull request #60 from alekodu/main\n\nOrganising documentation and migrating it to wiki pages","shortMessageHtmlLink":"Merge pull request #60 from alekodu/main"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMC0yNVQxNTo1MzozOC4wMDAwMDBazwAAAAOfo1D6","startCursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMC0yNVQxNTo1MzozOC4wMDAwMDBazwAAAAOfo1D6","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNi0wMVQxMzo0OToxMy40MTM0NDRazwAAAAM4uWEu"}},"title":"Activity ยท EricssonResearch/cloud-native-app-simulator"}