Skip to content

Commit 09a7428

Browse files
authored
Initial commit
0 parents  commit 09a7428

19 files changed

+818
-0
lines changed

.github/CODEOWNERS

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#####################
2+
# Main global owner #
3+
#####################
4+
5+
*

.github/ISSUE_TEMPLATE/bug_report.yml

+62
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
---
2+
name: 🐛 Bug report
3+
description: Create a report to help us improve
4+
labels: bug
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to fill out this bug report!
10+
11+
Before you continue filling out this report, please take a moment to check that your bug has not been [already reported on GitHub][issue search] 🙌
12+
13+
Remember to redact any sensitive information such as authentication credentials and/or license keys!
14+
15+
[issue search]: ../search?q=is%3Aissue&type=issues
16+
17+
- type: textarea
18+
id: overview
19+
attributes:
20+
label: Bug Overview
21+
description: A clear and concise overview of the bug.
22+
placeholder: When I do "X", "Y" happens instead of "Z".
23+
validations:
24+
required: true
25+
26+
- type: textarea
27+
id: behavior
28+
attributes:
29+
label: Expected Behavior
30+
description: A clear and concise description of what you expected to happen.
31+
placeholder: When I do "X", I expect "Z" to happen.
32+
validations:
33+
required: true
34+
35+
- type: textarea
36+
id: steps
37+
attributes:
38+
label: Steps to Reproduce the Bug
39+
description: Detail the series of steps required to reproduce the bug.
40+
placeholder: When I run "X" using [...], "X" fails with "Y" error message. If I check the terminal outputs and/or logs, I see the following info.
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: environment
46+
attributes:
47+
label: Environment Details
48+
description: Please provide details about your environment.
49+
value: |
50+
- Target deployment platform: [e.g. AWS/GCP/local cluster/etc...]
51+
- Target OS: [e.g. RHEL 9/Ubuntu 24.04/etc...]
52+
- Version of this project or specific commit: [e.g. 1.4.3/commit hash]
53+
- Version of any relevant project languages: [e.g. Kubernetes 1.30/Python 3.9.7/etc...]
54+
validations:
55+
required: true
56+
57+
- type: textarea
58+
id: context
59+
attributes:
60+
label: Additional Context
61+
description: Add any other context about the problem here.
62+
placeholder: Feel free to add any other context/information/screenshots/etc... that you think might be relevant to this issue in here.

.github/ISSUE_TEMPLATE/config.yml

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
blank_issues_enabled: false
3+
contact_links:
4+
- name: 💬 Talk to the NGINX community!
5+
url: https://community.nginx.org
6+
about: A community forum for NGINX users, developers, and contributors
7+
- name: 📝 Code of Conduct
8+
url: https://www.contributor-covenant.org/version/2/1/code_of_conduct
9+
about: NGINX follows the Contributor Covenant Code of Conduct to ensure a safe and inclusive community
10+
- name: 💼 For commercial & enterprise users
11+
url: https://www.f5.com/products/nginx
12+
about: F5 offers a wide range of NGINX products for commercial & enterprise users
+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
name: ✨ Feature request
3+
description: Suggest an idea for this project
4+
labels: enhancement
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to fill out this feature request!
10+
11+
Before you continue filling out this request, please take a moment to check that your feature has not been [already requested on GitHub][issue search] 🙌
12+
13+
**Note:** If you are seeking community support or have a question, please consider starting a new thread via [GitHub discussions][discussions] or the [NGINX Community forum][forum].
14+
15+
[issue search]: ../search?q=is%3Aissue&type=issues
16+
17+
[discussions]: ../discussions
18+
[forum]: https://community.nginx.org
19+
20+
- type: textarea
21+
id: overview
22+
attributes:
23+
label: Feature Overview
24+
description: A clear and concise description of what the feature request is.
25+
placeholder: I would like this project to be able to do "X".
26+
validations:
27+
required: true
28+
29+
- type: textarea
30+
id: alternatives
31+
attributes:
32+
label: Alternatives Considered
33+
description: Detail any potential alternative solutions/workarounds you've used or considered.
34+
placeholder: I have done/might be able to do "X" in the by doing "Y".
35+
36+
- type: textarea
37+
id: context
38+
attributes:
39+
label: Additional Context
40+
description: Add any other context about the problem here.
41+
placeholder: Feel free to add any other context/information/screenshots/etc... that you think might be relevant to this feature request here.

