Compare commits
6 Commits
a613cbd93c
...
repomirror
| Author | SHA1 | Date | |
|---|---|---|---|
| c2a0d759bc | |||
| 3bf5fb4076 | |||
| b3f4a0dfee | |||
| af58c02b4b | |||
| 3858c233f7 | |||
| abc4e8106b |
38
Dockerfile.helm
Normal file
38
Dockerfile.helm
Normal file
@@ -0,0 +1,38 @@
|
||||
FROM alpine:3
|
||||
|
||||
# variable "VERSION" must be passed as docker environment variables during the image build
|
||||
# docker build --no-cache --build-arg VERSION=2.12.0 -t alpine/helm:2.12.0 .
|
||||
|
||||
RUN apk update && apk upgrade && apk add bash tar gzip
|
||||
|
||||
ARG VERSION
|
||||
|
||||
# ENV BASE_URL="https://storage.googleapis.com/kubernetes-helm"
|
||||
ENV BASE_URL="https://get.helm.sh"
|
||||
|
||||
RUN case `uname -m` in \
|
||||
x86_64) ARCH=amd64; ;; \
|
||||
armv7l) ARCH=arm; ;; \
|
||||
aarch64) ARCH=arm64; ;; \
|
||||
ppc64le) ARCH=ppc64le; ;; \
|
||||
s390x) ARCH=s390x; ;; \
|
||||
*) echo "un-supported arch, exit ..."; exit 1; ;; \
|
||||
esac && \
|
||||
apk add --update --no-cache wget git curl && \
|
||||
wget ${BASE_URL}/helm-v2.17.0-linux-${ARCH}.tar.gz -O - | tar -xz && \
|
||||
mv linux-${ARCH}/helm /usr/bin/helm && \
|
||||
chmod +x /usr/bin/helm && \
|
||||
rm -rf linux-${ARCH}
|
||||
|
||||
RUN chmod +x /usr/bin/helm
|
||||
RUN helm init --client-only
|
||||
RUN find / -name 'install-binary.sh'
|
||||
#RUN helm plugin install --debug https://github.com/openSUSE/helm-mirror #--version master
|
||||
|
||||
WORKDIR /apps
|
||||
|
||||
COPY config/helm/entrypoint.sh /opt/entrypoint.sh
|
||||
|
||||
VOLUME ["/data/"]
|
||||
ENTRYPOINT ["/opt/entrypoint.sh"]
|
||||
# CMD ["--help"]
|
||||
@@ -33,4 +33,9 @@ deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/
|
||||
deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main
|
||||
deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com beta main
|
||||
|
||||
deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main
|
||||
deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main
|
||||
deb https://artifacts.elastic.co/packages/6.x/apt stable main
|
||||
deb https://artifacts.elastic.co/packages/5.x/apt stable main
|
||||
|
||||
clean http://archive.ubuntu.com/ubuntu
|
||||
|
||||
5
config/helm/entrypoint.sh
Normal file
5
config/helm/entrypoint.sh
Normal file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
helm-mirror https://helm.elastic.co /data/helm/ --chart-name elastic
|
||||
|
||||
|
||||
16
config/helm/scraper/Pipfile
Normal file
16
config/helm/scraper/Pipfile
Normal file
@@ -0,0 +1,16 @@
|
||||
[[source]]
|
||||
url = "https://pypi.org/simple"
|
||||
verify_ssl = true
|
||||
name = "pypi"
|
||||
|
||||
[packages]
|
||||
aiohttp = "*"
|
||||
aiofile = "*"
|
||||
aiofiles = "*"
|
||||
pyyaml = "*"
|
||||
requests = "*"
|
||||
|
||||
[dev-packages]
|
||||
|
||||
[requires]
|
||||
python_version = "3.10"
|
||||
502
config/helm/scraper/Pipfile.lock
generated
Normal file
502
config/helm/scraper/Pipfile.lock
generated
Normal file
@@ -0,0 +1,502 @@
|
||||
{
|
||||
"_meta": {
|
||||
"hash": {
|
||||
"sha256": "4964a83c64694e9ae4a8c2553c49af07ffb621c6c38dc7d9be524e92cc10b1af"
|
||||
},
|
||||
"pipfile-spec": 6,
|
||||
"requires": {
|
||||
"python_version": "3.10"
|
||||
},
|
||||
"sources": [
|
||||
{
|
||||
"name": "pypi",
|
||||
"url": "https://pypi.org/simple",
|
||||
"verify_ssl": true
|
||||
}
|
||||
]
|
||||
},
|
||||
"default": {
|
||||
"aiofile": {
|
||||
"hashes": [
|
||||
"sha256:1623b98d88fbd16bbd2808d010de4e185a700e950ed3f17455dd851aa2455f40"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==3.8.1"
|
||||
},
|
||||
"aiofiles": {
|
||||
"hashes": [
|
||||
"sha256:1142fa8e80dbae46bb6339573ad4c8c0841358f79c6eb50a493dceca14621bad",
|
||||
"sha256:9107f1ca0b2a5553987a94a3c9959fe5b491fdf731389aa5b7b1bd0733e32de6"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==22.1.0"
|
||||
},
|
||||
"aiohttp": {
|
||||
"hashes": [
|
||||
"sha256:02f9a2c72fc95d59b881cf38a4b2be9381b9527f9d328771e90f72ac76f31ad8",
|
||||
"sha256:059a91e88f2c00fe40aed9031b3606c3f311414f86a90d696dd982e7aec48142",
|
||||
"sha256:05a3c31c6d7cd08c149e50dc7aa2568317f5844acd745621983380597f027a18",
|
||||
"sha256:08c78317e950e0762c2983f4dd58dc5e6c9ff75c8a0efeae299d363d439c8e34",
|
||||
"sha256:09e28f572b21642128ef31f4e8372adb6888846f32fecb288c8b0457597ba61a",
|
||||
"sha256:0d2c6d8c6872df4a6ec37d2ede71eff62395b9e337b4e18efd2177de883a5033",
|
||||
"sha256:16c121ba0b1ec2b44b73e3a8a171c4f999b33929cd2397124a8c7fcfc8cd9e06",
|
||||
"sha256:1d90043c1882067f1bd26196d5d2db9aa6d268def3293ed5fb317e13c9413ea4",
|
||||
"sha256:1e56b9cafcd6531bab5d9b2e890bb4937f4165109fe98e2b98ef0dcfcb06ee9d",
|
||||
"sha256:20acae4f268317bb975671e375493dbdbc67cddb5f6c71eebdb85b34444ac46b",
|
||||
"sha256:21b30885a63c3f4ff5b77a5d6caf008b037cb521a5f33eab445dc566f6d092cc",
|
||||
"sha256:21d69797eb951f155026651f7e9362877334508d39c2fc37bd04ff55b2007091",
|
||||
"sha256:256deb4b29fe5e47893fa32e1de2d73c3afe7407738bd3c63829874661d4822d",
|
||||
"sha256:25892c92bee6d9449ffac82c2fe257f3a6f297792cdb18ad784737d61e7a9a85",
|
||||
"sha256:2ca9af5f8f5812d475c5259393f52d712f6d5f0d7fdad9acdb1107dd9e3cb7eb",
|
||||
"sha256:2d252771fc85e0cf8da0b823157962d70639e63cb9b578b1dec9868dd1f4f937",
|
||||
"sha256:2dea10edfa1a54098703cb7acaa665c07b4e7568472a47f4e64e6319d3821ccf",
|
||||
"sha256:2df5f139233060578d8c2c975128fb231a89ca0a462b35d4b5fcf7c501ebdbe1",
|
||||
"sha256:2feebbb6074cdbd1ac276dbd737b40e890a1361b3cc30b74ac2f5e24aab41f7b",
|
||||
"sha256:309aa21c1d54b8ef0723181d430347d7452daaff93e8e2363db8e75c72c2fb2d",
|
||||
"sha256:3828fb41b7203176b82fe5d699e0d845435f2374750a44b480ea6b930f6be269",
|
||||
"sha256:398701865e7a9565d49189f6c90868efaca21be65c725fc87fc305906be915da",
|
||||
"sha256:43046a319664a04b146f81b40e1545d4c8ac7b7dd04c47e40bf09f65f2437346",
|
||||
"sha256:437399385f2abcd634865705bdc180c8314124b98299d54fe1d4c8990f2f9494",
|
||||
"sha256:45d88b016c849d74ebc6f2b6e8bc17cabf26e7e40c0661ddd8fae4c00f015697",
|
||||
"sha256:47841407cc89a4b80b0c52276f3cc8138bbbfba4b179ee3acbd7d77ae33f7ac4",
|
||||
"sha256:4a4fbc769ea9b6bd97f4ad0b430a6807f92f0e5eb020f1e42ece59f3ecfc4585",
|
||||
"sha256:4ab94426ddb1ecc6a0b601d832d5d9d421820989b8caa929114811369673235c",
|
||||
"sha256:4b0f30372cef3fdc262f33d06e7b411cd59058ce9174ef159ad938c4a34a89da",
|
||||
"sha256:4e3a23ec214e95c9fe85a58470b660efe6534b83e6cbe38b3ed52b053d7cb6ad",
|
||||
"sha256:512bd5ab136b8dc0ffe3fdf2dfb0c4b4f49c8577f6cae55dca862cd37a4564e2",
|
||||
"sha256:527b3b87b24844ea7865284aabfab08eb0faf599b385b03c2aa91fc6edd6e4b6",
|
||||
"sha256:54d107c89a3ebcd13228278d68f1436d3f33f2dd2af5415e3feaeb1156e1a62c",
|
||||
"sha256:5835f258ca9f7c455493a57ee707b76d2d9634d84d5d7f62e77be984ea80b849",
|
||||
"sha256:598adde339d2cf7d67beaccda3f2ce7c57b3b412702f29c946708f69cf8222aa",
|
||||
"sha256:599418aaaf88a6d02a8c515e656f6faf3d10618d3dd95866eb4436520096c84b",
|
||||
"sha256:5bf651afd22d5f0c4be16cf39d0482ea494f5c88f03e75e5fef3a85177fecdeb",
|
||||
"sha256:5c59fcd80b9049b49acd29bd3598cada4afc8d8d69bd4160cd613246912535d7",
|
||||
"sha256:653acc3880459f82a65e27bd6526e47ddf19e643457d36a2250b85b41a564715",
|
||||
"sha256:66bd5f950344fb2b3dbdd421aaa4e84f4411a1a13fca3aeb2bcbe667f80c9f76",
|
||||
"sha256:6f3553510abdbec67c043ca85727396ceed1272eef029b050677046d3387be8d",
|
||||
"sha256:7018ecc5fe97027214556afbc7c502fbd718d0740e87eb1217b17efd05b3d276",
|
||||
"sha256:713d22cd9643ba9025d33c4af43943c7a1eb8547729228de18d3e02e278472b6",
|
||||
"sha256:73a4131962e6d91109bca6536416aa067cf6c4efb871975df734f8d2fd821b37",
|
||||
"sha256:75880ed07be39beff1881d81e4a907cafb802f306efd6d2d15f2b3c69935f6fb",
|
||||
"sha256:75e14eac916f024305db517e00a9252714fce0abcb10ad327fb6dcdc0d060f1d",
|
||||
"sha256:8135fa153a20d82ffb64f70a1b5c2738684afa197839b34cc3e3c72fa88d302c",
|
||||
"sha256:84b14f36e85295fe69c6b9789b51a0903b774046d5f7df538176516c3e422446",
|
||||
"sha256:86fc24e58ecb32aee09f864cb11bb91bc4c1086615001647dbfc4dc8c32f4008",
|
||||
"sha256:87f44875f2804bc0511a69ce44a9595d5944837a62caecc8490bbdb0e18b1342",
|
||||
"sha256:88c70ed9da9963d5496d38320160e8eb7e5f1886f9290475a881db12f351ab5d",
|
||||
"sha256:88e5be56c231981428f4f506c68b6a46fa25c4123a2e86d156c58a8369d31ab7",
|
||||
"sha256:89d2e02167fa95172c017732ed7725bc8523c598757f08d13c5acca308e1a061",
|
||||
"sha256:8d6aaa4e7155afaf994d7924eb290abbe81a6905b303d8cb61310a2aba1c68ba",
|
||||
"sha256:92a2964319d359f494f16011e23434f6f8ef0434acd3cf154a6b7bec511e2fb7",
|
||||
"sha256:96372fc29471646b9b106ee918c8eeb4cca423fcbf9a34daa1b93767a88a2290",
|
||||
"sha256:978b046ca728073070e9abc074b6299ebf3501e8dee5e26efacb13cec2b2dea0",
|
||||
"sha256:9c7149272fb5834fc186328e2c1fa01dda3e1fa940ce18fded6d412e8f2cf76d",
|
||||
"sha256:a0239da9fbafd9ff82fd67c16704a7d1bccf0d107a300e790587ad05547681c8",
|
||||
"sha256:ad5383a67514e8e76906a06741febd9126fc7c7ff0f599d6fcce3e82b80d026f",
|
||||
"sha256:ad61a9639792fd790523ba072c0555cd6be5a0baf03a49a5dd8cfcf20d56df48",
|
||||
"sha256:b29bfd650ed8e148f9c515474a6ef0ba1090b7a8faeee26b74a8ff3b33617502",
|
||||
"sha256:b97decbb3372d4b69e4d4c8117f44632551c692bb1361b356a02b97b69e18a62",
|
||||
"sha256:ba71c9b4dcbb16212f334126cc3d8beb6af377f6703d9dc2d9fb3874fd667ee9",
|
||||
"sha256:c37c5cce780349d4d51739ae682dec63573847a2a8dcb44381b174c3d9c8d403",
|
||||
"sha256:c971bf3786b5fad82ce5ad570dc6ee420f5b12527157929e830f51c55dc8af77",
|
||||
"sha256:d1fde0f44029e02d02d3993ad55ce93ead9bb9b15c6b7ccd580f90bd7e3de476",
|
||||
"sha256:d24b8bb40d5c61ef2d9b6a8f4528c2f17f1c5d2d31fed62ec860f6006142e83e",
|
||||
"sha256:d5ba88df9aa5e2f806650fcbeedbe4f6e8736e92fc0e73b0400538fd25a4dd96",
|
||||
"sha256:d6f76310355e9fae637c3162936e9504b4767d5c52ca268331e2756e54fd4ca5",
|
||||
"sha256:d737fc67b9a970f3234754974531dc9afeea11c70791dcb7db53b0cf81b79784",
|
||||
"sha256:da22885266bbfb3f78218dc40205fed2671909fbd0720aedba39b4515c038091",
|
||||
"sha256:da37dcfbf4b7f45d80ee386a5f81122501ec75672f475da34784196690762f4b",
|
||||
"sha256:db19d60d846283ee275d0416e2a23493f4e6b6028825b51290ac05afc87a6f97",
|
||||
"sha256:db4c979b0b3e0fa7e9e69ecd11b2b3174c6963cebadeecfb7ad24532ffcdd11a",
|
||||
"sha256:e164e0a98e92d06da343d17d4e9c4da4654f4a4588a20d6c73548a29f176abe2",
|
||||
"sha256:e168a7560b7c61342ae0412997b069753f27ac4862ec7867eff74f0fe4ea2ad9",
|
||||
"sha256:e381581b37db1db7597b62a2e6b8b57c3deec95d93b6d6407c5b61ddc98aca6d",
|
||||
"sha256:e65bc19919c910127c06759a63747ebe14f386cda573d95bcc62b427ca1afc73",
|
||||
"sha256:e7b8813be97cab8cb52b1375f41f8e6804f6507fe4660152e8ca5c48f0436017",
|
||||
"sha256:e8a78079d9a39ca9ca99a8b0ac2fdc0c4d25fc80c8a8a82e5c8211509c523363",
|
||||
"sha256:ebf909ea0a3fc9596e40d55d8000702a85e27fd578ff41a5500f68f20fd32e6c",
|
||||
"sha256:ec40170327d4a404b0d91855d41bfe1fe4b699222b2b93e3d833a27330a87a6d",
|
||||
"sha256:f178d2aadf0166be4df834c4953da2d7eef24719e8aec9a65289483eeea9d618",
|
||||
"sha256:f88df3a83cf9df566f171adba39d5bd52814ac0b94778d2448652fc77f9eb491",
|
||||
"sha256:f973157ffeab5459eefe7b97a804987876dd0a55570b8fa56b4e1954bf11329b",
|
||||
"sha256:ff25f48fc8e623d95eca0670b8cc1469a83783c924a602e0fbd47363bb54aaca"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==3.8.3"
|
||||
},
|
||||
"aiosignal": {
|
||||
"hashes": [
|
||||
"sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc",
|
||||
"sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==1.3.1"
|
||||
},
|
||||
"async-timeout": {
|
||||
"hashes": [
|
||||
"sha256:2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15",
|
||||
"sha256:8ca1e4fcf50d07413d66d1a5e416e42cfdf5851c981d679a09851a6853383b3c"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==4.0.2"
|
||||
},
|
||||
"attrs": {
|
||||
"hashes": [
|
||||
"sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6",
|
||||
"sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c"
|
||||
],
|
||||
"markers": "python_version >= '3.5'",
|
||||
"version": "==22.1.0"
|
||||
},
|
||||
"caio": {
|
||||
"hashes": [
|
||||
"sha256:0a5c0d2d7d437c13ef72061acf0f4f878ae17642b73bd1d8a5594b9c7398f98e",
|
||||
"sha256:19255def9e395768573f002e9d01c3eaabbf6f4dda68a1c56a0862403da1faa6",
|
||||
"sha256:2086d65b157d39b0f070a3e6dfbca970c69d15547dfa9ef346506f4da968e960",
|
||||
"sha256:22ad87a94b2062151ef78c613711c97ddcebba7399ece39e4fd88728853137d2",
|
||||
"sha256:287f7a598d8497588f0f0578eb90343b0c9ff3803b57c24e58f54793333132bf",
|
||||
"sha256:33ca49789bf2d55bc3f5def36784c4624fbf16b78e9c299a2c7f6f22ac084aa6",
|
||||
"sha256:3b9b2f1d94876ee3544b78d8a33e0c0091b79fe4bdc8cc00b64d4d9c59385195",
|
||||
"sha256:510f01f71361d31ce8938f691e96a7a1306c29e0475aa59a77300a61b6f0732a",
|
||||
"sha256:58e184d33e94962acbc9f4e8ff9b993ca6f78794de9018a2c3060cb2c190398e",
|
||||
"sha256:6e81dd50f9b53db5214469f3b953bb16cfb96c05f08f334c7aaf0d9096c37689",
|
||||
"sha256:7a3adc061b2005e3e3e83066b5e9ac9966634ff65db5b60abe3bf1ec7f2c7903",
|
||||
"sha256:7dcd1f63e50b6a175750bf1fd92734b0a9a53108ee14afa72971b64da1d701e5",
|
||||
"sha256:8157587b6ee340d7510c7e37b6f5f1223ec363154b38b43b718c7cc6b77d58c2",
|
||||
"sha256:8e35124be09f9f26a420c279bbabb5ef0626ce0edff3e5b445e6102855453d63",
|
||||
"sha256:b9856bcb2f523e9ac2e00e75f3bd110a927b9ed0569a9d13c029d4b3aa8a79e4",
|
||||
"sha256:cf65276487232bca415f62699298601537b558d8fd11b038633e555c45d0e82f",
|
||||
"sha256:e02e0c241b6dc19be0f85ece23ff6861907ef1cc6a8923a81345887a79f29300"
|
||||
],
|
||||
"markers": "python_version >= '3.7' and python_version < '4'",
|
||||
"version": "==0.9.11"
|
||||
},
|
||||
"certifi": {
|
||||
"hashes": [
|
||||
"sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3",
|
||||
"sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==2022.12.7"
|
||||
},
|
||||
"charset-normalizer": {
|
||||
"hashes": [
|
||||
"sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845",
|
||||
"sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f"
|
||||
],
|
||||
"markers": "python_version >= '3.6'",
|
||||
"version": "==2.1.1"
|
||||
},
|
||||
"frozenlist": {
|
||||
"hashes": [
|
||||
"sha256:008a054b75d77c995ea26629ab3a0c0d7281341f2fa7e1e85fa6153ae29ae99c",
|
||||
"sha256:02c9ac843e3390826a265e331105efeab489ffaf4dd86384595ee8ce6d35ae7f",
|
||||
"sha256:034a5c08d36649591be1cbb10e09da9f531034acfe29275fc5454a3b101ce41a",
|
||||
"sha256:05cdb16d09a0832eedf770cb7bd1fe57d8cf4eaf5aced29c4e41e3f20b30a784",
|
||||
"sha256:0693c609e9742c66ba4870bcee1ad5ff35462d5ffec18710b4ac89337ff16e27",
|
||||
"sha256:0771aed7f596c7d73444c847a1c16288937ef988dc04fb9f7be4b2aa91db609d",
|
||||
"sha256:0af2e7c87d35b38732e810befb9d797a99279cbb85374d42ea61c1e9d23094b3",
|
||||
"sha256:14143ae966a6229350021384870458e4777d1eae4c28d1a7aa47f24d030e6678",
|
||||
"sha256:180c00c66bde6146a860cbb81b54ee0df350d2daf13ca85b275123bbf85de18a",
|
||||
"sha256:1841e200fdafc3d51f974d9d377c079a0694a8f06de2e67b48150328d66d5483",
|
||||
"sha256:23d16d9f477bb55b6154654e0e74557040575d9d19fe78a161bd33d7d76808e8",
|
||||
"sha256:2b07ae0c1edaa0a36339ec6cce700f51b14a3fc6545fdd32930d2c83917332cf",
|
||||
"sha256:2c926450857408e42f0bbc295e84395722ce74bae69a3b2aa2a65fe22cb14b99",
|
||||
"sha256:2e24900aa13212e75e5b366cb9065e78bbf3893d4baab6052d1aca10d46d944c",
|
||||
"sha256:303e04d422e9b911a09ad499b0368dc551e8c3cd15293c99160c7f1f07b59a48",
|
||||
"sha256:352bd4c8c72d508778cf05ab491f6ef36149f4d0cb3c56b1b4302852255d05d5",
|
||||
"sha256:3843f84a6c465a36559161e6c59dce2f2ac10943040c2fd021cfb70d58c4ad56",
|
||||
"sha256:394c9c242113bfb4b9aa36e2b80a05ffa163a30691c7b5a29eba82e937895d5e",
|
||||
"sha256:3bbdf44855ed8f0fbcd102ef05ec3012d6a4fd7c7562403f76ce6a52aeffb2b1",
|
||||
"sha256:40de71985e9042ca00b7953c4f41eabc3dc514a2d1ff534027f091bc74416401",
|
||||
"sha256:41fe21dc74ad3a779c3d73a2786bdf622ea81234bdd4faf90b8b03cad0c2c0b4",
|
||||
"sha256:47df36a9fe24054b950bbc2db630d508cca3aa27ed0566c0baf661225e52c18e",
|
||||
"sha256:4ea42116ceb6bb16dbb7d526e242cb6747b08b7710d9782aa3d6732bd8d27649",
|
||||
"sha256:58bcc55721e8a90b88332d6cd441261ebb22342e238296bb330968952fbb3a6a",
|
||||
"sha256:5c11e43016b9024240212d2a65043b70ed8dfd3b52678a1271972702d990ac6d",
|
||||
"sha256:5cf820485f1b4c91e0417ea0afd41ce5cf5965011b3c22c400f6d144296ccbc0",
|
||||
"sha256:5d8860749e813a6f65bad8285a0520607c9500caa23fea6ee407e63debcdbef6",
|
||||
"sha256:6327eb8e419f7d9c38f333cde41b9ae348bec26d840927332f17e887a8dcb70d",
|
||||
"sha256:65a5e4d3aa679610ac6e3569e865425b23b372277f89b5ef06cf2cdaf1ebf22b",
|
||||
"sha256:66080ec69883597e4d026f2f71a231a1ee9887835902dbe6b6467d5a89216cf6",
|
||||
"sha256:783263a4eaad7c49983fe4b2e7b53fa9770c136c270d2d4bbb6d2192bf4d9caf",
|
||||
"sha256:7f44e24fa70f6fbc74aeec3e971f60a14dde85da364aa87f15d1be94ae75aeef",
|
||||
"sha256:7fdfc24dcfce5b48109867c13b4cb15e4660e7bd7661741a391f821f23dfdca7",
|
||||
"sha256:810860bb4bdce7557bc0febb84bbd88198b9dbc2022d8eebe5b3590b2ad6c842",
|
||||
"sha256:841ea19b43d438a80b4de62ac6ab21cfe6827bb8a9dc62b896acc88eaf9cecba",
|
||||
"sha256:84610c1502b2461255b4c9b7d5e9c48052601a8957cd0aea6ec7a7a1e1fb9420",
|
||||
"sha256:899c5e1928eec13fd6f6d8dc51be23f0d09c5281e40d9cf4273d188d9feeaf9b",
|
||||
"sha256:8bae29d60768bfa8fb92244b74502b18fae55a80eac13c88eb0b496d4268fd2d",
|
||||
"sha256:8df3de3a9ab8325f94f646609a66cbeeede263910c5c0de0101079ad541af332",
|
||||
"sha256:8fa3c6e3305aa1146b59a09b32b2e04074945ffcfb2f0931836d103a2c38f936",
|
||||
"sha256:924620eef691990dfb56dc4709f280f40baee568c794b5c1885800c3ecc69816",
|
||||
"sha256:9309869032abb23d196cb4e4db574232abe8b8be1339026f489eeb34a4acfd91",
|
||||
"sha256:9545a33965d0d377b0bc823dcabf26980e77f1b6a7caa368a365a9497fb09420",
|
||||
"sha256:9ac5995f2b408017b0be26d4a1d7c61bce106ff3d9e3324374d66b5964325448",
|
||||
"sha256:9bbbcedd75acdfecf2159663b87f1bb5cfc80e7cd99f7ddd9d66eb98b14a8411",
|
||||
"sha256:a4ae8135b11652b08a8baf07631d3ebfe65a4c87909dbef5fa0cdde440444ee4",
|
||||
"sha256:a6394d7dadd3cfe3f4b3b186e54d5d8504d44f2d58dcc89d693698e8b7132b32",
|
||||
"sha256:a97b4fe50b5890d36300820abd305694cb865ddb7885049587a5678215782a6b",
|
||||
"sha256:ae4dc05c465a08a866b7a1baf360747078b362e6a6dbeb0c57f234db0ef88ae0",
|
||||
"sha256:b1c63e8d377d039ac769cd0926558bb7068a1f7abb0f003e3717ee003ad85530",
|
||||
"sha256:b1e2c1185858d7e10ff045c496bbf90ae752c28b365fef2c09cf0fa309291669",
|
||||
"sha256:b4395e2f8d83fbe0c627b2b696acce67868793d7d9750e90e39592b3626691b7",
|
||||
"sha256:b756072364347cb6aa5b60f9bc18e94b2f79632de3b0190253ad770c5df17db1",
|
||||
"sha256:ba64dc2b3b7b158c6660d49cdb1d872d1d0bf4e42043ad8d5006099479a194e5",
|
||||
"sha256:bed331fe18f58d844d39ceb398b77d6ac0b010d571cba8267c2e7165806b00ce",
|
||||
"sha256:c188512b43542b1e91cadc3c6c915a82a5eb95929134faf7fd109f14f9892ce4",
|
||||
"sha256:c21b9aa40e08e4f63a2f92ff3748e6b6c84d717d033c7b3438dd3123ee18f70e",
|
||||
"sha256:ca713d4af15bae6e5d79b15c10c8522859a9a89d3b361a50b817c98c2fb402a2",
|
||||
"sha256:cd4210baef299717db0a600d7a3cac81d46ef0e007f88c9335db79f8979c0d3d",
|
||||
"sha256:cfe33efc9cb900a4c46f91a5ceba26d6df370ffddd9ca386eb1d4f0ad97b9ea9",
|
||||
"sha256:d5cd3ab21acbdb414bb6c31958d7b06b85eeb40f66463c264a9b343a4e238642",
|
||||
"sha256:dfbac4c2dfcc082fcf8d942d1e49b6aa0766c19d3358bd86e2000bf0fa4a9cf0",
|
||||
"sha256:e235688f42b36be2b6b06fc37ac2126a73b75fb8d6bc66dd632aa35286238703",
|
||||
"sha256:eb82dbba47a8318e75f679690190c10a5e1f447fbf9df41cbc4c3afd726d88cb",
|
||||
"sha256:ebb86518203e12e96af765ee89034a1dbb0c3c65052d1b0c19bbbd6af8a145e1",
|
||||
"sha256:ee78feb9d293c323b59a6f2dd441b63339a30edf35abcb51187d2fc26e696d13",
|
||||
"sha256:eedab4c310c0299961ac285591acd53dc6723a1ebd90a57207c71f6e0c2153ab",
|
||||
"sha256:efa568b885bca461f7c7b9e032655c0c143d305bf01c30caf6db2854a4532b38",
|
||||
"sha256:efce6ae830831ab6a22b9b4091d411698145cb9b8fc869e1397ccf4b4b6455cb",
|
||||
"sha256:f163d2fd041c630fed01bc48d28c3ed4a3b003c00acd396900e11ee5316b56bb",
|
||||
"sha256:f20380df709d91525e4bee04746ba612a4df0972c1b8f8e1e8af997e678c7b81",
|
||||
"sha256:f30f1928162e189091cf4d9da2eac617bfe78ef907a761614ff577ef4edfb3c8",
|
||||
"sha256:f470c92737afa7d4c3aacc001e335062d582053d4dbe73cda126f2d7031068dd",
|
||||
"sha256:ff8bf625fe85e119553b5383ba0fb6aa3d0ec2ae980295aaefa552374926b3f4"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==1.3.3"
|
||||
},
|
||||
"idna": {
|
||||
"hashes": [
|
||||
"sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4",
|
||||
"sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"
|
||||
],
|
||||
"markers": "python_version >= '3.5'",
|
||||
"version": "==3.4"
|
||||
},
|
||||
"multidict": {
|
||||
"hashes": [
|
||||
"sha256:018c8e3be7f161a12b3e41741b6721f9baeb2210f4ab25a6359b7d76c1017dce",
|
||||
"sha256:01b456046a05ff7cceefb0e1d2a9d32f05efcb1c7e0d152446304e11557639ce",
|
||||
"sha256:114a4ab3e5cfbc56c4b6697686ecb92376c7e8c56893ef20547921552f8bdf57",
|
||||
"sha256:12e0d396faa6dc55ff5379eee54d1df3b508243ff15bfc8295a6ec7a4483a335",
|
||||
"sha256:190626ced82d4cc567a09e7346340d380154a493bac6905e0095d8158cdf1e38",
|
||||
"sha256:1f5d5129a937af4e3c4a1d6c139f4051b7d17d43276cefdd8d442a7031f7eef2",
|
||||
"sha256:21e1ce0b187c4e93112304dcde2aa18922fdbe8fb4f13d8aa72a5657bce0563a",
|
||||
"sha256:24e8d513bfcaadc1f8b0ebece3ff50961951c54b07d5a775008a882966102418",
|
||||
"sha256:2523a29006c034687eccd3ee70093a697129a3ffe8732535d3b2df6a4ecc279d",
|
||||
"sha256:26fbbe17f8a7211b623502d2bf41022a51da3025142401417c765bf9a56fed4c",
|
||||
"sha256:2b66d61966b12e6bba500e5cbb2c721a35e119c30ee02495c5629bd0e91eea30",
|
||||
"sha256:2cf5d19e12eff855aa198259c0b02fd3f5d07e1291fbd20279c37b3b0e6c9852",
|
||||
"sha256:2cfda34b7cb99eacada2072e0f69c0ad3285cb6f8e480b11f2b6d6c1c6f92718",
|
||||
"sha256:3541882266247c7cd3dba78d6ef28dbe704774df60c9e4231edaa4493522e614",
|
||||
"sha256:36df958b15639e40472adaa4f0c2c7828fe680f894a6b48c4ce229f59a6a798b",
|
||||
"sha256:38d394814b39be1c36ac709006d39d50d72a884f9551acd9c8cc1ffae3fc8c4e",
|
||||
"sha256:4159fc1ec9ede8ab93382e0d6ba9b1b3d23c72da39a834db7a116986605c7ab4",
|
||||
"sha256:445c0851a1cbc1f2ec3b40bc22f9c4a235edb3c9a0906122a9df6ea8d51f886c",
|
||||
"sha256:47defc0218682281a52fb1f6346ebb8b68b17538163a89ea24dfe4da37a8a9a3",
|
||||
"sha256:4cc5c8cd205a9810d16a5cd428cd81bac554ad1477cb87f4ad722b10992e794d",
|
||||
"sha256:4ccf55f28066b4f08666764a957c2b7c241c7547b0921d69c7ceab5f74fe1a45",
|
||||
"sha256:4fb3fe591956d8841882c463f934c9f7485cfd5f763a08c0d467b513dc18ef89",
|
||||
"sha256:526f8397fc124674b8f39748680a0ff673bd6a715fecb4866716d36e380f015f",
|
||||
"sha256:578bfcb16f4b8675ef71b960c00f174b0426e0eeb796bab6737389d8288eb827",
|
||||
"sha256:5b51969503709415a35754954c2763f536a70b8bf7360322b2edb0c0a44391f6",
|
||||
"sha256:5e58ec0375803526d395f6f7e730ecc45d06e15f68f7b9cdbf644a2918324e51",
|
||||
"sha256:62db44727d0befea68e8ad2881bb87a9cfb6b87d45dd78609009627167f37b69",
|
||||
"sha256:67090b17a0a5be5704fd109f231ee73cefb1b3802d41288d6378b5df46ae89ba",
|
||||
"sha256:6cd14e61f0da2a2cfb9fe05bfced2a1ed7063ce46a7a8cd473be4973de9a7f91",
|
||||
"sha256:70740c2bc9ab1c99f7cdcb104f27d16c63860c56d51c5bf0ef82fc1d892a2131",
|
||||
"sha256:73009ea04205966d47e16d98686ac5c438af23a1bb30b48a2c5da3423ec9ce37",
|
||||
"sha256:791458a1f7d1b4ab3bd9e93e0dcd1d59ef7ee9aa051dcd1ea030e62e49b923fd",
|
||||
"sha256:7f9511e48bde6b995825e8d35e434fc96296cf07a25f4aae24ff9162be7eaa46",
|
||||
"sha256:81c3d597591b0940e04949e4e4f79359b2d2e542a686ba0da5e25de33fec13e0",
|
||||
"sha256:8230a39bae6c2e8a09e4da6bace5064693b00590a4a213e38f9a9366da10e7dd",
|
||||
"sha256:8b92a9f3ab904397a33b193000dc4de7318ea175c4c460a1e154c415f9008e3d",
|
||||
"sha256:94cbe5535ef150546b8321aebea22862a3284da51e7b55f6f95b7d73e96d90ee",
|
||||
"sha256:960ce1b790952916e682093788696ef7e33ac6a97482f9b983abdc293091b531",
|
||||
"sha256:99341ca1f1db9e7f47914cb2461305665a662383765ced6f843712564766956d",
|
||||
"sha256:9aac6881454a750554ed4b280a839dcf9e2133a9d12ab4d417d673fb102289b7",
|
||||
"sha256:9d359b0a962e052b713647ac1f13eabf2263167b149ed1e27d5c579f5c8c7d2c",
|
||||
"sha256:9dbab2a7e9c073bc9538824a01f5ed689194db7f55f2b8102766873e906a6c1a",
|
||||
"sha256:a27b029caa3b555a4f3da54bc1e718eb55fcf1a11fda8bf0132147b476cf4c08",
|
||||
"sha256:a8b817d4ed68fd568ec5e45dd75ddf30cc72a47a6b41b74d5bb211374c296f5e",
|
||||
"sha256:ad7d66422b9cc51125509229693d27e18c08f2dea3ac9de408d821932b1b3759",
|
||||
"sha256:b46e79a9f4db53897d17bc64a39d1c7c2be3e3d4f8dba6d6730a2b13ddf0f986",
|
||||
"sha256:baa96a3418e27d723064854143b2f414a422c84cc87285a71558722049bebc5a",
|
||||
"sha256:beeca903e4270b4afcd114f371a9602240dc143f9e944edfea00f8d4ad56c40d",
|
||||
"sha256:c2a1168e5aa7c72499fb03c850e0f03f624fa4a5c8d2e215c518d0a73872eb64",
|
||||
"sha256:c5790cc603456b6dcf8a9a4765f666895a6afddc88b3d3ba7b53dea2b6e23116",
|
||||
"sha256:cb4a08f0aaaa869f189ffea0e17b86ad0237b51116d494da15ef7991ee6ad2d7",
|
||||
"sha256:cd5771e8ea325f85cbb361ddbdeb9ae424a68e5dfb6eea786afdcd22e68a7d5d",
|
||||
"sha256:ce8e51774eb03844588d3c279adb94efcd0edeccd2f97516623292445bcc01f9",
|
||||
"sha256:d09daf5c6ce7fc6ed444c9339bbde5ea84e2534d1ca1cd37b60f365c77f00dea",
|
||||
"sha256:d0e798b072cf2aab9daceb43d97c9c527a0c7593e67a7846ad4cc6051de1e303",
|
||||
"sha256:d325d61cac602976a5d47b19eaa7d04e3daf4efce2164c630219885087234102",
|
||||
"sha256:d408172519049e36fb6d29672f060dc8461fc7174eba9883c7026041ef9bfb38",
|
||||
"sha256:d52442e7c951e4c9ee591d6047706e66923d248d83958bbf99b8b19515fffaef",
|
||||
"sha256:dc4cfef5d899f5f1a15f3d2ac49f71107a01a5a2745b4dd53fa0cede1419385a",
|
||||
"sha256:df7b4cee3ff31b3335aba602f8d70dbc641e5b7164b1e9565570c9d3c536a438",
|
||||
"sha256:e068dfeadbce63072b2d8096486713d04db4946aad0a0f849bd4fc300799d0d3",
|
||||
"sha256:e07c24018986fb00d6e7eafca8fcd6e05095649e17fcf0e33a592caaa62a78b9",
|
||||
"sha256:e0bce9f7c30e7e3a9e683f670314c0144e8d34be6b7019e40604763bd278d84f",
|
||||
"sha256:e1925f78a543b94c3d46274c66a366fee8a263747060220ed0188e5f3eeea1c0",
|
||||
"sha256:e322c94596054352f5a02771eec71563c018b15699b961aba14d6dd943367022",
|
||||
"sha256:e4a095e18847c12ec20e55326ab8782d9c2d599400a3a2f174fab4796875d0e2",
|
||||
"sha256:e5a811aab1b4aea0b4be669363c19847a8c547510f0e18fb632956369fdbdf67",
|
||||
"sha256:eddf604a3de2ace3d9a4e4d491be7562a1ac095a0a1c95a9ec5781ef0273ef11",
|
||||
"sha256:ee9b1cae9a6c5d023e5a150f6f6b9dbb3c3bbc7887d6ee07d4c0ecb49a473734",
|
||||
"sha256:f1650ea41c408755da5eed52ac6ccbc8938ccc3e698d81e6f6a1be02ff2a0945",
|
||||
"sha256:f2c0957b3e8c66c10d27272709a5299ab3670a0f187c9428f3b90d267119aedb",
|
||||
"sha256:f76109387e1ec8d8e2137c94c437b89fe002f29e0881aae8ae45529bdff92000",
|
||||
"sha256:f8a728511c977df6f3d8af388fcb157e49f11db4a6637dd60131b8b6e40b0253",
|
||||
"sha256:fb6c3dc3d65014d2c782f5acf0b3ba14e639c6c33d3ed8932ead76b9080b3544"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==6.0.3"
|
||||
},
|
||||
"pyyaml": {
|
||||
"hashes": [
|
||||
"sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf",
|
||||
"sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293",
|
||||
"sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b",
|
||||
"sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57",
|
||||
"sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b",
|
||||
"sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4",
|
||||
"sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07",
|
||||
"sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba",
|
||||
"sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9",
|
||||
"sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287",
|
||||
"sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513",
|
||||
"sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0",
|
||||
"sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782",
|
||||
"sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0",
|
||||
"sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92",
|
||||
"sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f",
|
||||
"sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2",
|
||||
"sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc",
|
||||
"sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1",
|
||||
"sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c",
|
||||
"sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86",
|
||||
"sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4",
|
||||
"sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c",
|
||||
"sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34",
|
||||
"sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b",
|
||||
"sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d",
|
||||
"sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c",
|
||||
"sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb",
|
||||
"sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7",
|
||||
"sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737",
|
||||
"sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3",
|
||||
"sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d",
|
||||
"sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358",
|
||||
"sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53",
|
||||
"sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78",
|
||||
"sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803",
|
||||
"sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a",
|
||||
"sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f",
|
||||
"sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174",
|
||||
"sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==6.0"
|
||||
},
|
||||
"requests": {
|
||||
"hashes": [
|
||||
"sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983",
|
||||
"sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349"
|
||||
],
|
||||
"index": "pypi",
|
||||
"version": "==2.28.1"
|
||||
},
|
||||
"urllib3": {
|
||||
"hashes": [
|
||||
"sha256:47cc05d99aaa09c9e72ed5809b60e7ba354e64b59c9c173ac3018642d8bb41fc",
|
||||
"sha256:c083dd0dce68dbfbe1129d5271cb90f9447dea7d52097c6e0126120c521ddea8"
|
||||
],
|
||||
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'",
|
||||
"version": "==1.26.13"
|
||||
},
|
||||
"yarl": {
|
||||
"hashes": [
|
||||
"sha256:009a028127e0a1755c38b03244c0bea9d5565630db9c4cf9572496e947137a87",
|
||||
"sha256:0414fd91ce0b763d4eadb4456795b307a71524dbacd015c657bb2a39db2eab89",
|
||||
"sha256:0978f29222e649c351b173da2b9b4665ad1feb8d1daa9d971eb90df08702668a",
|
||||
"sha256:0ef8fb25e52663a1c85d608f6dd72e19bd390e2ecaf29c17fb08f730226e3a08",
|
||||
"sha256:10b08293cda921157f1e7c2790999d903b3fd28cd5c208cf8826b3b508026996",
|
||||
"sha256:1684a9bd9077e922300ecd48003ddae7a7474e0412bea38d4631443a91d61077",
|
||||
"sha256:1b372aad2b5f81db66ee7ec085cbad72c4da660d994e8e590c997e9b01e44901",
|
||||
"sha256:1e21fb44e1eff06dd6ef971d4bdc611807d6bd3691223d9c01a18cec3677939e",
|
||||
"sha256:2305517e332a862ef75be8fad3606ea10108662bc6fe08509d5ca99503ac2aee",
|
||||
"sha256:24ad1d10c9db1953291f56b5fe76203977f1ed05f82d09ec97acb623a7976574",
|
||||
"sha256:272b4f1599f1b621bf2aabe4e5b54f39a933971f4e7c9aa311d6d7dc06965165",
|
||||
"sha256:2a1fca9588f360036242f379bfea2b8b44cae2721859b1c56d033adfd5893634",
|
||||
"sha256:2b4fa2606adf392051d990c3b3877d768771adc3faf2e117b9de7eb977741229",
|
||||
"sha256:3150078118f62371375e1e69b13b48288e44f6691c1069340081c3fd12c94d5b",
|
||||
"sha256:326dd1d3caf910cd26a26ccbfb84c03b608ba32499b5d6eeb09252c920bcbe4f",
|
||||
"sha256:34c09b43bd538bf6c4b891ecce94b6fa4f1f10663a8d4ca589a079a5018f6ed7",
|
||||
"sha256:388a45dc77198b2460eac0aca1efd6a7c09e976ee768b0d5109173e521a19daf",
|
||||
"sha256:3adeef150d528ded2a8e734ebf9ae2e658f4c49bf413f5f157a470e17a4a2e89",
|
||||
"sha256:3edac5d74bb3209c418805bda77f973117836e1de7c000e9755e572c1f7850d0",
|
||||
"sha256:3f6b4aca43b602ba0f1459de647af954769919c4714706be36af670a5f44c9c1",
|
||||
"sha256:3fc056e35fa6fba63248d93ff6e672c096f95f7836938241ebc8260e062832fe",
|
||||
"sha256:418857f837347e8aaef682679f41e36c24250097f9e2f315d39bae3a99a34cbf",
|
||||
"sha256:42430ff511571940d51e75cf42f1e4dbdded477e71c1b7a17f4da76c1da8ea76",
|
||||
"sha256:44ceac0450e648de86da8e42674f9b7077d763ea80c8ceb9d1c3e41f0f0a9951",
|
||||
"sha256:47d49ac96156f0928f002e2424299b2c91d9db73e08c4cd6742923a086f1c863",
|
||||
"sha256:48dd18adcf98ea9cd721a25313aef49d70d413a999d7d89df44f469edfb38a06",
|
||||
"sha256:49d43402c6e3013ad0978602bf6bf5328535c48d192304b91b97a3c6790b1562",
|
||||
"sha256:4d04acba75c72e6eb90745447d69f84e6c9056390f7a9724605ca9c56b4afcc6",
|
||||
"sha256:57a7c87927a468e5a1dc60c17caf9597161d66457a34273ab1760219953f7f4c",
|
||||
"sha256:58a3c13d1c3005dbbac5c9f0d3210b60220a65a999b1833aa46bd6677c69b08e",
|
||||
"sha256:5df5e3d04101c1e5c3b1d69710b0574171cc02fddc4b23d1b2813e75f35a30b1",
|
||||
"sha256:63243b21c6e28ec2375f932a10ce7eda65139b5b854c0f6b82ed945ba526bff3",
|
||||
"sha256:64dd68a92cab699a233641f5929a40f02a4ede8c009068ca8aa1fe87b8c20ae3",
|
||||
"sha256:6604711362f2dbf7160df21c416f81fac0de6dbcf0b5445a2ef25478ecc4c778",
|
||||
"sha256:6c4fcfa71e2c6a3cb568cf81aadc12768b9995323186a10827beccf5fa23d4f8",
|
||||
"sha256:6d88056a04860a98341a0cf53e950e3ac9f4e51d1b6f61a53b0609df342cc8b2",
|
||||
"sha256:705227dccbe96ab02c7cb2c43e1228e2826e7ead880bb19ec94ef279e9555b5b",
|
||||
"sha256:728be34f70a190566d20aa13dc1f01dc44b6aa74580e10a3fb159691bc76909d",
|
||||
"sha256:74dece2bfc60f0f70907c34b857ee98f2c6dd0f75185db133770cd67300d505f",
|
||||
"sha256:75c16b2a900b3536dfc7014905a128a2bea8fb01f9ee26d2d7d8db0a08e7cb2c",
|
||||
"sha256:77e913b846a6b9c5f767b14dc1e759e5aff05502fe73079f6f4176359d832581",
|
||||
"sha256:7a66c506ec67eb3159eea5096acd05f5e788ceec7b96087d30c7d2865a243918",
|
||||
"sha256:8c46d3d89902c393a1d1e243ac847e0442d0196bbd81aecc94fcebbc2fd5857c",
|
||||
"sha256:93202666046d9edadfe9f2e7bf5e0782ea0d497b6d63da322e541665d65a044e",
|
||||
"sha256:97209cc91189b48e7cfe777237c04af8e7cc51eb369004e061809bcdf4e55220",
|
||||
"sha256:a48f4f7fea9a51098b02209d90297ac324241bf37ff6be6d2b0149ab2bd51b37",
|
||||
"sha256:a783cd344113cb88c5ff7ca32f1f16532a6f2142185147822187913eb989f739",
|
||||
"sha256:ae0eec05ab49e91a78700761777f284c2df119376e391db42c38ab46fd662b77",
|
||||
"sha256:ae4d7ff1049f36accde9e1ef7301912a751e5bae0a9d142459646114c70ecba6",
|
||||
"sha256:b05df9ea7496df11b710081bd90ecc3a3db6adb4fee36f6a411e7bc91a18aa42",
|
||||
"sha256:baf211dcad448a87a0d9047dc8282d7de59473ade7d7fdf22150b1d23859f946",
|
||||
"sha256:bb81f753c815f6b8e2ddd2eef3c855cf7da193b82396ac013c661aaa6cc6b0a5",
|
||||
"sha256:bcd7bb1e5c45274af9a1dd7494d3c52b2be5e6bd8d7e49c612705fd45420b12d",
|
||||
"sha256:bf071f797aec5b96abfc735ab97da9fd8f8768b43ce2abd85356a3127909d146",
|
||||
"sha256:c15163b6125db87c8f53c98baa5e785782078fbd2dbeaa04c6141935eb6dab7a",
|
||||
"sha256:cb6d48d80a41f68de41212f3dfd1a9d9898d7841c8f7ce6696cf2fd9cb57ef83",
|
||||
"sha256:ceff9722e0df2e0a9e8a79c610842004fa54e5b309fe6d218e47cd52f791d7ef",
|
||||
"sha256:cfa2bbca929aa742b5084fd4663dd4b87c191c844326fcb21c3afd2d11497f80",
|
||||
"sha256:d617c241c8c3ad5c4e78a08429fa49e4b04bedfc507b34b4d8dceb83b4af3588",
|
||||
"sha256:d881d152ae0007809c2c02e22aa534e702f12071e6b285e90945aa3c376463c5",
|
||||
"sha256:da65c3f263729e47351261351b8679c6429151ef9649bba08ef2528ff2c423b2",
|
||||
"sha256:de986979bbd87272fe557e0a8fcb66fd40ae2ddfe28a8b1ce4eae22681728fef",
|
||||
"sha256:df60a94d332158b444301c7f569659c926168e4d4aad2cfbf4bce0e8fb8be826",
|
||||
"sha256:dfef7350ee369197106805e193d420b75467b6cceac646ea5ed3049fcc950a05",
|
||||
"sha256:e59399dda559688461762800d7fb34d9e8a6a7444fd76ec33220a926c8be1516",
|
||||
"sha256:e6f3515aafe0209dd17fb9bdd3b4e892963370b3de781f53e1746a521fb39fc0",
|
||||
"sha256:e7fd20d6576c10306dea2d6a5765f46f0ac5d6f53436217913e952d19237efc4",
|
||||
"sha256:ebb78745273e51b9832ef90c0898501006670d6e059f2cdb0e999494eb1450c2",
|
||||
"sha256:efff27bd8cbe1f9bd127e7894942ccc20c857aa8b5a0327874f30201e5ce83d0",
|
||||
"sha256:f37db05c6051eff17bc832914fe46869f8849de5b92dc4a3466cd63095d23dfd",
|
||||
"sha256:f8ca8ad414c85bbc50f49c0a106f951613dfa5f948ab69c10ce9b128d368baf8",
|
||||
"sha256:fb742dcdd5eec9f26b61224c23baea46c9055cf16f62475e11b9b15dfd5c117b",
|
||||
"sha256:fc77086ce244453e074e445104f0ecb27530d6fd3a46698e33f6c38951d5a0f1",
|
||||
"sha256:ff205b58dc2929191f68162633d5e10e8044398d7a45265f90a0f1d51f85f72c"
|
||||
],
|
||||
"markers": "python_version >= '3.7'",
|
||||
"version": "==1.8.2"
|
||||
}
|
||||
},
|
||||
"develop": {}
|
||||
}
|
||||
BIN
config/helm/scraper/apm-server-8.5.1.tgz
Normal file
BIN
config/helm/scraper/apm-server-8.5.1.tgz
Normal file
Binary file not shown.
6446
config/helm/scraper/index.yaml
Normal file
6446
config/helm/scraper/index.yaml
Normal file
File diff suppressed because it is too large
Load Diff
21
config/helm/scraper/main.py
Normal file
21
config/helm/scraper/main.py
Normal file
@@ -0,0 +1,21 @@
|
||||
import requests
|
||||
import asyncio, aiohttp, aiofiles
|
||||
import yaml
|
||||
|
||||
|
||||
URLS_LIST="urls.txt"
|
||||
URLS = open(URLS_LIST, "r")
|
||||
|
||||
def scrape_repo(url):
|
||||
print(f"Crawling {url} ...")
|
||||
resp = requests.get(f"{url}/index.yaml")
|
||||
obj = yaml.safe_load(resp.content)
|
||||
print(obj['entries'].keys())
|
||||
for app_name in obj['entries'].keys():
|
||||
print(f"{app_name}:")
|
||||
for app_version in obj['entries'][app_name]:
|
||||
print(app_version)
|
||||
|
||||
if __name__ == "__main__":
|
||||
for url in URLS.readlines():
|
||||
scrape_repo(url.strip())
|
||||
2
config/helm/scraper/test/.helmignore
Normal file
2
config/helm/scraper/test/.helmignore
Normal file
@@ -0,0 +1,2 @@
|
||||
tests/
|
||||
.pytest_cache/
|
||||
12
config/helm/scraper/test/Chart.yaml
Normal file
12
config/helm/scraper/test/Chart.yaml
Normal file
@@ -0,0 +1,12 @@
|
||||
apiVersion: v1
|
||||
appVersion: 8.5.1
|
||||
description: Official Elastic helm chart for Elastic APM Server
|
||||
home: https://github.com/elastic/helm-charts
|
||||
icon: https://helm.elastic.co/icons/apm.png
|
||||
maintainers:
|
||||
- email: helm-charts@elastic.co
|
||||
name: Elastic
|
||||
name: apm-server
|
||||
sources:
|
||||
- https://github.com/elastic/apm
|
||||
version: 8.5.1
|
||||
1
config/helm/scraper/test/Makefile
Normal file
1
config/helm/scraper/test/Makefile
Normal file
@@ -0,0 +1 @@
|
||||
include ../helpers/common.mk
|
||||
183
config/helm/scraper/test/README.md
Normal file
183
config/helm/scraper/test/README.md
Normal file
@@ -0,0 +1,183 @@
|
||||
# APM Server Helm Chart
|
||||
|
||||
[](https://devops-ci.elastic.co/job/elastic+helm-charts+main/) [](https://artifacthub.io/packages/search?repo=elastic)
|
||||
|
||||
This Helm chart is a lightweight way to configure and run our official
|
||||
[APM Server Docker image][].
|
||||
|
||||
> **Warning**
|
||||
> When it comes to running the Elastic on Kubernetes infrastructure, we
|
||||
> recommend [Elastic Cloud on Kubernetes][] (ECK) as the best way to run and manage
|
||||
> the Elastic Stack.
|
||||
>
|
||||
> ECK offers many operational benefits for both our basic-tier and our
|
||||
> enterprise-tier customers, such as spinning up cluster nodes that were lost on
|
||||
> failed infrastructure, seamless upgrades, rolling cluster changes, and much
|
||||
> much more.
|
||||
>
|
||||
> With the release of the Elastic Stack Helm charts for Elastic version 8.5.1,
|
||||
> we are handing over the ongoing maintenance of our Elastic Stack Helm charts
|
||||
> to the community and contributors. This repository will finally be archived
|
||||
> after 6 months time. Elastic Stacks deployed on Kubernetes through Helm charts
|
||||
> will still be fully supported under EOL limitations.
|
||||
>
|
||||
> Since we want to provide an even better experience for our customers by
|
||||
> running the Elastic Stack on Kubernetes, we will continue maintaining the
|
||||
> Helm charts applicable to ECK Custom Resources. These charts can be found in
|
||||
> the [ECK repository][eck-charts].
|
||||
>
|
||||
> Helm charts will currently be maintained for ECK Enterprise-tier customers,
|
||||
> however, we encourage the community to engage with the existing Helm charts
|
||||
> for the Elastic Stack and continue supporting their ongoing maintenance.
|
||||
>
|
||||
> See <https://github.com/elastic/helm-charts/issues/1731> for more details.
|
||||
|
||||
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
|
||||
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
|
||||
|
||||
|
||||
- [Requirements](#requirements)
|
||||
- [Installing](#installing)
|
||||
- [Install a released version using the Helm repository](#install-a-released-version-using-the-helm-repository)
|
||||
- [Install a development version using the main branch](#install-a-development-version-using-the-main-branch)
|
||||
- [Upgrading](#upgrading)
|
||||
- [Usage notes](#usage-notes)
|
||||
- [Configuration](#configuration)
|
||||
- [FAQ](#faq)
|
||||
- [How to use APM Server with Elasticsearch with security (authentication and TLS) enabled?](#how-to-use-apm-server-with-elasticsearch-with-security-authentication-and-tls-enabled)
|
||||
- [Contributing](#contributing)
|
||||
|
||||
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
|
||||
<!-- Use this to update TOC: -->
|
||||
<!-- docker run --entrypoint doctoc --rm -it -v $(pwd):/usr/src jorgeandrada/doctoc README.md --github --no-title -->
|
||||
|
||||
|
||||
## Requirements
|
||||
|
||||
See [supported configurations][] for more details.
|
||||
|
||||
|
||||
## Installing
|
||||
|
||||
### Install a released version using the Helm repository
|
||||
|
||||
* Add the Elastic Helm charts repo:
|
||||
`helm repo add elastic https://helm.elastic.co`
|
||||
|
||||
* Install it `helm install apm-server elastic/apm-server`
|
||||
|
||||
|
||||
### Install a development version using the main branch
|
||||
|
||||
* Clone the git repo: `git clone git@github.com:elastic/helm-charts.git`
|
||||
|
||||
* Install it: `helm install apm-server ./helm-charts/apm-server --set imageTag=8.5.1`
|
||||
|
||||
|
||||
## Upgrading
|
||||
|
||||
Please always check [CHANGELOG.md][] and [BREAKING_CHANGES.md][] before
|
||||
upgrading to a new chart version.
|
||||
|
||||
|
||||
## Usage notes
|
||||
|
||||
* The default APM Server configuration file for this chart is configured to use
|
||||
an Elasticsearch endpoint as configured by the rest of these Helm charts. This
|
||||
can easily be overridden in the config value `apmConfig.apm-server.yml`.
|
||||
|
||||
* Automated testing of this chart is currently only run against GKE (Google
|
||||
Kubernetes Engine).
|
||||
|
||||
* This repo includes several [examples][] of configurations that can be used as a
|
||||
reference. They are also used in the automated testing of this chart.
|
||||
|
||||
|
||||
## Configuration
|
||||
|
||||
| Parameter | Description | Default |
|
||||
|-----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------|
|
||||
| `affinity` | Configurable [affinity][] | `{}` |
|
||||
| `apmConfig` | Allows you to add any config files in `/usr/share/apm-server/config` such as `apm-server.yml` | see [values.yaml][] |
|
||||
| `autoscaling` | Enable the [horizontal pod autoscaler][] | see [values.yaml][] |
|
||||
| `envFrom` | Templatable string to be passed to the [environment from variables][] which will be appended to the `envFrom:` definition for the container | `[]` |
|
||||
| `extraContainers` | Templatable string of additional containers to be passed to the `tpl` function | `""` |
|
||||
| `extraEnvs` | Extra [environment variables][] which will be appended to the `env:` definition for the container | see [values.yaml][] |
|
||||
| `extraInitContainers` | Templatable string of additional containers to be passed to the `tpl` function | `""` |
|
||||
| `extraVolumeMounts` | List of additional `volumeMounts` | `[]` |
|
||||
| `extraVolumes` | List of additional `volumes` | `[]` |
|
||||
| `fullnameOverride` | Overrides the full name of the resources. If not set the name will default to `.Release.Name` - `.Values.nameOverride` or `.Chart.Name` | `""` |
|
||||
| `hostAliases` | Configurable [hostAliases][] | `[]` |
|
||||
| `imagePullPolicy` | The Kubernetes [imagePullPolicy][] value | `IfNotPresent` |
|
||||
| `imagePullSecrets` | Configuration for [imagePullSecrets][] so that you can use a private registry for your image | `[]` |
|
||||
| `imageTag` | The APM Server Docker image tag | `8.5.1` |
|
||||
| `image` | The APM Server Docker image | `docker.elastic.co/apm/apm-server` |
|
||||
| `ingress` | Configurable [ingress][] to expose the APM Server service | see [values.yaml][] |
|
||||
| `labels` | Configurable [labels][] applied to all APM server pods | `{}` |
|
||||
| `lifecycle` | Configurable [lifecycle hooks][] | `false` |
|
||||
| `livenessProbe` | Parameters to pass to liveness [probe][] checks for values such as timeouts and thresholds | see [values.yaml][] |
|
||||
| `managedServiceAccount` | Whether the `serviceAccount` should be managed by this Helm chart. Set this to `false` in order to manage your own service account and related roles | `true` |
|
||||
| `nameOverride` | Overrides the chart name for resources. If not set the name will default to `.Chart.Name` | `""` |
|
||||
| `nodeSelector` | Configurable [nodeSelector][] | `{}` |
|
||||
| `podAnnotations` | Configurable [annotations][] applied to all APM Server pods | `{}` |
|
||||
| `podSecurityContext` | Configurable [podSecurityContext][] for APM Server pod execution environment | see [values.yaml][] |
|
||||
| `priorityClassName` | The name of the [PriorityClass][]. No default is supplied as the `PriorityClass` must be created first | `""` |
|
||||
| `readinessProbe` | Parameters to pass to readiness [probe][] checks for values such as timeouts and thresholds | see [values.yaml][] |
|
||||
| `replicas` | Number of APM servers to run | `1` |
|
||||
| `resources` | Allows you to set the [resources][] for the `Deployment` | see [values.yaml][] |
|
||||
| `secretMounts` | Allows you easily mount a secret as a file inside the `Deployment`. Useful for mounting certificates and other secrets. See [values.yaml][] for an example | `[]` |
|
||||
| `serviceAccount` | Custom [serviceAccount][] that APM Server will use during execution. By default will use the `serviceAccount` created by this chart | `""` |
|
||||
| `serviceAccountAnnotations` | Annotations to be added to the ServiceAccount that is created by this chart. | `{}` |
|
||||
| `service` | Configurable [service][] to expose the APM Server service. See [values.yaml][] for an example | see [values.yaml][] |
|
||||
| `terminationGracePeriod` | Termination period (in seconds) to wait before killing APM Server pod process on pod shutdown | `30` |
|
||||
| `tolerations` | Configurable [tolerations][] | `[]` |
|
||||
| `updateStrategy` | Allows you to change the default [updateStrategy][] for the deployment | see [values.yaml][] |
|
||||
|
||||
|
||||
## FAQ
|
||||
|
||||
### How to use APM Server with Elasticsearch with security (authentication and TLS) enabled?
|
||||
|
||||
This Helm chart can use existing [Kubernetes secrets][] to setup
|
||||
credentials or certificates for examples. These secrets should be created
|
||||
outside of this chart and accessed using [environment variables][] and volumes.
|
||||
|
||||
An example can be found in [examples/security][].
|
||||
|
||||
|
||||
## Contributing
|
||||
|
||||
Please check [CONTRIBUTING.md][] before any contribution or for any questions
|
||||
about our development and testing process.
|
||||
|
||||
[affinity]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
|
||||
[annotations]: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/
|
||||
[apm server docker image]: https://www.elastic.co/guide/en/apm/server/current/running-on-docker.html
|
||||
[BREAKING_CHANGES.md]: https://github.com/elastic/helm-charts/blob/main/BREAKING_CHANGES.md
|
||||
[CHANGELOG.md]: https://github.com/elastic/helm-charts/blob/main/CHANGELOG.md
|
||||
[CONTRIBUTING.md]: https://github.com/elastic/helm-charts/blob/main/CONTRIBUTING.md
|
||||
[eck-charts]: https://github.com/elastic/cloud-on-k8s/tree/master/deploy
|
||||
[elastic cloud on kubernetes]: https://github.com/elastic/cloud-on-k8s
|
||||
[environment from variables]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#configure-all-key-value-pairs-in-a-configmap-as-container-environment-variables
|
||||
[environment variables]: https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/#using-environment-variables-inside-of-your-config
|
||||
[examples]: https://github.com/elastic/helm-charts/tree/main/apm-server/examples
|
||||
[examples/security]: https://github.com/elastic/helm-charts/tree/main/apm-server/examples/security
|
||||
[horizontal pod autoscaler]: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
|
||||
[hostAliases]: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
|
||||
[imagePullPolicy]: https://kubernetes.io/docs/concepts/containers/images/#updating-images
|
||||
[imagePullSecrets]: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-pod-that-uses-your-secret
|
||||
[ingress]: https://kubernetes.io/docs/concepts/services-networking/ingress/
|
||||
[kubernetes secrets]: https://kubernetes.io/docs/concepts/configuration/secret/
|
||||
[labels]: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
|
||||
[lifecycle hooks]: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/
|
||||
[nodeSelector]: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector
|
||||
[podSecurityContext]: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
|
||||
[priorityClass]: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
|
||||
[probe]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/
|
||||
[resources]: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/
|
||||
[service]: https://kubernetes.io/docs/concepts/services-networking/service/
|
||||
[serviceAccount]: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
|
||||
[supported configurations]: https://github.com/elastic/helm-charts/tree/main/README.md#supported-configurations
|
||||
[tolerations]: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
|
||||
[updateStrategy]: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#updating-a-deployment
|
||||
[values.yaml]: https://github.com/elastic/helm-charts/tree/main/apm-server/values.yaml
|
||||
13
config/helm/scraper/test/examples/default/Makefile
Normal file
13
config/helm/scraper/test/examples/default/Makefile
Normal file
@@ -0,0 +1,13 @@
|
||||
default: test
|
||||
|
||||
include ../../../helpers/examples.mk
|
||||
|
||||
RELEASE := helm-apm-server-default
|
||||
|
||||
install:
|
||||
helm upgrade --wait --timeout=$(TIMEOUT) --install $(RELEASE) ../../
|
||||
|
||||
test: install goss
|
||||
|
||||
purge:
|
||||
helm del $(RELEASE)
|
||||
27
config/helm/scraper/test/examples/default/README.md
Normal file
27
config/helm/scraper/test/examples/default/README.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# Default
|
||||
|
||||
This example deploy APM Server 8.5.1 using [default values][].
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
* Deploy [Elasticsearch Helm chart][].
|
||||
|
||||
* Deploy APM Server chart with the default values: `make install`
|
||||
|
||||
* You can now setup a port forward to query APM indices:
|
||||
|
||||
```
|
||||
kubectl port-forward svc/elasticsearch-master 9200
|
||||
curl localhost:9200/_cat/indices
|
||||
```
|
||||
|
||||
|
||||
## Testing
|
||||
|
||||
You can also run [goss integration tests][] using `make test`
|
||||
|
||||
|
||||
[elasticsearch helm chart]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/default/
|
||||
[goss integration tests]: https://github.com/elastic/helm-charts/tree/main/apm-server/examples/default/test/goss.yaml
|
||||
[default values]: https://github.com/elastic/helm-charts/tree/main/apm-server/values.yaml
|
||||
6
config/helm/scraper/test/examples/default/test/goss.yaml
Normal file
6
config/helm/scraper/test/examples/default/test/goss.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
http:
|
||||
http://localhost:8200?pretty:
|
||||
status: 200
|
||||
timeout: 2000
|
||||
body:
|
||||
- "8.5.1"
|
||||
13
config/helm/scraper/test/examples/security/Makefile
Normal file
13
config/helm/scraper/test/examples/security/Makefile
Normal file
@@ -0,0 +1,13 @@
|
||||
default: test
|
||||
|
||||
include ../../../helpers/examples.mk
|
||||
|
||||
RELEASE := helm-apm-server-security
|
||||
|
||||
install:
|
||||
helm upgrade --wait --timeout=$(TIMEOUT) --install --values values.yaml $(RELEASE) ../../
|
||||
|
||||
test: install goss
|
||||
|
||||
purge:
|
||||
helm del $(RELEASE)
|
||||
28
config/helm/scraper/test/examples/security/README.md
Normal file
28
config/helm/scraper/test/examples/security/README.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Security
|
||||
|
||||
This example deploy APM Server 8.5.1 using authentication and TLS to connect to
|
||||
Elasticsearch (see [values][]).
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
* Deploy [Elasticsearch Helm chart][].
|
||||
|
||||
* Deploy APM Server chart with security: `make install`
|
||||
|
||||
* You can now setup a port forward to query APM indices:
|
||||
|
||||
```
|
||||
kubectl port-forward svc/security-master 9200
|
||||
curl -u elastic:changeme https://localhost:9200/_cat/indices
|
||||
```
|
||||
|
||||
|
||||
## Testing
|
||||
|
||||
You can also run [goss integration tests][] using `make test`
|
||||
|
||||
|
||||
[elasticsearch helm chart]: https://github.com/elastic/helm-charts/tree/main/elasticsearch/examples/security/
|
||||
[goss integration tests]: https://github.com/elastic/helm-charts/tree/main/apm-server/examples/security/test/goss.yaml
|
||||
[values]: https://github.com/elastic/helm-charts/tree/main/apm-server/examples/security/values.yaml
|
||||
@@ -0,0 +1,6 @@
|
||||
http:
|
||||
http://localhost:8200?pretty:
|
||||
status: 200
|
||||
timeout: 2000
|
||||
body:
|
||||
- "8.5.1"
|
||||
29
config/helm/scraper/test/examples/security/values.yaml
Normal file
29
config/helm/scraper/test/examples/security/values.yaml
Normal file
@@ -0,0 +1,29 @@
|
||||
apmConfig:
|
||||
apm-server.yml: |
|
||||
apm-server:
|
||||
host: "0.0.0.0:8200"
|
||||
queue: {}
|
||||
output.elasticsearch:
|
||||
username: '${ELASTICSEARCH_USERNAME}'
|
||||
password: '${ELASTICSEARCH_PASSWORD}'
|
||||
protocol: https
|
||||
hosts: ["security-master:9200"]
|
||||
ssl.certificate_authorities:
|
||||
- /usr/share/apm-server/config/certs/elastic-certificate.pem
|
||||
|
||||
secretMounts:
|
||||
- name: elastic-certificate-pem
|
||||
secretName: elastic-certificate-pem
|
||||
path: /usr/share/apm-server/config/certs
|
||||
|
||||
extraEnvs:
|
||||
- name: "ELASTICSEARCH_USERNAME"
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: security-master-credentials
|
||||
key: username
|
||||
- name: "ELASTICSEARCH_PASSWORD"
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: security-master-credentials
|
||||
key: password
|
||||
17
config/helm/scraper/test/examples/upgrade/Makefile
Normal file
17
config/helm/scraper/test/examples/upgrade/Makefile
Normal file
@@ -0,0 +1,17 @@
|
||||
default: test
|
||||
|
||||
include ../../../helpers/examples.mk
|
||||
|
||||
CHART := apm-server
|
||||
RELEASE := helm-apm-server-upgrade
|
||||
# K8S 1.22 doesn't support anymore rbac.authorization.k8s.io/v1beta1 used in 7.9.0
|
||||
FROM := 7.10.0
|
||||
|
||||
install:
|
||||
../../../helpers/upgrade.sh --chart $(CHART) --release $(RELEASE) --from $(FROM)
|
||||
kubectl rollout status deployment $(RELEASE)-apm-server
|
||||
|
||||
test: install goss
|
||||
|
||||
purge:
|
||||
helm del $(RELEASE)
|
||||
21
config/helm/scraper/test/examples/upgrade/README.md
Normal file
21
config/helm/scraper/test/examples/upgrade/README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Upgrade
|
||||
|
||||
This example will deploy APM Server chart using an old chart version,
|
||||
then upgrade it.
|
||||
|
||||
|
||||
## Usage
|
||||
|
||||
* Add the Elastic Helm charts repo: `helm repo add elastic https://helm.elastic.co`
|
||||
|
||||
* Deploy [Elasticsearch Helm chart][]: `helm install elasticsearch elastic/elasticsearch`
|
||||
|
||||
* Deploy and upgrade APM Server chart with the default values: `make install`
|
||||
|
||||
|
||||
## Testing
|
||||
|
||||
You can also run [goss integration tests][] using `make test`.
|
||||
|
||||
|
||||
[goss integration tests]: https://github.com/elastic/helm-charts/tree/main/apm-server/examples/upgrade/test/goss.yaml
|
||||
6
config/helm/scraper/test/examples/upgrade/test/goss.yaml
Normal file
6
config/helm/scraper/test/examples/upgrade/test/goss.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
http:
|
||||
http://localhost:8200?pretty:
|
||||
status: 200
|
||||
timeout: 2000
|
||||
body:
|
||||
- "8.5.1"
|
||||
26
config/helm/scraper/test/examples/upgrade/values.yaml
Normal file
26
config/helm/scraper/test/examples/upgrade/values.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
apmConfig:
|
||||
apm-server.yml: |
|
||||
apm-server:
|
||||
host: "0.0.0.0:8200"
|
||||
|
||||
queue: {}
|
||||
output.file:
|
||||
enabled: false
|
||||
|
||||
output.elasticsearch:
|
||||
hosts: ["http://upgrade-master:9200"]
|
||||
username: "${ELASTICSEARCH_USERNAME}"
|
||||
password: "${ELASTICSEARCH_PASSWORD}"
|
||||
|
||||
extraEnvs:
|
||||
- name: "ELASTICSEARCH_USERNAME"
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: upgrade-master-credentials
|
||||
key: username
|
||||
- name: "ELASTICSEARCH_PASSWORD"
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: upgrade-master-credentials
|
||||
key: password
|
||||
2
config/helm/scraper/test/templates/NOTES.txt
Normal file
2
config/helm/scraper/test/templates/NOTES.txt
Normal file
@@ -0,0 +1,2 @@
|
||||
1. Watch all containers come up.
|
||||
$ kubectl get pods --namespace={{ .Release.Namespace }} -l app={{ template "apm.fullname" . }} -w
|
||||
31
config/helm/scraper/test/templates/_helpers.tpl
Normal file
31
config/helm/scraper/test/templates/_helpers.tpl
Normal file
@@ -0,0 +1,31 @@
|
||||
{{/* vim: set filetype=mustache: */}}
|
||||
{{/*
|
||||
Expand the name of the chart.
|
||||
*/}}
|
||||
{{- define "apm.name" -}}
|
||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Create a default fully qualified app name.
|
||||
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||
*/}}
|
||||
{{- define "apm.fullname" }}
|
||||
{{- if .Values.fullnameOverride -}}
|
||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||
{{- else -}}
|
||||
{{- $name := default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-"}}
|
||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Use the fullname if the serviceAccount value is not set
|
||||
*/}}
|
||||
{{- define "apm.serviceAccount" -}}
|
||||
{{- if .Values.serviceAccount }}
|
||||
{{- .Values.serviceAccount -}}
|
||||
{{- else }}
|
||||
{{- template "apm.fullname" . }}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
21
config/helm/scraper/test/templates/clusterrole.yaml
Normal file
21
config/helm/scraper/test/templates/clusterrole.yaml
Normal file
@@ -0,0 +1,21 @@
|
||||
{{- if .Values.managedServiceAccount }}
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: {{ template "apm.serviceAccount" . }}-cluster-role
|
||||
labels:
|
||||
app: "{{ template "apm.fullname" . }}"
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
heritage: {{ .Release.Service | quote }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- namespaces
|
||||
- pods
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
{{- end -}}
|
||||
19
config/helm/scraper/test/templates/clusterrolebinding.yaml
Normal file
19
config/helm/scraper/test/templates/clusterrolebinding.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
{{- if .Values.managedServiceAccount }}
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: {{ template "apm.serviceAccount" . }}-cluster-role-binding
|
||||
labels:
|
||||
app: "{{ template "apm.fullname" . }}"
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
heritage: {{ .Release.Service | quote }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
roleRef:
|
||||
kind: ClusterRole
|
||||
name: {{ template "apm.serviceAccount" . }}-cluster-role
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: {{ template "apm.serviceAccount" . }}
|
||||
namespace: {{ .Release.Namespace }}
|
||||
{{- end -}}
|
||||
17
config/helm/scraper/test/templates/configmap.yaml
Normal file
17
config/helm/scraper/test/templates/configmap.yaml
Normal file
@@ -0,0 +1,17 @@
|
||||
{{- if .Values.apmConfig }}
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ template "apm.fullname" . }}-config
|
||||
labels:
|
||||
app: "{{ template "apm.fullname" . }}"
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
heritage: {{ .Release.Service | quote }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
data:
|
||||
{{- range $path, $config := .Values.apmConfig }}
|
||||
{{ $path }}: |
|
||||
{{ $config | indent 4 -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
130
config/helm/scraper/test/templates/deployment.yaml
Normal file
130
config/helm/scraper/test/templates/deployment.yaml
Normal file
@@ -0,0 +1,130 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "apm.fullname" . }}
|
||||
labels:
|
||||
app: {{ .Chart.Name }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
{{- range $key, $value := .Values.labels }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
spec:
|
||||
replicas: {{ .Values.replicas }}
|
||||
strategy:
|
||||
{{ toYaml .Values.updateStrategy | indent 4 }}
|
||||
selector:
|
||||
matchLabels:
|
||||
app: apm-server
|
||||
release: {{ .Release.Name | quote }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: apm-server
|
||||
release: {{ .Release.Name | quote }}
|
||||
{{- range $key, $value := .Values.labels }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
annotations:
|
||||
{{- range $key, $value := .Values.podAnnotations }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{/* This forces a restart if the configmap has changed */}}
|
||||
{{- if .Values.apmConfig }}
|
||||
configChecksum: {{ include (print .Template.BasePath "/configmap.yaml") . | sha256sum | trunc 63 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.podSecurityContext }}
|
||||
securityContext:
|
||||
{{ toYaml .Values.podSecurityContext | indent 10 }}
|
||||
{{- end }}
|
||||
{{- if .Values.priorityClassName }}
|
||||
priorityClassName: {{ .Values.priorityClassName }}
|
||||
{{- end }}
|
||||
serviceAccountName: {{ template "apm.serviceAccount" . }}
|
||||
{{- if .Values.hostAliases }}
|
||||
hostAliases: {{ toYaml .Values.hostAliases | nindent 6 }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
{{- range .Values.secretMounts }}
|
||||
- name: {{ .name }}
|
||||
secret:
|
||||
secretName: {{ .secretName }}
|
||||
{{- end }}
|
||||
{{- if .Values.apmConfig }}
|
||||
- name: apm-server-config
|
||||
configMap:
|
||||
name: {{ template "apm.fullname" . }}-config
|
||||
defaultMode: 0600
|
||||
{{- end }}
|
||||
{{- if .Values.extraVolumes }}
|
||||
{{ toYaml .Values.extraVolumes | indent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.nodeSelector }}
|
||||
nodeSelector:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.affinity }}
|
||||
affinity:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- with .Values.tolerations }}
|
||||
tolerations:
|
||||
{{ toYaml . | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{ toYaml .Values.imagePullSecrets | indent 8 }}
|
||||
{{- end }}
|
||||
{{- if .Values.extraInitContainers }}
|
||||
initContainers:
|
||||
{{ tpl .Values.extraInitContainers . | indent 6 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: apm-server
|
||||
image: "{{ .Values.image }}:{{ .Values.imageTag }}"
|
||||
imagePullPolicy: "{{ .Values.imagePullPolicy }}"
|
||||
{{- with .Values.extraEnvs }}
|
||||
env:
|
||||
{{ toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
{{- if .Values.envFrom }}
|
||||
envFrom:
|
||||
{{ toYaml .Values.envFrom | indent 10 }}
|
||||
{{- end }}
|
||||
{{- if .Values.securityContext }}
|
||||
securityContext:
|
||||
{{ toYaml .Values.securityContext | indent 10 }}
|
||||
{{- end }}
|
||||
livenessProbe:
|
||||
{{ toYaml .Values.livenessProbe | indent 10 }}
|
||||
readinessProbe:
|
||||
{{ toYaml .Values.readinessProbe | indent 10 }}
|
||||
ports:
|
||||
- containerPort: {{ .Values.service.port }}
|
||||
name: http
|
||||
{{- if .Values.lifecycle }}
|
||||
lifecycle:
|
||||
{{ toYaml .Values.lifecycle | indent 10 }}
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ toYaml .Values.resources | indent 10 }}
|
||||
volumeMounts:
|
||||
{{- range .Values.secretMounts }}
|
||||
- name: {{ .name }}
|
||||
mountPath: {{ .path }}
|
||||
{{- if .subPath }}
|
||||
subPath: {{ .subPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range $path, $config := .Values.apmConfig }}
|
||||
- name: apm-server-config
|
||||
mountPath: /usr/share/apm-server/{{ $path }}
|
||||
subPath: {{ $path }}
|
||||
readOnly: true
|
||||
{{- end -}}
|
||||
{{- if .Values.extraVolumes }}
|
||||
{{ toYaml .Values.extraVolumeMounts | indent 10 }}
|
||||
{{- end }}
|
||||
{{- if .Values.extraContainers }}
|
||||
{{ tpl .Values.extraContainers . | indent 6 }}
|
||||
{{- end }}
|
||||
26
config/helm/scraper/test/templates/hpa.yaml
Normal file
26
config/helm/scraper/test/templates/hpa.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
{{- if .Values.autoscaling.enabled }}
|
||||
apiVersion: autoscaling/v2beta2
|
||||
kind: HorizontalPodAutoscaler
|
||||
metadata:
|
||||
name: {{ template "apm.fullname" . }}
|
||||
labels:
|
||||
app: {{ .Chart.Name }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
{{- range $key, $value := .Values.labels }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
spec:
|
||||
scaleTargetRef:
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
name: {{ template "apm.fullname" . }}
|
||||
minReplicas: {{ .Values.autoscaling.minReplicas }}
|
||||
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
|
||||
metrics:
|
||||
- type: Resource
|
||||
resource:
|
||||
name: cpu
|
||||
target:
|
||||
type: Utilization
|
||||
averageUtilization: {{ .Values.autoscaling.averageCpuUtilization }}
|
||||
{{- end }}
|
||||
41
config/helm/scraper/test/templates/ingress.yaml
Normal file
41
config/helm/scraper/test/templates/ingress.yaml
Normal file
@@ -0,0 +1,41 @@
|
||||
{{- if .Values.ingress.enabled -}}
|
||||
{{- $fullName := include "apm.fullname" . -}}
|
||||
{{- $servicePort := .Values.service.port -}}
|
||||
{{- $pathtype := .Values.ingress.pathtype -}}
|
||||
{{- $ingressPath := .Values.ingress.path -}}
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: {{ template "apm.fullname" . }}
|
||||
labels:
|
||||
app: {{ .Chart.Name }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
{{- range $key, $value := .Values.labels }}
|
||||
{{ $key }}: {{ $value | quote }}
|
||||
{{- end }}
|
||||
{{- with .Values.ingress.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- if .Values.ingress.className }}
|
||||
ingressClassName: {{ .Values.ingress.className | quote }}
|
||||
{{- end }}
|
||||
{{- if .Values.ingress.tls }}
|
||||
tls:
|
||||
{{ toYaml .Values.ingress.tls | indent 4 }}
|
||||
{{- end }}
|
||||
rules:
|
||||
{{- range .Values.ingress.hosts }}
|
||||
- host: {{ . }}
|
||||
http:
|
||||
paths:
|
||||
- path: {{ $ingressPath }}
|
||||
pathType: {{ $pathtype }}
|
||||
backend:
|
||||
service:
|
||||
name: {{ $fullName }}
|
||||
port:
|
||||
number: {{ $servicePort }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
33
config/helm/scraper/test/templates/service.yaml
Normal file
33
config/helm/scraper/test/templates/service.yaml
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: {{ template "apm.fullname" . }}
|
||||
labels:
|
||||
app: {{ .Chart.Name }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
heritage: {{ .Release.Service }}
|
||||
{{- with .Values.service.annotations }}
|
||||
annotations:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
type: {{ .Values.service.type }}
|
||||
{{- if .Values.service.loadBalancerIP }}
|
||||
loadBalancerIP: {{ .Values.service.loadBalancerIP }}
|
||||
{{- end }}
|
||||
{{- with .Values.service.loadBalancerSourceRanges }}
|
||||
loadBalancerSourceRanges:
|
||||
{{ toYaml . | indent 4 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- port: {{ .Values.service.port }}
|
||||
{{- with .Values.service.nodePort }}
|
||||
nodePort: {{ . }}
|
||||
{{- end }}
|
||||
protocol: TCP
|
||||
name: http
|
||||
targetPort: {{ .Values.service.port }}
|
||||
selector:
|
||||
app: {{ .Chart.Name }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
15
config/helm/scraper/test/templates/serviceaccount.yaml
Normal file
15
config/helm/scraper/test/templates/serviceaccount.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
{{- if .Values.managedServiceAccount }}
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: {{ template "apm.serviceAccount" . }}
|
||||
annotations:
|
||||
{{- with .Values.serviceAccountAnnotations }}
|
||||
{{- toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
labels:
|
||||
app: "{{ template "apm.fullname" . }}"
|
||||
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
||||
heritage: {{ .Release.Service | quote }}
|
||||
release: {{ .Release.Name | quote }}
|
||||
{{- end -}}
|
||||
191
config/helm/scraper/test/values.yaml
Normal file
191
config/helm/scraper/test/values.yaml
Normal file
@@ -0,0 +1,191 @@
|
||||
---
|
||||
# Allows you to add config files
|
||||
apmConfig:
|
||||
apm-server.yml: |
|
||||
apm-server:
|
||||
host: "0.0.0.0:8200"
|
||||
|
||||
queue: {}
|
||||
|
||||
output.elasticsearch:
|
||||
hosts: ["http://elasticsearch-master:9200"]
|
||||
username: "${ELASTICSEARCH_USERNAME}"
|
||||
password: "${ELASTICSEARCH_PASSWORD}"
|
||||
## If SSL is enabled
|
||||
# protocol: https
|
||||
# ssl.certificate_authorities:
|
||||
# - /usr/share/apm-server/config/certs/elastic-ca.pem
|
||||
|
||||
replicas: 1
|
||||
|
||||
extraContainers: ""
|
||||
# - name: dummy-init
|
||||
# image: busybox
|
||||
# command: ['echo', 'hey']
|
||||
|
||||
extraInitContainers: ""
|
||||
# - name: dummy-init
|
||||
# image: busybox
|
||||
# command: ['echo', 'hey']
|
||||
|
||||
# Extra environment variables to append to the DaemonSet pod spec.
|
||||
# This will be appended to the current 'env:' key. You can use any of the kubernetes env
|
||||
# syntax here
|
||||
extraEnvs:
|
||||
- name: "ELASTICSEARCH_USERNAME"
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: elasticsearch-master-credentials
|
||||
key: username
|
||||
- name: "ELASTICSEARCH_PASSWORD"
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: elasticsearch-master-credentials
|
||||
key: password
|
||||
|
||||
# Allows you to load environment variables from kubernetes secret or config map
|
||||
envFrom: []
|
||||
# - secretRef:
|
||||
# name: env-secret
|
||||
# - configMapRef:
|
||||
# name: config-map
|
||||
|
||||
extraVolumeMounts: []
|
||||
# - name: extras
|
||||
# mountPath: /usr/share/extras
|
||||
# readOnly: true
|
||||
|
||||
extraVolumes: []
|
||||
# - name: extras
|
||||
# emptyDir: {}
|
||||
|
||||
hostAliases: []
|
||||
#- ip: "127.0.0.1"
|
||||
# hostnames:
|
||||
# - "foo.local"
|
||||
# - "bar.local"
|
||||
|
||||
image: "docker.elastic.co/apm/apm-server"
|
||||
imageTag: "8.5.1"
|
||||
imagePullPolicy: "IfNotPresent"
|
||||
imagePullSecrets: []
|
||||
|
||||
# Whether this chart should self-manage its service account, role, and associated role binding.
|
||||
managedServiceAccount: true
|
||||
|
||||
podAnnotations: {}
|
||||
# iam.amazonaws.com/role: es-cluster
|
||||
|
||||
# additionals labels
|
||||
labels: {}
|
||||
|
||||
podSecurityContext:
|
||||
fsGroup: 1000
|
||||
runAsUser: 1000
|
||||
runAsGroup: 0
|
||||
|
||||
securityContext:
|
||||
privileged: false
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
runAsGroup: 0
|
||||
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
initialDelaySeconds: 30
|
||||
failureThreshold: 3
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /
|
||||
port: http
|
||||
initialDelaySeconds: 30
|
||||
failureThreshold: 3
|
||||
periodSeconds: 10
|
||||
timeoutSeconds: 5
|
||||
|
||||
resources:
|
||||
requests:
|
||||
cpu: "100m"
|
||||
memory: "100Mi"
|
||||
limits:
|
||||
cpu: "1000m"
|
||||
memory: "512Mi"
|
||||
|
||||
# Custom service account override that the pod will use
|
||||
serviceAccount: ""
|
||||
|
||||
# Annotations to add to the ServiceAccount that is created if the serviceAccount value isn't set.
|
||||
serviceAccountAnnotations: {}
|
||||
# eks.amazonaws.com/role-arn: arn:aws:iam::111111111111:role/k8s.clustername.namespace.serviceaccount
|
||||
|
||||
# A list of secrets and their paths to mount inside the pod
|
||||
secretMounts: []
|
||||
# - name: elastic-certificate-pem
|
||||
# secretName: elastic-certificates
|
||||
# path: /usr/share/apm-server/config/certs
|
||||
|
||||
terminationGracePeriod: 30
|
||||
|
||||
tolerations: []
|
||||
|
||||
nodeSelector: {}
|
||||
|
||||
affinity: {}
|
||||
|
||||
# This is the PriorityClass settings as defined in
|
||||
# https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/#priorityclass
|
||||
priorityClassName: ""
|
||||
|
||||
updateStrategy:
|
||||
type: "RollingUpdate"
|
||||
|
||||
# Override various naming aspects of this chart
|
||||
# Only edit these if you know what you're doing
|
||||
nameOverride: ""
|
||||
fullnameOverride: ""
|
||||
|
||||
autoscaling:
|
||||
enabled: false
|
||||
minReplicas: 1
|
||||
maxReplicas: 3
|
||||
averageCpuUtilization: 50
|
||||
|
||||
ingress:
|
||||
enabled: false
|
||||
className: "nginx"
|
||||
pathtype: ImplementationSpecific
|
||||
annotations: {}
|
||||
# kubernetes.io/ingress.class: nginx
|
||||
# kubernetes.io/tls-acme: "true"
|
||||
path: /
|
||||
hosts:
|
||||
- chart-example.local
|
||||
tls: []
|
||||
# - secretName: chart-example-tls
|
||||
# hosts:
|
||||
# - chart-example.local
|
||||
|
||||
service:
|
||||
type: ClusterIP
|
||||
loadBalancerIP: ""
|
||||
port: 8200
|
||||
nodePort: ""
|
||||
annotations: {}
|
||||
# cloud.google.com/load-balancer-type: "Internal"
|
||||
# service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
|
||||
# service.beta.kubernetes.io/azure-load-balancer-internal: "true"
|
||||
# service.beta.kubernetes.io/openstack-internal-load-balancer: "true"
|
||||
# service.beta.kubernetes.io/cce-load-balancer-internal-vpc: "true"
|
||||
|
||||
lifecycle: {}
|
||||
# preStop:
|
||||
# exec:
|
||||
# command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]
|
||||
# postStart:
|
||||
# exec:
|
||||
# command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]
|
||||
1
config/helm/scraper/urls.txt
Normal file
1
config/helm/scraper/urls.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://helm.elastic.co
|
||||
@@ -12,24 +12,34 @@ source /opt/proxy_settings.sh
|
||||
# rpm --import /tmp/gpg_keys/$gpg_key
|
||||
# done
|
||||
|
||||
for cent_release in 6 7 8 9
|
||||
for elastic_release in 5 6 7 8
|
||||
do
|
||||
for mongo_release in 4.2 4.4 5.0 6.0
|
||||
do
|
||||
reposync --delete \
|
||||
--remote-time \
|
||||
--download-metadata \
|
||||
-p /data/ \
|
||||
--repoid mongodb-org-$mongo_release-c$cent_release
|
||||
done
|
||||
reposync --delete \
|
||||
--arch=x86_64 \
|
||||
--remote-time \
|
||||
--download-metadata \
|
||||
-p /data/ \
|
||||
--repoid elasticsearch-$elastic_release.x
|
||||
done
|
||||
|
||||
# for cent_release in 6 7 8 9
|
||||
# do
|
||||
# for mongo_release in 4.2 4.4 5.0 6.0
|
||||
# do
|
||||
# reposync --delete \
|
||||
# --remote-time \
|
||||
# --download-metadata \
|
||||
# -p /data/ \
|
||||
# --repoid mongodb-org-$mongo_release-c$cent_release
|
||||
# done
|
||||
# done
|
||||
|
||||
|
||||
# rpm --import https://rpm.grafana.com/gpg.key
|
||||
reposync --delete \
|
||||
--arch=x86_64 \
|
||||
--remote-time \
|
||||
--download-metadata \
|
||||
-p /data/ \
|
||||
--repoid grafana
|
||||
# reposync --delete \
|
||||
# --arch=x86_64 \
|
||||
# --remote-time \
|
||||
# --download-metadata \
|
||||
# -p /data/ \
|
||||
# --repoid grafana
|
||||
|
||||
|
||||
47
config/rpm/repo_files/elastic.repo
Normal file
47
config/rpm/repo_files/elastic.repo
Normal file
@@ -0,0 +1,47 @@
|
||||
[elasticsearch-5.x]
|
||||
name=Elasticsearch repository for 5.x packages
|
||||
baseurl=https://artifacts.elastic.co/packages/5.x/yum
|
||||
gpgcheck=1
|
||||
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
|
||||
enabled=1
|
||||
autorefresh=1
|
||||
type=rpm-md
|
||||
#proxy=gw-eu.itsumma.com:1082
|
||||
#proxy_username=itsumma
|
||||
#proxy_password=76Rq5v7yiY3QwvII
|
||||
|
||||
[elasticsearch-6.x]
|
||||
name=Elasticsearch repository for 6.x packages
|
||||
baseurl=https://artifacts.elastic.co/packages/6.x/yum
|
||||
gpgcheck=1
|
||||
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
|
||||
enabled=1
|
||||
autorefresh=1
|
||||
type=rpm-md
|
||||
#proxy=gw-eu.itsumma.com:1082
|
||||
#proxy_username=itsumma
|
||||
#proxy_password=76Rq5v7yiY3QwvII
|
||||
|
||||
[elasticsearch-7.x]
|
||||
name=Elasticsearch repository for 7.x packages
|
||||
baseurl=https://artifacts.elastic.co/packages/7.x/yum
|
||||
gpgcheck=1
|
||||
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
|
||||
enabled=0
|
||||
autorefresh=1
|
||||
type=rpm-md
|
||||
#proxy=gw-eu.itsumma.com:1082
|
||||
#proxy_username=itsumma
|
||||
#proxy_password=76Rq5v7yiY3QwvII
|
||||
|
||||
[elasticsearch-8.x]
|
||||
name=Elasticsearch repository for 8.x packages
|
||||
baseurl=https://artifacts.elastic.co/packages/8.x/yum
|
||||
gpgcheck=1
|
||||
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
|
||||
enabled=0
|
||||
autorefresh=1
|
||||
type=rpm-md
|
||||
#proxy=gw-eu.itsumma.com:1082
|
||||
#proxy_username=itsumma
|
||||
#proxy_password=76Rq5v7yiY3QwvII
|
||||
@@ -1,9 +1,17 @@
|
||||
# mirror.venya.tech
|
||||
Набор зеркал репозиториев различного ПО, огороженного от России разработчиками
|
||||
|
||||
С предложениями и жалобами на какие-нибудь технические сложности просьба писать на `mirror at venya.tech`
|
||||
# MongoDB
|
||||
## rpm
|
||||
С предложениями и жалобами на какие-нибудь технические сложности просьба писать на `mirror at venya.tech` либо в телегу `its_dchumak`
|
||||
|
||||
### Содержание:
|
||||
[Mongodb](#mongodb)\
|
||||
[Grafana](#grafana)\
|
||||
[ELK](#elk-elasticlogstashkibanaetc)\
|
||||
[Terraform](#terraform)\
|
||||
[Clamav](#clamav)
|
||||
|
||||
## MongoDB
|
||||
### rpm
|
||||
В зависимости от требуемой версии MongoDB, замените соответствующие переменные в следующем блоке. Поддерживаются `4.2`/`4.4`/`5.0`/`6.0`:
|
||||
|
||||
[mongodb-org-6.0]
|
||||
@@ -13,15 +21,17 @@
|
||||
enabled=1
|
||||
gpgkey=https://mirror.venya.tech/mirrors/repo.mongodb.org/rpm/server-6.0.asc
|
||||
|
||||
## deb
|
||||
### deb
|
||||
В зависимости от версии дистрибутива Ubuntu и требуемой версии MongoDB, замените соответствующие переменные в следующей строке. Поддерживаются `xenial`/`bionic`/`focal` и `4.2`/`4.4`/`5.0`/`6.0` соответственно
|
||||
|
||||
curl -fsSL https://mirror.venya.tech/mirrors/repo.mongodb.org/pgp/server-6.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg --dearmor
|
||||
|
||||
echo "deb [ arch=amd64 ] https://mirror.venya.tech/mirrors/repo.mongodb.org/deb/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
|
||||
|
||||
|
||||
|
||||
# Grafana
|
||||
## rpm
|
||||
## Grafana
|
||||
### rpm
|
||||
[grafana]
|
||||
name=grafana
|
||||
baseurl=https://mirror.venya.tech/mirrors/grafana/rpm/
|
||||
@@ -30,19 +40,19 @@
|
||||
gpgkey=https://mirror.venya.tech/mirrors/grafana/rpm/gpg.key
|
||||
sslverify=1
|
||||
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
|
||||
## deb
|
||||
### deb
|
||||
sudo apt-get install -y apt-transport-https
|
||||
sudo apt-get install -y software-properties-common wget
|
||||
sudo wget -q -O /usr/share/keyrings/grafana.key https://mirror.venya.tech/mirrors/grafana/rpm/gpg.key
|
||||
|
||||
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://mirror.venya.tech/mirrors/grafana/deb/ stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
|
||||
|
||||
# ELK (Elastic/Logstash/Kibana/etc.)
|
||||
## ELK (Elastic/Logstash/Kibana/etc.)
|
||||
В зависимости от требуемой версии сервисов, замените соответствующие переменные в следующих блоках. Поддерживаются `5.x`/`6.x`/`7.x`/`8.x`:
|
||||
## rpm
|
||||
### rpm
|
||||
[elasticsearch-8.x]
|
||||
name=Elasticsearch repository for 8.x packages
|
||||
baseurl=https://mirror.venya.tech/mirrors/artifacts.elastic.co/rpm/8.x/
|
||||
baseurl=https://mirror.venya.tech/mirrors/artifacts.elastic.co/packages/8.x/
|
||||
gpgcheck=1
|
||||
gpgkey=https://mirror.venya.tech/mirrors/artifacts.elastic.co/GPG-KEY-elasticsearch
|
||||
enabled=1
|
||||
@@ -50,8 +60,70 @@
|
||||
type=rpm-md
|
||||
|
||||
|
||||
## deb
|
||||
### deb
|
||||
wget -qO - https://mirror.venya.tech/mirrors/artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
|
||||
sudo apt-get install apt-transport-https
|
||||
echo "deb https://mirror.venya.tech/mirrors/artifacts.elastic.co/deb/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
|
||||
echo "deb https://mirror.venya.tech/mirrors/artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
|
||||
|
||||
## Terraform
|
||||
### Документация
|
||||
https://terraform-registry.venya.tech/
|
||||
|
||||
### Файлы
|
||||
https://terraform-releases.venya.tech/
|
||||
|
||||
### Пример подключения в своём терраформе
|
||||
|
||||
В файле `main.tf` указываем ссылку на нужный провайдер
|
||||
|
||||
terraform {
|
||||
required_providers {
|
||||
aws = {
|
||||
source = "terraform-registry.venya.tech/hashicorp/aws"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Либо глобально для всего терраформа
|
||||
|
||||
❯ cat ~/.terraformrc
|
||||
provider_installation {
|
||||
network_mirror {
|
||||
url = "https://terraform-registry.venya.tech/"
|
||||
include = ["registry.terraform.io/*/*"]
|
||||
}
|
||||
direct {
|
||||
exclude = ["registry.terraform.io/*/*"]
|
||||
}
|
||||
}
|
||||
|
||||
## Clamav
|
||||
В `/etc/clamav/freshclam.conf` указываем в параметре `DatabaseMirror`
|
||||
|
||||
https://mirror.venya.tech/clamav/
|
||||
|
||||
Сразу после установки может начать нести подобную дичь:
|
||||
|
||||
Thu Jun 22 18:13:39 2023 -> ClamAV update process started at Thu Jun 22 18:13:39 2023
|
||||
Thu Jun 22 18:13:39 2023 -> ^FreshClam previously received error code 429 or 403 from the ClamAV Content Delivery Network (CDN).
|
||||
Thu Jun 22 18:13:39 2023 -> This means that you have been rate limited or blocked by the CDN.
|
||||
|
||||
Значит, эта псина во время установки уже попыталась апдейтнуться с зеркала по умолчанию и забанила нас. Чтобы не ждать указанных таймаутов, ищем, куда он сдампил состояние. Например, в Ubuntu оно вот тут - `/var/lib/clamav/freshclam.dat` и удаляем его в чёрту, после чего запускаем обновление заново и радуемся
|
||||
|
||||
## Erratum
|
||||
### 22.06.2023
|
||||
В MongoDB изменены урлы:
|
||||
```diff
|
||||
- https://mirror.venya.tech/mirrors/repo.mongodb.org/rpm/server-6.0.asc
|
||||
+ https://mirror.venya.tech/mirrors/repo.mongodb.org/pgp/server-6.0.asc
|
||||
```
|
||||
|
||||
В ELK стеке изменены урлы:
|
||||
|
||||
```diff
|
||||
- https://mirror.venya.tech/mirrors/artifacts.elastic.co/rpm/8.x/
|
||||
+ https://mirror.venya.tech/mirrors/artifacts.elastic.co/packages/8.x/
|
||||
|
||||
- https://mirror.venya.tech/mirrors/artifacts.elastic.co/deb/8.x/apt
|
||||
+ https://mirror.venya.tech/mirrors/artifacts.elastic.co/packages/8.x/apt
|
||||
```
|
||||
|
||||
5
helm-mirror.sh
Executable file
5
helm-mirror.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
docker build -t helmmirror:latest -f Dockerfile.helm .
|
||||
docker run -v "$(pwd)/data/helm":/data -ti --entrypoint /bin/sh helmmirror:latest
|
||||
|
||||
Reference in New Issue
Block a user