From e8bdee6218a557b2e482c1a267595d0f5b529877 Mon Sep 17 00:00:00 2001 From: Adnan Abdulhussein <adnan@prydoni.us> Date: Fri, 27 Apr 2018 18:37:41 +0100 Subject: [PATCH] adds support for latest builds in master (#279) * adds support for latest builds in master - adds static and generated to gitignore - makes static and generated targets phony so they're always generated - generated manifests use the `latest` tag by default if VERSION not provided for the Kubeapps core components * don't push docker images in pull requests --- .gitignore | 1 + .travis.yml | 8 +- Makefile | 4 +- generated/statik/statik.go | 12 - static/.gitignore | 2 + static/kubeapps-objs.yaml | 1239 ------------------------------------ 6 files changed, 11 insertions(+), 1255 deletions(-) delete mode 100644 generated/statik/statik.go create mode 100644 static/.gitignore delete mode 100644 static/kubeapps-objs.yaml diff --git a/.gitignore b/.gitignore index 578c49439c6..e56c5116a65 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ /kubeapps /statik +/generated .GOPATH *.*~ telepresence.log diff --git a/.travis.yml b/.travis.yml index 03875e22702..225eb9be87b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -60,9 +60,13 @@ jobs: script: make VERSION="$VERSION" $IMAGE after_success: - | - if [[ -n "$TRAVIS_TAG" ]]; then + if [[ "$TRAVIS_PULL_REQUEST" == "false" && "$TRAVIS_BRANCH" == "master" ]]; then docker login -u="${DOCKER_USERNAME}" -p="${DOCKER_PASSWORD}" - docker push $IMAGE:$VERSION + if [[ -n "$TRAVIS_TAG" ]]; then + docker push $IMAGE:$VERSION + fi + docker tag $IMAGE:$VERSION $IMAGE:latest + docker push $IMAGE:latest fi - <<: *imageBuild env: IMAGE=kubeapps/chartsvc diff --git a/Makefile b/Makefile index 51cd0f22a6a..ec0d0aac993 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ $(EMBEDDED_STATIC): static/kubeapps-objs.yaml $(GO) generate static/kubeapps-objs.yaml: - KUBEAPPS_VERSION=$$(git describe --tags --abbrev=0) ;\ + KUBEAPPS_VERSION=$${VERSION:-latest} ;\ pushd manifests/vendor/kubeless ;\ KUBELESS_VERSION=$$(git describe --tags --abbrev=0) ;\ popd ;\ @@ -44,4 +44,4 @@ vet: clean: $(RM) ./kubeapps ./chart-repo ./statik $(EMBEDDED_STATIC) static/kubeapps-objs.yaml -.PHONY: default test fmt vet clean build-prep chart-repo kubeapps +.PHONY: default test fmt vet clean build-prep chart-repo kubeapps $(EMBEDDED_STATIC) static/kubeapps-objs.yaml diff --git a/generated/statik/statik.go b/generated/statik/statik.go deleted file mode 100644 index 37dd13444ab..00000000000 --- a/generated/statik/statik.go +++ /dev/null @@ -1,12 +0,0 @@ -// Code generated by statik. DO NOT EDIT. - -package statik - -import ( - "github.com/rakyll/statik/fs" -) - -func init() { - data := "PK\x03\x04\x14\x00\x08\x00\x08\x00%c\x9aL\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x12\x00 \x00kubeapps-objs.yamlUT\x05\x00\x01'\xc5\xe1Z\xec<ks\xdb\xb6\x96\xdf\xfd+0nv\xd2v/%\x92\xa2^\xecdf]'M\xbdM\x1c\x8f\x9d\xf4\xee\xddn\xeb\x01\xc1C 1I\xb0\x00(E\xed\xed\xfe\xf6\x1d\xf0->$J\x96\xbb\xb9\xbbW_$\x01\xe0y\xe3\x9c\x83\x03\x80\x9a\xa6\x9d\xe1\x88\xfe\x08\\P\x16\xda\x88;\x98\x0cp,\x97\x8c\xd3\xdf\xb0\xa4,\x1c<\xcc\xc4\x80\xb2\xe1\xcap@b\xe3\xec\x81\x86\xae\x8dn\x99\x0f\xdf\xd2\xd0\xa5\xe1\xe2,\x00\x89],\xb1}\x86\x10\x0eC&\x93\xe7\x84\x8d~\xff\xe3\x0c!\x1f;\xe0\x0b\xd5\x87\x10\xe1\x80%\xb8\x9a\xb3\xb1\xd1C\xec\x00\x8e\"\x91t\x848\x00\x1b\xe1(\xe2\x101A%\xe3\x1b\x8d\xb0Pr\xe6\xfb\xc0\xcfz\x0e\x10\x11&P\x81\xcc\x99\x0f\xb7\xe0%tE\xf45gq\xb4\x83\xc33\x84J\xde\xf6\xa3\x14\xb1\xf3\x11\x88\x14\xf6\x99\x96=w\x07|E \\\x10\xc2\xe2P\xee\x87\xd0Nt]#\xab\\\xe45\xf0\x9f\xad\xd4\xeb\x0c\xe4\x1d\x03\xc2\x82\xe1\xca\xc0~\xb4,\xcc\xe8\"\x8an\x0b\xd0\xa7c\x89\x86$v\xb0d%\x0f\xf5\x96:\xd1\"\x02\xa2@\xcbM\x046Z\x82\x1f\x9c!\x14s\xdfFK)#a\x0f\x87j(\x0fA\x82\xd0\xc8\x12s)\xb4\x02\xe6@H\xc6\xf1\x02\x06\x0b\xc6\x16>\xe0\x88&\xcc~\x0e\x92\x10\x12;\x15k\xde\xfa{\x02\x19|\xce\x9c\xaf\x88Fp9\x0d\xb7\xff\x1f\xce{\xf6<\xf6\xd9\xe2@\xe6\xfb\xfa\xd4K?\x16\x12x\xe2~N&\x86\xe3g7\x8f}H\xbc[\xee;\x13\x84\x1ar\xb0$\xcb3\x848\x08\x16s\x02Y3\xe1,\xfc\xc8\x1c\x85{\x05\xdc\xc9Z\x17 \x93o\x9f\x8a\xf4\xc7:y\xfa\x04\"\xfa\x8c\xa2\xcf\x91q\xa6\xaa\xef\xbd8\xfe\xacp\x83#\n\x9f$\x84\xea\x9f\xe8PB,$\x0bn3\xf5\xbf\x04\x8f\x86T\xf1\xf74\xaa\xa0 \x06U\xf7\xd1\xcahcP>\x9f\x17\xa92Z\x00d\x94\xb4\xf9 \xd5\x1e\xf91\xc7~\x03K\xd2'\x96\x8c\xcb\xeb\x12\x86V\x8cJ\x8d?\x0f\xdc\x99\x9b\xab\x8b\xb8\x94oM\xb0/!\xf2\xd9&\x80\x83\xa2;\x8e\xa2\x9dJ?H\xd8\x87\xd9\xfdnW\x1a\xd0\xf0\x16\xb0\xbb\xb9\x03\xc2BW\xd8h\xa4'^#\xf2)\xc1\xc2FF\xf2oE\x95$\xbe\xa7\xca\x97n\xde\xd0\x80J\x1b\x19j\xa0\x90\x1cKXlR.\x15F\x1a.>D.\x96\x906!\x14\xe0Ow1_\x80\x8d\xcc\xf1\xbf\x94m\x1fB\xbc\xc2\xd4W\x91\xae\xecI\x1d\xfbm\x15\x8cr\xf7\x10D~\x01\xb1*\xf4D\xb4\x0d\xc1\xabOU\xf8\xfd\x14\xb0S \xbd\x14\x81P.\xd5\x04\x16\x0b%\xa6!\xf0\x82\n\x0da\xbe\xa8\xd0\xa4!M\xf3\xd9B2!]\xe0|\xab]\xe1\xd0\xc4&$\x1a\x0d\xf0\x02^\xe4\xd4\x0c\x93\xa8\x96t\xdb+}0\x1d\x18%\xf1,\x08p\xe8V\xe1\x0f\xf7r\x0c\xe1\xcaF?\xfd\\\xfcO\xb0\x95\xccw\x02\xa8#O\x85\xd3\x82 b\\\x8a-\x14B\xba4\xb4\x91\x87}\x01E\xa3\x94\x9bz\xd3\x8a\xf9q\x00o\x95\xdf\xac\x02H(\xbc\x89}\xff\x0e\x08\x87\xad.\xb1\xe5l\xaf\xf7\xebK\xd9\x16\x0fh\x98\x98\xcfk\x8e \xdc\x00\xa7\xcc\xdd\x9e\x0d%1)\xb2c\xe3\xe2\xe7\x923\xb4{\x84\xaeL\xe2\xfc\xbc\x99F\xc0\nBYK\"Rr\x1f\x99\x89d@Z\x93\x928\xf7\x07E~\xd2\x13U'\x9a\x06\x80Z\x04\xaa\xc1iF\x99]9T\x93\xdc=k\xc6\xd3\x99F\x9a\xf9\xae\xc8YGCW0H\xe7jB\xb2\xfai\xa3\x99>K'\x80\xc4|\x01\xf2&iT\xb9\xb6r\xfd\xe0\x03\x91\x8cW\x02\\\x05M\x0b\xe6\xd4\xb9g\xf9\xd4\xd5\xcd\x9f\x11q\xb7\x08z\"\xa1\xfd\xbf\x8a\xa0[\x02\xdd)\xd4V\xc1\x1e\x13!\x03\x16.\x98\x16s\xffE\xf2\xcbu\x06\x0d<\x95a\x02\xf8\x0b\xce\x98, l\x89\x8a\x0d.T\x14\xac\x0cH\xe9~\xfb\xee\xfa\xf5\xbb\xfb\x9b\x8b\xbb\xbb\xbf\xbe\xbb}Yt#\xb4\xc2~\x0c\xdfq\x16\xd8\x95F5!T<\xfa\x016\xd9*\xa3\xfay\x80\x8d\x8d2\xfa5E\x9f\x16a!\xd6\x8c\xbb\xb5\x81)\xeald\xd1W\x8f\xca9\x03\x1dQ\xb8\xce^1\xaf\xd3\x8fVJ\xfef{\x9aW\xa1d\xd3<\xfd<]\xcc>E\x00\xfe,\x96CK\xf0\x03\x0e>`\x01b\xa0\xfe\x0c\x1c*C\x1c\xd0\xad\xf5P\x9fQ]\x9e&[&u=\x95R\x99\xb2\xfb=\xf8\xc1m\x8a&iUQ\xe9\x87z\xcf\x9b4T\x95\xcb\xa8*q\xe9l\xa5\xe1\"\xf61\xdf\xeaRN\x8b0\xe5f\xaesb\xdd\xed%\xd5\xd1\x19\xd2SV\x0e$U\xc9\x8fFR\x14\x1av\x03\x1a\x9e\xed\xec<a\xc5`\x1bp\xef2AJV\xcf\xa2\xc0\xa1\xf13\x91\x17e\xe1{\x1a\x80\x908\x88l\x14\xc6\xbe\xdf\x16G\xb3R[O\x19\xd7\xa5\xea&\xf8\xf7\x18w\x11\x07S\xc5\xee\x8eX\xdd\xa4\xa3\xae\xc8U\xb0\xd0B\xed1aI\xcd(\x08_\xf8\x8c`\x7f\xc9\x84\xb4-\xcb\x18Y\xc5\x90\xb6\xb0S\xc1\x87\xba\x82\xce\xfb\xab7o^\xdd\xde__\xbc}uwsq\xf9\xaa\xe2\x96\x93\xb0\xd3\x12ek\x8f~\x7fu\xf7\xfe\xdd\xed\xdf\xee\xdf^\xfcG\xf3\xe1s\xfd\xbch\xcc\x82\xca\x82p5\x11\x1f\xca\xaa\xb1\x12UF\xac\xbd2\x07\xb3\x81\xbe\xfd\x8cr\xe47\xcc\xa7dc\xa3+\xef\x9a\xc9\x1b\x0e\x02\xc22\xe6\xfat\x05!\x08q\xc3\x99\x03\xd5P\xa8b\xcak\x90\xdb\xd11\xc2ri\xa3a\xfe\xd0v_\x12\x9f\x94h\xc7\x95\xf6\xc4wc\xff%\xf8\xb8L\xbb\x8c\xca\x00I\x03`\xb1l\xe9kh\x1e\xb5\xaeQ9`\x97\x1e\xccB\xf1\xd4\xd3\xf2P.K\xcal\xad\xcdD\x97,\x80\x17\xc3-\xc3O\x9b\x85<\xc8n;\xca\x06\x0d\x03\xbcy\xf7\xf28\xc3}{\xf3\xf2\xea\xb6\xf9\xc06\xe9\x99\xb9f\x81/\xe9\xd3\x08wk5\x89Q\xc5X\xc3\x03j\x12@bN\xe5\xe6\x92\x85\x12>miW)\xf5]\xe8on\x19\x93\xdfQ\x1f\xc4FH\x08l$y\\\xe6=G\xe5G\x15A\x04\xaa\xe5&\xb5\xa2-\xae\x8b\xbc\x81\x059\x94\xb6*\xc7\x96A\xe7\xa9Ra\x1a\x10Dr\xf3\x92\xf2\x8a\xbdl\xc1\x15\x12\xcb8\xb5\xa6}\x8b\xd4\x93ol\xb6\x86\x8c\x9e\x11oe\x9c\xe54\xac\x94-\x0f\x08\x0b=\x1b\xfd\xfd,\x17\x13p\xf4{\xc6p\xea\xaf\x93T\xf7\x9b\xb3\xacm\xf1\x1b\x8d\x10\x0b\xbf\xc9\xfe~\x81.\xd2t\x07]\xbe\xb9B\xd8W\x9a\xdf\xa0%\x16\xc9\xc0\x08\\$\x97\x80\xb0\x10 \x05\xfa2\\ '\xa6\xbe\x8b4-\xe2L}a&\xbf\xaa@\xbeWb\xa5\x04%\x18r*\x18I\x04\x85\x86\x05a\x08I\xbe\xb9\xf7\x94e\xa1g1\xa7hHC\x17>\x0d\x962\xf0s\xcaR\xad\xfd\x91B\xf9\x02\xdd\x82K9\x10\x89\xd6\xeb5\x92\x0c\x85,\xd4\xd6\xebu\xd6\xfb\x1e?@\x88<\xce\x82b[\x0c\xb0\xd8@\xb8\xa0!(W/c\xc98\xc5\xbe\x18\xaa\xa6O\xc3\xf5z\xade 4\x9e\x81\xa6,\x1c\xb6\x891\xfd{\xaf\xb4\x83\xce\xff\xfb\x97\xf5z\xfd_\x83/\x07_\x7f\xf5\xec\x1c\xe5\xc4r\x901\x0f\xd1H7\xd03A\x96\x10\x80=\x1c>3\x9eq\xf85\x06!\xef\x15\x8f\xdfd\x0ce\x19\x13\x0b=\xbax\x8b\xa3\x03\xcc* \xea\xb9eh.\x16K\x87\xe1l9\xb5\xc7\xe4\x9aOi1\xd5\x12\x0b:\xeb1F\xb3\xcc\xb1\x0b\x96\xd1\xd3H\x0fM\xcb\x1e5\x9bZ\xc9\xde\xcd\xd4?\xcb\x1bh\xa7`\xf7\x0b\xb7g\xfaX\x8d7\xfb\xca\xee\x05\x86\xfa\n\xff\xa8\xd4j\xbb\xadm\xc9\xdf\x9a\x8dL\xaa#\x1a\xe9H=\xcenOAt\x92\xb2\x03B\x11g\x92\x11\xe6\xdb\xe8\xfd\xe5M\xd1~\\zv\xa4\x18vI\xa1\xcc\xe8N\x99\x01\xe49N\xea\x9eUP\x1b&\x9eG4\xa4\x95;-t\xda\"Ka\xb8$\xf7\xccv\x03u?\x0f\xd9$v_\x86q\x803<u\x0cx\x94\xa3|D\xf1|7\xd2}u\xf3\x13\x15WzD\x99\x92N\x1f\x84\xa8d\xde\xd9\x12\xff\xb4\xa7,v\xe2\xe9]B\xa9<\x8c i9Y\xa4P\x1cVQtA\x10N#\x99\x8c\xfc\xa1X7\xa3k,\xe9\n\x12B\x80+\xb0\xe8;\x8e\x03X3\xfepH\x15\xb2\xb7\"\xbc8L\x12\xb5\xf4T\x85B\xa8D\xdar\xa8\"\xef\xcaxOA\xa7\x14}\x97\xc1H\x9a\xf2:`\x018i-\x8b\x80^9xO\x050\x15\xd4\xf1R\xbd\xbc}\x89X\xa2a\xe41\x8e\xbe\x7f\xff\xfe\x06IN\x17\x0b\xe0\xc9|x\x12y\xaa\xb9\x99!y\x8cH\x15\xb1\xefS0[R\xad\x82\xaf \xb6\xd2\xf5\x7fT\xb6\xd9v\xef \xc4{\xc9Y\xf8\xef\xcci\x93p\x0dIM\xc8\xdb\xbd\xc7\xca\xb9\x08W\xc5c\x07\x04\xac\x1eA\xc9O\xcbG\xb5\x86\x1d+\xdfd\x11\n\\\xab\xa4\x90\xea\x91a>Y\xd3\x0e-\x1b\xa6\xf2\xc9IR#q\x8b\xe5\x87\x8d\x9e\xff\xfe\xc7\xf33\x95\x95\xaal;\x1d\xaa \x91\x8d\xce\x93\xec\xe5\xfc\x0c\x15\x93_\xe3\xb0\xa0B\xf2\x8d&}\xa1\xad\x80Soc\xa3s\xc9\xe3d\x18\x0d\x17\\9\xed\x14\x96[\x85\xc0\xe3P\xe5O)A\xc2F\x7f\xd7\x12\xde\x7f\xca\xd2\x84rA|~\xf5\xf2\xdcF\xe7\xd1F.Yx\xfe\x97\xb2\x9d\xb0 \xa2>\xb8\xe7YVU\xe9\xca\x14'\xce\xed\x02\xe06\xd0d\x94\x12k \xda\x9cV\x80W\xa1\xa8!\xe6\xa0\xd1\x9b1p\xa5\xe8WC\nY\xa7\xe0\xfeM,\xb19\x9e\xd8\xfa\x94x\x8e\xee\x8d\xdc\x993q\x1d\xdd\x1a\xbbddL\xdd\xd1\xd85\xc6\x93\x91\xe5N\x1d\x18\x835\x9a\xcc-\x8b\x98\xd3\x89\xe3\x8d\xa6\x8eA&#\xdd\xd1G\xd8ugu\xb4j\xe2\x158ST\xb6\xa2\xae2\xea\x8f\xbf\xf4\xe5yd\xed\xe0y4h\xf4\xf6\xe4\xd93\xe6\x13K'ck\x8aG\xde\xdcp\x1d\xc7s\x8c\x191\xc6\xce\x18&\xa6\xa5\x9bs\xc7\xd2'cb8\xd83gs\xd3\xb0,\xd0\xa7d4\xf1t<%3\xaf\x0f\xcf\x8a\xba\xe3x\x9e\xec\xe4\xb9\xd1\xdb\x93g\x9d\xcc\xbd\x9975\xa7\xaeeN\xcc1\xb6\xc0\x1c\x9b#\x9dx01L\xd7\x9bZ\xb3\x993\x19{\xe6l\x04\xd3\xf9\xd4\xf4f\x96\xa1\xcf\xdc\xd9\x14\xa6\x965r\xa7f?\x9e'[<\x17\xbf\x7f\xae\xd8\xbe\x0b\xd1u\xc60\x87_c\xcaAMk1\x90\x9fdu\xf6x\xd4\x075\xee.\xf6<\xfaI\x8d\x1eD\x9b\x1cz!\xcd\xc64\x0c\x99\x0b\x1f\xc5\x93LC\x05z\x97n\xfak&%2\xd7\xcc\xc4 cl\xe8\x18\x13g\xaa\xcf\x895\x9e\x8e\xb1>\xc7\x16\xc6\xe6\xcc\x9b\x99\xa6c\xba\xba>#\xba\xebx\x16\xc6\xbac\x98\xd6T\x1f\x03\xcc 6\xac\x917\xdf\xa9\x19\x85\xca\x9e\x0c\x0c\xfdPcT\x0f6&w\x85\xdbF_On=b`<\x9f\xc0xl\x18\x13K\xd7\x01\x8c\x91;\x99Xx2\x1e\xbb\x9ec\xeaj5\xe6\xce\x8d\xd9x\x06\x8e\xe7\x8e=\xa2\x93\x99\xa7\xbb\x13gn\x8e\xc0\xc1\xfb\xb9\x9d\x1dd\x83\x11&\x0fx\x01\x83\x8fb\xdb{\xb7\xd8\xdfG\xb1\xdf\xfex\xecl\x9e\xc4\xfa\x14`s\x97;4\x0fp\x87\nX\xe1\x18\\\x02\xe6\x9c\xe8\xe0\x98\xd8\xb4&\xde\xd4\x9d\x99cg2\xb1,\x00\x0c\xd3\xf9x\xea\x98\x13\xcft<\xec\x9a\xcet>\x9bz\xa61\xb2\x08\x99:\xa3\xb1\xee\x99\xbb\x9da^\x1cP\x08m\xb3\xe6\x12\xf7\xa9\xe65\x04J\x0b{\xb4\xc2\x9d\xfdZ\x89\x96\xd1\x93(%ZFM\xcfX\xd1\xc9t\xd0\xe8\xedv\xd7\xcb(W\xc9\xcct\xe6\x16\x99\xcc\x8d\x91n:dfz\xa3\xb9\xae[\x96e\x8e\xc7\x04;\xce\xcc3G\xba5\x9bN'\x16`\x0f\x1c<\x9dM&\x98Xsw\xae\xbb.\x199;U\xa2\x98g\x02\xb8m\x1c\xe8\xad\xf3\x07\xfbL\x15%\xf0\xbdZY\xb0\x0e\xa5\xa8\xf4\xech\x9d,\x98\xa1\xdc]\xb7R\xda\xba;\xb5\xb2`\xb9R\x1cojNLsdYxl\xa9\x8cH\xf7F\x86;\xf2\x00\x8f\xc1\x99\xbb\x04\x9bd>\xf1\x1cp\x89J\x13\xdc)\x19[\xde\x08\x9c\x99\xe7L\x1dw4\x1e\xedTJ\x05\x9f\xa6:r\xa4\x04&\xe0Y\x1e\xf6`l\xcc\xc0\x9d\xce\x9c\x11\x9e\xcc\x1c}4\xb7\xa6D\x9fX\x1e\x10\x83x32\x99L\x89k\xe8s\x98\x8fF\x86g\x9a\xd3\xd9t\xea\x8c\xf0\xfc \x05\xbff\xd1\xc3b Y\xe0\xef\xd1\xee\x82\x15\xcaM\xbe\x7f>+6\xfa\xb4z\x01h\xd7\xa6I\x8f\xd5F\xb3\xba\xe2\xd1E\xef\xbaH\xd4s\x1b\xa3\x07!\xa8\xc0S\xdb\xa5\xed\xae\xff\x048\xc4\x8b\xb6\xfd\xc1\x84\xda\xe2,\xc9Vu-\xc0\x92,\xdfl\x95\xfb;\xf0\xee\xdeG\xa8\xef\x18t\x00\xd9\xbf\x1b\xd0\xbay\xfe\xc3\x87o_\xbdyuww\x7fu\xfd\xfaV}\xbf\xba\xbe\xf8\xf6\xcd\xab\x1e\xe7\x0e\x8b\x1a\xed\x8e\xa3\x87\xb5UYmH\x97E\xa4\x9f\x06\x85w\xafn\x7f\xbc\xba|u\xff\xfeo7\x8dm\xfe\xe3\xc8\xabZ\xfa\xe3h\xeb<\x7f\xd0$\xcc\xa3\xe0\xbb-\x14%\xedi%>7\x81Aam\xdd\x98/\xdf]\x7fw\xf5\xba\x8e\xb6\x9b\xf4\xday\x86\x1d\xd6^\xae\xd9+O\xee=\x84\xd3g\x12\xa1\x8e\xe3\x04\xf5\xa2\xe9\xbe\x9a}\xdb\xa9\x80\x1e\x0e\xe01\x15\xda#\xaa\xde\xc7\x91\xd7&\xc1\xb2\xdc}\xc0\xa5\x89L\xd0\xe2\xac\xdcX p\x82h\xf7\x05\x08\x17|\xc8\x9a\xda.\x17D\xedw!2\x1e\xb4\xca\xfes\x93\xa4\xb2\x06\xf4Td\xb4 \"bn\x0d]\x010C\xb2\x1bLq\xa9O+\x95S\x14\xa5\x08\x07\x17BI\xb1\xdf\xc2ozD[4on\xb4\xde\x04)\x8b\x9050\xd5\xfa\xb8V\xaf\xebj-e\xc8\xfdwmk\xd2\xec\x92\xc3\xfe\xcb4;\xae\xbbth3\xfdI\x94e\xe7\xd5\xfd\x83T\x8cc\xc9\x04\xc1>\x0d\x17M\xca\x92\xe9\xa9b\xa0\x1f17\x1f\xd9\x10\xca\xc9\xcc\xad\xad\n\xde\"\xae\xa4\xb4\x9d7\xbaEi{\x97\xaa\x1a\xa8\x02\x16&\x17\x81\xc2\xc5\x800\x0e\xac\xeb\xd2\x90\x0f\\f\x1e7\xd5O\xc4Y\x00r \xb1\xc8|A\xe6\x182\x805\"\x9e\x7f\xfd\xbc\x89{\xd7\x9c\xceB}\xfd~R\xcf\x9bU\xb9\xe1=\xe9!\x96d\xdf\xb6z\xc7aO]\xbc\x1c\xda\xf6\xffs8\xb9\xa2\x97-\x1f\xaa\xe7V\xd2-\xf0\xa7;\xb5\xd2\x90\xe4Ni\xb6It\x7f\xba\xdazx\xa5\x91\x07%\xb7e^~{\x7f\xfb\xee\xdd\xfb\xcf\xea\xd2L\x9e`e\xdd\xf6h`\x0d\xe6\x1a\xefq\xa4\x06>\x95\x82I?\x8d\xd3\xb1(;\xbb\x11.X\xadM\xd3`\x85\xfdZ\xa3\xeb\x0c\x92\x1b\x00\x97)\x9c/\x9fG4\\<\xff\xaa2\xaa\xf5\x04\xca\xa8\xdf\x11\x94v1\xec;\x85cNucZ\x81\xdf\x0e\xa5\xfb\xc4\xcdg#\xa5\xf1\x0e!\xb5\x1d\x9e\xae\x0c\xcf\x8e&\x8a\x1a\x1fQ\xac|\x81\x1el\xb5\x06\x100\xbe\xb1\x919\x9e\xbc\xa5E\xcfS\x1c\xff\xa9\xeb \xd7\x8dr\x13Y\xe3S\x9c\xf9i A(Rq@H\x08\xe5\x8f\xc9\xe8K\x1f\xd3\xad\x89LT\xc3u\xd5r\xb4\x04@\xe7\xc2\xe1\xa6\x0d\xe2\x01!\xa4_\xc4\xd02.:\x1b\xbbb\x07&\x04\x84x\xcb\xdc<\xaa\xaaH\xf2WN%\xbc\x0b\x93E`\xcd\x8c\xea\x06\x94\xbdt\xc6F\xb3\xd7t\xef\xea\xe9\xe4l\x1f\x18(\x1b'\x97J\x97P=\xbaT\x02k\xb9\xfa[\xb5\xd5:\xee}\x07\x98\x9e \xb9\xd8\x92M\x8f]\xf7\xc6\x8a\xaf\xd2\xf09\xe4\x17\xff\x9b'c\x9b\x02\xdd)\xd4V\xc1\x1e\x99e\xb4\x1c\x91\xdd:\x1bi\x1b\x03\xc3,F|\xbegc\x13b\xcf\xaaXvE\xe4\x7f\x9e\x8b\xad\xc8\xe6\x1f\xf7\\lz\x14v<3\x0co^7\x88\xa7=\n\x9b\xb4<\x91\xd7{\xc41\xd7&\x8d\x0d\xcc\xfbB\xc5\xce\x1b?_\xa0[P\xf3(\xb9\xa6\xe3\x82\x87c_\xa6S\x0f-q\xe8*\xc7\x88\x98W\xc4j\xb4\xa6r\xc9b\x890:\xbfda\x98V?\xce\xd1\x12\xb0\x9bUG\x03\x1c\xa1g\x8a\x97\xfb8Zp\xec\x02zF\x8a\x91E[\xbek\x96\xa3\xcc\xda\xf3\xfb0\xcf\x9f\xa7\xdf\xc4g\x02\xf2\x8b/\x19\xc1\x17\xbe\xcf\xd6h\x0d\x8e`\xe4\x01$*\xa1\xa7\x02\x8a8\xfb\xb4\xb9\x17 \xefS\xaa\xd0\x87\x0c'B\xdb\x84}\xd3>\xbc\xe4\xab\x8d\xf2\xecZR\x8f\x9bR\xe5\xbd%\x1c\xa5\xb5\xea\xca^!\x87\xb5\xca\x8c\xca\xbe\xe1\x97\x83\xaf\xbfB\xc3g\x06r8\xe0\x87o\xbaG\xa2a}H\xca\x82Z\xe8\xb5\xbc\xd0p\x90\x89\xb8\x1c\xfe\x05zI\x85\x8a\x84\xc8\x89=\x0f\xb8\xd2\xb1\xc78\xf2\xd9BEX\xc0AZ\x96\xaa\x02/G2\xcf\xab\x82\xfa\x9e\xba\x80\xfe\xba^k\x17\xb1\\B()\xc1\x12\x90d(\xe2\xc9\x1bo\x10\x95\xf9II\xf54F\x0e\x16\x94 \x1c\xcbeR\xd5\x89$\xa2a\x05\x9e\xb2C\x87\xb3\xb5\x00\x9e\x18\x1b\x12,\x80\xfc.\xb8\xa8Q\xb5\xa4.\xe4j\xab\xd3P\xde\x03k\xd5G\xfe\xc2\x87.\x9d\xe4\xfd\xfd\xf4R@\xdb\xa7\x1b{X\xbe\x88\"\xb5\x96N*+\x945\x81\x14\x1e\xb3z\xf0\xbd\x06\x11\x9d\xf2\xbaX\xd2\xd2\xd3?v\xdd\x0b\xab{\xf76\x9f\xf9g\x9f\x1dm\xf7\xe7\xfb\xa2\xcc\xa36o\x04`\x1f\\-+\xac\xef|\xcb\x94\x96\xde\x9c}\xda=\xe5\xa3\xa9*\xde-z\xd0\x1e\xf0~t\xfb3\xdf\x96+\xd7-w\x96\xb3\xf4\xf7\xd7\x18o\x06\x94\x15\xa9P'j{\xa5\x0f\xc6\x8f\xbd8\xb6\x04\xec\xcb\xe5o\xdb]\xcd\x04\xb1\x8f\x14\xd0I\x12\xdf\xe3\x12\xdc\x9el<\xf6\x12xr\xc2\xf9B\\\xb3P\x0dk\xef\xfc \x80'E\xa5\\3m\xdb\xaf\xdd\x92\xdc7\x97\xff\xf4\xe9\xd2\x95\x0e\xb6]p\xea\xcfV\xdf\xcd\xddG\xdfe:\x82\xf3#o8m]m\xaa\xa1}\x80M\xcb\x9baJ\xe8\xc9\xee\xe7\xce[NG\xf0\xf1\x18\x99\x9fD\xd8%\xd7\xdd\xb2\xee\xb3\xbd^\xd9\x0enbx\xcc\x1ep\xfb&~\xcb\xd3\xd9\xde\xda\xb1\x12=\xd5\xc5\xbcn#8\xd2f\xdbn\xe5\xe5\xd0\xe30A\xc7\xff\x11L\xf6\xd1g@\x1aLw\xbev{\xeb\xb5\\\x0d\xdbQ\x1cw\xda\x1fjy\x03\xf7cM\x12\xf5\xda\xdd=\xd5\xfb\xd3\x0e\x90gE\x12[\xef2\xab\xdd\x05\xdb\xf3\x9a\xb3\xbb\x04NZ\xd7I\x9a\xcb\xf7\x9cU\xbb\x1a/:\xabk\xa2zM\xac\xda\xd7uI\x0c\xfb\xd4M\xec-%\x86E\x10^\xdc\\\xfd8\xba#K\x08\x8ad1}\xfb\x05\xb6\xf3u\xceG\xc1B-m\x1b0\xbe\x18\xba\x1c{R\xd3\xada\xda\xf6E\xf6\xd8\xd6e\xbd\x8b\x8c\x1e\xf4%\x84\x84o\" \xeeW\xa8\xc2p\xb2\x9e\x8a\x80KZ\xdd\xd1\xaa\xa6\x9c]c\x12T\x95\xd4\xb6\x18\x8b\xa5\x04\x1e\xda\xe8\x97\x9f~\xb9\xd0\xfe\x13k\xbf\xe9\xda\xfc_\x87/~\xfe\xfaYmdZ\xac\x11\x92W\x97\xd8ysz\xc3\xf0\xac\xb5\xa9\xf9\xf6\xed\xff \x00\x00\xff\xffPK\x07\x08\n\x94G\x82a\x12\x00\x00\xe2d\x00\x00PK\x01\x02\x14\x03\x14\x00\x08\x00\x08\x00%c\x9aL\n\x94G\x82a\x12\x00\x00\xe2d\x00\x00\x12\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\xa4\x81\x00\x00\x00\x00kubeapps-objs.yamlUT\x05\x00\x01'\xc5\xe1ZPK\x05\x06\x00\x00\x00\x00\x01\x00\x01\x00I\x00\x00\x00\xaa\x12\x00\x00\x00\x00" - fs.Register(data) -} diff --git a/static/.gitignore b/static/.gitignore new file mode 100644 index 00000000000..d6b7ef32c84 --- /dev/null +++ b/static/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/static/kubeapps-objs.yaml b/static/kubeapps-objs.yaml deleted file mode 100644 index cf31d8f5c79..00000000000 --- a/static/kubeapps-objs.yaml +++ /dev/null @@ -1,1239 +0,0 @@ ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: RoleBinding -metadata: - annotations: {} - labels: - created-by: kubeapps - name: apprepository-controller - name: apprepository-controller - namespace: kubeapps -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: apprepository-controller -subjects: -- kind: ServiceAccount - name: apprepository-controller - namespace: kubeapps ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - annotations: {} - labels: - created-by: kubeapps - name: apprepository-controller - name: apprepository-controller - namespace: kubeapps ---- -apiVersion: kubeapps.com/v1alpha1 -kind: AppRepository -metadata: - annotations: {} - labels: - created-by: kubeapps - name: incubator - name: incubator - namespace: kubeapps -spec: - type: helm - url: https://kubernetes-charts-incubator.storage.googleapis.com ---- -apiVersion: kubeapps.com/v1alpha1 -kind: AppRepository -metadata: - annotations: {} - labels: - created-by: kubeapps - name: stable - name: stable - namespace: kubeapps -spec: - type: helm - url: https://kubernetes-charts.storage.googleapis.com ---- -apiVersion: kubeapps.com/v1alpha1 -kind: AppRepository -metadata: - annotations: {} - labels: - created-by: kubeapps - name: svc-cat - name: svc-cat - namespace: kubeapps -spec: - type: helm - url: https://svc-catalog-charts.storage.googleapis.com ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - annotations: {} - labels: - created-by: kubeapps - name: apprepository-controller - name: apprepository-controller -rules: -- apiGroups: - - batch - resources: - - cronjobs - verbs: - - get - - list - - watch ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - annotations: {} - labels: - created-by: kubeapps - name: apprepository-controller - name: apprepository-controller -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: apprepository-controller -subjects: -- kind: ServiceAccount - name: apprepository-controller - namespace: kubeapps ---- -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: {} - labels: - created-by: kubeapps - name: apprepositories.kubeapps.com - name: apprepositories.kubeapps.com -spec: - group: kubeapps.com - names: - kind: AppRepository - plural: apprepositories - shortNames: - - apprepos - version: v1alpha1 ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - annotations: {} - labels: - app: apprepository-controller - created-by: kubeapps - name: apprepository-controller - name: apprepository-controller - namespace: kubeapps -spec: - minReadySeconds: 30 - replicas: 1 - revisionHistoryLimit: 10 - strategy: - rollingUpdate: - maxSurge: 25% - maxUnavailable: 25% - type: RollingUpdate - template: - metadata: - annotations: {} - labels: - app: apprepository-controller - created-by: kubeapps - name: apprepository-controller - spec: - containers: - - args: - - --logtostderr - - --repo-sync-image=kubeapps/chart-repo:v0.7.1 - command: - - /apprepository-controller - env: [] - image: kubeapps/apprepository-controller:v0.7.1 - name: controller - ports: [] - stdin: false - tty: false - volumeMounts: [] - imagePullSecrets: [] - serviceAccountName: apprepository-controller - terminationGracePeriodSeconds: 30 - volumes: [] ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: Role -metadata: - annotations: {} - labels: - created-by: kubeapps - name: apprepository-controller - name: apprepository-controller - namespace: kubeapps -rules: -- apiGroups: - - "" - resources: - - events - verbs: - - create -- apiGroups: - - batch - resources: - - cronjobs - verbs: - - create - - get - - list - - update - - watch -- apiGroups: - - batch - resources: - - jobs - verbs: - - create -- apiGroups: - - kubeapps.com - resources: - - apprepositories - verbs: - - get - - list - - update - - watch ---- -apiVersion: v1 -kind: Service -metadata: - annotations: {} - labels: - created-by: kubeapps - name: chartsvc - name: chartsvc - namespace: kubeapps -spec: - ports: - - port: 8080 - targetPort: http - selector: - app: chartsvc - name: chartsvc - type: ClusterIP ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - annotations: {} - labels: - app: chartsvc - created-by: kubeapps - name: chartsvc - name: chartsvc - namespace: kubeapps -spec: - minReadySeconds: 30 - replicas: 1 - revisionHistoryLimit: 10 - strategy: - rollingUpdate: - maxSurge: 25% - maxUnavailable: 25% - type: RollingUpdate - template: - metadata: - annotations: {} - labels: - app: chartsvc - created-by: kubeapps - name: chartsvc - spec: - containers: - - args: - - --mongo-url=mongodb.kubeapps - - --mongo-user=root - command: - - /chartsvc - env: - - name: MONGO_PASSWORD - valueFrom: - secretKeyRef: - key: mongodb-root-password - name: mongodb - image: kubeapps/chartsvc:v0.7.1 - name: chartsvc - ports: - - containerPort: 8080 - name: http - stdin: false - tty: false - volumeMounts: [] - imagePullSecrets: [] - terminationGracePeriodSeconds: 30 - volumes: [] ---- -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - annotations: {} - labels: - created-by: kubeapps - name: helmreleases.helm.bitnami.com - name: helmreleases.helm.bitnami.com - namespace: kubeapps -spec: - group: helm.bitnami.com - names: - kind: HelmRelease - listKind: HelmReleaseList - plural: helmreleases - singular: helmrelease - scope: Namespaced - version: v1 ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - annotations: {} - labels: - created-by: kubeapps - name: tiller-cluster-admin - name: tiller-cluster-admin -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: cluster-admin -subjects: -- kind: ServiceAccount - name: tiller - namespace: kubeapps ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - creationTimestamp: null - labels: - app: helm - created-by: kubeapps - name: tiller - name: tiller-deploy - namespace: kubeapps -spec: - strategy: {} - template: - metadata: - creationTimestamp: null - labels: - app: helm - name: tiller - spec: - containers: - - args: - - --listen=localhost:44134 - command: - - /tiller - env: - - name: TILLER_NAMESPACE - value: kubeapps - - name: TILLER_HISTORY_MAX - value: "0" - image: gcr.io/kubernetes-helm/tiller:v2.8.0 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: /liveness - port: 44135 - initialDelaySeconds: 1 - timeoutSeconds: 1 - name: tiller - ports: [] - readinessProbe: - httpGet: - path: /readiness - port: 44135 - initialDelaySeconds: 1 - timeoutSeconds: 1 - resources: {} - - args: - - --home=/helm - - --host=localhost:44134 - command: - - /controller - env: - - name: POD_NAMESPACE - value: kubeapps - - name: TMPDIR - value: /helm - image: bitnami/helm-crd-controller:v0.3.0 - name: controller - ports: [] - securityContext: - readOnlyRootFilesystem: true - stdin: false - tty: false - volumeMounts: - - mountPath: /helm - name: home - serviceAccountName: tiller - volumes: - - emptyDir: {} - name: home -status: {} ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - annotations: {} - labels: - created-by: kubeapps - name: tiller - name: tiller - namespace: kubeapps ---- -apiVersion: v1 -data: - vhost.conf: | - server { - listen 8080; - - gzip on; - # Angular CLI already has gzipped the assets (ng build --prod --aot) - gzip_static on; - - location / { - try_files $uri /index.html; - } - } - - # Redirect www to non-www - # Taken from https://easyengine.io/tutorials/nginx/www-non-www-redirection/ - server { - server_name "~^www\.(.*)$" ; - return 301 $scheme://$1$request_uri ; - } -kind: ConfigMap -metadata: - annotations: {} - labels: - app: kubeapps-dashboard - created-by: kubeapps - name: kubeapps-dashboard-ui-vhost - name: kubeapps-dashboard-ui-vhost-425de41 - namespace: kubeapps ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - annotations: {} - labels: - created-by: kubeapps - name: kubeapps-dashboard-ui - name: kubeapps-dashboard-ui - namespace: kubeapps -spec: - minReadySeconds: 30 - replicas: 1 - revisionHistoryLimit: 10 - strategy: - rollingUpdate: - maxSurge: 25% - maxUnavailable: 25% - type: RollingUpdate - template: - metadata: - annotations: {} - labels: - created-by: kubeapps - name: kubeapps-dashboard-ui - spec: - containers: - - args: [] - env: [] - image: kubeapps/dashboard:v0.7.1 - livenessProbe: - httpGet: - path: / - port: 8080 - initialDelaySeconds: 60 - timeoutSeconds: 10 - name: dashboard - ports: - - containerPort: 8080 - name: http - protocol: TCP - readinessProbe: - httpGet: - path: / - port: 8080 - initialDelaySeconds: 0 - timeoutSeconds: 5 - stdin: false - tty: false - volumeMounts: - - mountPath: /bitnami/nginx/conf/vhosts - name: vhost - imagePullSecrets: [] - terminationGracePeriodSeconds: 30 - volumes: - - configMap: - name: kubeapps-dashboard-ui-vhost-425de41 - name: vhost ---- -apiVersion: v1 -kind: Service -metadata: - annotations: {} - labels: - app: kubeapps-dashboard - created-by: kubeapps - name: kubeapps-dashboard-ui - name: kubeapps-dashboard-ui - namespace: kubeapps -spec: - ports: - - port: 8080 - targetPort: http - selector: - name: kubeapps-dashboard-ui - type: ClusterIP ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - labels: - created-by: kubeapps - name: kubeless-controller-deployer -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: kubeless-controller-deployer -subjects: -- kind: ServiceAccount - name: controller-acct - namespace: kubeless ---- -apiVersion: apiextensions.k8s.io/v1beta1 -description: Kubernetes Native Serverless Framework -kind: CustomResourceDefinition -metadata: - labels: - created-by: kubeapps - name: functions.kubeless.io -spec: - group: kubeless.io - names: - kind: Function - plural: functions - singular: function - scope: Namespaced - version: v1beta1 ---- -apiVersion: apiextensions.k8s.io/v1beta1 -description: CRD object for HTTP trigger type -kind: CustomResourceDefinition -metadata: - labels: - created-by: kubeapps - name: httptriggers.kubeless.io -spec: - group: kubeless.io - names: - kind: HTTPTrigger - plural: httptriggers - singular: httptrigger - scope: Namespaced - version: v1beta1 ---- -apiVersion: apiextensions.k8s.io/v1beta1 -description: CRD object for HTTP trigger type -kind: CustomResourceDefinition -metadata: - labels: - created-by: kubeapps - name: cronjobtriggers.kubeless.io -spec: - group: kubeless.io - names: - kind: CronJobTrigger - plural: cronjobtriggers - singular: cronjobtrigger - scope: Namespaced - version: v1beta1 ---- -apiVersion: v1 -kind: Namespace -metadata: - annotations: {} - labels: - created-by: kubeapps - name: kubeless - name: kubeless ---- -apiVersion: v1 -data: - builder-image: kubeless/function-image-builder:v0.6.0 - deployment: '{}' - enable-build-step: "false" - function-registry-tls-verify: "true" - ingress-enabled: "false" - runtime-images: |- - [ - { - "ID": "python", - "compiled": false, - "versions": [ - { - "name": "python27", - "version": "2.7", - "runtimeImage": "kubeless/python@sha256:07cfb0f3d8b6db045dc317d35d15634d7be5e436944c276bf37b1c630b03add8", - "initImage": "python:2.7" - }, - { - "name": "python34", - "version": "3.4", - "runtimeImage": "kubeless/python@sha256:f19640c547a3f91dbbfb18c15b5e624029b4065c1baf2892144e07c36f0a7c8f", - "initImage": "python:3.4" - }, - { - "name": "python36", - "version": "3.6", - "runtimeImage": "kubeless/python@sha256:0c9f8f727d42625a4e25230cfe612df7488b65f283e7972f84108d87e7443d72", - "initImage": "python:3.6" - } - ], - "depName": "requirements.txt", - "fileNameSuffix": ".py" - }, - { - "ID": "nodejs", - "compiled": false, - "versions": [ - { - "name": "node6", - "version": "6", - "runtimeImage": "kubeless/nodejs@sha256:61c5a10aacb709c4575a09a4aa28f822b2d008c0dbf4aa0b124705ee9ca143f9", - "initImage": "node:6.10" - }, - { - "name": "node8", - "version": "8", - "runtimeImage": "kubeless/nodejs@sha256:fc1aa96e55116400ee13d664a655dfb2025ded91858ebfd5fc0c8f0d6b923eba", - "initImage": "node:8" - } - ], - "depName": "package.json", - "fileNameSuffix": ".js" - }, - { - "ID": "ruby", - "compiled": false, - "versions": [ - { - "name": "ruby24", - "version": "2.4", - "runtimeImage": "kubeless/ruby@sha256:0dce29c0eb2a246f7d825b6644eeae7957b26f2bfad2b7987f2134cc7b350f2f", - "initImage": "bitnami/ruby:2.4" - } - ], - "depName": "Gemfile", - "fileNameSuffix": ".rb" - }, - { - "ID": "php", - "compiled": false, - "versions": [ - { - "name": "php72", - "version": "7.2", - "runtimeImage": "kubeless/php@sha256:82b94c691302bc82f3900444255cabb8f230487764eafeba7866ac49d90ddc3b", - "initImage": "composer:1.6" - } - ], - "depName": "composer.json", - "fileNameSuffix": ".php" - }, - { - "ID": "go", - "compiled": true, - "versions": [ - { - "name": "go1.10", - "version": "1.10", - "runtimeImage": "kubeless/go@sha256:bf72622344a54e4360f31d3fea5eb9dca2c96fbedc6f0ad7c54f3eb8fb7bd353", - "initImage": "kubeless/go-init@sha256:ce6ef4fafe518ed78b3a68b03947c064fec1cf8c667cd109e9331f227877b3a9" - } - ], - "depName": "Gopkg.toml", - "fileNameSuffix": ".go" - } - ] - service-type: ClusterIP -kind: ConfigMap -metadata: - labels: - created-by: kubeapps - name: kubeless-config - namespace: kubeless ---- -apiVersion: apps/v1beta1 -kind: Deployment -metadata: - labels: - created-by: kubeapps - kubeless: controller - name: kubeless-controller-manager - namespace: kubeless -spec: - selector: - matchLabels: - kubeless: controller - template: - metadata: - labels: - kubeless: controller - spec: - containers: - - env: - - name: KUBELESS_INGRESS_ENABLED - valueFrom: - configMapKeyRef: - key: ingress-enabled - name: kubeless-config - - name: KUBELESS_SERVICE_TYPE - valueFrom: - configMapKeyRef: - key: service-type - name: kubeless-config - - name: KUBELESS_NAMESPACE - valueFrom: - fieldRef: - fieldPath: metadata.namespace - - name: KUBELESS_CONFIG - value: kubeless-config - image: bitnami/kubeless-controller-manager:v0.6.0 - imagePullPolicy: IfNotPresent - name: kubeless-controller-manager - serviceAccountName: controller-acct ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - created-by: kubeapps - name: controller-acct - namespace: kubeless ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - labels: - created-by: kubeapps - name: kubeless-controller-deployer -rules: -- apiGroups: - - "" - resources: - - services - - configmaps - verbs: - - create - - get - - delete - - list - - update - - patch -- apiGroups: - - apps - - extensions - resources: - - deployments - verbs: - - create - - get - - delete - - list - - update - - patch -- apiGroups: - - "" - resources: - - pods - verbs: - - list - - delete -- apiGroups: - - "" - resourceNames: - - kubeless-registry-credentials - resources: - - secrets - verbs: - - get -- apiGroups: - - kubeless.io - resources: - - functions - - httptriggers - - cronjobtriggers - verbs: - - get - - list - - watch - - update - - delete -- apiGroups: - - batch - resources: - - cronjobs - - jobs - verbs: - - create - - get - - delete - - deletecollection - - list - - update - - patch -- apiGroups: - - autoscaling - resources: - - horizontalpodautoscalers - verbs: - - create - - get - - delete - - list - - update - - patch -- apiGroups: - - apiextensions.k8s.io - resources: - - customresourcedefinitions - verbs: - - get - - list -- apiGroups: - - monitoring.coreos.com - resources: - - alertmanagers - - prometheuses - - servicemonitors - verbs: - - '*' -- apiGroups: - - extensions - resources: - - ingresses - verbs: - - create - - get - - list - - update - - delete ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - annotations: {} - labels: - app: mongodb - created-by: kubeapps - name: mongodb - name: mongodb - namespace: kubeapps -spec: - minReadySeconds: 30 - replicas: 1 - revisionHistoryLimit: 10 - strategy: - rollingUpdate: - maxSurge: 0 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - annotations: {} - labels: - app: mongodb - created-by: kubeapps - name: mongodb - spec: - containers: - - args: [] - env: - - name: MONGODB_ROOT_PASSWORD - valueFrom: - secretKeyRef: - key: mongodb-root-password - name: mongodb - image: bitnami/mongodb:3.4.9-r1 - livenessProbe: - exec: - command: - - mongo - - --eval - - db.adminCommand('ping') - initialDelaySeconds: 30 - timeoutSeconds: 5 - name: mongodb - ports: - - containerPort: 27017 - name: mongodb - readinessProbe: - exec: - command: - - mongo - - --eval - - db.adminCommand('ping') - initialDelaySeconds: 5 - timeoutSeconds: 1 - resources: - requests: - cpu: 100m - memory: 256Mi - stdin: false - tty: false - volumeMounts: - - mountPath: /bitnami/mongodb - name: data - imagePullSecrets: [] - terminationGracePeriodSeconds: 30 - volumes: - - name: data - persistentVolumeClaim: - claimName: mongodb-data ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - annotations: {} - labels: - created-by: kubeapps - name: mongodb-data - name: mongodb-data - namespace: kubeapps -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 8Gi ---- -apiVersion: v1 -kind: Service -metadata: - annotations: {} - labels: - created-by: kubeapps - name: mongodb - name: mongodb - namespace: kubeapps -spec: - ports: - - port: 27017 - targetPort: mongodb - selector: - app: mongodb - name: mongodb - type: ClusterIP ---- -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - annotations: {} - labels: - app: kubeapps - created-by: kubeapps - name: kubeapps - name: kubeapps - namespace: kubeapps -spec: - minReadySeconds: 30 - replicas: 1 - revisionHistoryLimit: 10 - strategy: - rollingUpdate: - maxSurge: 25% - maxUnavailable: 25% - type: RollingUpdate - template: - metadata: - annotations: {} - labels: - app: kubeapps - created-by: kubeapps - name: kubeapps - spec: - containers: - - args: [] - env: [] - image: bitnami/nginx:1.12 - livenessProbe: - httpGet: - path: / - port: 8080 - initialDelaySeconds: 60 - timeoutSeconds: 10 - name: nginx - ports: - - containerPort: 8080 - name: http - protocol: TCP - readinessProbe: - httpGet: - path: / - port: 8080 - initialDelaySeconds: 0 - timeoutSeconds: 5 - stdin: false - tty: false - volumeMounts: - - mountPath: /bitnami/nginx/conf/vhosts - name: vhost - imagePullSecrets: [] - terminationGracePeriodSeconds: 30 - volumes: - - configMap: - name: kubeapps-vhost-5811f90 - name: vhost ---- -apiVersion: v1 -kind: Service -metadata: - annotations: {} - labels: - app: kubeapps - created-by: kubeapps - name: kubeapps - name: kubeapps - namespace: kubeapps -spec: - ports: - - port: 8080 - targetPort: http - selector: - app: kubeapps - name: kubeapps - type: ClusterIP ---- -apiVersion: v1 -data: - vhost.conf: | - # Retain the default nginx handling of requests without a "Connection" header - map $http_upgrade $connection_upgrade { - default upgrade; - '' close; - } - - # Allow websocket connections - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection $connection_upgrade; - - server { - listen 8080; - - location /api/kube { - rewrite /api/kube/(.*) /$1 break; - rewrite /api/kube / break; - proxy_pass https://kubernetes.default; - # Disable buffering for log streaming - proxy_buffering off; - # Hide Www-Authenticate to prevent it triggering a basic auth prompt in - # the browser with some clusters - proxy_hide_header Www-Authenticate; - } - - location /api/chartsvc { - rewrite /api/chartsvc/(.*) /$1 break; - rewrite /api/chartsvc / break; - proxy_pass http://chartsvc:8080; - } - - location / { - proxy_pass http://kubeapps-dashboard-ui:8080; - } - } -kind: ConfigMap -metadata: - annotations: {} - labels: - app: kubeapps - created-by: kubeapps - name: kubeapps-vhost - name: kubeapps-vhost-5811f90 - namespace: kubeapps ---- -apiVersion: v1 -kind: Namespace -metadata: - annotations: {} - labels: - created-by: kubeapps - name: kubeapps - name: kubeapps ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - labels: - created-by: kubeapps - name: sealed-secrets-controller - namespace: kube-system ---- -apiVersion: apps/v1beta1 -kind: Deployment -metadata: - labels: - created-by: kubeapps - name: sealed-secrets-controller - namespace: kube-system -spec: - template: - metadata: - labels: - name: sealed-secrets-controller - spec: - containers: - - command: - - controller - image: quay.io/bitnami/sealed-secrets-controller:v0.5.1 - livenessProbe: - httpGet: - path: /healthz - port: 8080 - name: sealed-secrets-controller - ports: - - containerPort: 8080 - name: http - readinessProbe: - httpGet: - path: /healthz - port: 8080 - securityContext: - readOnlyRootFilesystem: true - runAsNonRoot: true - runAsUser: 1001 - serviceAccountName: sealed-secrets-controller ---- -apiVersion: v1 -kind: Service -metadata: - labels: - created-by: kubeapps - name: sealed-secrets-controller - namespace: kube-system -spec: - ports: - - port: 8080 - selector: - name: sealed-secrets-controller ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: RoleBinding -metadata: - labels: - created-by: kubeapps - name: sealed-secrets-controller - namespace: kube-system -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: sealed-secrets-key-admin -subjects: -- apiGroup: "" - kind: ServiceAccount - name: sealed-secrets-controller - namespace: kube-system ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: Role -metadata: - labels: - created-by: kubeapps - name: sealed-secrets-key-admin - namespace: kube-system -rules: -- apiGroups: - - "" - resourceNames: - - sealed-secrets-key - resources: - - secrets - verbs: - - get -- apiGroups: - - "" - resources: - - secrets - verbs: - - create ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - labels: - created-by: kubeapps - name: sealed-secrets-controller -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: secrets-unsealer -subjects: -- apiGroup: "" - kind: ServiceAccount - name: sealed-secrets-controller - namespace: kube-system ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole -metadata: - labels: - created-by: kubeapps - name: secrets-unsealer -rules: -- apiGroups: - - bitnami.com - resources: - - sealedsecrets - verbs: - - get - - list - - watch -- apiGroups: - - "" - resources: - - secrets - verbs: - - create - - update - - delete ---- -apiVersion: apiextensions.k8s.io/v1beta1 -kind: CustomResourceDefinition -metadata: - labels: - created-by: kubeapps - name: sealedsecrets.bitnami.com -spec: - group: bitnami.com - names: - kind: SealedSecret - listKind: SealedSecretList - plural: sealedsecrets - singular: sealedsecret - scope: Namespaced - validation: - openAPIV3Schema: - $schema: http://json-schema.org/draft-04/schema# - description: A sealed (encrypted) Secret - properties: - spec: - properties: - data: - pattern: ^[^A-Za-z0-9+/=]*$ - type: string - type: object - type: object - version: v1alpha1