Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
3b06b2f
docs: add PR template
RailSAB Sep 1, 2025
b4edc5c
docs: add commit signing summary
RailSAB Sep 1, 2025
8c1c451
Merge branch 'inno-devops-labs:main' into main
RailSAB Sep 8, 2025
b2734de
Task1: First commit
RailSAB Sep 8, 2025
697e504
Task1: Second commit
RailSAB Sep 8, 2025
1762ae3
Task1: Third commit
RailSAB Sep 8, 2025
ba1ccb5
Task5: Add demo.txt
RailSAB Sep 9, 2025
d170d4c
Task5: Update demo.txt
RailSAB Sep 9, 2025
027aef4
docs: add lab2 submission
RailSAB Sep 9, 2025
26e3e9b
Merge branch 'inno-devops-labs:main' into main
RailSAB Sep 20, 2025
b6b118d
task1 workflow trigger
RailSAB Sep 21, 2025
ed12eaa
task2 mannual trigger
RailSAB Sep 21, 2025
7b95f24
task2 mannual wf trigger
RailSAB Sep 21, 2025
20cf276
Merge pull request #3 from RailSAB/feature/lab3
RailSAB Sep 21, 2025
da8ebdb
docs: add lab3 submission
RailSAB Sep 21, 2025
ee27608
Merge branch 'inno-devops-labs:main' into main
RailSAB Sep 22, 2025
89c2ba2
docs: add lab4 submission
RailSAB Sep 22, 2025
8f6efa8
Merge branch 'inno-devops-labs:main' into main
RailSAB Sep 30, 2025
093e956
docs: add lab5 submission
RailSAB Sep 30, 2025
c83f870
Merge pull request #1 from RailSAB/feature/lab1
RailSAB Oct 7, 2025
fadf4a3
Merge pull request #2 from RailSAB/feature/lab2
RailSAB Oct 7, 2025
16f3d97
Merge pull request #4 from RailSAB/feature/lab3
RailSAB Oct 7, 2025
059e396
fix: submission1 to labs dir
RailSAB Oct 7, 2025
fed3efa
resolving conflicts
RailSAB Oct 7, 2025
fe3cb55
Merge pull request #5 from RailSAB/feature/lab4
RailSAB Oct 7, 2025
ccf7a7d
Merge pull request #6 from RailSAB/feature/lab5
RailSAB Oct 7, 2025
847a736
fix: repo cleaning
RailSAB Oct 7, 2025
372dc94
Merge branch 'inno-devops-labs:main' into main
RailSAB Oct 7, 2025
4aebfb9
feat: Lab 6 Task 1
RailSAB Oct 7, 2025
e50ab2e
feat: Lab 6 Task 2
RailSAB Oct 7, 2025
97f18a9
feat: Lab 6 Task 3
RailSAB Oct 7, 2025
18b8e99
docs: add lab6 submission
RailSAB Oct 7, 2025
f3194fc
Merge pull request #7 from RailSAB/feature/lab6
RailSAB Oct 13, 2025
443be10
doc: repo cleaning
RailSAB Oct 13, 2025
84ffab7
Merge branch 'inno-devops-labs:main' into main
RailSAB Oct 18, 2025
00107d5
docs: add lab7 submission
RailSAB Oct 18, 2025
400d059
Merge pull request #8 from RailSAB/feature/lab7
RailSAB Oct 22, 2025
14af353
docs: add lab8 submission
RailSAB Oct 25, 2025
8771e1a
Merge pull request #9 from RailSAB/feature/lab8
RailSAB Oct 27, 2025
ad52859
docs: add lab9 submission
RailSAB Oct 27, 2025
11b3b12
Merge pull request #10 from RailSAB/feature/lab9
RailSAB Nov 3, 2025
c0a56bc
Merge branch 'inno-devops-labs:main' into main
RailSAB Nov 3, 2025
98e2461
repo clean
RailSAB Nov 3, 2025
9a1c8c8
docs: add lab10 submission
RailSAB Nov 11, 2025
200e35c
Merge pull request #11 from RailSAB/feature/lab10
RailSAB Nov 16, 2025
8e3a146
docs: add lab11 submission
RailSAB Nov 16, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added .DS_Store
Binary file not shown.
21 changes: 21 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Pull Request

