-
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' of https://github.com/Flug0/devops-course into 2024
- Loading branch information
Showing
64 changed files
with
1,382 additions
and
10 deletions.
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
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
File renamed without changes.
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,25 @@ | ||
# Assignment Proposal | ||
|
||
## Title | ||
|
||
Creating security obervability with Wazuh | ||
|
||
## Names and KTH ID | ||
|
||
- Jonas Liley ([email protected]) | ||
|
||
## Deadline | ||
|
||
- Week 7 | ||
|
||
## Category | ||
|
||
- Demo | ||
|
||
## Description | ||
|
||
The demonstration will involve setting up a Wazuh server alongside an additional server that will simulate a production environment. I will walk through the process of adding a new server to be monitored by Wazuh, enabling Wazuh to collect and analyze logs, detect vulnerabilities, and monitor system integrity. The demo will also include real-time detection of suspicious activities and automated alerting on potential security incidents. | ||
|
||
**Relevance** | ||
|
||
With the increasing complexity of modern infrastructure, gaining deep security observability across all systems is essential for proactive threat detection and mitigation. Wazuh, as an open-source security monitoring platform, addresses these needs. This demo highlights Wazuh’s capability to centralize security data, helping organizations detect vulnerabilities, track incidents, and ensure compliance, all within a one dashboard. |
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,32 @@ | ||
# Assignment Proposal | ||
|
||
## Title | ||
|
||
Simplifying Kubernetes Policy Management Using Kyverno | ||
|
||
|
||
## Names and KTH ID | ||
|
||
|
||
- Rohini Bhardwaj([email protected]) | ||
|
||
|
||
## Deadline | ||
|
||
- Week 7 | ||
|
||
|
||
## Category | ||
|
||
- Demo | ||
|
||
|
||
## Description | ||
I want to propose a demo to showcase how Kyverno simplifies and automates Kubernetes policy management. It will demonstrate Kyverno’s capabilities in enforcing security, | ||
ensuring compliance, and automating resource configurations through policies, making Kubernetes environments more secure, consistent, and manageable. | ||
|
||
**Relevance** | ||
|
||
Kyverno simplifies Kubernetes policy management, making it highly relevant for DevOps teams. It automates tasks like security enforcement, resource configuration, | ||
and compliance checks without the need for custom code. By using easy-to-write YAML policies, DevOps teams can ensure consistency across all environments, speeding up deployments | ||
while maintaining security. |
32 changes: 32 additions & 0 deletions
32
contributions/executable-tutorial/aleliu-gussvens/README.md
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,32 @@ | ||
# Assignment Proposal | ||
|
||
## Title | ||
|
||
Building and integrating a slack bot with GitHub actions using Node.js | ||
|
||
## Names and KTH ID | ||
|
||
- Alexander Liu ([email protected]) | ||
- Gustaf Svensson ([email protected]) | ||
|
||
## Deadline | ||
|
||
- Task 3 | ||
|
||
## Category | ||
|
||
- Executable tutorial | ||
|
||
## Description | ||
|
||
In our tutorial we will show how to set up a slack bot using node.js to monitor GitHub actions through notification in a slack channel. The bot will be able to parse github logs into readable slack messages in order to simplify continuous development and monitoring. | ||
|
||
**Relevance** | ||
|
||
Effective monitoring and automation is crucial to the DevOps life cycle. By integrating slack bot with GitHub actions developers can get real-time status updates on ongoing processes directly in their slack workspace. Additionally, developers can trigger pre-defined common events through slack increasing the efficiency of the entire process. The use of slack streamlines the continuous devlopment and monitoring process for developers and is a critical part in the DevOps cycle. | ||
|
||
*Submission* | ||
|
||
Killercoda: https://killercoda.com/dd2482devops-executable-tutorial/scenario/KillerCoda | ||
GitHub to main program: https://github.com/Alexanderliu2002/dd2482-executable-tutorial-bot | ||
GitHub to test environment: https://github.com/leegrash/dd2482-executable-tutorial |
32 changes: 32 additions & 0 deletions
32
contributions/executable-tutorial/bthiberg-noakj/README.md
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,32 @@ | ||
# Assignment Proposal | ||
|
||
## Title | ||
|
||
Creating and using flox environment(s) in an existing project. | ||
|
||
## Names and KTH ID | ||
|
||
- Björn Thiberg ([email protected]) | ||
- Noak Jönsson ([email protected]) | ||
|
||
## Deadline | ||
|
||
- Task 3 | ||
|
||
## Category | ||
|
||
- Executable Tutorial | ||
|
||
## Description | ||
|
||
We had a visit during one of the lectures by a [Flox](https://flox.dev/docs/) developer. Exploring this cool piece of software, we found few if any tutorials on how to use it. | ||
|
||
This tutorial goes through the main functionality of Flox. Specifically, how to create a Flox environment for an existing project, add dependencies and search for packages, and create a service. It also goes through how the Flox manifest file works. | ||
|
||
[The tutorial can be found on KillerCoda here.](https://killercoda.com/bjornthiberg/scenario/flox) | ||
[ | ||
The repository for the tutorial can be found here.](https://github.com/bjornthiberg/DD2482-executable-tutorial) | ||
|
||
**Relevance** | ||
|
||
Flox is relevant to DevOps since it allows the user to create and manageme reproducible, isolated, and portable development environments. This helps with solving the “works on my machine” DevOps problem across different testing, staging and dev environments. Flox provides a platform for managing dependencies, environments, and development tools in a containerized manner. These containerized environments can then be shared, submitted to version control, and be used as part of CI/CD pipelines. |
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
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 | ||
|
||
Mastering Docker: Building, Networking, and Optimizing Containers with Multi-Stage Builds and Advanced Features | ||
|
||
## Names and KTH ID | ||
|
||
- Casper Kristiansson ([email protected]) | ||
- Muhammadsodiq Nematjanov ([email protected]) | ||
|
||
## Deadline | ||
|
||
- Task 3 | ||
|
||
## Category | ||
|
||
- Executable tutorial | ||
|
||
## Description | ||
|
||
This tutorial will introduce the fundamental concepts of Docker and demonstrate how to build, run, and optimize Docker containers. The tutorial will be fully executable on the KillerKoda platform, ensuring that users can interact with and verify their actions as they follow along. The sections will cover: | ||
|
||
1. **Building and Running a Basic Docker Container**: A step-by-step guide to building and running your first Docker container. | ||
|
||
2. **Setting up Docker Volumes for Persistent Storage**: Learn how to manage data persistence by setting up Docker volumes. | ||
|
||
3. **Configuring Container Networking**: Understand how to set up communication between Docker containers through networking. | ||
|
||
4. **Optimizing Docker Images with Multi-Stage Builds**: Learn how to reduce Docker image sizes and improve performance using multi-stage builds. | ||
|
||
5. **Using Docker Compose for Multi-Container Applications**: Introduction to Docker Compose, showing how to define and manage multi-container applications with services, networks, and volumes. | ||
|
||
6. **Handling Secrets and Environment Variables in Docker**: Securely pass sensitive information using Docker secrets and environment variables. | ||
|
||
7. **Implementing Health Checks for Containers**: Monitor and automatically restart services by implementing health checks within your containers. | ||
|
||
**Relevance** | ||
|
||
Docker is a crucial tool in modern DevOps practices, enabling efficient application deployment, scalability, and automation. By learning how to build, run, and optimize containers, developers and DevOps engineers can reduce infrastructure complexity, speed up deployments, and manage applications more effectively. The tutorial covers essential topics that align with DevOps goals of continuous delivery, resource optimization, and maintaining secure, persistent services. Each section is designed to be fully executable and verifiable on the KillerKoda platform, providing a hands-on experience for learners. Automating Docker builds locally simulates a CI/CD pipeline without external dependencies, making the process easy to verify. Additionally, multi-stage builds are essential for reducing Docker image size, improving performance, and optimizing resource use in production environments. |
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,22 @@ | ||
# Assignment Proposal | ||
## Title | ||
Policy as Code with Kubewarden: Implement and Enforce Kubernetes Policies | ||
## Names and KTH ID | ||
- Chandni Rakhashiya ([email protected]) | ||
- Katsutoshi Amano ([email protected]) | ||
## Deadline | ||
- Task 3 | ||
## Category | ||
- Executable Tutorial | ||
## Description | ||
In this tutorial, we will explain what Policy as Code and Kubewarden are, and why they are important for Kubernetes environments. We will walk through the process of implementing and enforcing policies using Kubewarden in a Kubernetes cluster. Additionally, we will write a policy using Rego and deploy it to the cluster, demonstrating how policies can be automated and integrated seamlessly into DevOps workflows. | ||
|
||
|
||
**Relevance** | ||
|
||
|
||
Policy as Code is crucial for maintaining consistency, security, and compliance in Kubernetes environments, making it a core practice in modern DevOps. Kubewarden provides a powerful and flexible way to implement and enforce these policies. | ||
|
||
The executable tutorial can be found: | ||
killercoda - https://killercoda.com/kubewarden-executable-tutorial | ||
Github - https://github.com/kamano905/kubewarden-executable-tutorial |
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,37 @@ | ||
# Assignment Proposal | ||
|
||
## Title | ||
|
||
Deployments with Piku | ||
|
||
## Names and KTH ID | ||
|
||
- Diogo Gaspar ([email protected]) | ||
- Tomás Esteves ([email protected]) | ||
|
||
## Deadline | ||
|
||
- Task 3 | ||
|
||
## Category | ||
|
||
- Executable tutorial | ||
|
||
## Description | ||
|
||
Piku is a PaaS (Platform as a Service) that allows you to deploy applications to your own servers with a simple `git push`. | ||
It is inspired in Dokku, an open source PaaS alternative to Heroku. | ||
Piku shines in being a lightweight tool, that tries to simplify the deployment of services. | ||
It supports deployment in ARM and x86 architectures and can be ran in low end devices. | ||
|
||
The tutorial will consist in the deployment of a simple web application using Piku. | ||
Then, we will test its capability of changing some parameters through environment variables. | ||
Finally, we will extend its functionality through the use of plugins. | ||
|
||
The tutorial is hosted at [KillerCoda](https://killercoda.com/pesteves2002/scenario/tutorial), | ||
and its source code can be found at [GitHub](https://github.com/speedrunners-ist/devops-tutorial). | ||
|
||
**Relevance** | ||
|
||
This tutorial allows the user to explore alternatives to known tools/services such as Heroku. | ||
It maintains the most relevant features, while being free and open source. |
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
31 changes: 31 additions & 0 deletions
31
contributions/executable-tutorial/eggestig-daniellw/README.md
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,31 @@ | ||
# Assignment Proposal | ||
|
||
## Title | ||
|
||
Creating a Robust Gatsby Web Service with Automated Testing and Deployment on GitHub | ||
|
||
## Names and KTH ID | ||
|
||
- Robin Eggestig ([email protected]) | ||
- Daniel Lai Wikström ([email protected]) | ||
|
||
## Deadline | ||
|
||
- Task 3 | ||
|
||
## Category | ||
- Executable tutorial | ||
|
||
## Description | ||
|
||
This comprehensive hands-on tutorial provides detailed, step-by-step instructions for setting up a Gatsby application, integrating automated testing, and deploying it using GitHub Actions and GitHub Pages. Discover how to harness Gatsby’s powerful capabilities for fast data fetching and static site generation, leading to a fully functional web service hosted on GitHub Pages, complete with automated tests to ensure reliability and performance. | ||
|
||
The tutorial also covers the integration of automated unit and integration tests, the configuration of CI/CD workflows using GitHub Actions, and managing version control with Git. We plan to use personal access token (PAT) with permissions for a new repository for full hands on learning. Designed for developers of all skill levels, this tutorial empowers participants to gain practical experience with Gatsby and modern deployment strategies. | ||
|
||
**Relevance** | ||
In today’s fast-paced software development landscape, the demand for efficient and reliable web applications is higher than ever. This tutorial is particularly relevant as it provides an executable format that helps developers learn about Gatsby and GitHub Actions while equipping them with essential skills for implementing automated testing and deployment. | ||
|
||
As organizations increasingly adopt DevOps practices and agile methodologies, the ability to quickly create and deploy robust web services becomes essential. This practical resource effectively bridges the gap between theory and practice, empowering participants to adopt modern development practices in their own projects. | ||
|
||
The tutorial can be found here: https://killercoda.com/daniellw/scenario/gatsby-tutorial | ||
Github for tutorial: https://github.com/dannolaius/coda-tutorial |
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
Oops, something went wrong.