Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ body:
options:
- label: I have searched existing issues to ensure this is not a duplicate
required: true
- label: I have read the documentation at https://rou-cru.github.io/idp-blueprint/
- label: I have read the documentation at https://idp-blueprint.roura.xyz/
required: true
- label: I am using the latest version from the main branch
required: false
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: 📖 Documentation
url: https://rou-cru.github.io/idp-blueprint/
url: https://idp-blueprint.roura.xyz/
about: Read the comprehensive documentation for the IDP Blueprint
- name: 💬 Discussions
url: https://github.com/rou-cru/idp-blueprint/discussions
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ body:
options:
- label: I have searched existing issues to ensure this is not a duplicate
required: true
- label: I have checked the documentation site at https://rou-cru.github.io/idp-blueprint/
- label: I have checked the documentation site at https://idp-blueprint.roura.xyz/
required: true

- type: dropdown
Expand Down Expand Up @@ -67,7 +67,7 @@ body:
attributes:
label: Page URL or File Path
description: Link to the documentation page or file path
placeholder: "https://rou-cru.github.io/idp-blueprint/guides/getting-started or Docs/src/content/docs/guides/example.md"
placeholder: "https://idp-blueprint.roura.xyz/guides/getting-started or Docs/src/content/docs/guides/example.md"
validations:
required: false

Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ body:
options:
- label: I have searched existing issues to ensure this is not a duplicate
required: true
- label: I have read the documentation at https://rou-cru.github.io/idp-blueprint/
- label: I have read the documentation at https://idp-blueprint.roura.xyz/
required: true
- label: This feature aligns with the IDP Blueprint's goals (GitOps, Observability, Security, Policy)
required: true
Expand Down
33 changes: 14 additions & 19 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ github-actions:
- ".github/dependabot.yml"
- ".github/labeler.yml"
- ".github/ISSUE_TEMPLATE/**/*"
- ".github/PULL_REQUEST_TEMPLATE.md"
- ".github/CODEOWNERS"
- ".github/pull_request_template.md"

# Task Automation
automation:
Expand All @@ -42,50 +41,47 @@ configuration:
argocd:
- changed-files:
- any-glob-to-any-file:
- "Bootstrap/argocd/**/*"
- "Stacks/argocd/**/*"
- "IT/argocd/**/*"
- "K8s/**/argocd*/**/*"
- "**/argocd-*.yaml"

# Cilium / Networking
cilium:
- changed-files:
- any-glob-to-any-file:
- "Bootstrap/cilium/**/*"
- "IT/cilium/**/*"
- "**/cilium-*.yaml"

# Vault / Secrets
vault:
- changed-files:
- any-glob-to-any-file:
- "Bootstrap/vault/**/*"
- "Stacks/vault/**/*"
- "IT/vault/**/*"
- "K8s/**/vault/**/*"
- "**/vault-*.yaml"

# External Secrets
external-secrets:
- changed-files:
- any-glob-to-any-file:
- "Bootstrap/external-secrets/**/*"
- "IT/external-secrets/**/*"
- "K8s/**/external-secrets/**/*"
- "**/external-secret*.yaml"
- "**/secret-store*.yaml"

# Kyverno / Policies
kyverno:
- changed-files:
- any-glob-to-any-file:
- "Policies/**/*"
- "Stacks/kyverno/**/*"
- "K8s/policies/**/*"
- "**/kyverno-*.yaml"
- "**/*policy*.yaml"

# Observability
observability:
- changed-files:
- any-glob-to-any-file:
- "Stacks/prometheus/**/*"
- "Stacks/grafana/**/*"
- "Stacks/loki/**/*"
- "Stacks/fluent-bit/**/*"
- "K8s/observability/**/*"
- "**/prometheus-*.yaml"
- "**/grafana-*.yaml"
- "**/loki-*.yaml"
Expand All @@ -94,16 +90,15 @@ observability:
cicd:
- changed-files:
- any-glob-to-any-file:
- "Stacks/argo-workflows/**/*"
- "Stacks/sonarqube/**/*"
- "K8s/cicd/**/*"
- "**/argo-workflow*.yaml"
- "**/sonarqube-*.yaml"