## Goal
<!-- Briefly describe what this PR aims to accomplish -->


## Changes
<!-- List the main changes made in this PR -->

-
-

## Testing
<!-- Describe how you tested these changes -->


## Checklist

- [ ] PR has a clear and descriptive title
- [ ] Documentation/README updated if needed
- [ ] No secrets or large temporary files included
49 changes: 49 additions & 0 deletions .github/workflows/github-actions-demo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: GitHub Actions Demo
run-name: ${{ github.actor }} is testing out GitHub Actions 🚀
on:
push:
workflow_dispatch:
jobs:
Explore-GitHub-Actions:
runs-on: ubuntu-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!"
- run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}."
- name: Check out repository code
uses: actions/checkout@v5
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ github.workspace }}
- run: echo "🍏 This job's status is ${{ job.status }}."

System-Info-Collection:
runs-on: ubuntu-latest
steps:
- name: Displaying trigger event
run: |
echo "This workflow was triggered by the ${{ github.event_name }} event."
echo "The event payload is:"
echo "${{ toJson(github.event) }}"
- name: Displaying system information
run: |
echo "This job is running on a ${{ runner.os }} server hosted by GitHub."
echo "The server has the following processors:"
lscpu
echo "The server has the following amount of free memory:"
free -h
echo "The server has the following disk space:"
df -h

- name: Runtime Environment Information
run: |
echo "username: $(whoami)"
echo "home directory: $(echo $HOME)"
echo "current working directory: $(pwd)"
echo "PATH: $(echo $PATH)"
echo "shell: $SHELL"
echo "env variables: $(printenv)"


