diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 00000000..796aa856 Binary files /dev/null and b/.DS_Store differ diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..bf1dfaba --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,13 @@ +## Goal + + +## Changes + + +## Testing + + +## Checklist +- [ ] Clear, descriptive PR title +- [ ] Documentation updated +- [ ] No secrets or large temporary files committed diff --git a/labs/.DS_Store b/labs/.DS_Store new file mode 100644 index 00000000..c401e5d8 Binary files /dev/null and b/labs/.DS_Store differ diff --git a/labs/images/.DS_Store b/labs/images/.DS_Store new file mode 100644 index 00000000..dadadd3c Binary files /dev/null and b/labs/images/.DS_Store differ diff --git a/labs/images/ssh_config.png b/labs/images/ssh_config.png new file mode 100644 index 00000000..8d7867ff Binary files /dev/null and b/labs/images/ssh_config.png differ diff --git a/labs/images/template.png b/labs/images/template.png new file mode 100644 index 00000000..0619ea53 Binary files /dev/null and b/labs/images/template.png differ diff --git a/labs/images/verified.png b/labs/images/verified.png new file mode 100644 index 00000000..fddcf6c3 Binary files /dev/null and b/labs/images/verified.png differ diff --git a/labs/submission1.md b/labs/submission1.md new file mode 100644 index 00000000..1f3f5b23 --- /dev/null +++ b/labs/submission1.md @@ -0,0 +1,43 @@ +# Lab 1 Submission — Introduction to DevOps & Git Workflow + +## Goal +The goal of this lab is to learn the basic Git workflow (fork → branch → PR) and practice secure commit practices by setting up SSH commit signature verification and standardizing collaboration with a PR template. + +--- + +## Task 1: SSH Commit Signature Verification + +### 1.1 Importance of Signed Commits +**Why is commit signing important in DevOps workflows?** +Commit signing is crucial for security and trust in a DevOps environment. It allows verification that the code was actually written by the person claimed in the commit author field. This prevents "identity spoofing," where a malicious actor could push bad code pretending to be a trusted developer. It ensures the integrity and authenticity of the codebase. + +### 1.2 Evidence of Setup +Below is the configuration showing that Git is set up to use my SSH key for signing. + +![SSH Config Setup](images/ssh_config.png) + +### 1.3 Signed Commit Verification +I have successfully set up SSH signing. Below is the proof that my commits are marked as "Verified" on GitHub. + +![Verified Badge](images/verified.png) + +--- + +## Task 2: PR Template & Checklist + +### 2.1 PR Template Setup +I created a `.github/pull_request_template.md` file in the `main` branch to standardize all future pull requests. + +### 2.2 Template in Action +When I opened a Pull Request from `feature/lab1`, the description field was automatically populated with the template structure. + +![PR Template Autofill](images/template.png) + +### 2.3 Analysis +**How do PR templates improve collaboration?** +PR templates ensure consistency across the team. They force every developer to answer key questions (What is the goal? How was it tested?) before asking for a review. This saves time for reviewers because they don't have to guess the context, and the checklist reminds developers of critical steps (like checking for secrets) that might otherwise be forgotten. + +--- + +## Conclusion +I have successfully configured SSH signing and set up a PR template, fulfilling the requirements for a secure and standardized Git workflow.