Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pavangudiwada/gallery-app
A simple Python application to improve Python and Cloud Native skills
https://github.com/pavangudiwada/gallery-app
Last synced: 20 days ago
JSON representation
A simple Python application to improve Python and Cloud Native skills
- Host: GitHub
- URL: https://github.com/pavangudiwada/gallery-app
- Owner: pavangudiwada
- License: mit
- Created: 2023-11-20T16:36:14.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-23T07:12:05.000Z (about 1 year ago)
- Last Synced: 2024-11-08T11:56:57.979Z (2 months ago)
- Language: Python
- Homepage:
- Size: 12.9 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Gallery App
![App image](docs_images/appdemo.png)
## What is it?
This is a simple demo app built using Streamlit a Python library. The purpose of this app is to practice Python and also implement Cloud Native tools.## Instructions
Follow these steps to build and deploy the application on your own Kubernetes cluster
### Clone the repository
Run
`git clone https://github.com/pavangudiwada/gallery-app.git`### Build and deploy
The process is automated using a tool called Skaffold.Run `skaffold run`. Skaffold builds the containers using Docker and deploys it to the Kubernetes cluster connected to your system.
### Access the application
Run `kubectl get nodes -o wide` to get the IP address of your node.Then go to `http://Node_IP:3007` to access the application.
## WIP 🏗️
## Tools Used
- Git
- Pyenv, virtualenv
- Python
- Streamlit
- Logging
- OS
- prometheus-client
- Poetry
- Skaffold
- Docker
- Kubernetes## Git
- git init to initialize the project
- git add filename to add the file
- git commit -m "Message" to commit the added file.## Pyenv & Virtualenv
- pyenv is used to create a virtual environment for local testing. It uses Python 3.11.5
- virtualenv was used to create a virtual environment based on Python 3.11.5## Python
- Python version 3.11.5 is used with
1. Steamlit - A module to create webapplications without having to worry about HTML, CSS and JS
2. OS - To get file paths
3. Logging - To log things happening with the application
4. Prometheus Client - Used to expose application metrics for Prometheus over /metrics/ endpoint.## Poetry
- It's like pip, used to manage dependencies and packages.## Skaffold
- Used to simplify building and deploying during developement.## Docker
- Building and deploying application as containers## Kubernetes
- Deploying containers and for container orchestration