3 changes: 3 additions & 0 deletions gitops-lab/current-state.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
version: 1.0
app: myapp
replicas: 3
3 changes: 3 additions & 0 deletions gitops-lab/desired-state.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
version: 1.0
app: myapp
replicas: 3
70 changes: 70 additions & 0 deletions gitops-lab/gen.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# zap-baseline rule configuration file
# Change WARN to IGNORE to ignore rule or FAIL to fail if rule matches
# Only the rule identifiers are used - the names are just for info
# You can add your own messages to each rule by appending them after a tab on each line.
10003 WARN (Vulnerable JS Library (Powered by Retire.js))
10009 WARN (In Page Banner Information Leak)
10010 WARN (Cookie No HttpOnly Flag)
10011 WARN (Cookie Without Secure Flag)
10015 WARN (Re-examine Cache-control Directives)
10017 WARN (Cross-Domain JavaScript Source File Inclusion)
10019 WARN (Content-Type Header Missing)
10020 WARN (Anti-clickjacking Header)
10021 WARN (X-Content-Type-Options Header Missing)
10023 WARN (Information Disclosure - Debug Error Messages)
10024 WARN (Information Disclosure - Sensitive Information in URL)
10025 WARN (Information Disclosure - Sensitive Information in HTTP Referrer Header)
10026 WARN (HTTP Parameter Override)
10027 WARN (Information Disclosure - Suspicious Comments)
10028 WARN (Off-site Redirect)
10029 WARN (Cookie Poisoning)
10030 WARN (User Controllable Charset)
10031 WARN (User Controllable HTML Element Attribute (Potential XSS))
10032 WARN (Viewstate)
10033 WARN (Directory Browsing)
10034 WARN (Heartbleed OpenSSL Vulnerability (Indicative))
10035 WARN (Strict-Transport-Security Header)
10036 WARN (HTTP Server Response Header)
10037 WARN (Server Leaks Information via "X-Powered-By" HTTP Response Header Field(s))
10038 WARN (Content Security Policy (CSP) Header Not Set)
10039 WARN (X-Backend-Server Header Information Leak)
10040 WARN (Secure Pages Include Mixed Content)
10041 WARN (HTTP to HTTPS Insecure Transition in Form Post)
10042 WARN (HTTPS to HTTP Insecure Transition in Form Post)
10043 WARN (User Controllable JavaScript Event (XSS))
10044 WARN (Big Redirect Detected (Potential Sensitive Information Leak))
10049 WARN (Content Cacheability)
10050 WARN (Retrieved from Cache)
10052 WARN (X-ChromeLogger-Data (XCOLD) Header Information Leak)
10054 WARN (Cookie without SameSite Attribute)
10055 WARN (CSP)
10056 WARN (X-Debug-Token Information Leak)
10057 WARN (Username Hash Found)
10061 WARN (X-AspNet-Version Response Header)
10062 WARN (PII Disclosure)
10063 WARN (Permissions Policy Header Not Set)
10096 WARN (Timestamp Disclosure)
10097 WARN (Hash Disclosure)
10098 WARN (Cross-Domain Misconfiguration)
10099 WARN (Source Code Disclosure)
10105 WARN (Weak Authentication Method)
10108 WARN (Reverse Tabnabbing)
10109 WARN (Modern Web Application)
10110 WARN (Dangerous JS Functions)
10111 WARN (Authentication Request Identified)
10112 WARN (Session Management Response Identified)
10113 WARN (Verification Request Identified)
10115 WARN (Script Served From Malicious Domain (polyfill))
10116 WARN (ZAP is Out of Date)
10202 WARN (Absence of Anti-CSRF Tokens)
2 WARN (Private IP Disclosure)
3 WARN (Session ID in URL Rewrite)
50001 WARN (Script Passive Scan Rules)
90001 WARN (Insecure JSF ViewState)
90002 WARN (Java Serialization Object)
90003 WARN (Sub Resource Integrity Attribute Missing)
90004 WARN (Insufficient Site Isolation Against Spectre Vulnerability)
90011 WARN (Charset Mismatch)
90022 WARN (Application Error Disclosure)
90030 WARN (WSDL File Detection)
90033 WARN (Loosely Scoped Cookie)
11 changes: 11 additions & 0 deletions gitops-lab/health.log
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
Mon Oct 13 18:02:27 MSK 2025 - ✅ OK: States synchronized
Mon Oct 13 18:03:13 MSK 2025 - ❌ CRITICAL: State mismatch detected!
Desired MD5: a15a1a4f965ecd8f9e23a33a6b543155
Current MD5: 48168ff3ab5ffc0214e81c7e2ee356f5
Mon Oct 13 18:05:05 MSK 2025 - ✅ OK: States synchronized
Mon Oct 13 18:07:20 MSK 2025 - ✅ OK: States synchronized
Mon Oct 13 18:07:23 MSK 2025 - ✅ OK: States synchronized
Mon Oct 13 18:07:26 MSK 2025 - ✅ OK: States synchronized
Mon Oct 13 18:07:29 MSK 2025 - ✅ OK: States synchronized
Mon Oct 13 18:07:32 MSK 2025 - ✅ OK: States synchronized
Mon Oct 13 18:07:35 MSK 2025 - ✅ OK: States synchronized
13 changes: 13 additions & 0 deletions gitops-lab/healthcheck.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/bin/bash
# healthcheck.sh - Monitor GitOps sync health

DESIRED_MD5=$(md5sum desired-state.txt | awk '{print $1}')
CURRENT_MD5=$(md5sum current-state.txt | awk '{print $1}')

if [ "$DESIRED_MD5" != "$CURRENT_MD5" ]; then
echo "$(date) - ❌ CRITICAL: State mismatch detected!" | tee -a health.log
echo " Desired MD5: $DESIRED_MD5" | tee -a health.log
echo " Current MD5: $CURRENT_MD5" | tee -a health.log
else
echo "$(date) - ✅ OK: States synchronized" | tee -a health.log
fi
10 changes: 10 additions & 0 deletions gitops-lab/monitor.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#!/bin/bash
# monitor.sh - Combined reconciliation and health monitoring

echo "Starting GitOps monitoring..."
for i in {1..10}; do
echo "\n--- Check #$i ---"
./healthcheck.sh
./reconcile.sh
sleep 3
done
14 changes: 14 additions & 0 deletions gitops-lab/reconcile.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#!/bin/bash
# reconcile.sh - GitOps reconciliation loop

DESIRED=$(cat desired-state.txt)
CURRENT=$(cat current-state.txt)

if [ "$DESIRED" != "$CURRENT" ]; then
echo "$(date) - ⚠️ DRIFT DETECTED!"
echo "Reconciling current state with desired state..."
cp desired-state.txt current-state.txt
echo "$(date) - ✅ Reconciliation complete"
else
echo "$(date) - ✅ States synchronized"
fi
Loading