{"id":37173075,"url":"https://github.com/hasansino/go42","last_synced_at":"2026-01-14T20:14:04.167Z","repository":{"id":288760346,"uuid":"956381160","full_name":"hasansino/go42","owner":"hasansino","description":"Golang project operation blueprint.","archived":false,"fork":false,"pushed_at":"2026-01-11T14:35:59.000Z","size":7699,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-11T15:58:03.606Z","etag":null,"topics":["blueprint","boilerplate","but-pain-is-gain","clean-architecture","cloud","cloud-native","example","framework","go","golang","layout","life-is-pain","new-project","service","skeleton","so-life-is-gain-trough-the-pain","template","unclean-architecture","wireframe"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hasansino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-28T06:47:13.000Z","updated_at":"2026-01-11T14:36:02.000Z","dependencies_parsed_at":"2025-05-05T19:46:48.788Z","dependency_job_id":"6bdef373-874d-4c26-983a-edcb42016667","html_url":"https://github.com/hasansino/go42","commit_stats":null,"previous_names":["hasansino/goapp","hasansino/go42"],"tags_count":84,"template":true,"template_full_name":null,"purl":"pkg:github/hasansino/go42","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasansino%2Fgo42","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasansino%2Fgo42/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasansino%2Fgo42/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasansino%2Fgo42/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hasansino","download_url":"https://codeload.github.com/hasansino/go42/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hasansino%2Fgo42/sbom","scorecard":{"id":142518,"data":{"date":"2025-08-16T06:24:58Z","repo":{"name":"github.com/hasansino/go42","commit":"5d7d0fbb7d8ef93466b7673d42a0a82e2ca7c291"},"scorecard":{"version":"v5.2.1","commit":"ab2f6e92482462fe66246d9e32f642855a691dc1"},"score":5.9,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 7 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#maintained"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yaml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dependency-update-tool"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#binary-artifacts"}},{"name":"Code-Review","score":0,"reason":"Found 0/24 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/110-action-lint.yaml:36","Info: jobLevel 'contents' permission set to 'read': .github/workflows/110-docker-lint.yaml:36","Info: jobLevel 'contents' permission set to 'read': .github/workflows/110-git-lint.yaml:37","Info: jobLevel 'contents' permission set to 'read': .github/workflows/110-golangci-lint.yaml:36","Info: jobLevel 'contents' permission set to 'read': .github/workflows/110-markdown-lint.yaml:36","Info: jobLevel 'contents' permission set to 'read': .github/workflows/110-openapi-lint.yaml:36","Info: jobLevel 'contents' permission set to 'read': .github/workflows/110-project-lint.yaml:37","Info: jobLevel 'contents' permission set to 'read': .github/workflows/110-proto-lint.yaml:36","Info: jobLevel 'contents' permission set to 'read': .github/workflows/110-sql-lint.yaml:36","Info: jobLevel 'contents' permission set to 'read': .github/workflows/110-writing-lint.yaml:36","Info: jobLevel 'contents' permission set to 'read': .github/workflows/120-unit-tests.yaml:35","Info: jobLevel 'contents' permission set to 'read': .github/workflows/130-security.yaml:162","Info: jobLevel 'contents' permission set to 'read': .github/workflows/130-security.yaml:185","Info: jobLevel 'contents' permission set to 'read': .github/workflows/130-security.yaml:44","Info: jobLevel 'contents' permission set to 'read': .github/workflows/130-security.yaml:64","Info: jobLevel 'contents' permission set to 'read': .github/workflows/130-security.yaml:82","Info: jobLevel 'contents' permission set to 'read': .github/workflows/130-security.yaml:101","Info: jobLevel 'contents' permission set to 'read': .github/workflows/130-security.yaml:123","Info: jobLevel 'actions' permission set to 'read': .github/workflows/130-security.yaml:125","Info: jobLevel 'contents' permission set to 'read': .github/workflows/130-security.yaml:145","Info: jobLevel 'contents' permission set to 'read': .github/workflows/140-docker-build.yaml:88","Info: jobLevel 'actions' permission set to 'read': .github/workflows/140-docker-build.yaml:91","Info: jobLevel 'contents' permission set to 'read': .github/workflows/140-security-extra.yaml:54","Info: jobLevel 'packages' permission set to 'read': .github/workflows/140-security-extra.yaml:55","Info: jobLevel 'contents' permission set to 'read': .github/workflows/140-security-extra.yaml:73","Info: jobLevel 'packages' permission set to 'read': .github/workflows/140-security-extra.yaml:74","Info: jobLevel 'contents' permission set to 'read': .github/workflows/140-security-extra.yaml:108","Info: jobLevel 'packages' permission set to 'read': .github/workflows/140-security-extra.yaml:109","Info: jobLevel 'actions' permission set to 'read': .github/workflows/140-security-extra.yaml:110","Info: jobLevel 'contents' permission set to 'read': .github/workflows/150-integration-tests.yaml:52","Info: jobLevel 'packages' permission set to 'read': .github/workflows/150-integration-tests.yaml:53","Info: jobLevel 'contents' permission set to 'read': .github/workflows/150-load-tests.yaml:63","Info: jobLevel 'packages' permission set to 'read': .github/workflows/150-load-tests.yaml:232","Info: jobLevel 'contents' permission set to 'read': .github/workflows/160-cleanup.yaml:27","Warn: jobLevel 'packages' permission set to 'write': .github/workflows/160-cleanup.yaml:26","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/200-master-update.yaml:23","Info: jobLevel 'contents' permission set to 'read': .github/workflows/220-pr-summary.yaml:51","Info: jobLevel 'models' permission set to 'read': .github/workflows/220-pr-summary.yaml:52","Info: jobLevel 'contents' permission set to 'read': .github/workflows/300-release.yaml:39","Info: jobLevel 'models' permission set to 'read': .github/workflows/300-release.yaml:40","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/300-release.yaml:74","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/310-release-pr-merge.yaml:21","Warn: jobLevel 'packages' permission set to 'write': .github/workflows/400-cleanup-registry.yaml:41","Info: jobLevel 'contents' permission set to 'read': .github/workflows/400-cleanup-registry.yaml:42","Info: jobLevel 'actions' permission set to 'read': .github/workflows/510-ai-claude.yml:58","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/510-ai-claude.yml:54","Info: jobLevel 'contents' permission set to 'read': .github/workflows/copilot-setup-steps.yml:14","Info: topLevel 'actions' permission set to 'read': .github/workflows/100-unified-workflow.yaml:39","Warn: topLevel 'contents' permission set to 'write': .github/workflows/100-unified-workflow.yaml:32","Warn: topLevel 'packages' permission set to 'write': .github/workflows/100-unified-workflow.yaml:33","Warn: topLevel 'security-events' permission set to 'write': .github/workflows/100-unified-workflow.yaml:36","Info: found token with 'none' permissions: .github/workflows/110-action-lint.yaml:1","Info: found token with 'none' permissions: .github/workflows/110-docker-lint.yaml:1","Info: found token with 'none' permissions: .github/workflows/110-git-lint.yaml:1","Info: found token with 'none' permissions: .github/workflows/110-golangci-lint.yaml:1","Info: found token with 'none' permissions: .github/workflows/110-markdown-lint.yaml:1","Info: found token with 'none' permissions: .github/workflows/110-openapi-lint.yaml:1","Info: found token with 'none' permissions: .github/workflows/110-project-lint.yaml:1","Info: found token with 'none' permissions: .github/workflows/110-proto-lint.yaml:1","Info: found token with 'none' permissions: .github/workflows/110-sql-lint.yaml:1","Info: found token with 'none' permissions: .github/workflows/110-writing-lint.yaml:1","Info: found token with 'none' permissions: .github/workflows/120-unit-tests.yaml:1","Info: found token with 'none' permissions: .github/workflows/130-security.yaml:1","Info: found token with 'none' permissions: .github/workflows/140-docker-build.yaml:1","Info: found token with 'none' permissions: .github/workflows/140-security-extra.yaml:1","Info: found token with 'none' permissions: .github/workflows/150-integration-tests.yaml:1","Info: found token with 'none' permissions: .github/workflows/150-load-tests.yaml:1","Info: found token with 'none' permissions: .github/workflows/160-cleanup.yaml:1","Info: found token with 'none' permissions: .github/workflows/200-master-update.yaml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/210-github-pages.yaml:17","Info: topLevel 'contents' permission set to 'read': .github/workflows/220-pr-summary.yaml:10","Info: topLevel 'models' permission set to 'read': .github/workflows/220-pr-summary.yaml:12","Info: topLevel 'models' permission set to 'read': .github/workflows/300-release.yaml:18","Warn: topLevel 'contents' permission set to 'write': .github/workflows/300-release.yaml:12","Warn: topLevel 'packages' permission set to 'write': .github/workflows/300-release.yaml:13","Info: topLevel 'actions' permission set to 'read': .github/workflows/300-release.yaml:17","Info: found token with 'none' permissions: .github/workflows/310-release-pr-merge.yaml:1","Info: found token with 'none' permissions: .github/workflows/400-cleanup-registry.yaml:1","Warn: no topLevel permission defined: .github/workflows/510-ai-claude.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/510-ai-gemini.yml:18","Warn: topLevel 'statuses' permission set to 'write': .github/workflows/510-ai-gemini.yml:22","Warn: no topLevel permission defined: .github/workflows/copilot-setup-steps.yml:1"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENCE:0","Info: FSF or OSI recognized license: MIT License: LICENCE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#fuzzing"}},{"name":"Branch-Protection","score":6,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'master'","Info: 'force pushes' disabled on branch 'master'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Info: 'stale review dismissal' is required to merge on branch 'master'","Warn: required approving review count is 1 on branch 'master'","Warn: codeowners review is not required on branch 'master'","Info: 'last push approval' is required to merge on branch 'master'","Warn: no status checks found to merge onto branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#branch-protection"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#signed-releases"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/140-docker-build.yaml:82"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#packaging"}},{"name":"Contributors","score":3,"reason":"project has 1 contributing companies or organizations -- score normalized to 3","details":["Info: found contributions from: EpicGames"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#contributors"}},{"name":"SAST","score":7,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 0 commits out of 6 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#sast"}},{"name":"CI-Tests","score":10,"reason":"6 out of 6 merged PRs checked by a CI test -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#ci-tests"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/110-action-lint.yaml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-action-lint.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/110-action-lint.yaml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-action-lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/110-docker-lint.yaml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-docker-lint.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/110-docker-lint.yaml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-docker-lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/110-git-lint.yaml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-git-lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/110-golangci-lint.yaml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-golangci-lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/110-golangci-lint.yaml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-golangci-lint.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/110-golangci-lint.yaml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-golangci-lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/110-markdown-lint.yaml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-markdown-lint.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/110-markdown-lint.yaml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-markdown-lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/110-openapi-lint.yaml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-openapi-lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/110-project-lint.yaml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-project-lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/110-project-lint.yaml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-project-lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/110-project-lint.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-project-lint.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/110-project-lint.yaml:70: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-project-lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/110-proto-lint.yaml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-proto-lint.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/110-proto-lint.yaml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-proto-lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/110-sql-lint.yaml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-sql-lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/110-writing-lint.yaml:40: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-writing-lint.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/110-writing-lint.yaml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/110-writing-lint.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/120-unit-tests.yaml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/120-unit-tests.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/120-unit-tests.yaml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/120-unit-tests.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/130-security.yaml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:105: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/130-security.yaml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:129: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:132: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:138: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:149: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/130-security.yaml:151: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:168: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/130-security.yaml:170: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:189: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:193: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:204: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:48: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/130-security.yaml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/130-security.yaml:71: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/130-security.yaml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/130-security.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/140-docker-build.yaml:95: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-docker-build.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/140-docker-build.yaml:105: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-docker-build.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/140-docker-build.yaml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-docker-build.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/140-docker-build.yaml:128: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-docker-build.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/140-docker-build.yaml:149: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-docker-build.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/140-docker-build.yaml:174: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-docker-build.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/140-docker-build.yaml:185: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-docker-build.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/140-docker-build.yaml:192: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-docker-build.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/140-security-extra.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-security-extra.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/140-security-extra.yaml:94: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-security-extra.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/140-security-extra.yaml:97: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-security-extra.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/140-security-extra.yaml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-security-extra.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/140-security-extra.yaml:116: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-security-extra.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/140-security-extra.yaml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-security-extra.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/140-security-extra.yaml:126: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-security-extra.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/140-security-extra.yaml:136: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-security-extra.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/140-security-extra.yaml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/140-security-extra.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/150-integration-tests.yaml:127: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/150-integration-tests.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/150-integration-tests.yaml:129: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/150-integration-tests.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/150-load-tests.yaml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/150-load-tests.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/150-load-tests.yaml:68: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/150-load-tests.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/150-load-tests.yaml:73: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/150-load-tests.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/150-load-tests.yaml:355: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/150-load-tests.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/150-load-tests.yaml:357: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/150-load-tests.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/150-load-tests.yaml:359: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/150-load-tests.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/150-load-tests.yaml:366: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/150-load-tests.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/200-master-update.yaml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/200-master-update.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/200-master-update.yaml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/200-master-update.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/200-master-update.yaml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/200-master-update.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/210-github-pages.yaml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/210-github-pages.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/210-github-pages.yaml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/210-github-pages.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/210-github-pages.yaml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/210-github-pages.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/210-github-pages.yaml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/210-github-pages.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/210-github-pages.yaml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/210-github-pages.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/210-github-pages.yaml:81: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/210-github-pages.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/220-pr-summary.yaml:60: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/220-pr-summary.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/220-pr-summary.yaml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/220-pr-summary.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/300-release.yaml:49: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/300-release.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/300-release.yaml:80: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/300-release.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/300-release.yaml:86: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/300-release.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/300-release.yaml:95: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/300-release.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/310-release-pr-merge.yaml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/310-release-pr-merge.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/310-release-pr-merge.yaml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/310-release-pr-merge.yaml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/310-release-pr-merge.yaml:69: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/310-release-pr-merge.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/510-ai-claude.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/510-ai-claude.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/510-ai-claude.yml:122: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/510-ai-claude.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/510-ai-claude.yml:143: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/510-ai-claude.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/510-ai-gemini.yml:63: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/510-ai-gemini.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/510-ai-gemini.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/510-ai-gemini.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/510-ai-gemini.yml:138: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/510-ai-gemini.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/copilot-setup-steps.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/hasansino/go42/copilot-setup-steps.yml/master?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:10","Warn: containerImage not pinned by hash: Dockerfile:69: pin your Docker image by updating alpine:3.22 to alpine:3.22@sha256:4bcff63911fcb4448bd4fdacec207030997caf25e9bea4045fa6c8c44de311d1","Warn: pipCommand not pinned by hash: .github/workflows/110-sql-lint.yaml:60","Warn: goCommand not pinned by hash: .github/workflows/130-security.yaml:198","Info:   0 out of  65 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  28 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned","Info:   0 out of   1 pipCommand dependencies pinned","Info:   0 out of   1 goCommand dependencies pinned","Info:   1 out of   1 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":8,"reason":"2 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-4v9v-hfq4-rm2v","Warn: Project is vulnerable to: GHSA-9jgg-88mc-972h"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/ab2f6e92482462fe66246d9e32f642855a691dc1/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-16T08:31:02.609Z","repository_id":288760346,"created_at":"2025-08-16T08:31:02.609Z","updated_at":"2025-08-16T08:31:02.609Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28434421,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T18:57:19.464Z","status":"ssl_error","status_checked_at":"2026-01-14T18:52:48.501Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["blueprint","boilerplate","but-pain-is-gain","clean-architecture","cloud","cloud-native","example","framework","go","golang","layout","life-is-pain","new-project","service","skeleton","so-life-is-gain-trough-the-pain","template","unclean-architecture","wireframe"],"created_at":"2026-01-14T20:14:03.540Z","updated_at":"2026-01-14T20:14:04.150Z","avatar_url":"https://github.com/hasansino.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-disable MD013 MD033 MD041 --\u003e\n\u003cdiv align=\"center\"\u003e\u003cpre\u003e\n░██████╗░░█████╗░░░██╗██╗░█████═╗░\n██╔════╝░██╔══██╗░██╔╝╚█║█════██║░\n██║░░██╗░██║░░██║██╔╝░░╚╝░░███╔═╝░\n██║░░╚██╗██║░░██║███████╗██╔══╝░░░\n╚██████╔╝╚█████╔╝╚════██║███████║░\n░╚═════╝░░╚════╝░░░░░░╚═╝╚══════╝░\n\u003cbr\u003e\nG0LANG PR0JECT 0PERATION BLUEPRINT\n\u003cbr\u003e\n01101111 01101110 01100101 01110100 01101111 01100110\n01101111 01110010 01100101 01100111 01101111 01100110\n01101111 01110010 01101101 01100001 01101110 01111001\n\u003c/pre\u003e\u003c/div\u003e\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://opensource.org/licenses/MIT\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-yellow.svg\" alt=\"licence\"\u003e\u003c/a\u003e\n\u003ca href=\"https://golang.org/\"\u003e\u003cimg src=\"https://img.shields.io/badge/Go-1.25.5-00ADD8?style=flat\u0026logo=go\" alt=\"goversion\"\u003e\u003c/a\u003e\n\u003ca href=\"https://goreportcard.com/report/github.com/hasansino/go42\"\u003e\u003cimg src=\"https://goreportcard.com/badge/github.com/hasansino/go42\" alt=\"goreport\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/hasansino/go42/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/hasansino/go42\" alt=\"release\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/hasansino/go42/actions/workflows/100-unified-workflow.yaml\"\u003e\u003cimg src=\"https://github.com/hasansino/go42/actions/workflows/100-unified-workflow.yaml/badge.svg\" alt=\"ci-status\"\u003e\u003c/a\u003e\n\u003ca href=\"https://scorecard.dev/viewer/?uri=github.com/hasansino/go42\"\u003e\u003cimg src=\"https://img.shields.io/ossf-scorecard/github.com/hasansino/go42?label=openssf+scorecard\u0026style=flat\" alt=\"ossf\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003c!-- markdownlint-enable MD013 MD033 MD041 --\u003e\n\n# go42\n\nGo42 is opinionated approach to develop cloud native golang services.\n\n## Goals\n\n- Establish an SDLC framework that scales with project, team, and organizational growth.\n- Support both closed-source operation and open-source friendliness by design.\n- Minimize operational overhead through enforced rules, conventions, and best practices at the CI/CD level.\n- Native integration of AI tools into the development workflow.\n- Ensure rapid and streamlined operational deployment bootstrapping.\n- Embed security fundamentals from day one.\n- Me learning a lot of new things in the process.\n\n## Backlog\n\n### ദ്ദി( •̀ ᴗ •́ )و\n\n- https://failsafe-go.dev/\n- circuit breaker (https://github.com/sony/gobreaker)\n- graceful connection recovery\n- outbox table cleanup worker\n- service discovery\n  - consul - consul kv for config\n  - etcd\n  - k8 CoreDNS\n\n### ദ്ദി( •̀ ᴗ - )\n\n- register echo validator -\u003e simplify adapters\n- slog contextual values (like request id etc.) propogation\n- slog smart sampling of duplicates\n- slog enforcing field names and types\n\n### ( ´• ω •)\n\n- lock tools version and sync with CI\n- working with private repositories, .netrc, GOPRIVATE, modules\n\n### Project `get-the-job-done`'\n\n- https://squidfunk.github.io/mkdocs-material/\n- documentation\n- conventions + validation in ci/cd\n- arch/business/feature documentation generation\n\n### Project `pandemic`\n\n- support hetzner, aws, gcp, azure\n- https://www.crossplane.io/\n- https://www.pulumi.com/\n\n### Project `clockwork`\n\n- go42-cli (round-kick, fist-punch ASCII)\n\n### project `machine`\n\n- go42-runner\n\n### Project `scrudge-mcrudge`\n\n- integration with project management tools\n- capacity planning and resource management\n- scaling and organizing multiple projects\n- cost analysis for different scales\n\n### Project `swarm`\n\n- sandbox ai execution in containers\n- structured yaml prompts (declarative instructions)\n- ai cost tracking\n- add audit logging for all ai actions\n- add explicit context about repository structure\n- fuzzy + genetic\n- https://github.com/langchain-ai/open-swe\n- https://github.com/cloudwego/eino\n- https://genkit.dev/\n- https://github.com/oraios/serena\n- https://github.com/stravu/crystal\n- https://github.com/helicone/helicone\n- https://langfuse.com/\n- https://github.com/grafana/mcp-grafana\n- https://github.com/modelcontextprotocol/servers\n- https://github.com/qodo-ai/pr-agent\n\n## 100% after v1.0.0 release\n\n- research sso -\u003e saml/oidc\n- auth0\n- casbin\n- try https://testcontainers.com/\n- try https://backstage.io/\n- goland / vscode configuration + goenv-scp\n- try https://github.com/docker/bake-action\n- `wg.Go()`\n- try asyncapi (again)\n- release notifications to slack (https://github.com/8398a7/action-slack)\n- k8 hpa/vpa configurations\n- try https://www.checkov.io/ and https://terrasolid.com/products/terrascan/\n- nosql -\u003e `clickhouse` + `duckdb`\n- graphql support\n- event sourcing - cqrs\n- try https://github.com/kisielk/godepgraph\n- try https://github.com/Oloruntobi1/pproftui\n- try https://sqlc.dev/ or https://github.com/stephenafamo/bob\n- dead letter queues\n- release rollback automation\n- feature flags system\n- release annotations to grafana dashboards\n- c4 (not that one)\n- renovatebot\n- https://d2lang.com/\n- https://github.com/uber-go/nilaway\n- action timeouts\n- https://netflixtechblog.com/practical-api-design-at-netflix-part-1-using-protobuf-fieldmask-35cfdc606518\n- https://go.dev/blog/flight-recorder\n- https://pkg.go.dev/log/slog@master#NewMultiHandler (after go1.26 release)\n- https://github.com/labstack/echo/blob/v5/API_CHANGES_V5.md (otelecho v5)\n\n### Explore\n\n- https://github.com/samber/do\n- https://github.com/kreuzberg-dev/kreuzberg\n- https://github.com/tursodatabase/turso\n- https://valkey.io/\n- https://github.com/hypermodeinc/badger\n- https://grafana.com/oss/tempo/\n- https://grafana.com/oss/loki/\n- https://github.com/arl/statsviz\n- https://kyverno.io/\n- https://external-secrets.io/latest/\n- https://opentelemetry.io/docs/collector/\n- https://www.envoyproxy.io/\n- https://openfeature.dev/\n- https://cloudnative-pg.io/\n- https://github.com/riverqueue/river\n- https://github.com/akuity/kargo\n- https://www.crossplane.io/\n- https://github.com/nektos/act\n- https://github.com/documentdb/documentdb\n- https://github.com/cloudnative-pg/cloudnative-pg\n- https://github.com/coroot/coroot\n- https://connectrpc.com/\n- https://github.com/timescale/pgai\n- https://github.com/xataio/pgroll\n- https://github.com/duckdb/pg_duckdb\n- https://github.com/sst/opencode\n- https://github.com/knadh/koanf\n\n### Security\n\n- github runner hardening (self-hosted and cloud)\n- PATs for github actions\n- tls connections and certificate management\n- grpc transport credentials\n- nicshe spider trap\n\n### Compliance\n\n- audit package implementation and guidelines\n- compliance research -\u003e SOC2, ISO 27001, PCI-DSS, HIPAA\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasansino%2Fgo42","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhasansino%2Fgo42","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhasansino%2Fgo42/lists"}