Skip to content

seneka-DSNA/JourneyDevops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Journey DevOps — Generador de entornos personalizados en AWS

¡Hola! Este es mi primer proyecto desarrollado completamente por mí
(Bueno… quizás con la ayuda de una herramienta bastante útil de OpenAI).

Soy un estudiante de IT completamente obsesionado con este vasto océano de conocimiento y avance tecnológico.
Mi objetivo es formar parte del gran puzzle digital que está construyendo el futuro.
Este proyecto representa mi punto de partida: un espacio donde he invertido todo lo que sé, y donde he aprendido muchísimo más en el proceso.


Estado actual del proyecto

Journey DevOps es un entorno funcional (aunque aún en desarrollo) que combina Docker, Flask, Terraform y AWS para generar entornos personalizados y automatizados en la nube.
El proyecto no está finalizado, pero su estructura ya es completamente replicable, modular y ampliable, lo que permite a cualquier profesional agregar nuevas funcionalidades con facilidad.

Además, incluye un directorio ~/DOCUMENTACION/ con una guía detallada de todos los módulos y su funcionamiento interno.
Cada componente está documentado de forma técnica y estructurada, siguiendo buenas prácticas DevOps.


¿Qué hace exactamente?

A día de hoy (1/11/2025), el proyecto es capaz de:

  • Dockerizar una base de datos, un servidor web, dos workers con Terraform y un backend con Gunicorn + Flask.
  • Integrar dos aplicaciones gráficas (GUI) desarrolladas en Python:
  • Una para gestionar información en la base de datos (departamentos, usuarios, credenciales, herramientas, etc.).
  • Otra que envía un JSON al servidor web con los datos introducidos desde la interfaz.
  • El servidor web recibe ese JSON, valida las credenciales contra la base de datos y, si todo es correcto, genera automáticamente un archivo .tfvars.
  • Los workers de Terraform detectan ese archivo y lo utilizan para crear entornos personalizados en AWS, según los datos definidos en la base de datos.

En pocas palabras:

Journey DevOps es un generador automatizado de entornos en AWS, basado en datos y orquestado por contenedores Docker.


Tecnologías principales

Capa Tecnología
Contenedores Docker & Docker Compose
Backend Flask + Gunicorn
Infraestructura Terraform + AWS
Base de datos PostgreSQL 15
Orquestación Python Workers (Executor & Scheduler)
Interfaz gráfica Tkinter
Documentación Markdown estructurado (guías modulares)

Seguridad (en desarrollo)

Aunque actualmente las medidas de seguridad están en fase de diseño, estos son algunos de los objetivos que compondra el desarrollo:

  • Cifrado de contraseñas con bcrypt.
  • Aislamiento de red mediante onboard_net en Docker.
  • Acceso restringido a la base de datos.
  • Variables sensibles gestionadas mediante .env (no versionado).
  • Roles IAM de mínimo privilegio para AWS.

Más detalles en DOCUMENTACION/06_Security.md.


Filosofía del proyecto

Este proyecto no está terminado a propósito.
Su estado actual representa una muestra mínima de mis capacidades y una etapa de aprendizaje consciente.
Como estudiante, carezco todavía de experiencia en entornos corporativos reales, por lo que desconozco si este tipo de solución encaja exactamente en un contexto profesional.

Pero lo que sí tengo claro es que:

Cada línea de código de este proyecto representa horas de estudio, curiosidad, errores, correcciones y pasión.

No busco presentar un sistema perfecto, sino un proyecto que muestre lo que sé, cómo pienso y hasta dónde puedo llegar con las herramientas que tengo.


Próximos pasos

Mi objetivo es continuar el desarrollo para que el sistema pueda:

  • Crear entornos completos por usuario con instancias virtuales dedicadas.
  • Conectarse con GitHub Enterprise Server para la gestión automática de repositorios y pipelines.
  • Integrar una interfaz administrativa más avanzada.
  • Implementar nuevas capas de seguridad, auditoría y monitorización.

