Skip to content

Feature/lab12#903

Open
KsAKarpeeva73 wants to merge 42 commits into
inno-devops-labs:mainfrom
KsAKarpeeva73:feature/lab12
Open

Feature/lab12#903
KsAKarpeeva73 wants to merge 42 commits into
inno-devops-labs:mainfrom
KsAKarpeeva73:feature/lab12

Conversation

@KsAKarpeeva73
Copy link
Copy Markdown

Goal

Finish Lab 12 by comparing traditional Docker containers and WASM containers using the same Go source code.

Changes

  • Added labs/submission12.md with WASM vs traditional container benchmarks
  • Reviewed the provided Moscow Time Go application in labs/lab12
  • Tested CLI mode with MODE=once
  • Built and tested the traditional Docker container
  • Built a WASM binary with TinyGo from the same main.go
  • Packaged the WASM binary as an OCI image and ran it with ctr
  • Documented binary sizes, image sizes, startup times, and memory usage
  • Explained the WASI Preview1 server mode limitation
  • Added screenshots showing CLI output, traditional server mode, metrics, and WASM results

Testing

  • CLI mode works with MODE=once
  • Traditional Docker image builds successfully
  • Traditional Docker container runs in server mode
  • Traditional Docker startup benchmark completed
  • Traditional Docker memory usage was measured
  • WASM binary builds successfully with TinyGo
  • WASM OCI image was imported into containerd
  • WASM container runs with ctr and io.containerd.wasmtime.v1
  • WASM startup benchmark completed
  • WASI Preview1 networking limitation was tested and documented
  • Documentation is complete and updated

Lab Checklist

  • Task 1 β€” Create the Moscow Time Application
  • Task 2 β€” Build Traditional Docker Container
  • Task 3 β€” Build WASM Container
  • Task 4 β€” Performance Comparison & Analysis
  • Bonus β€” Deploy to Fermyon Spin Cloud

Key Achievement: Used the same main.go for both traditional Docker and WASM builds. Startup benchmarks were performed with MODE=once for both targets.

## Goal

Finish Lab 9 by performing DevSecOps security scans with OWASP ZAP and Trivy, then documenting the findings.

## Changes

- Added labs/submission9.md with DevSecOps scan results and analysis
- Ran OWASP ZAP baseline scan against OWASP Juice Shop
- Documented Medium risk web vulnerabilities and security headers status
- Ran Trivy scan for the bkimminich/juice-shop container image
- Documented HIGH and CRITICAL container vulnerabilities
- Added screenshots of ZAP report and Trivy findings
- Included analysis and CI/CD integration reflection

## Testing

- [x] OWASP Juice Shop was deployed and verified locally
- [x] OWASP ZAP baseline scan completed successfully
- [x] ZAP HTML report was generated and analyzed
- [x] Trivy container image scan completed successfully
- [x] HIGH and CRITICAL vulnerabilities were documented
- [x] Screenshots are included as evidence
- [x] Documentation is complete and updated

## Lab Checklist

- [x] Task 1 β€” Web Application Scanning with OWASP ZAP
- [x] Task 2 β€” Container Vulnerability Scanning with Trivy
## Goal

Finish Lab 11 by demonstrating reproducible builds with Nix, reproducible Docker images, and modern Nix Flakes.

## Changes

- Added labs/submission11.md with Nix build results and analysis
- Added a simple Go application for reproducible build testing
- Added default.nix for building the Go binary with Nix
- Added docker.nix for building a reproducible Docker image with dockerTools
- Added traditional Dockerfiles for comparison
- Added flake.nix and flake.lock for the bonus Flakes task
- Documented store paths, SHA256 hashes, Docker image IDs, image sizes, and layer history
- Included screenshots proving reproducibility and build results

## Testing

- [x] Nix installation was verified
- [x] Go application builds successfully with Nix
- [x] Repeated Nix builds produced identical store paths
- [x] Repeated Nix builds produced identical binary hashes
- [x] Traditional Docker builds were compared against Nix builds
- [x] Nix-built Docker image produced identical store paths and tarball hashes
- [x] Docker image sizes and layer histories were compared
- [x] Flake-based builds were tested
- [x] Development shell was verified with nix develop
- [x] Documentation is complete and updated

## Lab Checklist

Platform: GitHub

- [x] Task 1 β€” Build Reproducible Artifacts from Scratch
- [x] Task 2 β€” Reproducible Docker Images with Nix
- [x] Bonus Task β€” Modern Nix with Flakes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant