hufstory / mirror-hufs Goto Github PK
View Code? Open in Web Editor NEWHUFS package mirror server
HUFS package mirror server
Is your feature request related to a problem? Please describe.
Raspbian 패키지 사용을 위한 패키지 서버를 구축한다
Describe the solution you'd like
file directory 서버 + rsync을 이용해서 원 패키지서버에서 업데이트 반영
Describe alternatives you've considered
Additional context
rsync 실행 스케쥴러는 cronjob혹은 타 도구(apache airflow?) 사용
Is your feature request related to a problem? Please describe.
웹 대쉬보드에서 패키지를 선택하였을때 다운로드 현황 그래프를 제공받는다
Describe the solution you'd like
패키지서버에서 log를 생성하고 FileBeat가 해당 Log를 읽어들여 Kafka에 전달 뒤, logstash -> ElasticSearch에 로그를 수집한다
그리고 ElasticSearch와 연결된 Kibana에서 그래프를 생성한다
Describe alternatives you've considered
Additional context
Kibana의 embedded board를 웹에서 사용하여 그래프를 나타낸다
Is your feature request related to a problem? Please describe.
docker-compose를 프로덕션용 파일과 개발테스트용으로 분리합니다
Describe the solution you'd like
override 방식 실행 (docker-compose -f docker-compose.yml -f docker-compose.test.yml up
, docker-compose -f docker-compose.yml -f docker-compose.prod.yml up
)
Describe alternatives you've considered
개별적인 형태의 docker-compose-test.yml
, docker-compose-prod.yml
Additional context
Is your feature request related to a problem? Please describe.
모든 패키지는 원서버의 업데이트 된 내용에 대해 싱크를 맞출 수 있어야 한다
Describe the solution you'd like
각 패키지서버마다 cronjob을 통해 싱크를 맞춘다
Describe alternatives you've considered
Additional context
Is your feature request related to a problem? Please describe.
응답속도와 사용국가를 모니터링 하기 위한 패킷 모니터링 도구를 세팅한다
Describe the solution you'd like
PacketBeat를 사용해 패키지어플리케이션 서버
Describe alternatives you've considered
Additional context
packetbeat 구성방법
Is your feature request related to a problem? Please describe.
패키지 어플리케이션 서버별 리소스 모니터링 도구를 세팅한다
Describe the solution you'd like
MetricBeat를 이용해 패키지 서버별 CPU등의 리소스 사용량을 체크
Describe alternatives you've considered
Elastic APM을 통해 연결한다
Additional context
Dockerize 환경으로 구성한다
Is your feature request related to a problem? Please describe.
패키지 어플리케이션 서버에서 발생하는 로그을 담기 위해 로그수집 환경을 구축한다
Describe the solution you'd like
패키지 어플리케이션 서버에서 발생할 log를 FileStream이 받아가서 지정된 Kafka 토픽에 전송하도록 작업한다
FileStream - Kafka - Logstash(Indexer) - ElasticSearch로 두며
Kibana를 통해 로그 시각화 도구를 제공할 것
Describe alternatives you've considered
Additional context
FileStream은 패키지 어플리케이션서버에서 생성되는 로그를 수집해야하므로 해당 로그가 있는 볼륨에 접근할 수 있어야 함
(1패키지 1FileStream 등 고려해야)
Filebeat to Kafka 설치/설정하기
Is your feature request related to a problem? Please describe.
Ubuntu apt패키지 사용을 위해 APT용 패키지 서버를 구축한다
Describe the solution you'd like
apt-mirror를 docker 환경으로 구축한다
Describe alternatives you've considered
Additional context
apt-mirror실행 시, 다운로드되는 패키지 용량이 크기 때문에 mirror.list 파일에 mockup용으로 사용할 fake 서버를 두어야 한다
Is your feature request related to a problem? Please describe.
Python package 사용을 위해 pypi 패키지 서버를 구축한다
Describe the solution you'd like
dev-pi를 docker 환경으로 구축한다
Describe alternatives you've considered
Additional context
개발 모드에선 모든 패키지가 아닌, 테스트환경에 무리없는 규모의 패키지만 제공해야 한다
Is your feature request related to a problem? Please describe.
패키지를 다운 받을 수 있는지 웹 대시보드에 나타내야 한다
Describe the solution you'd like
ELK Hearthbeat embedded를 통해 웹에 그래프 제공
Describe alternatives you've considered
패키지미러 서버에 health check 엔드포인트를 두어 내부 통신을 통해 웹 서버에서 주기적으로 상태를 확인한다
Additional context
#15
Is your feature request related to a problem? Please describe.
사용자가 동일한 도메인에 대해서 URI path에 따라 패키지를 달리 받는다
Describe the solution you'd like
Nginx의 reverse proxy를 통해 해당하는 패키지서버의 내부ip:port에 연결한다
Describe alternatives you've considered
어플리케이션 서버 Controller에서 url mapping을 이용해 구분 한다
Additional context
hufstory.org/ubuntu
는 ubuntu apt 패키지서버에 연결,
hufstory.org/pypi
는 pypi 패키지서버에 연결하여 사용자에게 패키지를 제공한다
Is your feature request related to a problem? Please describe.
APT패키지 서버에서의 로그가 발생하도록 생성한다
Describe the solution you'd like
filebeat에서 log를 가져가기 위해 로깅 라이브러리를 이용해 log파일이 생성되게 한다
Describe alternatives you've considered
Additional context
Python에서 로그를 남기고 Filebeat로 가져가는 것에 대한 문서
Is your feature request related to a problem? Please describe.
pypi패키지 서버에서의 로그가 발생하도록 생성한다
Describe the solution you'd like
filebeat에서 log를 가져가기 위해 로깅 라이브러리를 이용해 log파일이 생성되게 한다
Describe alternatives you've considered
Additional context
Python에서 로그를 남기고 Filebeat로 가져가는 것에 대한 문서
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.