|
| 1 | +# Plumber configuration for the sdk-java repository. |
| 2 | +# Based on Plumber's built-in defaults (github provider only); every control |
| 3 | +# is listed explicitly so none is silently disabled. The only customization is |
| 4 | +# the branch protection policy below. |
| 5 | +version: "2.0" |
| 6 | +github: |
| 7 | + controls: |
| 8 | + containerImageMustNotUseForbiddenTags: |
| 9 | + enabled: true |
| 10 | + tags: |
| 11 | + - latest |
| 12 | + - dev |
| 13 | + - development |
| 14 | + - staging |
| 15 | + - main |
| 16 | + - master |
| 17 | + containerImagesMustBePinnedByDigest: true |
| 18 | + branchMustBeProtected: |
| 19 | + enabled: true |
| 20 | + namePatterns: |
| 21 | + - main |
| 22 | + - master |
| 23 | + - release/* |
| 24 | + - production |
| 25 | + - dev |
| 26 | + defaultMustBeProtected: true |
| 27 | + allowForcePush: false |
| 28 | + # This project does not use a CODEOWNERS-based review process, so |
| 29 | + # code owner approval is not part of its branch protection policy. |
| 30 | + codeOwnerApprovalRequired: false |
| 31 | + externalRefsMustNotCollide: |
| 32 | + enabled: true |
| 33 | + pipelineMustNotEnableDebugTrace: |
| 34 | + enabled: true |
| 35 | + forbiddenVariables: |
| 36 | + - ACTIONS_STEP_DEBUG |
| 37 | + - ACTIONS_RUNNER_DEBUG |
| 38 | + securityJobsMustNotBeWeakened: |
| 39 | + enabled: true |
| 40 | + securityJobPatterns: |
| 41 | + - '*codeql*' |
| 42 | + - '*dependency-review*' |
| 43 | + - '*trufflehog*' |
| 44 | + - '*gitleaks*' |
| 45 | + - '*osv-scanner*' |
| 46 | + - '*-sast' |
| 47 | + - '*-sast-*' |
| 48 | + - '*-scan' |
| 49 | + - '*scan*' |
| 50 | + - '*-security' |
| 51 | + - '*-security-*' |
| 52 | + - '*-audit' |
| 53 | + - '*-audit-*' |
| 54 | + allowFailureMustBeFalse: |
| 55 | + enabled: true |
| 56 | + rulesMustNotBeRedefined: |
| 57 | + enabled: true |
| 58 | + whenMustNotBeManual: |
| 59 | + enabled: true |
| 60 | + pipelineMustNotExecuteUnverifiedScripts: |
| 61 | + enabled: true |
| 62 | + pipelineMustNotUseDockerInDocker: |
| 63 | + enabled: true |
| 64 | + detectInsecureDaemon: true |
| 65 | + actionsMustBePinnedByCommitSha: |
| 66 | + enabled: true |
| 67 | + trustedOwners: |
| 68 | + - actions |
| 69 | + - github |
| 70 | + githubActionMustComeFromAuthorizedSources: |
| 71 | + enabled: true |
| 72 | + trustGithubOfficialActions: true |
| 73 | + trustSameOrgActions: true |
| 74 | + trustedGithubActions: |
| 75 | + - getplumber/plumber |
| 76 | + workflowMustNotInjectUserInputInScripts: |
| 77 | + enabled: true |
| 78 | + workflowMustNotWriteUntrustedContentToGitHubEnv: |
| 79 | + enabled: true |
| 80 | + workflowMustNotUseDangerousTriggers: |
| 81 | + enabled: true |
| 82 | + pullRequestTargetMustNotCheckoutHead: |
| 83 | + enabled: true |
| 84 | + workflowsMustDeclarePermissions: |
| 85 | + enabled: true |
| 86 | + reusableWorkflowsMustNotInheritSecrets: |
| 87 | + enabled: true |
| 88 | + workflowMustNotExportEntireSecretsContext: |
| 89 | + enabled: true |
| 90 | + workflowMustNotGrantPermissionsWriteAll: |
| 91 | + enabled: true |
| 92 | + actionsMustNotBeArchived: |
| 93 | + enabled: true |
| 94 | + actionRefsMustExistUpstream: |
| 95 | + enabled: true |
| 96 | + actionsMustNotCarryKnownCVEs: |
| 97 | + enabled: true |
| 98 | + actionsMustNotExecuteMutableRemoteCode: |
| 99 | + enabled: true |
| 100 | + releaseWorkflowsMustNotRestoreUntrustedCache: |
| 101 | + enabled: true |
| 102 | + publishActions: |
| 103 | + - gradle/publish-plugin |
| 104 | + cacheActions: |
| 105 | + - action: actions/cache |
| 106 | + mode: always |
| 107 | + - action: actions/cache/restore |
| 108 | + mode: always |
| 109 | + - action: Swatinem/rust-cache |
| 110 | + mode: always |
| 111 | + - action: actions/setup-go |
| 112 | + mode: default |
| 113 | + disableInput: cache |
| 114 | + disableValue: false |
| 115 | + - action: gradle/actions/setup-gradle |
| 116 | + mode: default |
| 117 | + disableInput: cache-disabled |
| 118 | + disableValue: true |
| 119 | + - action: actions/setup-node |
| 120 | + mode: opt-in |
| 121 | + enableInput: cache |
| 122 | + - action: actions/setup-python |
| 123 | + mode: opt-in |
| 124 | + enableInput: cache |
| 125 | + - action: actions/setup-java |
| 126 | + mode: opt-in |
| 127 | + enableInput: cache |
| 128 | + - action: pnpm/action-setup |
| 129 | + mode: opt-in |
| 130 | + enableInput: cache |
| 131 | + - action: docker/build-push-action |
| 132 | + mode: opt-in |
| 133 | + enableInput: cache-from |
| 134 | + enableContains: type=gha |
| 135 | + publishScriptPatterns: |
| 136 | + - (?i)(npm|pnpm|yarn|bun)\s+publish |
| 137 | + - (?i)cargo\s+publish |
| 138 | + - (?i)twine\s+upload |
| 139 | + - (?i)poetry\s+publish |
| 140 | + - (?i)gh\s+release\s+create |
| 141 | + - (?i)goreleaser\s+release |
| 142 | + - (?i)semantic-release |
| 143 | + - (?i)gradlew?\b[^\n]*\bpublish |
| 144 | + - (?i)\bmvnw?\b[^\n]*\bdeploy\b |
| 145 | + - (?i)dotnet\s+nuget\s+push |
| 146 | + - (?i)gem\s+push |
| 147 | + - (?i)docker\s+push |
| 148 | + publishScriptExcludePatterns: |
| 149 | + - (?i)--dry-run |
| 150 | + - (?i)publishToMavenLocal |
| 151 | + workflowMustIncludeRequiredActions: |
| 152 | + enabled: false |
0 commit comments