From 563d1eaa2f70a9358e47dc2efc250f89d1f52418 Mon Sep 17 00:00:00 2001 From: Castor Sky Date: Fri, 7 Jul 2023 14:29:56 +0300 Subject: [PATCH] add repository installation --- README.rst | 36 +++++++++++++++++-------- fluent-bit/defaults.yaml | 2 ++ fluent-bit/repo/clean.sls | 19 +++++++++++++ fluent-bit/repo/fluentbit-keyring.gpg | Bin 0 -> 2285 bytes fluent-bit/repo/init.sls | 5 ++++ fluent-bit/repo/install.sls | 37 ++++++++++++++++++++++++++ 6 files changed, 88 insertions(+), 11 deletions(-) create mode 100644 fluent-bit/repo/clean.sls create mode 100644 fluent-bit/repo/fluentbit-keyring.gpg create mode 100644 fluent-bit/repo/init.sls create mode 100644 fluent-bit/repo/install.sls diff --git a/README.rst b/README.rst index 0e6bbed..ccbbde2 100644 --- a/README.rst +++ b/README.rst @@ -36,18 +36,32 @@ Configures the fluent-bit service with upstart/systemd etc Configures fluent-bit input/output plugins +``fluent-bit.repo`` +-------------------- + +Configures the Fluent Bit repository to install packages from. +Currently works with Debian/Ubuntu and RedHat family (RHEL, CentOS, Rocky, Alma, etc.). + + +``fluent-bit.repo.clean`` +-------------------- + +Removes the Fluent Bit repository from repositories list. + + TODO: ================ -- Add repository install +- Expand repository install to support all distributions available in official repository. - Prepare next gen with (will break old format): - `` - bit: - fluent-bit: - config: - flush: 5 - bit: - td-agent-bit: - config: - flush: 5 - `` \ No newline at end of file + +.. code-block:: + + bit: + fluent-bit: + config: + flush: 5 + bit: + td-agent-bit: + config: + flush: 5 diff --git a/fluent-bit/defaults.yaml b/fluent-bit/defaults.yaml index 4d95ea5..86dd800 100644 --- a/fluent-bit/defaults.yaml +++ b/fluent-bit/defaults.yaml @@ -3,6 +3,8 @@ fluent_bit: pkg: fluent-bit + repo: + keyring: '/usr/share/keyrings/fluentbit-keyring.gpg' service: unit: '/lib/systemd/system/fluent-bit.service' conf: '/etc/td-agent-bit/fluent-bit.conf' diff --git a/fluent-bit/repo/clean.sls b/fluent-bit/repo/clean.sls new file mode 100644 index 0000000..9d3fb7f --- /dev/null +++ b/fluent-bit/repo/clean.sls @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# vim: ft=sls + +{% from "fluent-bit/map.jinja" import bit with context %} + +{{ bit.pkg }}_repo-absent: +{%- if salt['grains.get']('os_family') == 'RedHat' %} + pkgrepo.absent: + - name: {{ bit.pkg }} + +{%- elif salt['grains.get']('os_family') == 'Debian' %} + file.absent: + - name: /etc/apt/sources.list.d/{{ bit.pkg }}.list + +{{ bit.pkg }}_repo-keyring-absent: + file.absent: + - name: {{ bit.repo.keyring }} + +{%- endif %} diff --git a/fluent-bit/repo/fluentbit-keyring.gpg b/fluent-bit/repo/fluentbit-keyring.gpg new file mode 100644 index 0000000000000000000000000000000000000000..f3a13d23ccfa39d8a49b8e45d38273e5b3770373 GIT binary patch literal 2285 zcmajfX*?4S0|)S3t~usRC7DE4q%=n{X~Z&Dv~o_1B}W@`gqS00L|QtKbB>Z(h~n?Q z=7@46W<|^qX@B=s_&?9{`Sf|7ch9@ui{J0v@AFLqi9@admQ{h0fbOjA&RZnI@Wh)- zcKXl0w6QFPPZ3x10$c~I<}Bj|z8;a+5peJ2BTbQ>EhV1O5)4n4#9V9Ub=zC3gqYol zq;#@YiOHt&%uU5?0o-N$PX=YIX>eH0a_Ctc%_(*^$~%}J#QeqPOue0ND^+fzvg)Ka zb-cG*RXh3jnRd3f_+b8L(9vvc2`h`YzOK`>38fi{jH40z}u~BN^M&d)F!&Y9$%tc-XVVH@AtZnw|b)- zf7XKLtb9hhe`n|xzouu=XWEQOQ-~JLQz;^s9#eBOETd=iCIE1KuTJ(VB$!|!TOI2= z*t21Ft%cWQ!#HBIaw(X*>OeV^VhArkyGV9!-g#WQpTn9Xg+r!4dr3vwCWdMI zo5U%a_Z%<2|6PDt`rNs7qJP#`1aA45GnQPq0|Q6_0ls=8jp9Mp5E-B_K!1-iq@|G&hpa{zy}r0r zm!0`VSfAF^BLMpM;Xn#t0Z|cQA&{UPR76-51la=u13?FYAo(Z&R7CPmIR_2fHJ#p) z0bfr!#dhuY5Tg&7-RRW|)EMb9NzM>)Ydn|I_#&*#%c-Os$LE<-NAZU*+sUNgW$Ac? zdi6%3vcI0Gji@$U^DV!il0=AL*!CT})CrZ6FVWE;^{bLudk)qu>Ug)BFhy|@5-~e4 zO`C>T@omk%JU2Bc*XARk-Yh_C)M>ff)#+eTT?@%h@GuX<5~VH4viHkhMMcmyo^P1& z3#)=|%t&oJ7+-gl=%JIThd^cWK|{$V2^#P5l(Oa%%|-;xw5J!wajzQIgDhhEcE2zz z;9{TP>lQ9>Wl1i29(yctI0jr0=I!;fF8!fyO7DJ}Mu(uEmgP)=%)T|hO}DpxS>TY} zEq!#-cG;(zdqRglIuPDq#A}C)-xjyU`z+P?M}~&Wa?MwFS}Bhn38k(lw#FJR=ws`J zE*Jh#biYujAWq7ngRtEJe+El< zJB{c2#`qof%YDQuh9-=OZ57;d^?V?7@7YeA|4O^xzCb~)!i8*|#V2Pd2cQan31gqT zyHlq@ab^p*Nq985*&AMzKCyiEz^odYU_61lLA=-8DERU!(XGL$w(RH@^sj zYXV5(yx>|4D^tm16d$H`u2SC6r8x2E$wQb~%6F-L#y5 zo0HerE)n7*tI{bLa2urUeOl&+Du0wXYv8u;Txvcb!00-&w* zRT#?j+ZS^?Ed*65@}8Bl*+-4hJN@I(d4RcE**rHn6O-)8b?rl>? z*_~xoRMBMim&%T-M}s%xEv_D3gN1QMzB0dyrdGVG-2M{PmvwY2*Rn~QJ-Ilex<~Ru zzOYe+(5mK;QmS-OJz2aLQic;5WdTP-vm5oKPGqaN(9lwP6&vX}rJ978r%(R+2;9^g zs}dKej$Lwil3}2w9pZ0`4+(UU?W$KY9Twx}pyi^`Jyq)p1Ev=1KpR1n`{NERDDAJW zI>Xl1f~@(s`C8|HUy?rkX1?NDyX3K%P$LA{VQ7cwG?EAF&TNM3jVzpvC`WGP)$%=# zqtZa5cyqwtoGD^hWyp~N^O>n9GS6piXZw1RV|Y(JK!s^ha#9?ph~@J> zIq%Jo%F@IG@%>W*u-Yt)`tv0GAns6Bo28?DLES^5&wq@H2kAog{tFoR{{cqqe<4ZG zg>B2MpSIV=EOA?JsEI%z=1z-C<0Z`GHlYN}tkr#{<>yo@h<`Ht#AmL0H<$)VLmmB?hLxYj6Y<`CM>?*Q|*p#SM znBP}hwfCGx2lc!19gMzN`K06?S#6R}85T(a+Yl6U1>>1DypiD^j?>D0nL`I}OL1@I zwnGjeD!++UHTcxyj-2W}p`l&cn<4E-TLVlHmBqsq5?-l`p$9?<;a#{~HrxAm-B!a^WAvK}U-K literal 0 HcmV?d00001 diff --git a/fluent-bit/repo/init.sls b/fluent-bit/repo/init.sls new file mode 100644 index 0000000..d3e5518 --- /dev/null +++ b/fluent-bit/repo/init.sls @@ -0,0 +1,5 @@ +# -*- coding: utf-8 -*- +# vim: ft=sls + +include: + - .install diff --git a/fluent-bit/repo/install.sls b/fluent-bit/repo/install.sls new file mode 100644 index 0000000..296f382 --- /dev/null +++ b/fluent-bit/repo/install.sls @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +# vim: ft=sls + +{% from "fluent-bit/map.jinja" import bit with context %} + +{% if salt['grains.get']('os_family') == 'Debian' -%} + +{{ bit.pkg }}_apt-transport-https: + pkg.installed: + - name: apt-transport-https + +{{ bit.pkg }}_keyring: + file.managed: + - name: {{ bit.repo.keyring }} + - source: salt://{{ slspath }}/fluentbit-keyring.gpg + - require_in: + - pkgrepo: {{ bit.pkg }}_repo + +{{ bit.pkg }}_repo: + pkgrepo.managed: + - name: deb [ arch={{ grains.osarch }} signedby={{ bit.repo.keyring }} ] + https://packages.fluentbit.io/{{ grains.os|lower }}/{{ grains.oscodename }} {{ grains.oscodename }} main + - file: /etc/apt/sources.list.d/{{ bit.pkg }}.list + - clean_file: True + +{% elif salt['grains.get']('os_family') == 'RedHat' %} + +{{ bit.pkg }}_repo: + pkgrepo.managed: + - name: {{ bit.pkg }} + - humanname: Fluent Bit + - baseurl: https://packages.fluentbit.io/centos/$releasever/{{ grains.osarch }}/ + - gpgcheck: 1 + - gpgkey: https://packages.fluentbit.io/fluentbit.key + - gpgautoimport: True + +{% endif %}