.github/dependabot.yml

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
version: 2
3+
updates:
4+
- package-ecosystem: github-actions
5+
directory: /
6+
schedule:
7+
interval: weekly
8+
day: monday
9+
time: "00:00"

.github/pull_request_template.md

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
### Proposed changes
2+
3+
Describe the use case and detail of the change. If this PR addresses an issue on GitHub, make sure to include a link to that issue using one of the [supported keywords](https://docs.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue) in this PR's description or commit message.
4+
5+
### Checklist
6+
7+
Before creating a PR, run through this checklist and mark each as complete:
8+
9+
- [ ] I have read the [contributing guidelines](/CONTRIBUTING.md).
10+
- [ ] I have signed the [F5 Contributor License Agreement (CLA)](https://github.com/f5/.github/blob/main/CLA/cla-markdown.md).
11+
- [ ] If applicable, I have added tests that prove my fix is effective or that my feature works.
12+
- [ ] If applicable, I have checked that any relevant tests pass after adding my changes.
13+
- [ ] I have updated any relevant documentation ([`README.md`](/README.md) and/or [`CHANGELOG.md`](/CHANGELOG.md)).

.github/scorecard.yml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
annotations:
3+
- checks:
4+
- contributors
5+
- fuzzing
6+
- packaging
7+
- sast
8+
- signed-releases
9+
reasons:
10+
- reason: not-applicable

.github/workflows/f5_cla.yml

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
name: F5 CLA
3+
on:
4+
issue_comment:
5+
types: [created]
6+
pull_request_target:
7+
types: [opened, closed, synchronize]
8+
permissions: read-all
9+
jobs:
10+
f5-cla:
11+
name: F5 CLA
12+
runs-on: ubuntu-24.04
13+
permissions:
14+
actions: write
15+
pull-requests: write
16+
statuses: write
17+
steps:
18+
- name: Run F5 Contributor License Agreement (CLA) assistant
19+
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have hereby read the F5 CLA and agree to its terms') || github.event_name == 'pull_request_target'
20+
uses: contributor-assistant/github-action@ca4a40a7d1004f18d9960b404b97e5f30a505a08 # v2.6.1
21+
with:
22+
# Any pull request targeting the following branch will trigger a CLA check.
23+
# NOTE: You might need to edit this value to 'main'.
24+
branch: main
25+
# Path to the CLA document.
26+
path-to-document: https://github.com/f5/f5-cla/.github/blob/main/docs/f5_cla.md
27+
# Custom CLA messages.
28+
custom-notsigned-prcomment: '🎉 Thank you for your contribution! It appears you have not yet signed the [F5 Contributor License Agreement (CLA)](https://github.com/f5/f5-cla/.github/blob/main/docs/f5_cla.md), which is required for your changes to be incorporated into an F5 Open Source Software (OSS) project. Please kindly read the [F5 CLA](https://github.com/f5/f5-cla/.github/blob/main/docs/f5_cla.md) and reply on a new comment with the following text to agree:'
29+
custom-pr-sign-comment: 'I have hereby read the F5 CLA and agree to its terms'
30+
custom-allsigned-prcomment: '✅ All required contributors have signed the F5 CLA for this PR. Thank you!'
31+
# Remote repository storing CLA signatures.
32+
remote-organization-name: f5
33+
remote-repository-name: f5-cla-data
34+
path-to-signatures: signatures/signatures.json
35+
# Comma separated list of usernames for maintainers or any other individuals who should not be prompted for a CLA.
36+
# NOTE: You will want to edit the usernames to suit your project needs.
37+
allowlist: bot*
38+
# Do not lock PRs after a merge.
39+
lock-pullrequest-aftermerge: false
40+
env:
41+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42+
PERSONAL_ACCESS_TOKEN: ${{ secrets.F5_CLA_TOKEN }}

.github/workflows/ossf_scorecard.yml

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
---
2+
# This workflow uses actions that are not certified by GitHub. They are provided by a third-party and are governed by separate terms of service, privacy policy, and support documentation.
3+
name: OSSF Scorecard
4+
on:
5+
# For Branch-Protection check. Only the default branch is supported. See https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection.
6+
branch_protection_rule:
7+
# To guarantee Maintained check is occasionally updated. See https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained.
8+
schedule:
9+
- cron: "0 0 * * 1"
10+
push:
11+
branches: [main, master]
12+
workflow_dispatch:
13+
# Declare default permissions as read only.
14+
permissions: read-all
15+
jobs:
16+
analysis:
17+
name: Scorecard analysis
18+
runs-on: ubuntu-24.04
19+
# Delete the conditional below if you are using the OSSF Scorecard on a private repository.
20+
if: ${{ github.event.repository.private == false }}
21+
permissions:
22+
# Needed if using Code Scanning alerts.
23+
security-events: write
24+
# Needed for GitHub OIDC token if publish_results is true.
25+
id-token: write
26+
# Uncomment the permissions below if you are using the OSSF Scorecard on a private repository.
27+
# contents: read
28+
# actions: read
29+
# issues: read # To allow GraphQL ListCommits to work
30+
# pull-requests: read # To allow GraphQL ListCommits to work
31+
# checks: read # To detect SAST tools
32+
steps:
33+
- name: Check out the codebase
34+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
35+
with:
36+
persist-credentials: false
37+
38+
- name: Run analysis
39+
uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
40+
with:
41+
results_file: results.sarif
42+
results_format: sarif
43+
# (Optional) fine-grained personal access token. Uncomment the `repo_token` line below if you want to enable the Branch-Protection or Webhooks check on a *private* repository.
44+
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-fine-grained-pat-optional.
45+
# repo_token: ${{ secrets.SCORECARD_TOKEN }}
46+
47+
# Publish the results for public repositories to enable scorecard badges. For more details, see https://github.com/ossf/scorecard-action#publishing-results.
48+
# For private repositories, `publish_results` will automatically be set to `false`, regardless of the value entered here.
49+
publish_results: true
50+
51+
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF format to the repository Actions tab.
52+
- name: Upload artifact
53+
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
54+
with:
55+
name: SARIF file
56+
path: results.sarif
57+
retention-days: 5
58+
59+
# Upload the results to GitHub's code scanning dashboard.
60+
- name: Upload SARIF results to code scanning
61+
uses: github/codeql-action/upload-sarif@dd746615b3b9d728a6a37ca2045b68ca76d4841a # v3.28.8
62+
with:
63+
sarif_file: results.sarif

.github/workflows/rename_template.yml

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: Rename the template
3+
on:
4+
push:
5+
permissions: read-all
6+
jobs:
7+
rename-template:
8+
name: Replace the templated variables in the repository with the newly created repository details
9+
if: ${{ !contains(github.repository, 'template') }}
10+
runs-on: ubuntu-24.04
11+
permissions:
12+
contents: write
13+
steps:
14+
- name: Check out the codebase
15+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
16+
17+
- name: Set $REPOSITORY_NAME
18+
run: echo "REPOSITORY_NAME=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}' | tr '-' '_' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
19+
shell: bash
20+
21+
- name: Set $REPOSITORY_URL
22+
run: echo "REPOSITORY_URL=$(echo '${{ github.repository }}' | awk -F '/' '{print $2}')" >> $GITHUB_ENV
23+
shell: bash
24+
25+
- name: Set $REPOSITORY_OWNER
26+
run: echo "REPOSITORY_OWNER=$(echo '${{ github.repository }}' | awk -F '/' '{print $1}')" >> $GITHUB_ENV
27+
shell: bash
28+
29+
- name: Rename the project
30+
run: |
31+
echo "Renaming the project with -a(author) ${{ env.REPOSITORY_OWNER }} -n(name) ${{ env.REPOSITORY_NAME }} -u(urlname) ${{ env.REPOSITORY_URL }}"
32+
.github/workflows/scripts/rename_project.sh -a ${{ env.REPOSITORY_OWNER }} -n ${{ env.REPOSITORY_NAME }} -u ${{ env.REPOSITORY_URL }}
33+
34+
- name: Commit and push changes
35+
uses: stefanzweifel/git-auto-commit-action@e348103e9026cc0eee72ae06630dbe30c8bf7a79 # v5.1.0
36+
with:
37+
commit_message: "✅ Ready to clone and code."
38+
push_options: --force
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#!/usr/bin/env bash
2+
# vim:sw=2:ts=2:sts=2:et
3+
while getopts a:n:u: flag
4+
do
5+
case "${flag}" in
6+
a) owner=${OPTARG};;
7+
n) name=${OPTARG};;
8+
u) url=${OPTARG};;
9+
*) echo "Invalid flag: ${flag}"; exit 1;;
10+
esac
11+
done
12+
13+
echo "Owner: $owner";
14+
echo "Repository Name: $name";
15+
echo "Repository URL: $url";
16+
17+
echo "Renaming repository..."
18+
19+
original_owner="{{REPOSITORY_OWNER}}"
20+
original_name="{{REPOSITORY_NAME}}"
21+
original_url="{{REPOSITORY_URL}}"
22+
for filename in $(git ls-files)
23+
do
24+
sed -i "s/$original_owner/$owner/g" "$filename"
25+
sed -i "s/$original_name/$name/g" "$filename"
26+
sed -i "s/$original_url/$url/g" "$filename"
27+
echo "Renamed $filename"
28+
done
29+
30+
# These commands run only once on GitHub Actions!
31+
echo "Removing template specific data..."
32+
# Remove OSSF attestations and F5 specific GitHub Actions workflows
33+
rm -f .github/scorecard.yml
34+
if [[ "$GITHUB_REPOSITORY_OWNER" != "devcentral" && "$GITHUB_REPOSITORY_OWNER" != "f5" && "$GITHUB_REPOSITORY_OWNER" != "f5networks" && "$GITHUB_REPOSITORY_OWNER" != "nginx" && "$GITHUB_REPOSITORY_OWNER" != "nginxinc" ]]; then
35+
rm -f .github/workflows/f5_cla.yml
36+
fi
37+
# Remove the template instructions from the README and the template's CHANGELOG
38+
sed -i '1,/^---$/d;1,/^$/d' README.md
39+
sed -i '1,/^---$/d;1,/^$/d' CHANGELOG.md
40+
# Remove this script and the GitHub Action workflow using this script
41+
rm -f .github/workflows/rename_template.yml
42+
rm -rf .github/workflows/scripts

.gitignore

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
########################
2+
# Any crt/keys/license #
3+
########################
4+
*.crt
5+
*.key
6+
*~
7+
\#*
8+
9+
##########################
10+
# Backup/temporary files #
11+
##########################
12+
*~
13+
\#*
14+
15+
##################
16+
# MacOS specific #
17+
##################
18+
Thumbs.db
19+
.DS_Store
20+
21+
########################
22+
# Code editor specific #
23+
########################
24+
.idea
25+
.vscode
26+
27+
########
28+
# Logs #
29+
########
30+
*.log

CHANGELOG.md

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Changelog
2+
3+
## 1.0.0 (Month Date, Year)
4+
5+
Initial release of the NGINX template repository.
6+
7+
---
8+
9+
# Changelog
10+
11+
## 1.0.0 (Month Date, Year)
12+
13+
Initial release of this project.

0 commit comments

Comments
 (0)