监控域名的SSL证书是否即将过期,如果在指定时间(默认30天内,包括30天)SSL证书即将过期,那么就发送告警通知(支持邮件、钉钉等多种通知方式,支持同时开启多种告警通知或者选择任意一种通知方式接收告警)。
- 将你需要监控的证书域名按照
config/all.yaml
文件中的格式进行填写; - 每个环境变量都有对应的默认配置文件的值,配置文件在
utils/settings.py
文件中(需要改成你自己的默认配置); - 配置文件默认会读取环境变量设置的值。如果不设置环境变量,则环境变量的值就用该文件中设置的默认值;
APP_ENV
环境变量分为prod
(生产环境)和dev
(开发环境),如果不设置该环境变量,则默认为dev
环境。dev
环境下更改代码后会自动触发重载配置。- 项目中
utils/alert.py
模块支持邮件、钉钉、企业微信三种告警方式,使用示例在test/alert_test.py
中。因为特殊原因,本项目的邮件告警暂时没有使用该模块,而是使用了send_email.py
模块。
- APP_PORT: 应用侦听的端口,建议设置为 8080
- APP_HOST: 应用侦听的主机地址,建议设置为 0.0.0.0
- APP_ENV: 应用启动的模式,dev(开发环境)或者prod(生产环境). 默认使用
dev
环境 - APP_LOG_LEVEL: 表示设置日志级别,默认
INFO
级别 - SSL_EXPIRE_DAYS: 表示你想要设置的证书过期前几天发送告警信息,默认30天
以上环境变量在 utils/settings.py
中均设置了默认参数,该配置中也是以这些环境变量的值为优先,获取不到环境变量才会使用该文件中设置的默认值
sh build_docker.sh
# 启动服务
docker-compose up -d
# 停止服务
docker-compose down -v
- 每个公司都不太一样,我这边使用
helm
渲染chart
包的方式部署.我会预定义我需要的配置在项目根目录下的helm-values.yaml
文件中,渲染chart
包之前会将helm-values.yaml
文件中的信息合并到chart
包中的values.yaml
文件在进行发布.整个过程只需要你更改项目代码后,push
或者merge
即可实现GitLab CI/CD
,发布到Kubernetes
集群之上。 - 注意: 如果你的
CI/CD
方式和我的不一样,请不要用这种方式来进行部署服务.或者换成你自己的发布方式进行服务发布.
https://apscheduler.readthedocs.io/en/3.x/modules/triggers/interval.html