diff --git a/helm/producer-rss/templates/all-jobs-schedule.txt b/helm/producer-rss/templates/all-jobs-schedule.txt index 7721c3e..8050f82 100644 --- a/helm/producer-rss/templates/all-jobs-schedule.txt +++ b/helm/producer-rss/templates/all-jobs-schedule.txt @@ -1,43 +1,47 @@ -0 7 * * * arxiv-org-astro-ph -1 7 * * * arxiv-org-cs -2/29 * * * * cnn-com -3 * * * * cointelegraph -4 8 * * * elementy -5/12 * * * * forbes -6/15 * * * * gizmodo -7 19 * * * habr-com-en -7/13 * * * * habr-com-ru -19/19 * * * * hn-org -8 12 * * * isac-uchicago-edu -9 * * * * jedinews -11/11 * * * * lenta-ru -10/15 * * * * mashable -12 10 * * * nature-com-chem -18 10 * * * nature-com-geo -10 10 * * * nature-com-phys -19 * * * * nplus1-ru -20/15 * * * * rt-com -21 13 * * * scified-com -23/23 * * * * techcrunch-com -27 11 * * * wildhunt-org -24/15 * * * * wired-com -13/23 * * * * wsj-com-business -14/23 * * * * wsj-com-markets -15/23 * * * * wsj-com-opinion -16/23 * * * * wsj-com-tech -17/23 * * * * wsj-com-world -26 * * * * yle-fi -25/20 * * * * youtube-com-popular -29/19 * * * * https://www.engineering.com/jobs/rss/ -30 0/12 * * * https://phys.org/rss-feed/journals/astrophysical-journal/ -31 * * * * https://www.linuxtoday.com/feed/ -22 0/12 * * * https://www.planetary.org/rss/articles -32 * * * * https://www.youtube.com/feeds/videos.xml?channel_id=UCq-Fj5jknLsUf-MWSy4_brA -33 6 * * * https://www.youtube.com/feeds/videos.xml?channel_id=UCbCmjCuTUZos6Inko4u57UQ -4/15 * * * * https://www.youtube.com/feeds/videos.xml?channel_id=UCpEhnqL0y41EpW2TvWAHD7Q -34 5 * * * https://www.youtube.com/feeds/videos.xml?channel_id=UC5A-Wp9ujcr5g9sYagAafEA -5 * * * * https://www.youtube.com/feeds/videos.xml?channel_id=UC295-Dw_tDNtZXFeAPAW6Aw -35 * * * * https://www.nytimes.com/wirecutter/feed/ -0/14 * * * * https://www.ft.com/world?format=rss -1/16 * * * * https://www.ft.com/financials?format=rss -37 * * * * https://www.ft.com/emerging-markets?format=rss +0 7 * * * arxiv-org-astro-ph +1 7 * * * arxiv-org-cs +2/29 * * * * cnn-com +3 * * * * cointelegraph +4 8 * * * elementy +5/12 * * * * forbes +6/15 * * * * gizmodo +7 19 * * * habr-com-en +7/13 * * * * habr-com-ru +19/19 * * * * hn-org +8 12 * * * isac-uchicago-edu +9 * * * * jedinews +11/11 * * * * lenta-ru +10/15 * * * * mashable +12 10 * * * nature-com-chem +18 10 * * * nature-com-geo +10 10 * * * nature-com-phys +19 * * * * nplus1-ru +28/15 * * * * rt-com +21 13 * * * scified-com +23/23 * * * * techcrunch-com +27 11 * * * wildhunt-org +24/15 * * * * wired-com +13/23 * * * * wsj-com-business +14/23 * * * * wsj-com-markets +15/23 * * * * wsj-com-opinion +16/23 * * * * wsj-com-tech +17/23 * * * * wsj-com-world +26 * * * * yle-fi +25/20 * * * * youtube-com-popular +29/19 * * * * https://www.engineering.com/jobs/rss/ +30 0/12 * * * https://phys.org/rss-feed/journals/astrophysical-journal/ +31 * * * * https://www.linuxtoday.com/feed/ +22 0/12 * * * https://www.planetary.org/rss/articles +32 * * * * https://www.youtube.com/feeds/videos.xml?channel_id=UCq-Fj5jknLsUf-MWSy4_brA +33 6 * * * https://www.youtube.com/feeds/videos.xml?channel_id=UCbCmjCuTUZos6Inko4u57UQ +4/15 * * * * https://www.youtube.com/feeds/videos.xml?channel_id=UCpEhnqL0y41EpW2TvWAHD7Q +34 5 * * * https://www.youtube.com/feeds/videos.xml?channel_id=UC5A-Wp9ujcr5g9sYagAafEA +5 * * * * https://www.youtube.com/feeds/videos.xml?channel_id=UC295-Dw_tDNtZXFeAPAW6Aw +35 * * * * https://www.nytimes.com/wirecutter/feed/ +0/14 * * * * https://www.ft.com/world?format=rss +1/16 * * * * https://www.ft.com/financials?format=rss +37 * * * * https://www.ft.com/emerging-markets?format=rss +4/23 * * * * https://www.fontanka.ru/fontanka.rss +42 0 * * * https://kubernetes.io/feed.xml +43 0 * * * https://github.com/helm/helm/releases.atom +47 0 * * * https://github.com/fluxcd/flux2/releases.atom diff --git a/helm/producer-rss/templates/cronjob-fluxcd-flux2-releases.yaml b/helm/producer-rss/templates/cronjob-fluxcd-flux2-releases.yaml new file mode 100644 index 0000000..4ab3fc2 --- /dev/null +++ b/helm/producer-rss/templates/cronjob-fluxcd-flux2-releases.yaml @@ -0,0 +1,92 @@ +apiVersion: batch/v1 +kind: CronJob +metadata: + labels: + app: "producer-rss" + name: "{{ include "producerRss.fullname" . }}-fluxcd-flux2-releases" +spec: + schedule: "47 0 * * *" + jobTemplate: + spec: + template: + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 12 }} + {{- end }} + containers: + - name: "{{ include "producerRss.fullname" . }}-fluxcd-flux2-releases" + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: "{{ .Values.image.pullPolicy }}" + env: + - name: API_WRITER_BACKOFF + value: "{{ .Values.api.writer.backoff }}" + - name: API_WRITER_URI + value: "{{ .Values.api.writer.uri }}" + - name: DB_URI + value: "{{ .Values.db.protocol }}://{{ .Values.db.hostname }}/?retryWrites=true&w=majority" + - name: DB_NAME + value: {{ .Values.db.name }} + - name: DB_USERNAME + value: {{ .Values.db.username }} + {{- if .Values.db.password.secret.enabled }} + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: "{{ .Values.db.password.secret.name }}" + key: "{{ .Values.db.password.secret.key }}" + {{- else }} + - name: DB_PASSWORD + value: "{{ .Values.db.password.raw }}" + {{- end }} + - name: DB_TABLE_NAME + value: {{ .Values.db.table.name }} + - name: DB_TLS_ENABLED + value: "{{ .Values.db.tls.enabled }}" + - name: DB_TLS_INSECURE + value: "{{ .Values.db.tls.insecure }}" + - name: LOG_LEVEL + value: "{{ .Values.log.level }}" + - name: FEED_URL + value: "https://github.com/fluxcd/flux2/releases.atom" + - name: FEED_TLS_SKIP_VERIFY + value: "{{ .Values.feed.tls.skipVerify }}" + - name: FEED_UPDATE_INTERVAL_MIN + value: "{{ .Values.feed.updateInterval.min }}" + - name: FEED_UPDATE_INTERVAL_MAX + value: "{{ .Values.feed.updateInterval.max }}" + - name: FEED_UPDATE_TIMEOUT + value: "{{ .Values.feed.updateTimeout }}" + - name: FEED_USER_AGENT + value: "{{ .Values.feed.userAgent }}" + - name: MSG_MD_KEY_FEED_CATEGORIES + value: "{{ .Values.message.metadata.key.feedCategories }}" + - name: MSG_MD_KEY_FEED_DESCRIPTION + value: "{{ .Values.message.metadata.key.feedDescription }}" + - name: MSG_MD_KEY_FEED_IMAGE_TITLE + value: "{{ .Values.message.metadata.key.feedImageTitle }}" + - name: MSG_MD_KEY_FEED_IMAGE_URL + value: "{{ .Values.message.metadata.key.feedImageUrl }}" + - name: MSG_MD_KEY_FEED_TITLE + value: "{{ .Values.message.metadata.key.feedTitle }}" + - name: MSG_MD_KEY_AUTHOR + value: "{{ .Values.message.metadata.key.author }}" + - name: MSG_MD_KEY_CATEGORIES + value: "{{ .Values.message.metadata.key.categories }}" + - name: MSG_MD_KEY_GUID + value: "{{ .Values.message.metadata.key.guid }}" + - name: MSG_MD_KEY_IMAGE_TITLE + value: "{{ .Values.message.metadata.key.imageTitle }}" + - name: MSG_MD_KEY_IMAGE_URL + value: "{{ .Values.message.metadata.key.imageUrl }}" + - name: MSG_MD_KEY_LANGUAGE + value: "{{ .Values.message.metadata.key.language }}" + - name: MSG_MD_KEY_SUMMARY + value: "{{ .Values.message.metadata.key.summary }}" + - name: MSG_MD_KEY_TITLE + value: "{{ .Values.message.metadata.key.title }}" + - name: MSG_MD_SPEC_VERSION + value: "{{ .Values.message.metadata.specVersion }}" + - name: MSG_CONTENT_TYPE + value: "{{ .Values.message.content.type }}" + restartPolicy: OnFailure diff --git a/helm/producer-rss/templates/cronjob-fontanka-ru.yaml b/helm/producer-rss/templates/cronjob-fontanka-ru.yaml new file mode 100644 index 0000000..dcef3ae --- /dev/null +++ b/helm/producer-rss/templates/cronjob-fontanka-ru.yaml @@ -0,0 +1,92 @@ +apiVersion: batch/v1 +kind: CronJob +metadata: + labels: + app: "producer-rss" + name: "{{ include "producerRss.fullname" . }}-fontanka-ru" +spec: + schedule: "4/23 * * * *" + jobTemplate: + spec: + template: + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 12 }} + {{- end }} + containers: + - name: "{{ include "producerRss.fullname" . }}-fontanka-ru" + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: "{{ .Values.image.pullPolicy }}" + env: + - name: API_WRITER_BACKOFF + value: "{{ .Values.api.writer.backoff }}" + - name: API_WRITER_URI + value: "{{ .Values.api.writer.uri }}" + - name: DB_URI + value: "{{ .Values.db.protocol }}://{{ .Values.db.hostname }}/?retryWrites=true&w=majority" + - name: DB_NAME + value: {{ .Values.db.name }} + - name: DB_USERNAME + value: {{ .Values.db.username }} + {{- if .Values.db.password.secret.enabled }} + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: "{{ .Values.db.password.secret.name }}" + key: "{{ .Values.db.password.secret.key }}" + {{- else }} + - name: DB_PASSWORD + value: "{{ .Values.db.password.raw }}" + {{- end }} + - name: DB_TABLE_NAME + value: {{ .Values.db.table.name }} + - name: DB_TLS_ENABLED + value: "{{ .Values.db.tls.enabled }}" + - name: DB_TLS_INSECURE + value: "{{ .Values.db.tls.insecure }}" + - name: LOG_LEVEL + value: "{{ .Values.log.level }}" + - name: FEED_URL + value: "https://www.fontanka.ru/fontanka.rss" + - name: FEED_TLS_SKIP_VERIFY + value: "{{ .Values.feed.tls.skipVerify }}" + - name: FEED_UPDATE_INTERVAL_MIN + value: "{{ .Values.feed.updateInterval.min }}" + - name: FEED_UPDATE_INTERVAL_MAX + value: "{{ .Values.feed.updateInterval.max }}" + - name: FEED_UPDATE_TIMEOUT + value: "{{ .Values.feed.updateTimeout }}" + - name: FEED_USER_AGENT + value: "{{ .Values.feed.userAgent }}" + - name: MSG_MD_KEY_FEED_CATEGORIES + value: "{{ .Values.message.metadata.key.feedCategories }}" + - name: MSG_MD_KEY_FEED_DESCRIPTION + value: "{{ .Values.message.metadata.key.feedDescription }}" + - name: MSG_MD_KEY_FEED_IMAGE_TITLE + value: "{{ .Values.message.metadata.key.feedImageTitle }}" + - name: MSG_MD_KEY_FEED_IMAGE_URL + value: "{{ .Values.message.metadata.key.feedImageUrl }}" + - name: MSG_MD_KEY_FEED_TITLE + value: "{{ .Values.message.metadata.key.feedTitle }}" + - name: MSG_MD_KEY_AUTHOR + value: "{{ .Values.message.metadata.key.author }}" + - name: MSG_MD_KEY_CATEGORIES + value: "{{ .Values.message.metadata.key.categories }}" + - name: MSG_MD_KEY_GUID + value: "{{ .Values.message.metadata.key.guid }}" + - name: MSG_MD_KEY_IMAGE_TITLE + value: "{{ .Values.message.metadata.key.imageTitle }}" + - name: MSG_MD_KEY_IMAGE_URL + value: "{{ .Values.message.metadata.key.imageUrl }}" + - name: MSG_MD_KEY_LANGUAGE + value: "{{ .Values.message.metadata.key.language }}" + - name: MSG_MD_KEY_SUMMARY + value: "{{ .Values.message.metadata.key.summary }}" + - name: MSG_MD_KEY_TITLE + value: "{{ .Values.message.metadata.key.title }}" + - name: MSG_MD_SPEC_VERSION + value: "{{ .Values.message.metadata.specVersion }}" + - name: MSG_CONTENT_TYPE + value: "{{ .Values.message.content.type }}" + restartPolicy: OnFailure diff --git a/helm/producer-rss/templates/cronjob-helm-releases.yaml b/helm/producer-rss/templates/cronjob-helm-releases.yaml new file mode 100644 index 0000000..b3f9774 --- /dev/null +++ b/helm/producer-rss/templates/cronjob-helm-releases.yaml @@ -0,0 +1,92 @@ +apiVersion: batch/v1 +kind: CronJob +metadata: + labels: + app: "producer-rss" + name: "{{ include "producerRss.fullname" . }}-helm-releases" +spec: + schedule: "43 0 * * *" + jobTemplate: + spec: + template: + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 12 }} + {{- end }} + containers: + - name: "{{ include "producerRss.fullname" . }}-helm-releases" + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: "{{ .Values.image.pullPolicy }}" + env: + - name: API_WRITER_BACKOFF + value: "{{ .Values.api.writer.backoff }}" + - name: API_WRITER_URI + value: "{{ .Values.api.writer.uri }}" + - name: DB_URI + value: "{{ .Values.db.protocol }}://{{ .Values.db.hostname }}/?retryWrites=true&w=majority" + - name: DB_NAME + value: {{ .Values.db.name }} + - name: DB_USERNAME + value: {{ .Values.db.username }} + {{- if .Values.db.password.secret.enabled }} + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: "{{ .Values.db.password.secret.name }}" + key: "{{ .Values.db.password.secret.key }}" + {{- else }} + - name: DB_PASSWORD + value: "{{ .Values.db.password.raw }}" + {{- end }} + - name: DB_TABLE_NAME + value: {{ .Values.db.table.name }} + - name: DB_TLS_ENABLED + value: "{{ .Values.db.tls.enabled }}" + - name: DB_TLS_INSECURE + value: "{{ .Values.db.tls.insecure }}" + - name: LOG_LEVEL + value: "{{ .Values.log.level }}" + - name: FEED_URL + value: "https://github.com/helm/helm/releases.atom" + - name: FEED_TLS_SKIP_VERIFY + value: "{{ .Values.feed.tls.skipVerify }}" + - name: FEED_UPDATE_INTERVAL_MIN + value: "{{ .Values.feed.updateInterval.min }}" + - name: FEED_UPDATE_INTERVAL_MAX + value: "{{ .Values.feed.updateInterval.max }}" + - name: FEED_UPDATE_TIMEOUT + value: "{{ .Values.feed.updateTimeout }}" + - name: FEED_USER_AGENT + value: "{{ .Values.feed.userAgent }}" + - name: MSG_MD_KEY_FEED_CATEGORIES + value: "{{ .Values.message.metadata.key.feedCategories }}" + - name: MSG_MD_KEY_FEED_DESCRIPTION + value: "{{ .Values.message.metadata.key.feedDescription }}" + - name: MSG_MD_KEY_FEED_IMAGE_TITLE + value: "{{ .Values.message.metadata.key.feedImageTitle }}" + - name: MSG_MD_KEY_FEED_IMAGE_URL + value: "{{ .Values.message.metadata.key.feedImageUrl }}" + - name: MSG_MD_KEY_FEED_TITLE + value: "{{ .Values.message.metadata.key.feedTitle }}" + - name: MSG_MD_KEY_AUTHOR + value: "{{ .Values.message.metadata.key.author }}" + - name: MSG_MD_KEY_CATEGORIES + value: "{{ .Values.message.metadata.key.categories }}" + - name: MSG_MD_KEY_GUID + value: "{{ .Values.message.metadata.key.guid }}" + - name: MSG_MD_KEY_IMAGE_TITLE + value: "{{ .Values.message.metadata.key.imageTitle }}" + - name: MSG_MD_KEY_IMAGE_URL + value: "{{ .Values.message.metadata.key.imageUrl }}" + - name: MSG_MD_KEY_LANGUAGE + value: "{{ .Values.message.metadata.key.language }}" + - name: MSG_MD_KEY_SUMMARY + value: "{{ .Values.message.metadata.key.summary }}" + - name: MSG_MD_KEY_TITLE + value: "{{ .Values.message.metadata.key.title }}" + - name: MSG_MD_SPEC_VERSION + value: "{{ .Values.message.metadata.specVersion }}" + - name: MSG_CONTENT_TYPE + value: "{{ .Values.message.content.type }}" + restartPolicy: OnFailure diff --git a/helm/producer-rss/templates/cronjob-kubernetes-io.yaml b/helm/producer-rss/templates/cronjob-kubernetes-io.yaml new file mode 100644 index 0000000..da6e6ce --- /dev/null +++ b/helm/producer-rss/templates/cronjob-kubernetes-io.yaml @@ -0,0 +1,92 @@ +apiVersion: batch/v1 +kind: CronJob +metadata: + labels: + app: "producer-rss" + name: "{{ include "producerRss.fullname" . }}-kubernetes-io" +spec: + schedule: "42 0 * * *" + jobTemplate: + spec: + template: + spec: + {{- with .Values.imagePullSecrets }} + imagePullSecrets: + {{- toYaml . | nindent 12 }} + {{- end }} + containers: + - name: "{{ include "producerRss.fullname" . }}-kubernetes-io" + image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" + imagePullPolicy: "{{ .Values.image.pullPolicy }}" + env: + - name: API_WRITER_BACKOFF + value: "{{ .Values.api.writer.backoff }}" + - name: API_WRITER_URI + value: "{{ .Values.api.writer.uri }}" + - name: DB_URI + value: "{{ .Values.db.protocol }}://{{ .Values.db.hostname }}/?retryWrites=true&w=majority" + - name: DB_NAME + value: {{ .Values.db.name }} + - name: DB_USERNAME + value: {{ .Values.db.username }} + {{- if .Values.db.password.secret.enabled }} + - name: DB_PASSWORD + valueFrom: + secretKeyRef: + name: "{{ .Values.db.password.secret.name }}" + key: "{{ .Values.db.password.secret.key }}" + {{- else }} + - name: DB_PASSWORD + value: "{{ .Values.db.password.raw }}" + {{- end }} + - name: DB_TABLE_NAME + value: {{ .Values.db.table.name }} + - name: DB_TLS_ENABLED + value: "{{ .Values.db.tls.enabled }}" + - name: DB_TLS_INSECURE + value: "{{ .Values.db.tls.insecure }}" + - name: LOG_LEVEL + value: "{{ .Values.log.level }}" + - name: FEED_URL + value: "https://kubernetes.io/feed.xml" + - name: FEED_TLS_SKIP_VERIFY + value: "{{ .Values.feed.tls.skipVerify }}" + - name: FEED_UPDATE_INTERVAL_MIN + value: "{{ .Values.feed.updateInterval.min }}" + - name: FEED_UPDATE_INTERVAL_MAX + value: "{{ .Values.feed.updateInterval.max }}" + - name: FEED_UPDATE_TIMEOUT + value: "{{ .Values.feed.updateTimeout }}" + - name: FEED_USER_AGENT + value: "{{ .Values.feed.userAgent }}" + - name: MSG_MD_KEY_FEED_CATEGORIES + value: "{{ .Values.message.metadata.key.feedCategories }}" + - name: MSG_MD_KEY_FEED_DESCRIPTION + value: "{{ .Values.message.metadata.key.feedDescription }}" + - name: MSG_MD_KEY_FEED_IMAGE_TITLE + value: "{{ .Values.message.metadata.key.feedImageTitle }}" + - name: MSG_MD_KEY_FEED_IMAGE_URL + value: "{{ .Values.message.metadata.key.feedImageUrl }}" + - name: MSG_MD_KEY_FEED_TITLE + value: "{{ .Values.message.metadata.key.feedTitle }}" + - name: MSG_MD_KEY_AUTHOR + value: "{{ .Values.message.metadata.key.author }}" + - name: MSG_MD_KEY_CATEGORIES + value: "{{ .Values.message.metadata.key.categories }}" + - name: MSG_MD_KEY_GUID + value: "{{ .Values.message.metadata.key.guid }}" + - name: MSG_MD_KEY_IMAGE_TITLE + value: "{{ .Values.message.metadata.key.imageTitle }}" + - name: MSG_MD_KEY_IMAGE_URL + value: "{{ .Values.message.metadata.key.imageUrl }}" + - name: MSG_MD_KEY_LANGUAGE + value: "{{ .Values.message.metadata.key.language }}" + - name: MSG_MD_KEY_SUMMARY + value: "{{ .Values.message.metadata.key.summary }}" + - name: MSG_MD_KEY_TITLE + value: "{{ .Values.message.metadata.key.title }}" + - name: MSG_MD_SPEC_VERSION + value: "{{ .Values.message.metadata.specVersion }}" + - name: MSG_CONTENT_TYPE + value: "{{ .Values.message.content.type }}" + restartPolicy: OnFailure