Conclusión

Journey DevOps es mucho más que un proyecto:
es el reflejo de mis primeros pasos en este mundo.
Representa mi curiosidad, mis ganas de aprender y mi compromiso por seguir creciendo como profesional de IT y DevOps.

Gracias por leer hasta aquí
Espero que disfrutes explorando el código tanto como yo disfruté creándolo.

“The best way to predict the future is to build it.”
— Alan Kay

  • La idea de este proyecto nace por la lectura de la novela: The Phoenix Project — Gene Kim

Journey DevOps — Custom Environment Generator on AWS

Hello!
This is my first project developed entirely by myself
(Well… maybe with a little help from a very useful OpenAI tool).

I’m an IT student completely obsessed with this vast ocean of knowledge and technological progress.
My goal is to become part of the great digital puzzle that’s shaping the future.
This project represents my starting point — a space where I’ve invested everything I know and where I’ve learned even more throughout the process.


Current Project Status

Journey DevOps is a functional (though still in development) environment that combines Docker, Flask, Terraform, and AWS to generate custom, automated environments in the cloud.
The project isn’t finished yet, but its structure is already fully replicable, modular, and extensible, allowing any professional to easily add new functionalities.

It also includes a ~/DOCUMENTATION/ directory containing a detailed guide for all modules and their internal operation.
Each component is technically and structurally documented following DevOps best practices.


What does it actually do?

As of November 1, 2025, the project can:

  • Containerize a database, a web server, two Terraform workers, and a Gunicorn + Flask backend.
  • Integrate two graphical (GUI) applications developed in Python:
    • One for managing information in the database (departments, users, credentials, tools, etc.).
    • Another that sends a JSON to the web server with the data entered from the interface.
  • The web server receives that JSON, validates the credentials against the database, and if everything is correct, automatically generates a .tfvars file.
  • The Terraform workers detect that file and use it to create custom environments on AWS, according to the data defined in the database.

In short:

Journey DevOps is an automated AWS environment generator, data-driven and orchestrated through Docker containers.


Core Technologies

Layer Technology
Containers Docker & Docker Compose
Backend Flask + Gunicorn
Infrastructure Terraform + AWS
Database PostgreSQL 15
Orchestration Python Workers (Executor & Scheduler)
Graphical Interface Tkinter
Documentation Structured Markdown (modular guides)

Security (in progress)

Although security measures are still in the design phase, these are some of the goals planned for development:

  • Password encryption with bcrypt.
  • Network isolation using onboard_net in Docker.
  • Restricted database access.
  • Sensitive variables managed through non-versioned .env files.
  • IAM roles with least-privilege principles for AWS.

More details can be found in DOCUMENTATION/06_Security.md.


Project Philosophy

This project is intentionally unfinished.
Its current state represents a minimal working showcase of my capabilities and a conscious learning stage.
As a student, I still lack experience in real corporate environments, so I don’t know if this type of solution fits perfectly into a professional context.

But what I do know is this:

Every single line of code in this project represents hours of study, curiosity, mistakes, corrections, and passion.

I’m not trying to present a perfect system, but rather a project that shows what I know, how I think, and how far I can go with the tools I currently have.


Next Steps

My goal is to continue developing the system so that it can:

  • Create fully dedicated user environments with individual virtual instances.
  • Integrate with GitHub Enterprise Server for automated repository and pipeline management.
  • Include a more advanced administrative interface.
  • Implement new layers of security, auditing, and monitoring.

Conclusion

Journey DevOps is much more than just a project —
it’s the reflection of my first steps in this field.
It represents my curiosity, my desire to learn, and my commitment to keep growing as an IT and DevOps professional.

Thank you for reading this far.
I hope you enjoy exploring the code as much as I enjoyed creating it.

“The best way to predict the future is to build it.”
— Alan Kay

*The idea for this project was born from reading the novel: The Phoenix Project — Gene Kim

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages