<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"><rdf:Description rdf:about="https://repozitorij.uni-lj.si/IzpisGradiva.php?id=183830"><dc:title>Automated and secure application deployment using GitOps and Kubernetes</dc:title><dc:creator>Keserović,	Džana	(Avtor)
	</dc:creator><dc:creator>Sedlar,	Urban	(Mentor)
	</dc:creator><dc:subject>Kubernetes</dc:subject><dc:subject>GitOps</dc:subject><dc:subject>Argo CD</dc:subject><dc:subject>Helm</dc:subject><dc:subject>CI/CD</dc:subject><dc:subject>security scanning</dc:subject><dc:subject>containerization</dc:subject><dc:subject>DevOps</dc:subject><dc:description>Deploying containerized applications to Kubernetes typically requires a lot of
manual work. Teams write scripts, run commands by hand, and are uncertain
whether the cluster matches their configuration. Security checks are often treated
as a separate step or skipped entirely, which means vulnerabilities in code, dependencies, or Kubernetes manifests can reach production unnoticed.
This thesis presents a fully automated deployment pipeline that combines
GitOps with integrated security scanning. The desired state of the system is
stored in git, and Argo CD, running inside the cluster, continuously keeps the
cluster in sync with it. The application, a blog CMS built with React, Node.js,
and PostgreSQL, is packaged as a Helm chart. A CI/CD pipeline in GitHub
Actions runs three security checks before every deployment: SonarQube for static
code analysis, Snyk for dependency vulnerability scanning, and KubeLinter for
Kubernetes configuration validation. Only after all checks pass does the pipeline
build the Docker images, push them to the registry, and update the Helm chart.
Argo CD then detects the change and rolls it out automatically. The cluster also
uses Keycloak and Rancher for centralized authentication and role-based access
control.
The result is a system where every deployment is triggered by a git commit,
every version is traceable, and nothing reaches the cluster without passing security
checks first.</dc:description><dc:publisher>D. Keserović</dc:publisher><dc:date>2026</dc:date><dc:date>2026-06-19 12:05:38</dc:date><dc:type>Magistrsko delo/naloga</dc:type><dc:identifier>183830</dc:identifier><dc:language>sl</dc:language></rdf:Description></rdf:RDF>
