diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..f5b9c05 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,105 @@ +name: "πŸ› Helm Chart Bug Report" +description: "Submit a bug report for the Helm chart to help us improve" +title: "πŸ› Helm Chart Bug: " +labels: ["type: bug", "component: helm-chart"] +body: + - type: markdown + attributes: + value: We appreciate your time and effort in submitting this bug report for our Helm chart. πŸ™ + - type: textarea + id: description + validations: + required: true + attributes: + label: "πŸ“œ Description" + description: "A clear and concise description of what the bug is." + placeholder: "The Helm chart fails to deploy when ..." + - type: textarea + id: steps-to-reproduce + validations: + required: true + attributes: + label: "πŸ‘Ÿ Reproduction steps" + description: "How do you trigger this bug? Please walk us through it step by step." + placeholder: "1. Set the following values in values.yaml: ... + 2. Run 'helm install ...' + 3. Observe the error in ..." + - type: textarea + id: expected-behavior + validations: + required: true + attributes: + label: "πŸ‘ Expected behavior" + description: "What did you expect to happen?" + placeholder: "The Helm chart should successfully deploy and ..." + - type: textarea + id: actual-behavior + validations: + required: true + attributes: + label: "πŸ‘Ž Actual Behavior" + description: "What actually happened? Please include any error messages or logs." + placeholder: "The Helm chart failed to deploy with the following error: ..." + - type: input + id: kubernetes-version + validations: + required: true + attributes: + label: "☸️ Kubernetes Version" + description: "What version of Kubernetes are you using?" + placeholder: "v1.22.0" + - type: input + id: helm-version + validations: + required: true + attributes: + label: "⎈ Helm Version" + description: "What version of Helm are you using?" + placeholder: "v3.7.0" + - type: input + id: chart-version + validations: + required: true + attributes: + label: "πŸ“Š Chart Version" + description: "What version of our Helm chart are you using?" + placeholder: "1.0.0" + - type: dropdown + id: cloud-provider + attributes: + label: "☁️ Cloud Provider" + description: "Which cloud provider or platform are you using?" + options: + - AWS + - Google Cloud + - Azure + - DigitalOcean + - On-premises + - Other + validations: + required: true + - type: textarea + id: custom-values + attributes: + label: "πŸ› οΈ Custom Values" + description: "If applicable, provide the custom values you're using (remember to remove any sensitive information)" + render: yaml + - type: textarea + id: additional-context + attributes: + label: "πŸ“ƒ Additional Context" + description: "Add any other context about the problem here." + - type: checkboxes + id: no-duplicate-issues + attributes: + label: "πŸ‘€ Have you checked if this bug has been reported before?" + options: + - label: "I have searched existing issues and didn't find a similar bug report" + required: true + - type: dropdown + attributes: + label: Are you willing to submit a PR? + description: This is not required, but we're happy to guide you through the process. Join our community for support! + options: + - "Yes, I'm willing to submit a PR!" + - "No, not at this time" \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..8e59cf0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,77 @@ +name: πŸš€ Helm Chart Feature Request +description: "Submit a proposal for a new feature in the Helm chart" +title: "πŸš€ Helm Chart Feature: " +labels: [feature, component: helm-chart] +body: + - type: markdown + attributes: + value: | + We appreciate your time and effort in submitting this Feature request for our Helm chart. πŸ™ + - type: textarea + id: feature-description + validations: + required: true + attributes: + label: "πŸ”– Feature description" + description: "A clear and concise description of the feature you're proposing for the Helm chart." + placeholder: "The Helm chart should support ..." + - type: textarea + id: use-case + validations: + required: true + attributes: + label: "🎯 Use Case" + description: "Please describe the use case for this feature. How would it benefit users of the Helm chart?" + placeholder: "This feature would allow users to ..." + - type: textarea + id: proposed-implementation + validations: + required: true + attributes: + label: "✨ Proposed Implementation" + description: "If you have ideas on how this feature could be implemented in the Helm chart, please share them here." + placeholder: "This could be implemented by adding the following to the values.yaml: ..." + - type: textarea + id: alternatives-considered + validations: + required: false + attributes: + label: "πŸ”„ Alternatives Considered" + description: "Have you considered any alternative solutions or workarounds? If so, please describe them here." + placeholder: "I've considered using ... but it doesn't fully address the need because ..." + - type: textarea + id: additional-context + validations: + required: false + attributes: + label: "πŸ“˜ Additional Context" + description: "Any other context, screenshots, or examples that might help illustrate the feature request." + - type: input + id: helm-version + attributes: + label: "⎈ Helm Version" + description: "What version of Helm are you using? This helps us understand compatibility considerations." + placeholder: "v3.7.0" + - type: input + id: chart-version + attributes: + label: "πŸ“Š Current Chart Version" + description: "What version of our Helm chart are you currently using?" + placeholder: "1.0.0" + - type: checkboxes + id: no-duplicate-issues + attributes: + label: "πŸ‘€ Have you checked if this feature has been requested before?" + options: + - label: "I have searched existing issues and didn't find a similar feature request" + required: true + - type: dropdown + id: willing-to-submit-pr + attributes: + label: "🀝 Contribution" + description: "Would you be willing to submit a PR for this feature? (This is not required, but we're happy to guide you through the process!)" + options: + - "Yes, I'd be willing to submit a PR!" + - "No, not at this time" + validations: + required: true \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..c976b19 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,63 @@ +# Pull Request Template for Helm Chart + +## Description + +Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change. + +Fixes # (issue) + +## Type of change + +Please delete options that are not relevant. + +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] This change requires a documentation update + +## How Has This Been Tested? + +Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration. + +- [ ] Test A +- [ ] Test B + +**Test Configuration**: +* Kubernetes version: +* Helm version: +* Minikube/kind version (if applicable): + +## Checklist: + +- [ ] My code follows the style guidelines of this project +- [ ] I have performed a self-review of my own code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have made corresponding changes to the documentation +- [ ] My changes generate no new warnings +- [ ] I have added tests that prove my fix is effective or that my feature works +- [ ] New and existing unit tests pass locally with my changes +- [ ] Any dependent changes have been merged and published in downstream modules +- [ ] I have checked my code and corrected any misspellings + +## Additional Information + +- **Does this change introduce any new Kubernetes resource types?** (Yes/No) + If yes, please list them: + +- **Does this change modify any existing Kubernetes resource types?** (Yes/No) + If yes, please describe the modifications: + +- **Are there any changes to the values.yaml file?** (Yes/No) + If yes, please describe the changes and their purpose: + +- **Does this change require any specific Kubernetes permissions or RBAC changes?** (Yes/No) + If yes, please describe the required permissions: + +- **Are there any changes to chart dependencies?** (Yes/No) + If yes, please list the changes: + +- **Have you updated the CHANGELOG.md file?** (Yes/No) + +## Additional context + +Add any other context or screenshots about the pull request here. \ No newline at end of file diff --git a/.github/assets/gitroom-darkmode-logo.png b/.github/assets/gitroom-darkmode-logo.png new file mode 100644 index 0000000..52ed5da Binary files /dev/null and b/.github/assets/gitroom-darkmode-logo.png differ diff --git a/.github/assets/gitroom-lightmode-logo.png b/.github/assets/gitroom-lightmode-logo.png new file mode 100644 index 0000000..041e2a8 Binary files /dev/null and b/.github/assets/gitroom-lightmode-logo.png differ diff --git a/.github/assets/gitroom-main-youtube.png b/.github/assets/gitroom-main-youtube.png new file mode 100644 index 0000000..fd63cd9 Binary files /dev/null and b/.github/assets/gitroom-main-youtube.png differ diff --git a/.github/assets/screen-002.png b/.github/assets/screen-002.png new file mode 100644 index 0000000..6680189 Binary files /dev/null and b/.github/assets/screen-002.png differ diff --git a/.github/assets/screen-003.png b/.github/assets/screen-003.png new file mode 100644 index 0000000..7c50b25 Binary files /dev/null and b/.github/assets/screen-003.png differ diff --git a/.github/assets/screen-004.png b/.github/assets/screen-004.png new file mode 100644 index 0000000..a08bcfa Binary files /dev/null and b/.github/assets/screen-004.png differ diff --git a/.github/workflows/helm-chart-ci-cd.yml b/.github/workflows/helm-chart-ci-cd.yml new file mode 100644 index 0000000..ce767ba --- /dev/null +++ b/.github/workflows/helm-chart-ci-cd.yml @@ -0,0 +1,102 @@ +name: Helm Chart CI/CD + +on: + push: + branches: [ main ] + paths: + - 'charts/**' + - '.github/workflows/helm-chart-ci-cd.yml' + pull_request: + branches: [ main ] + paths: + - 'charts/**' + - '.github/workflows/helm-chart-ci-cd.yml' + release: + types: [created] + +env: + CHART_NAME: postiz + CHART_PATH: ./charts/postiz + +jobs: + lint-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Helm + uses: azure/setup-helm@v3 + with: + version: v3.11.1 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: 3.7 + + - name: Set up chart-testing + uses: helm/chart-testing-action@v2.3.1 + + - name: Run chart-testing (list-changed) + id: list-changed + run: | + changed=$(ct list-changed --config ct.yaml) + if [[ -n "$changed" ]]; then + echo "changed=true" >> $GITHUB_OUTPUT + fi + + - name: Run chart-testing (lint) + run: ct lint --config ct.yaml + + - name: Create kind cluster + uses: helm/kind-action@v1.5.0 + if: steps.list-changed.outputs.changed == 'true' + + - name: Run chart-testing (install) + run: ct install --config ct.yaml + + publish: + needs: lint-test + runs-on: ubuntu-latest + if: github.event_name == 'release' + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Helm + uses: azure/setup-helm@v3 + with: + version: v3.11.1 + + - name: Add dependency repositories + run: | + helm repo add bitnami https://charts.bitnami.com/bitnami + + - name: Update dependencies + run: | + helm dependency update ${{ env.CHART_PATH }} + + - name: Package Helm chart + run: | + helm package ${{ env.CHART_PATH }} + + - name: Run chart-releaser + uses: helm/chart-releaser-action@v1.5.0 + env: + CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + with: + charts_dir: charts + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Push Helm chart to GitHub Packages + run: | + helm push ${{ env.CHART_NAME }}*.tgz oci://ghcr.io/${{ github.repository }}/charts \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e43b0f9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store