diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 0000000..b680b66
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,53 @@
+name: 🐞 Bug report
+description: File a report to help us improve Cryostat.
+title: '[Bug]
'
+labels: [bug, needs-triage]
+
+body:
+ - type: textarea
+ attributes:
+ label: Current Behavior
+ description: A concise description of what you're experiencing.
+ placeholder: Tell us what you see!
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Expected Behavior
+ description: A concise description of what you expected to happen.
+ placeholder: Tell us what you expected to see!
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Steps To Reproduce
+ description: Steps to reproduce the behavior.
+ placeholder: |
+ 1. In this environment...
+ 2. With this config...
+ 3. Run '...'
+ 4. See error...
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Environment
+ description: |
+ examples:
+ - **OS**: Ubuntu 20.04
+ - **Environment**: OpenShift 4.11
+ - **Version**: Cryostat 2.2.0
+ value: |
+ - OS:
+ - Environment:
+ - Version:
+ render: Markdown
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: Anything else?
+ description: |
+ Screenshots? Links? References? Anything that will give us more context about the issue you are encountering!
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..c7c2844
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,5 @@
+blank_issues_enabled: enabled
+contact_links:
+ - name: Cryostat Community Support
+ url: https://github.com/cryostatio/cryostat/discussions
+ about: Ask general questions about Cryostat here!
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 0000000..c226da6
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,18 @@
+name: ✨ Feature request
+description: Improve an existing feature or add a new one.
+title: '[Request] '
+labels: [feat, needs-triage]
+
+body:
+ - type: textarea
+ attributes:
+ label: Describe the feature
+ description: A clear and concise description of what the feature is.
+ placeholder: A nice feature that I'd like to suggest...
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Anything other information?
+ validations:
+ required: false
diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml
new file mode 100644
index 0000000..8b3109f
--- /dev/null
+++ b/.github/release-drafter.yml
@@ -0,0 +1,62 @@
+name-template: 'v$RESOLVED_VERSION'
+tag-template: 'v$RESOLVED_VERSION'
+
+template: |
+ # What's Changed
+
+ $CHANGES
+
+ **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
+
+categories:
+ - title: '🚀 Features'
+ collapse-after: 5
+ label: 'feat'
+ - title: '🔧 Fixes'
+ collapse-after: 5
+ label: 'fix'
+ - title: '📄 Documentation'
+ collapse-after: 5
+ label: 'docs'
+ - title: '⚙️ Maintenance'
+ collapse-after: 5
+ labels:
+ - 'chore'
+ - 'ci'
+ - 'cleanup'
+ - 'perf'
+ - 'refactor'
+ - 'style'
+ - 'test'
+
+autolabeler:
+ - label: 'feat'
+ title:
+ - '/^feat:/'
+ - label: 'fix'
+ title:
+ - '/^fix:/'
+ - label: 'docs'
+ title:
+ - '/^docs:/'
+ - label: 'chore'
+ title:
+ - '/^chore:/'
+ - label: 'ci'
+ title:
+ - '/^ci:/'
+ - label: 'cleanup'
+ title:
+ - '/^cleanup:/'
+ - label: 'perf'
+ title:
+ - '/^perf:/'
+ - label: 'refactor'
+ title:
+ - '/^refactor:/'
+ - label: 'style'
+ title:
+ - '/^style:/'
+ - label: 'test'
+ title:
+ - '/^test:/'
diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml
new file mode 100644
index 0000000..5abf152
--- /dev/null
+++ b/.github/workflows/release-drafter.yml
@@ -0,0 +1,23 @@
+name: Release Drafter
+
+on:
+ push:
+ # branches to consider in the event; optional, defaults to all
+ branches:
+ - main
+ # pull_request event is required only for autolabeler
+ pull_request:
+ # Only following types are handled by the action, but one can default to all as well
+ types:
+ - opened
+ - reopened
+ - synchronize
+
+jobs:
+ update_release_draft:
+ runs-on: ubuntu-latest
+ steps:
+ # Drafts your next Release notes as Pull Requests are merged into "main"
+ - uses: release-drafter/release-drafter@v5
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}