-
Notifications
You must be signed in to change notification settings - Fork 427
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch '2024' into exec-tutorial
- Loading branch information
Showing
179 changed files
with
5,465 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
name: Lecture Participation Information | ||
|
||
on: | ||
issue_comment: | ||
types: [created] | ||
|
||
permissions: | ||
issues: write | ||
|
||
jobs: | ||
track-participation: | ||
if: > | ||
github.event.issue.number == 2370 && | ||
github.event.comment.author_association != 'COLLABORATOR' && | ||
github.event.comment.author_association != 'OWNER' && | ||
github.event.comment.author_association != 'MEMBER' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Setup Python | ||
uses: actions/[email protected] | ||
with: | ||
python-version: '3.11.8' | ||
|
||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
if [ -f ./tools/requirements.txt ]; then pip install -r ./tools/requirements.txt; fi | ||
- name: Update participation tracker | ||
working-directory: tools | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
REPO_FULLNAME: ${{ github.repository }} | ||
TRACKER_ISSUE_NUMBER: ${{ github.event.issue.number }} | ||
|
||
run: python track_participation.py --printMarkdown --publish |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,131 @@ | ||
## Schedule | ||
|
||
### Week 1 | ||
|
||
General Intro about the course. | ||
|
||
### Week 2 | ||
|
||
1. [Property-based testing in Python using Hypothesis](https://github.com/KTH/devops-course/tree/2024/contributions/presentation/week2/samkh-atheers) | ||
1. [Enforcing version consistency between identical package dependencies in monorepos](https://github.com/KTH/devops-course/tree/2024/contributions/demo/week2/hallkvi-ieinberg) | ||
1. [Introducing Team City pipelines a CI/CD tool for samll, mid-sized dev teams by JetBrains](https://github.com/KTH/devops-course/tree/2024/contributions/presentation/week2/rikj-hocker) | ||
1. [CircleCI Pipeline Improved with Cache and Parallel Workflow](https://github.com/KTH/devops-course/tree/2024/contributions/demo/week2/hexu-yinanhu) | ||
1. [Bridging Development and Operations: BDD in Automated Frontend Testing](https://github.com/KTH/devops-course/tree/2024/contributions/presentation/week2/noelt-miladsf) | ||
1. [Continuous integretion testing of node and service availability of promox instances](https://github.com/KTH/devops-course/tree/2024/contributions/demo/week2/mqnguyen-golman) | ||
1. [Split.io, a Feature Flag tool, that can be used for A/B Testing](https://github.com/KTH/devops-course/tree/2024/contributions/presentation/week2/lvainio-oscols) | ||
1. [Integrating Robocop Analysis Report in SonarQube](https://github.com/KTH/devops-course/tree/2024/contributions/demo/week2/uqqasha) | ||
1. [The Crowdstrike bug, and the importance of high-quality testing](https://github.com/KTH/devops-course/tree/2024/contributions/presentation/week2/ghenn-vikfor) | ||
1. [Automated UI testing using Playwright](https://github.com/KTH/devops-course/tree/2024/contributions/presentation/week2/catir-robcla) | ||
1. [Mockito: What it is, how it works, and how it improves automated testing in Java](https://github.com/KTH/devops-course/tree/2024/contributions/presentation/week2/maxisr-jbiorck) | ||
|
||
### Week 3 | ||
|
||
1. [Github Actions workflow for deploying to an AWS Lambda function.](https://github.com/KTH/devops-course/pull/2373) | ||
1. [The importance of containerization ](https://github.com/KTH/devops-course/pull/2390) | ||
1. [An Empirical Study of Architecting for Continuous Delivery and Deployment](https://github.com/KTH/devops-course/pull/2407) | ||
1. [Get started with Terraform : Continuous Deployment in AWS through Github Actions](https://github.com/KTH/devops-course/pull/2406) | ||
1. [Continous Deployment and Rollback using Railway](https://github.com/KTH/devops-course/pull/2436) | ||
1. [Understanding Security Threats in Open-Source Software CI/CD Pipelines](https://github.com/KTH/devops-course/pull/2411) | ||
1. [Blue-Green Deployment: Ensuring Zero Downtime in Continuous Deployment](https://github.com/KTH/devops-course/pull/2412) | ||
1. [Automated Changelog-Driven Deployments with GitHub Actions and Release Please](https://github.com/KTH/devops-course/pull/2413) | ||
1. [An Interactive Demonstration of Automated Canary Deployment using AWS and GitHub Actions](https://github.com/KTH/devops-course/pull/2414) | ||
1. [Flyway: Version Control for Databases](https://github.com/KTH/devops-course/pull/2404) | ||
1. [Deployment and rollbacks with Kubernetes](https://github.com/KTH/devops-course/pull/2415) | ||
1. [From Continuous Delivery to Continuous Deployment in GoCD with Gomatic.](https://github.com/KTH/devops-course/pull/2418) | ||
1. [Harness: World's first AI-augmented software delivery platform](https://github.com/KTH/devops-course/pull/2425) | ||
1. [Automating Software Releases with jReleaser and GitHub Actions](https://github.com/KTH/devops-course/pull/2426) | ||
1. [Using ArgoCD for Continuous Deployment in Kubernetes](https://github.com/KTH/devops-course/pull/2435) | ||
1. [Gitlab CI/CD workflow for deploying fullstack web application on self-hosted server via docker.](https://github.com/KTH/devops-course/pull/2437) | ||
1. [Reducing Downtime with Blue-Green Deployment using Vercel](https://github.com/KTH/devops-course/pull/2445) | ||
1. [Continuous Deployment in IoT Edge devices using Azure ](https://github.com/KTH/devops-course/pull/2441) | ||
1. [_Microservices: Architecting for Continuous Delivery and DevOps_](https://github.com/KTH/devops-course/pull/2399) | ||
1. [Revisiting the practices and pains of microservice architecture in reality: An industrial inquiry](https://github.com/KTH/devops-course/pull/2416) | ||
1. [Exploring Canary Deployments in Modern DevOps](https://github.com/KTH/devops-course/pull/2424) | ||
1. [Rainbow deployments and its role in modern CD](https://github.com/KTH/devops-course/pull/2422) | ||
|
||
### Week 4 | ||
|
||
1. [_CRISP-ML(Q). The End-to-End Machine Learning Workflow_](https://github.com/KTH/devops-course/pull/2417) | ||
1. [Tensorboard: A suite of visualization tools to understand, debug, and optimize TensorFlow programs for ML experimentation](https://github.com/KTH/devops-course/pull/2442) | ||
1. [Dynamic model rollbacks using MLflow](https://github.com/KTH/devops-course/pull/2452) | ||
1. [CodeRabbit: Automated AI Code Reviews](https://github.com/KTH/devops-course/pull/2460) | ||
1. [Machine Learning Operations (MLOps): Overview, Definition, and Architecture](https://github.com/KTH/devops-course/pull/2464) | ||
1. [Predicting Node Failures in an Ultra-Large-Scale Cloud Computing Platform: An AIOps Solution](https://github.com/KTH/devops-course/pull/2472) | ||
1. [TinyMLOps: Operational Challenges for Widespread Edge AI Adoption](https://github.com/KTH/devops-course/pull/2478) | ||
1. [Elyra: an open-source JupyterLab extension for creating ML pipelines](https://github.com/KTH/devops-course/pull/2471) | ||
1. [MLOps: A Taxonomy and a Methodology](https://github.com/KTH/devops-course/pull/2473) | ||
1. [What is a Feature Store in ML?](https://github.com/KTH/devops-course/pull/2482) | ||
1. [Feast in MLOps](https://github.com/KTH/devops-course/pull/2476) | ||
1. [Using Comet ML to analyze and compare the performance of ML models](https://github.com/KTH/devops-course/pull/2485) | ||
1. [MLOps for Cyber-Physical Production Systems: Challenges and Solutions](https://github.com/KTH/devops-course/pull/2486) | ||
1. [Quality Assurance in MLOps Setting: An Industrial Perspective](https://github.com/KTH/devops-course/pull/2479) | ||
1. [The importance of reliable testing methods](https://github.com/KTH/devops-course/pull/2397) | ||
|
||
### Week 5 | ||
|
||
1. [Comparing the differential mechanisms of declarative Terraform and imperative AWS infrastructure as code.](https://github.com/KTH/devops-course/pull/2387) | ||
1. [Ensuring Terraform environment stability with Github Actions](https://github.com/KTH/devops-course/pull/2380) | ||
1. [Using Serverless and Terraform to automate the deployment of a web application to AWS](https://github.com/KTH/devops-course/pull/2391) | ||
1. [_AWS Cloud Development Kit - Define your cloud application resources using familiar programming languages_](https://github.com/KTH/devops-course/pull/2392) | ||
1. [Declarative and reproducible deployments with NixOS](https://github.com/KTH/devops-course/pull/2400) | ||
1. [_AIAC: An AI Infrastructure-as-code Generator_](https://github.com/KTH/devops-course/pull/2395) | ||
1. [_Saltstack: Grains, States and Pillars_](https://github.com/KTH/devops-course/pull/2394) | ||
1. [Dockerfile Compliance Scanning with Docker Bench and Trivy](https://github.com/KTH/devops-course/pull/2432) | ||
1. [Using Bicep to edit Azure resources as code](https://github.com/KTH/devops-course/pull/2398) | ||
1. [Vagrant - How a group of students can experience IaC at home](https://github.com/KTH/devops-course/pull/2440) | ||
1. [Comparing Pulumi and Terraform: Imperative Language vs. Declaritive Language](https://github.com/KTH/devops-course/pull/2444) | ||
1. [Terraform - Using infrastructre as code in DevOps](https://github.com/KTH/devops-course/pull/2458) | ||
1. [The do’s and don’ts of infrastructure code: A systematic gray literature review](https://github.com/KTH/devops-course/pull/2499) | ||
1. [Cost Optimization with Infrastructure as Code](https://github.com/KTH/devops-course/pull/2484) | ||
1. [BlueBuild: The Cloud-Native Desktop Paradigm](https://github.com/KTH/devops-course/pull/2508) | ||
1. [Check-mate: Keep your OpenTofu configurations problem-free](https://github.com/KTH/devops-course/pull/2511) | ||
1. [_TruffleHog - Identifying vulnerable management of secrets for IaC_](https://github.com/KTH/devops-course/pull/2510) | ||
1. [Using Pulumi Policy as Code to enforce rules on IaC managed cloud resources.](https://github.com/KTH/devops-course/pull/2489) | ||
1. [Strimzi - Easy Apache Kafka on Kubernetes](https://github.com/KTH/devops-course/pull/2514) | ||
1. [Infrastructure as code for dynamic deployments](https://github.com/KTH/devops-course/pull/2515) | ||
1. [Creating Spotify playlist using Terraform](https://github.com/KTH/devops-course/pull/2531) | ||
1. [Disaster Recovery using Terraform](https://github.com/KTH/devops-course/pull/2544) | ||
|
||
### Week 6 | ||
|
||
1. [GitGuardian: Preventing Data Leaks Through Automated Security](https://github.com/KTH/devops-course/pull/2396) | ||
1. [Yet another cybersecurity risk assessment framework](https://github.com/KTH/devops-course/pull/2402) | ||
1. [Using Bitwarden Secret Manager to centrally store, manage, and deploy secrets at scale.](https://github.com/KTH/devops-course/pull/2409) | ||
1. [Making your NPM security wishes come true.](https://github.com/KTH/devops-course/pull/2421) | ||
1. [Continuous Information Flow Control](https://github.com/KTH/devops-course/pull/2439) | ||
1. [Comparing pnpm, npm and yarn](https://github.com/KTH/devops-course/pull/2443) | ||
1. [Dynamic Secrets in HashiCorp Vault](https://github.com/KTH/devops-course/pull/2447) | ||
1. [_Streamlining Python Dependency Management with Poetry_](https://github.com/KTH/devops-course/pull/2449) | ||
1. [_Hardening GitHub Actions for increased security_](https://github.com/KTH/devops-course/pull/2468) | ||
1. [Ensuring the integrity and source of software packages](https://github.com/KTH/devops-course/pull/2477) | ||
1. [Detecting vulnerabilities in Python code using static code analysis with Bandit](https://github.com/KTH/devops-course/pull/2507) | ||
1. [Integrating Organizational Policies Using Open Policy Agent](https://github.com/KTH/devops-course/pull/2512) | ||
1. [Using dependabot to automatically detect vulnerabilities in imported packages](https://github.com/KTH/devops-course/pull/2513) | ||
1. [Arc Browser's impotant security breach and why SecDevOps is important](https://github.com/KTH/devops-course/pull/2545) | ||
1. [The event stream incident - vulnerabilities of open source dependencies and possible mitigations. ](https://github.com/KTH/devops-course/pull/2525) | ||
1. [NixOS: Reproducibility with Flakes and Secrets](https://github.com/KTH/devops-course/pull/2546) | ||
1. [Secure your git and CD pipeline with SOPS.](https://github.com/KTH/devops-course/pull/2526) | ||
1. [Challenges and solutions when adopting DevSecOps: A systematic review](https://github.com/KTH/devops-course/pull/2550) | ||
1. [Using Semgrep to find vulnerabilities](https://github.com/KTH/devops-course/pull/2551) | ||
1. [Machine Learning-Based Run-Time DevSecOps: ChatGPT Against Traditional Approach](https://github.com/KTH/devops-course/pull/2556) | ||
1. [Implementing and Automating Security Scanning to](https://github.com/KTH/devops-course/pull/2547) | ||
1. [Integrate RetireJS into Github workflow](https://github.com/KTH/devops-course/pull/2553) | ||
1. [The Seven Sins: Security Smells in Infrastructure as Code Scripts](https://github.com/KTH/devops-course/pull/2552) | ||
1. [Using static analysis with SonarCloud to identify security flaws.](https://github.com/KTH/devops-course/pull/2558) | ||
1. [Automating Private Dependency Management and Version Integration](https://github.com/KTH/devops-course/pull/2569) | ||
|
||
### Week 7 | ||
|
||
1. [DevOps Education - Challenges and Recommendations](https://github.com/KTH/devops-course/pull/2448) | ||
1. [RefBot: Intelligent Software Refactoring Bot](https://github.com/KTH/devops-course/pull/2456) | ||
1. [AI Anomaly Detection for log monitoring](https://github.com/KTH/devops-course/pull/2496) | ||
1. [Infrastructure as Code Using Ansible Playbooks](https://github.com/KTH/devops-course/pull/2536) | ||
1. [DevOps at Scale: Managing Complex Service Architectures in Large Technical Companies](https://github.com/KTH/devops-course/pull/2523) | ||
1. [Chaos Engineering with Chaos Monkey](https://github.com/KTH/devops-course/pull/2549) | ||
1. [Data Version Control for MLOps with DVC](https://github.com/KTH/devops-course/pull/2560) | ||
1. [A Case Study of Developer Bots: Motivations, Perceptions, and Challenges](https://github.com/KTH/devops-course/pull/2532) | ||
1. [Understanding GDPR and its importance for DevOps](https://github.com/KTH/devops-course/pull/2585) | ||
1. [ChatOps Bots for Monitoring and Incident Response in DevOps](https://github.com/KTH/devops-course/pull/2592) | ||
1. [Metrics vs Logging for DevOps Monitoring (Comparing Prometheus and ELK Stack)](https://github.com/KTH/devops-course/tree/2024/contributions/presentation/week7/linussve-daniellw/README.md) | ||
1. [Software licencing overview and compliance automation](https://github.com/KTH/devops-course/pull/2614) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# Assignment Proposal | ||
|
||
## Title | ||
|
||
Continuous integration testing of node and service availability of promox instances | ||
|
||
## Names and KTH ID | ||
|
||
- Minh Quang Nguyen ([email protected]) | ||
- Fredrik Gölman ([email protected]) | ||
|
||
## Deadline | ||
- Week 2 | ||
|
||
## Category | ||
- Demo | ||
|
||
## Description | ||
|
||
Our demo will be performed in the context of physical servers that we access through a VPN. | ||
|
||
We want to test the following | ||
- Availablity of different nodes in a proxmox cluster | ||
- Availabilty of different services on these nodes | ||
|
||
Tools: | ||
- Tailscale (VPN service/mesh network) | ||
- Proxmox (VM virtualization) | ||
- Jenkins (Automation Testing and Integration Testing) | ||
|
||
- Option Currently Deciding | ||
- Ansible (Testing Node instance, Update version ...etc) | ||
- Terraform (Create Template for VM/docker/Container) | ||
|
||
Backup plan: | ||
In case we run into difficulties we deem unfeasible to overcome (the environment is not fully set up yet, and we are sort of short of time given the schedule) we discussed with the TA to create a rather simple web application involving either authentication functionality and a web form with input where validation would occur at the backend and perform integration tests by interacting with the browser and test frontend, backend, and potentially some database. We (and the TA) were unsure on whether the complexity level of this would be sufficient, but were asked to include it to have it commented on. | ||
|
||
**Relevance** | ||
|
||
We believe this is very rare compared to more conventional integration tests that may, for example, include a frontend and backend the the interactions between those two components. We also believe it is comparatively complex as it involves a lot of steps both in terms of setting up the environment and performing the tests. It also seem to fulfill a task that frequently would need to be performed manually by a system administrator otherwise. It is of course highly relevant to DevOps in general as it involves several CI tools such as Jenkins. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# Assignment Proposal | ||
|
||
## Title | ||
|
||
Automating Software Releases with jReleaser and GitHub Actions | ||
|
||
## Names and KTH ID | ||
|
||
- Hugo Malmberg ([email protected]) | ||
- Oscar Hellgren ([email protected]) | ||
|
||
## Deadline | ||
|
||
- Week 3 | ||
|
||
## Category | ||
|
||
- Demo | ||
|
||
## Description | ||
|
||
We will demonstrate how to automate the software release process using jReleaser and GitHub Actions. The GitHub Actions workflow will be triggered when a new release tag is pushed to the repository. jReleaser will handle tasks such as generating a changelog from commit messages, packaging the software, signing artifacts. | ||
|
||
|
||
**Relevance** | ||
|
||
jReleaser is an emerging tool for automating software releases, making it a valuable addition to any DevOps pipeline. This demo will show how jReleaser can simplify the release process by automating tedious tasks like changelog generation, artifact signing, and multi-platform distribution. Using GitHub Actions for automation further showcases how continuous integration and delivery can be extended to cover the entire lifecycle of a software project, from code changes to final release. |
Oops, something went wrong.