{"id":20703834,"url":"https://github.com/euiyounghwang/es-config-interface","last_synced_at":"2026-04-19T03:04:24.965Z","repository":{"id":244311421,"uuid":"814870416","full_name":"euiyounghwang/es-config-interface","owner":"euiyounghwang","description":"es-config-interface","archived":false,"fork":false,"pushed_at":"2026-04-16T21:48:53.000Z","size":2555,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-16T23:29:15.233Z","etag":null,"topics":["configuration","fastapi","grafana-loki-client","h2-database","prometheus","prometheus-client","prometheus-exporter","python3","requests","ssl-certificates"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/euiyounghwang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-06-13T22:12:51.000Z","updated_at":"2026-04-16T21:48:44.000Z","dependencies_parsed_at":"2025-01-17T19:54:22.028Z","dependency_job_id":"0f3b752f-25cc-4056-b1fa-3c11bc7f213d","html_url":"https://github.com/euiyounghwang/es-config-interface","commit_stats":null,"previous_names":["euiyounghwang/es-config-interface"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/euiyounghwang/es-config-interface","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euiyounghwang%2Fes-config-interface","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euiyounghwang%2Fes-config-interface/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euiyounghwang%2Fes-config-interface/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euiyounghwang%2Fes-config-interface/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/euiyounghwang","download_url":"https://codeload.github.com/euiyounghwang/es-config-interface/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/euiyounghwang%2Fes-config-interface/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31992822,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"online","status_checked_at":"2026-04-19T02:00:07.110Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["configuration","fastapi","grafana-loki-client","h2-database","prometheus","prometheus-client","prometheus-exporter","python3","requests","ssl-certificates"],"created_at":"2024-11-17T01:09:44.355Z","updated_at":"2026-04-19T03:04:24.947Z","avatar_url":"https://github.com/euiyounghwang.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# es-config-interface\n\u003ci\u003ees-config-interface\n\nFastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.8+ based on standard Python.\nThis is a repository that provides to deliver the records to the Prometheus-Export application.\n\nES Configuration for Prometheus(https://github.com/euiyounghwang/prometheus-export) to send an email or other things\n\n\n### Install Poerty\n```\nhttps://python-poetry.org/docs/?ref=dylancastillo.co#installing-with-the-official-installer\n```\n\n\n### Using Python Virtual Environment\n```bash\npython -m venv .venv\nsource .venv/bin/activate\n```\n\n\n#### Python V3.9 Install\n```bash\nsudo yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel git \nwget https://www.python.org/ftp/python/3.9.0/Python-3.9.0.tgz \ntar –zxvf Python-3.9.0.tgz or tar -xvf Python-3.9.0.tgz \ncd Python-3.9.0 \n./configure --libdir=/usr/lib64 \nsudo make \nsudo make altinstall \n\n# python3 -m venv .venv --without-pip\nsudo yum install python3-pip\n\nsudo ln -s /usr/lib64/python3.9/lib-dynload/ /usr/local/lib/python3.9/lib-dynload\n\npython3 -m venv .venv\nsource .venv/bin/activate\n\n# pip install -r ./dev-requirement.txt\npip install prometheus-client\npip install requests\npip install JPype1\npip install psycopg2-binary\npip install jaydebeapi\npip install pytz\npip install httpx\n\n# when error occur like this\n# ImportError: urllib3 v2 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips  26 Jan 2017'. See: https://github.com/urllib3/urllib3/issues/2168\npip install urllib3==1.26.18\npip install pytz\n```\n\n\n### Using Poetry: Create the virtual environment in the same directory as the project and install the dependencies:\n```bash\n\n# gunicorn WSGI with async uvicorn\n# https://chaechae.life/blog/fastapi-deployment-gunicorn\n\npython -m venv .venv\nsource .venv/bin/activate\npip install poetry\n\n# --\npoetry config virtualenvs.in-project true\npoetry init\npoetry add fastapi\npoetry add uvicorn\npoetry add pytz\npoetry add httpx\npoetry add requests\n...\n\n# start with gunicorn config\ngunicorn.config.py\n\nimport multiprocessing\n \nworkers = multiprocessing.cpu_count() * 2 + 1\nworker_class = \"uvicorn.workers.UvicornWorker\"\nwsgi_app = \"app.main:app\"\ntimeout = 60\nloglevel = \"info\"\nbind = \"0.0.0.0:8000\"\nmax_requests = 1000\nmax_requests_jitter = 100\n\n...\ngunicorn -c app/gunicorn.config.py\n\ngunicorn -k uvicorn.workers.UvicornWorker main:app --bind 0.0.0.0:8004 --workers 4\n\n..\nuvicorn app.main:app --reload for dev\n\n```\nor you can run this shell script `./create_virtual_env.sh` to make an environment. then go to virtual enviroment using `source .venv/bin/activate`\n\n\n### Register Service\n- sudo service es_config_interface_api status/stop/start/restart\n```bash\n#-- /etc/systemd/system/es_config_interface_api.service\n[Unit]\nDescription=ES Config Interface Service\n\n[Service]\nUser=devuser\nGroup=devuser\nType=simple\nExecStart=/bin/bash /home/devuser/es_config_interface/service-start.sh\nExecStop= /usr/bin/killall /es_config_interface_interface_api\n\n[Install]\nWantedBy=default.target\n\n\n# Service command\nsudo systemctl daemon-reload \nsudo systemctl enable es_config_interface_api.service\nsudo systemctl start es_config_interface_api.service \nsudo systemctl status es_config_interface_api.service \nsudo systemctl stop es_config_interface_api.service \n\nsudo service es_config_interface_api status/stop/start\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feuiyounghwang%2Fes-config-interface","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feuiyounghwang%2Fes-config-interface","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feuiyounghwang%2Fes-config-interface/lists"}