# cert-manager
cert-manager:
- changed-files:
- any-glob-to-any-file:
- "Bootstrap/cert-manager/**/*"
- "IT/cert-manager/**/*"
- "**/cert-manager-*.yaml"
- "**/certificate*.yaml"
- "**/clusterissuer*.yaml"
Expand All @@ -112,7 +107,7 @@ cert-manager:
gateway:
- changed-files:
- any-glob-to-any-file:
- "Bootstrap/gateway/**/*"
- "IT/gateway/**/*"
- "**/gateway*.yaml"
- "**/httproute*.yaml"

Expand All @@ -121,6 +116,7 @@ k3d:
- changed-files:
- any-glob-to-any-file:
- "Task/k3d.yaml"
- "IT/k3d-cluster.yaml"
- ".devcontainer/**/*"
- "**/k3d-*.yaml"

Expand All @@ -145,7 +141,6 @@ security:
- any-glob-to-any-file:
- "SECURITY.md"
- ".config/lint/.trufflehog-ignore"
- "Policies/**/*"
- "**/rbac*.yaml"
- "**/networkpolicy*.yaml"

Expand Down
13 changes: 13 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## Summary
- What does this change do?
- Any user-facing or breaking changes?

## Testing
- [ ] Not run (explain why)
- [ ] Added/updated automated tests
- [ ] Manually tested (`<commands>`)

## Checklist
- [ ] Docs updated if needed
- [ ] Conventional commit in title
- [ ] Linked issue (if relevant)
83 changes: 83 additions & 0 deletions .github/workflows/auto-merge.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: Auto Merge with CodeRabbit

on:
pull_request_target:
types: [opened, reopened, synchronize, ready_for_review, review_requested]
workflow_run:
workflows: ["CI Pipeline", "Documentation"]
types: [completed]

permissions:
contents: write
pull-requests: write
checks: read
statuses: read

jobs:
auto-merge:
runs-on: ubuntu-latest
if: github.event.pull_request.head.repo.full_name == github.repository || github.event.workflow_run.event == 'pull_request'
steps:
- name: Get PR context
id: ctx
uses: actions/github-script@v8
with:
script: |
const pr = context.payload.pull_request
? context.payload.pull_request
: await (async () => {
// workflow_run path
const run = context.payload.workflow_run
const prData = run.pull_requests && run.pull_requests[0]
if (!prData) return null
const { data } = await github.rest.pulls.get({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: prData.number,
})
return data
})()

if (!pr) {
core.setFailed('No pull_request context available')
return
}

// basic guards
if (pr.draft) {
core.setOutput('status', 'skip-draft')
return
}
if (pr.state !== 'open') {
core.setOutput('status', 'skip-closed')
return
}
if (pr.mergeable_state === 'behind') {
core.setOutput('status', 'skip-behind')
return
}
if (!pr.mergeable_state || pr.mergeable_state === 'unknown') {
core.setOutput('status', 'skip-unknown')
core.info('Mergeable state is unknown, waiting for GitHub to compute it')
return
}
const acceptableStates = ['clean', 'unstable', 'has_hooks']
if (!acceptableStates.includes(pr.mergeable_state)) {
core.setOutput('status', `skip-${pr.mergeable_state}`)
core.info(`Mergeable state '${pr.mergeable_state}' not acceptable for auto-merge`)
return
}

core.setOutput('pr-number', pr.number.toString())
core.setOutput('mergeable_state', pr.mergeable_state || 'unknown')
core.setOutput('status', 'ready')

- name: Enable auto-merge
if: steps.ctx.outputs.status == 'ready' &&
steps.ctx.outputs.mergeable_state != 'behind' &&
steps.ctx.outputs.mergeable_state != 'unknown'
uses: peter-evans/enable-pull-request-automerge@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
pull-request-number: ${{ steps.ctx.outputs.pr-number }}
merge-method: squash
Loading
Loading