Skip to content

Commit e5419d1

Browse files
committed
initial commit
0 parents  commit e5419d1

File tree

492 files changed

+82270
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

492 files changed

+82270
-0
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: Bug Report
16+
description: Report a bug or unexpected behavior
17+
title: "[Bug]: "
18+
labels: ["bug", "needs-triage"]
19+
20+
body:
21+
- type: checkboxes
22+
id: prerequisites
23+
attributes:
24+
label: Prerequisites
25+
options:
26+
- label: I searched existing issues
27+
required: true
28+
- label: I can reproduce this issue
29+
required: true
30+
31+
- type: textarea
32+
id: description
33+
attributes:
34+
label: Bug Description
35+
description: What happened and what did you expect?
36+
validations:
37+
required: true
38+
39+
- type: dropdown
40+
id: component
41+
attributes:
42+
label: Component
43+
options:
44+
- Health Monitor
45+
- Core Service
46+
- Fault Management
47+
- Deployment/Config
48+
- Other
49+
validations:
50+
required: true
51+
52+
- type: textarea
53+
id: reproduction
54+
attributes:
55+
label: Steps to Reproduce
56+
placeholder: |
57+
1. Step one
58+
2. Step two
59+
3. See error
60+
validations:
61+
required: true
62+
63+
- type: textarea
64+
id: environment
65+
attributes:
66+
label: Environment
67+
placeholder: |
68+
- NVSentinel version:
69+
- Kubernetes version:
70+
- Deployment method:
71+
value: |
72+
- NVSentinel version:
73+
- Kubernetes version:
74+
- Deployment method:
75+
validations:
76+
required: true
77+
78+
- type: textarea
79+
id: logs
80+
attributes:
81+
label: Logs/Output
82+
description: Include relevant logs or error messages
83+
placeholder: |
84+
```
85+
# Logs here
86+
```

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
blank_issues_enabled: false
16+
contact_links:
17+
- name: 🔒 Security Issue
18+
url: https://github.com/NVIDIA/NVSentinel/security/advisories/new
19+
about: Report a security vulnerability (private disclosure)
20+
- name: 💬 Discussions
21+
url: https://github.com/NVIDIA/NVSentinel/discussions
22+
about: Ask questions, share ideas, and discuss with the community
23+
- name: 📖 Documentation
24+
url: https://github.com/NVIDIA/NVSentinel/blob/main/README.md
25+
about: Read the documentation and guides
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: Feature Request
16+
description: Suggest a new feature or enhancement
17+
title: "[Feature]: "
18+
labels: ["enhancement", "needs-triage"]
19+
20+
body:
21+
- type: checkboxes
22+
id: prerequisites
23+
attributes:
24+
label: Prerequisites
25+
options:
26+
- label: I searched existing issues
27+
required: true
28+
29+
- type: textarea
30+
id: summary
31+
attributes:
32+
label: Feature Summary
33+
description: Brief description of the feature
34+
validations:
35+
required: true
36+
37+
- type: textarea
38+
id: problem
39+
attributes:
40+
label: Problem/Use Case
41+
description: What problem does this solve?
42+
placeholder: Describe what you're trying to accomplish and current limitations
43+
validations:
44+
required: true
45+
46+
- type: textarea
47+
id: solution
48+
attributes:
49+
label: Proposed Solution
50+
description: How should this feature work?
51+
validations:
52+
required: true
53+
54+
- type: dropdown
55+
id: component
56+
attributes:
57+
label: Component
58+
options:
59+
- Health Monitor
60+
- Core Service
61+
- Fault Management
62+
- Deployment/Config
63+
- API/Interface
64+
- New Component
65+
- Multiple Components
66+
validations:
67+
required: true
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: Question
16+
description: Ask a question about usage, configuration, or troubleshooting
17+
title: "[Question]: "
18+
labels: ["question", "needs-triage"]
19+
20+
body:
21+
- type: checkboxes
22+
id: prerequisites
23+
attributes:
24+
label: Prerequisites
25+
options:
26+
- label: I searched existing issues and docs
27+
required: true
28+
29+
- type: textarea
30+
id: question
31+
attributes:
32+
label: Question
33+
description: What would you like to know?
34+
validations:
35+
required: true
36+
37+
- type: dropdown
38+
id: category
39+
attributes:
40+
label: Category
41+
options:
42+
- Installation/Deployment
43+
- Configuration
44+
- Troubleshooting
45+
- Performance/Monitoring
46+
- Integration
47+
- Best Practices
48+
- Other
49+
validations:
50+
required: true
51+
52+
- type: textarea
53+
id: context
54+
attributes:
55+
label: Context
56+
description: Relevant details about your setup
57+
placeholder: |
58+
- NVSentinel version:
59+
- Kubernetes version:
60+
- What you're trying to accomplish:
61+
validations:
62+
required: false

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
## Summary
2+
3+
<!-- Brief description of your changes -->
4+
5+
## Type of Change
6+
- [ ] 🐛 Bug fix
7+
- [ ] ✨ New feature
8+
- [ ] 💥 Breaking change
9+
- [ ] 📚 Documentation
10+
- [ ] 🔧 Refactoring
11+
- [ ] 🔨 Build/CI
12+
13+
## Component(s) Affected
14+
- [ ] Health Monitors
15+
- [ ] Core Services
16+
- [ ] Fault Management
17+
- [ ] Documentation/CI
18+
- [ ] Other: ____________
19+
20+
## Testing
21+
- [ ] Tests pass locally
22+
- [ ] Manual testing completed
23+
- [ ] No breaking changes (or documented)
24+
25+
## Checklist
26+
- [ ] Self-review completed
27+
- [ ] Documentation updated (if needed)
28+
- [ ] Ready for review
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: 'Build Container'
16+
description: 'Build container for validation without publishing'
17+
18+
inputs:
19+
safe_ref_name:
20+
description: 'Safe reference name for container tags'
21+
required: true
22+
nvcr_container_repo:
23+
description: 'Container registry URL'
24+
required: true
25+
container_org:
26+
description: 'Container organization/namespace'
27+
required: true
28+
make_command:
29+
description: 'Make command to run for building (should use docker-build, not docker-publish)'
30+
required: true
31+
32+
runs:
33+
using: 'composite'
34+
steps:
35+
- name: Set up Docker Buildx
36+
uses: docker/setup-buildx-action@v3
37+
with:
38+
driver-opts: network=host
39+
40+
- name: Cache Docker layers
41+
uses: actions/cache@v4
42+
with:
43+
path: /tmp/.buildx-cache
44+
key: ${{ runner.os }}-buildx-pr-${{ github.event.pull_request.head.sha || github.sha }}
45+
restore-keys: |
46+
${{ runner.os }}-buildx-pr-
47+
${{ runner.os }}-buildx-
48+
49+
- name: Log in to GitHub Container Registry
50+
uses: docker/login-action@v3
51+
with:
52+
registry: ghcr.io
53+
username: ${{ github.actor }}
54+
password: ${{ github.token }}
55+
56+
- name: Build container (validation only)
57+
shell: bash
58+
env:
59+
SAFE_REF_NAME: ${{ inputs.safe_ref_name }}
60+
NVCR_CONTAINER_REPO: ${{ inputs.nvcr_container_repo }}
61+
NGC_ORG: ${{ inputs.container_org }}
62+
PLATFORMS: 'linux/amd64' # Only amd64 for faster PR validation
63+
DOCKER_BUILDKIT: 1
64+
BUILDX_CACHE_FROM: type=local,src=/tmp/.buildx-cache
65+
BUILDX_CACHE_TO: type=local,dest=/tmp/.buildx-cache-new,mode=max
66+
run: |
67+
echo "Building container for validation..."
68+
${{ inputs.make_command }}
69+
70+
# Clean up built images to save space
71+
docker image prune -f
72+
73+
# Move cache to prevent it from growing indefinitely
74+
if [ -d "/tmp/.buildx-cache-new" ]; then
75+
rm -rf /tmp/.buildx-cache
76+
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
77+
fi
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Copyright (c) 2024, NVIDIA CORPORATION. All rights reserved.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: 'Prepare Variables'
16+
description: 'Prepare safe reference names and container variables for CI/CD workflows'
17+
18+
outputs:
19+
safe_ref_name:
20+
description: 'Safe reference name for container tags'
21+
value: ${{ steps.vars.outputs.safe_ref_name }}
22+
nvcr_container_repo:
23+
description: 'Container registry URL'
24+
value: ${{ steps.vars.outputs.nvcr_container_repo }}
25+
container_org:
26+
description: 'Container organization'
27+
value: ${{ steps.vars.outputs.container_org }}
28+
29+
runs:
30+
using: 'composite'
31+
steps:
32+
- name: Prepare variables
33+
id: vars
34+
shell: bash
35+
run: |
36+
SAFE_REF_NAME=$(echo "${{ github.ref_name }}" | sed 's/\//-/g')
37+
if [[ ! "${{ github.ref }}" =~ ^refs/tags/.* ]]; then
38+
SAFE_REF_NAME="0.0.0-$SAFE_REF_NAME"
39+
fi
40+
echo "safe_ref_name=$SAFE_REF_NAME" >> $GITHUB_OUTPUT
41+
echo "nvcr_container_repo=${{ env.CONTAINER_REGISTRY || 'ghcr.io' }}" >> $GITHUB_OUTPUT
42+
echo "container_org=$(echo '${{ env.CONTAINER_ORG || github.repository_owner }}' | tr '[:upper:]' '[:lower:]')" >> $GITHUB_OUTPUT

0 commit comments

Comments
 (0)