diff --git a/static/kubeapps-objs.yaml b/static/kubeapps-objs.yaml index acafeeadbf7..fff09a64b44 100644 --- a/static/kubeapps-objs.yaml +++ b/static/kubeapps-objs.yaml @@ -1,61 +1,20 @@ --- -apiVersion: v1 -data: - monocular.yaml: | - { - "cacheRefreshInterval": 3600, - "cors": { - "allowed_headers": [ - "content-type", - "x-xsrf-token" - ], - "allowed_origins": [ - "" - ] - }, - "mongodb": { - "database": "monocular" - }, - "releasesEnabled": true, - "repos": [ - { - "name": "stable", - "source": "https://github.com/kubernetes/charts/tree/master/stable", - "url": "https://kubernetes-charts.storage.googleapis.com" - }, - { - "name": "incubator", - "source": "https://github.com/kubernetes/charts/tree/master/incubator", - "url": "https://kubernetes-charts-incubator.storage.googleapis.com" - } - ], - "tillerHost": "localhost:44134" - } -kind: ConfigMap -metadata: - annotations: {} - labels: - app: kubeapps-dashboard - name: kubeapps-dashboard-api - name: kubeapps-dashboard-api-9712a3a - namespace: kubeapps ---- apiVersion: apps/v1beta1 kind: Deployment metadata: annotations: {} labels: - app: kubeapps-dashboard - name: kubeapps-dashboard-api - name: kubeapps-dashboard-api + created-by: kubeapps + name: kubeless-ui + name: kubeless-ui namespace: kubeapps spec: minReadySeconds: 30 replicas: 1 selector: matchLabels: - app: kubeapps-dashboard - name: kubeapps-dashboard-api + created-by: kubeapps + name: kubeless-ui strategy: rollingUpdate: maxSurge: 25% @@ -65,604 +24,431 @@ spec: metadata: annotations: {} labels: - app: kubeapps-dashboard - name: kubeapps-dashboard-api + created-by: kubeapps + name: kubeless-ui spec: containers: - - args: - - --mongo-url=root:$(MONGODB_ROOT_PASSWORD)@mongodb.kubeapps - command: - - monocular - env: - - name: MONGODB_ROOT_PASSWORD - valueFrom: - secretKeyRef: - key: mongodb-root-password - name: mongodb - - name: MONOCULAR_HOME - value: /monocular - image: bitnami/monocular-api:v0.6.1 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 600 - timeoutSeconds: 10 - name: api + - args: [] + env: [] + image: bitnami/kubeless-ui:latest + name: ui ports: - - containerPort: 8081 + - containerPort: 3000 + name: ui + protocol: TCP readinessProbe: httpGet: - path: /healthz - port: 8081 - initialDelaySeconds: 0 - timeoutSeconds: 5 - resources: - limits: - cpu: 100m - memory: 128Mi - requests: - cpu: 100m - memory: 128Mi + path: / + port: 3000 stdin: false tty: false - volumeMounts: - - mountPath: /monocular - name: cache - - mountPath: /monocular/config - name: config + volumeMounts: [] - 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.7.2 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: /liveness - port: 44135 - initialDelaySeconds: 1 - timeoutSeconds: 1 - name: tiller + - proxy + - -p + - "8080" + env: [] + image: kelseyhightower/kubectl:1.4.0 + name: proxy ports: [] - readinessProbe: - httpGet: - path: /readiness - port: 44135 - initialDelaySeconds: 1 - timeoutSeconds: 1 - resources: {} + stdin: false + tty: false + volumeMounts: [] imagePullSecrets: [] initContainers: [] - serviceAccountName: tiller + serviceAccountName: kubeless-ui terminationGracePeriodSeconds: 30 - volumes: - - emptyDir: {} - name: cache - - configMap: - name: kubeapps-dashboard-api-9712a3a - name: config ---- -apiVersion: v1 -kind: Service -metadata: - annotations: {} - labels: - app: kubeapps-dashboard - name: kubeapps-dashboard-api - name: kubeapps-dashboard-api - namespace: kubeapps -spec: - ports: - - name: monocular-api - port: 80 - protocol: TCP - targetPort: 8081 - selector: - app: kubeapps-dashboard - name: kubeapps-dashboard-api - type: ClusterIP + volumes: [] --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: annotations: {} labels: - name: tiller-cluster-admin - name: tiller-cluster-admin + created-by: kubeapps + name: kubeless-ui-editor + name: kubeless-ui-editor roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole - name: cluster-admin + name: kubeless-editor subjects: - kind: ServiceAccount - name: tiller + name: kubeless-ui namespace: kubeapps --- +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRole +metadata: + annotations: {} + labels: + created-by: kubeapps + name: kubeless-editor + name: kubeless-editor +rules: +- apiGroups: + - k8s.io + resources: + - functions + verbs: + - get + - list + - watch + - create + - patch +--- apiVersion: v1 kind: ServiceAccount metadata: annotations: {} labels: - name: tiller - name: tiller + created-by: kubeapps + name: kubeless-ui + name: kubeless-ui + namespace: kubeapps +--- +apiVersion: v1 +kind: Service +metadata: + annotations: {} + labels: + created-by: kubeapps + name: kubeless-ui + name: kubeless-ui namespace: kubeapps +spec: + ports: + - port: 3000 + targetPort: ui + selector: + name: kubeless-ui + type: ClusterIP --- apiVersion: apps/v1beta1 kind: Deployment metadata: annotations: {} labels: - app: kubeapps-dashboard - name: kubeapps-dashboard-ui - name: kubeapps-dashboard-ui + app: mongodb + created-by: kubeapps + name: mongodb + name: mongodb namespace: kubeapps spec: minReadySeconds: 30 replicas: 1 selector: matchLabels: - app: kubeapps-dashboard - name: kubeapps-dashboard-ui + app: mongodb + created-by: kubeapps + name: mongodb strategy: rollingUpdate: - maxSurge: 25% - maxUnavailable: 25% + maxSurge: 0 + maxUnavailable: 1 type: RollingUpdate template: metadata: annotations: {} labels: - app: kubeapps-dashboard - name: kubeapps-dashboard-ui + app: mongodb + created-by: kubeapps + name: mongodb spec: containers: - args: [] - env: [] - image: kubeapps/dashboard:latest - imagePullPolicy: Always + env: + - name: MONGODB_ROOT_PASSWORD + valueFrom: + secretKeyRef: + key: mongodb-root-password + name: mongodb + image: bitnami/mongodb:3.4.9-r1 livenessProbe: - httpGet: - path: / - port: 8080 - initialDelaySeconds: 60 - timeoutSeconds: 10 - name: ui + exec: + command: + - mongo + - --eval + - db.adminCommand('ping') + initialDelaySeconds: 30 + timeoutSeconds: 5 + name: mongodb ports: - - containerPort: 8080 + - containerPort: 27017 + name: mongodb readinessProbe: - httpGet: - path: / - port: 8080 - initialDelaySeconds: 0 - timeoutSeconds: 5 + exec: + command: + - mongo + - --eval + - db.adminCommand('ping') + initialDelaySeconds: 5 + timeoutSeconds: 1 resources: - limits: - cpu: 100m - memory: 128Mi requests: cpu: 100m - memory: 128Mi + memory: 256Mi stdin: false tty: false volumeMounts: - - mountPath: /app/assets/js - name: config - - mountPath: /bitnami/nginx/conf/vhosts - name: vhost + - mountPath: /bitnami/mongodb + name: data imagePullSecrets: [] initContainers: [] terminationGracePeriodSeconds: 30 volumes: - - configMap: - name: kubeapps-dashboard-ui-config-024dc17 - name: config - - configMap: - name: kubeapps-dashboard-ui-vhost-425de41 - name: vhost + - 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: - app: kubeapps-dashboard - name: kubeapps-dashboard-ui - name: kubeapps-dashboard-ui + created-by: kubeapps + name: mongodb + name: mongodb namespace: kubeapps spec: ports: - - name: monocular-ui - port: 80 - protocol: TCP - targetPort: 8080 + - port: 27017 + targetPort: mongodb selector: - app: kubeapps-dashboard - name: kubeapps-dashboard-ui + app: mongodb + name: mongodb type: ClusterIP --- 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 +kind: Service metadata: annotations: {} labels: - app: kubeapps-dashboard - name: kubeapps-dashboard-ui-vhost - name: kubeapps-dashboard-ui-vhost-425de41 + created-by: kubeapps + name: nginx-ingress + name: nginx-ingress namespace: kubeapps +spec: + ports: + - name: http + port: 80 + protocol: TCP + selector: + name: nginx-ingress-controller + type: ClusterIP --- apiVersion: v1 data: - overrides.js: | - window.monocular = { - "overrides": { - "appName": "Monocular", - "backendHostname": "/api", - "googleAnalyticsId": "UA-XXXXXX-X", - "releasesEnabled": true - } - } + disable-ipv6: "false" + enable-vts-status: "true" + proxy-connect-timeout: "15" + proxy-read-timeout: "3600" + proxy-send-timeout: "3600" kind: ConfigMap metadata: annotations: {} labels: - app: kubeapps-dashboard - name: kubeapps-dashboard-ui-config - name: kubeapps-dashboard-ui-config-024dc17 + created-by: kubeapps + name: nginx-ingress + name: nginx-ingress namespace: kubeapps --- -apiVersion: extensions/v1beta1 -kind: Ingress +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: ClusterRoleBinding metadata: - annotations: - ingress.kubernetes.io/rewrite-target: / - ingress.kubernetes.io/ssl-redirect: "false" - kubernetes.io/ingress.class: kubeapps-nginx + annotations: {} labels: - name: kubeapps - name: kubeapps + created-by: kubeapps + name: nginx-ingress-controller + name: nginx-ingress-controller +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: nginx-ingress-controller +subjects: +- kind: ServiceAccount + name: nginx-ingress-controller namespace: kubeapps -spec: - rules: - - host: null - http: - paths: - - backend: - serviceName: kubeapps-dashboard-ui - servicePort: 80 - path: / - - backend: - serviceName: kubeapps-dashboard-api - servicePort: 80 - path: /api/ - - backend: - serviceName: kubeless-ui - servicePort: 3000 - path: /kubeless - tls: [] --- -apiVersion: apps/v1beta1 -kind: Deployment +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: Role metadata: + annotations: {} labels: - kubeless: controller - name: kubeless-controller - namespace: kubeless -spec: - selector: - matchLabels: - kubeless: controller - template: - metadata: - labels: - kubeless: controller - spec: - containers: - - image: bitnami/kubeless-controller:latest - imagePullPolicy: IfNotPresent - name: kubeless-controller - serviceAccountName: controller-acct + created-by: kubeapps + name: nginx-ingress-controller + name: nginx-ingress-controller + namespace: kubeapps +rules: +- apiGroups: + - "" + resources: + - configmaps + - pods + - secrets + - namespaces + verbs: + - get +- apiGroups: + - "" + resourceNames: + - ingress-controller-leader-nginx + resources: + - configmaps + verbs: + - get + - update +- apiGroups: + - "" + resources: + - configmaps + verbs: + - create +- apiGroups: + - "" + resources: + - endpoints + verbs: + - get --- apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: - name: kubeless-controller-deployer + annotations: {} + labels: + created-by: kubeapps + name: nginx-ingress-controller + name: nginx-ingress-controller rules: - apiGroups: - "" resources: - - services - configmaps + - endpoints + - nodes + - pods + - secrets verbs: - - create - - get - - delete - list - - update - - patch + - watch - apiGroups: - - apps - - extensions + - "" resources: - - deployments + - nodes verbs: - - create - get - - delete - - list - - update - - patch - apiGroups: - "" resources: - - pods + - services verbs: + - get - list - - delete + - watch - apiGroups: - - k8s.io + - extensions resources: - - functions + - ingresses verbs: - get - list - watch +- apiGroups: + - extensions + resources: + - ingresses/status + verbs: + - update +- apiGroups: + - "" + resources: + - events + verbs: + - create + - patch --- -apiVersion: apiextensions.k8s.io/v1beta1 -description: Kubernetes Native Serverless Framework -kind: CustomResourceDefinition -metadata: - name: functions.k8s.io -spec: - group: k8s.io - names: - kind: Function - plural: functions - singular: function - scope: Namespaced - version: v1 ---- -apiVersion: v1 -kind: Namespace +apiVersion: rbac.authorization.k8s.io/v1beta1 +kind: RoleBinding metadata: annotations: {} labels: - name: kubeless - name: kubeless ---- -apiVersion: v1 -kind: Service -metadata: - name: zoo - namespace: kubeless -spec: - clusterIP: None - ports: - - name: peer - port: 9092 - - name: leader-election - port: 3888 - selector: - kubeless: zookeeper ---- -apiVersion: v1 -kind: Service -metadata: - name: zookeeper - namespace: kubeless -spec: - ports: - - name: client - port: 2181 - selector: - kubeless: zookeeper ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: controller-acct - namespace: kubeless ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: kubeless-controller-deployer + created-by: kubeapps + name: nginx-ingress-controller + name: nginx-ingress-controller + namespace: kubeapps roleRef: apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: kubeless-controller-deployer + kind: Role + name: nginx-ingress-controller subjects: - kind: ServiceAccount - name: controller-acct - namespace: kubeless ---- -apiVersion: v1 -kind: Service -metadata: - name: broker - namespace: kubeless -spec: - clusterIP: None - ports: - - port: 9092 - selector: - kubeless: kafka ---- -apiVersion: apps/v1beta1 -kind: StatefulSet -metadata: - name: kafka - namespace: kubeless -spec: - serviceName: broker - template: - metadata: - labels: - kubeless: kafka - spec: - containers: - - env: - - name: KAFKA_ADVERTISED_HOST_NAME - value: broker.kubeless - - name: KAFKA_ADVERTISED_PORT - value: "9092" - - name: KAFKA_PORT - value: "9092" - - name: KAFKA_ZOOKEEPER_CONNECT - value: zookeeper.kubeless:2181 - - name: ALLOW_PLAINTEXT_LISTENER - value: "yes" - image: bitnami/kafka@sha256:ef0b1332408c0361d457852622d3a180f3609b9d98f1a85a9a809adaecfe9b52 - imagePullPolicy: IfNotPresent - livenessProbe: - initialDelaySeconds: 30 - tcpSocket: - port: 9092 - name: broker - ports: - - containerPort: 9092 - volumeMounts: - - mountPath: /bitnami/kafka/data - name: datadir - volumeClaimTemplates: - - metadata: - name: datadir - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi + name: nginx-ingress-controller + namespace: kubeapps --- apiVersion: v1 -kind: Service -metadata: - name: kafka - namespace: kubeless -spec: - ports: - - port: 9092 - selector: - kubeless: kafka ---- -apiVersion: apps/v1beta1 -kind: StatefulSet -metadata: - name: zoo - namespace: kubeless -spec: - serviceName: zoo - template: - metadata: - labels: - kubeless: zookeeper - spec: - containers: - - env: - - name: ZOO_SERVERS - value: server.1=zoo-0.zoo:2888:3888:participant - - name: ALLOW_ANONYMOUS_LOGIN - value: "yes" - image: bitnami/zookeeper@sha256:f66625a8a25070bee18fddf42319ec58f0c49c376b19a5eb252e6a4814f07123 - imagePullPolicy: IfNotPresent - name: zookeeper - ports: - - containerPort: 2181 - name: client - - containerPort: 2888 - name: peer - - containerPort: 3888 - name: leader-election - volumeMounts: - - mountPath: /bitnami/zookeeper - name: zookeeper - volumes: - - name: zookeeper ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole +kind: ServiceAccount metadata: annotations: {} labels: - name: kubeless-editor - name: kubeless-editor -rules: -- apiGroups: - - k8s.io - resources: - - functions - verbs: - - get - - list - - watch - - create - - patch + created-by: kubeapps + name: nginx-ingress-controller + name: nginx-ingress-controller + namespace: kubeapps --- apiVersion: v1 -kind: ServiceAccount +data: {} +kind: ConfigMap metadata: annotations: {} labels: - name: kubeless-ui - name: kubeless-ui + created-by: kubeapps + name: tcp-services + name: tcp-services namespace: kubeapps --- apiVersion: v1 -kind: Service +data: {} +kind: ConfigMap metadata: annotations: {} labels: - name: kubeless-ui - name: kubeless-ui + created-by: kubeapps + name: udp-services + name: udp-services namespace: kubeapps -spec: - ports: - - port: 3000 - targetPort: ui - selector: - name: kubeless-ui - type: ClusterIP --- apiVersion: apps/v1beta1 kind: Deployment metadata: annotations: {} labels: - name: kubeless-ui - name: kubeless-ui + created-by: kubeapps + name: nginx-ingress-controller + name: nginx-ingress-controller namespace: kubeapps spec: minReadySeconds: 30 replicas: 1 selector: matchLabels: - name: kubeless-ui + created-by: kubeapps + name: nginx-ingress-controller strategy: rollingUpdate: maxSurge: 25% @@ -670,252 +456,13 @@ spec: type: RollingUpdate template: metadata: - annotations: {} + annotations: + prometheus.io/path: /metrics + prometheus.io/port: "10254" + prometheus.io/scrape: "true" labels: - name: kubeless-ui - spec: - containers: - - args: [] - env: [] - image: bitnami/kubeless-ui:latest - name: ui - ports: - - containerPort: 3000 - name: ui - protocol: TCP - readinessProbe: - httpGet: - path: / - port: 3000 - stdin: false - tty: false - volumeMounts: [] - - args: - - proxy - - -p - - "8080" - env: [] - image: kelseyhightower/kubectl:1.4.0 - name: proxy - ports: [] - stdin: false - tty: false - volumeMounts: [] - imagePullSecrets: [] - initContainers: [] - serviceAccountName: kubeless-ui - terminationGracePeriodSeconds: 30 - volumes: [] ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - annotations: {} - labels: - name: kubeless-ui-editor - name: kubeless-ui-editor -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: kubeless-editor -subjects: -- kind: ServiceAccount - name: kubeless-ui - namespace: kubeapps ---- -apiVersion: apps/v1beta1 -kind: Deployment -metadata: - annotations: {} - labels: - app: mongodb - name: mongodb - name: mongodb - namespace: kubeapps -spec: - minReadySeconds: 30 - replicas: 1 - selector: - matchLabels: - app: mongodb - name: mongodb - strategy: - rollingUpdate: - maxSurge: 0 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - annotations: {} - labels: - app: mongodb - 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: [] - initContainers: [] - terminationGracePeriodSeconds: 30 - volumes: - - name: data - persistentVolumeClaim: - claimName: mongodb-data ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - annotations: {} - labels: - name: mongodb-data - name: mongodb-data - namespace: kubeapps -spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 8Gi ---- -apiVersion: v1 -kind: Service -metadata: - annotations: {} - labels: - name: mongodb - name: mongodb - namespace: kubeapps -spec: - ports: - - port: 27017 - targetPort: mongodb - selector: - app: mongodb - name: mongodb - type: ClusterIP ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: Role -metadata: - annotations: {} - labels: - name: nginx-ingress-controller - name: nginx-ingress-controller - namespace: kubeapps -rules: -- apiGroups: - - "" - resources: - - configmaps - - pods - - secrets - - namespaces - verbs: - - get -- apiGroups: - - "" - resourceNames: - - ingress-controller-leader-nginx - resources: - - configmaps - verbs: - - get - - update -- apiGroups: - - "" - resources: - - configmaps - verbs: - - create -- apiGroups: - - "" - resources: - - endpoints - verbs: - - get ---- -apiVersion: v1 -data: {} -kind: ConfigMap -metadata: - annotations: {} - labels: - name: tcp-services - name: tcp-services - namespace: kubeapps ---- -apiVersion: v1 -data: {} -kind: ConfigMap -metadata: - annotations: {} - labels: - name: udp-services - name: udp-services - namespace: kubeapps ---- -apiVersion: apps/v1beta1 -kind: Deployment -metadata: - annotations: {} - labels: - name: nginx-ingress-controller - name: nginx-ingress-controller - namespace: kubeapps -spec: - minReadySeconds: 30 - replicas: 1 - selector: - matchLabels: - name: nginx-ingress-controller - strategy: - rollingUpdate: - maxSurge: 25% - maxUnavailable: 25% - type: RollingUpdate - template: - metadata: - annotations: - prometheus.io/path: /metrics - prometheus.io/port: "10254" - prometheus.io/scrape: "true" - labels: - name: nginx-ingress-controller + created-by: kubeapps + name: nginx-ingress-controller spec: containers: - args: @@ -978,6 +525,7 @@ kind: Deployment metadata: annotations: {} labels: + created-by: kubeapps name: default-http-backend name: default-http-backend namespace: kubeapps @@ -986,6 +534,7 @@ spec: replicas: 1 selector: matchLabels: + created-by: kubeapps name: default-http-backend strategy: rollingUpdate: @@ -996,6 +545,7 @@ spec: metadata: annotations: {} labels: + created-by: kubeapps name: default-http-backend spec: containers: @@ -1033,6 +583,7 @@ kind: Service metadata: annotations: {} labels: + created-by: kubeapps name: default-http-backend name: default-http-backend namespace: kubeapps @@ -1044,152 +595,28 @@ spec: name: default-http-backend type: ClusterIP --- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - annotations: {} - labels: - name: nginx-ingress-controller - name: nginx-ingress-controller -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: nginx-ingress-controller -subjects: -- kind: ServiceAccount - name: nginx-ingress-controller - namespace: kubeapps ---- apiVersion: v1 -kind: ServiceAccount +kind: Namespace metadata: annotations: {} labels: - name: nginx-ingress-controller - name: nginx-ingress-controller - namespace: kubeapps + created-by: kubeapps + name: kubeapps + name: kubeapps --- apiVersion: v1 -data: - disable-ipv6: "false" - enable-vts-status: "true" - proxy-connect-timeout: "15" - proxy-read-timeout: "3600" - proxy-send-timeout: "3600" -kind: ConfigMap +kind: ServiceAccount metadata: - annotations: {} labels: - name: nginx-ingress - name: nginx-ingress - namespace: kubeapps + created-by: kubeapps + name: sealed-secrets-controller + namespace: kube-system --- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRole +apiVersion: apps/v1beta1 +kind: Deployment metadata: - annotations: {} labels: - name: nginx-ingress-controller - name: nginx-ingress-controller -rules: -- apiGroups: - - "" - resources: - - configmaps - - endpoints - - nodes - - pods - - secrets - verbs: - - list - - watch -- apiGroups: - - "" - resources: - - nodes - verbs: - - get -- apiGroups: - - "" - resources: - - services - verbs: - - get - - list - - watch -- apiGroups: - - extensions - resources: - - ingresses - verbs: - - get - - list - - watch -- apiGroups: - - extensions - resources: - - ingresses/status - verbs: - - update -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch ---- -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: RoleBinding -metadata: - annotations: {} - labels: - name: nginx-ingress-controller - name: nginx-ingress-controller - namespace: kubeapps -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: nginx-ingress-controller -subjects: -- kind: ServiceAccount - name: nginx-ingress-controller - namespace: kubeapps ---- -apiVersion: v1 -kind: Service -metadata: - annotations: {} - labels: - name: nginx-ingress - name: nginx-ingress - namespace: kubeapps -spec: - ports: - - name: http - port: 80 - protocol: TCP - selector: - name: nginx-ingress-controller - type: ClusterIP ---- -apiVersion: v1 -kind: Namespace -metadata: - annotations: {} - labels: - name: kubeapps - name: kubeapps ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: sealed-secrets-controller - namespace: kube-system ---- -apiVersion: apps/v1beta1 -kind: Deployment -metadata: + created-by: kubeapps name: sealed-secrets-controller namespace: kube-system spec: @@ -1223,6 +650,8 @@ spec: apiVersion: v1 kind: Service metadata: + labels: + created-by: kubeapps name: sealed-secrets-controller namespace: kube-system spec: @@ -1234,6 +663,8 @@ spec: apiVersion: rbac.authorization.k8s.io/v1beta1 kind: RoleBinding metadata: + labels: + created-by: kubeapps name: sealed-secrets-controller namespace: kube-system roleRef: @@ -1249,6 +680,8 @@ subjects: apiVersion: rbac.authorization.k8s.io/v1beta1 kind: Role metadata: + labels: + created-by: kubeapps name: sealed-secrets-key-admin namespace: kube-system rules: @@ -1270,6 +703,8 @@ rules: apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: + labels: + created-by: kubeapps name: sealed-secrets-controller roleRef: apiGroup: rbac.authorization.k8s.io @@ -1284,6 +719,8 @@ subjects: apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRole metadata: + labels: + created-by: kubeapps name: secrets-unsealer rules: - apiGroups: @@ -1306,6 +743,8 @@ rules: apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: + labels: + created-by: kubeapps name: sealedsecrets.bitnami.com spec: group: bitnami.com @@ -1328,3 +767,645 @@ spec: type: object type: object version: v1alpha1 +--- +apiVersion: v1 +data: + monocular.yaml: | + { + "cacheRefreshInterval": 3600, + "cors": { + "allowed_headers": [ + "content-type", + "x-xsrf-token" + ], + "allowed_origins": [ + "" + ] + }, + "mongodb": { + "database": "monocular" + }, + "releasesEnabled": true, + "repos": [ + { + "name": "stable", + "source": "https://github.com/kubernetes/charts/tree/master/stable", + "url": "https://kubernetes-charts.storage.googleapis.com" + }, + { + "name": "incubator", + "source": "https://github.com/kubernetes/charts/tree/master/incubator", + "url": "https://kubernetes-charts-incubator.storage.googleapis.com" + } + ], + "tillerHost": "localhost:44134" + } +kind: ConfigMap +metadata: + annotations: {} + labels: + app: kubeapps-dashboard + created-by: kubeapps + name: kubeapps-dashboard-api + name: kubeapps-dashboard-api-9712a3a + namespace: kubeapps +--- +apiVersion: apps/v1beta1 +kind: Deployment +metadata: + annotations: {} + labels: + app: kubeapps-dashboard + created-by: kubeapps + name: kubeapps-dashboard-api + name: kubeapps-dashboard-api + namespace: kubeapps +spec: + minReadySeconds: 30 + replicas: 1 + selector: + matchLabels: + app: kubeapps-dashboard + created-by: kubeapps + name: kubeapps-dashboard-api + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + annotations: {} + labels: + app: kubeapps-dashboard + created-by: kubeapps + name: kubeapps-dashboard-api + spec: + containers: + - args: + - --mongo-url=root:$(MONGODB_ROOT_PASSWORD)@mongodb.kubeapps + command: + - monocular + env: + - name: MONGODB_ROOT_PASSWORD + valueFrom: + secretKeyRef: + key: mongodb-root-password + name: mongodb + - name: MONOCULAR_HOME + value: /monocular + image: bitnami/monocular-api:v0.6.1 + imagePullPolicy: IfNotPresent + livenessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 600 + timeoutSeconds: 10 + name: api + ports: + - containerPort: 8081 + readinessProbe: + httpGet: + path: /healthz + port: 8081 + initialDelaySeconds: 0 + timeoutSeconds: 5 + resources: + limits: + cpu: 100m + memory: 128Mi + requests: + cpu: 100m + memory: 128Mi + stdin: false + tty: false + volumeMounts: + - mountPath: /monocular + name: cache + - mountPath: /monocular/config + name: config + - 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.7.2 + 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: {} + imagePullSecrets: [] + initContainers: [] + serviceAccountName: tiller + terminationGracePeriodSeconds: 30 + volumes: + - emptyDir: {} + name: cache + - configMap: + name: kubeapps-dashboard-api-9712a3a + name: config +--- +apiVersion: v1 +kind: Service +metadata: + annotations: {} + labels: + app: kubeapps-dashboard + created-by: kubeapps + name: kubeapps-dashboard-api + name: kubeapps-dashboard-api + namespace: kubeapps +spec: + ports: + - name: monocular-api + port: 80 + protocol: TCP + targetPort: 8081 + selector: + app: kubeapps-dashboard + name: kubeapps-dashboard-api + type: ClusterIP +--- +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: v1 +kind: ServiceAccount +metadata: + annotations: {} + labels: + created-by: kubeapps + name: tiller + name: tiller + namespace: kubeapps +--- +apiVersion: v1 +data: + overrides.js: | + window.monocular = { + "overrides": { + "appName": "Monocular", + "backendHostname": "/api", + "googleAnalyticsId": "UA-XXXXXX-X", + "releasesEnabled": true + } + } +kind: ConfigMap +metadata: + annotations: {} + labels: + app: kubeapps-dashboard + created-by: kubeapps + name: kubeapps-dashboard-ui-config + name: kubeapps-dashboard-ui-config-024dc17 + namespace: kubeapps +--- +apiVersion: apps/v1beta1 +kind: Deployment +metadata: + annotations: {} + labels: + app: kubeapps-dashboard + created-by: kubeapps + name: kubeapps-dashboard-ui + name: kubeapps-dashboard-ui + namespace: kubeapps +spec: + minReadySeconds: 30 + replicas: 1 + selector: + matchLabels: + app: kubeapps-dashboard + created-by: kubeapps + name: kubeapps-dashboard-ui + strategy: + rollingUpdate: + maxSurge: 25% + maxUnavailable: 25% + type: RollingUpdate + template: + metadata: + annotations: {} + labels: + app: kubeapps-dashboard + created-by: kubeapps + name: kubeapps-dashboard-ui + spec: + containers: + - args: [] + env: [] + image: kubeapps/dashboard:latest + imagePullPolicy: Always + livenessProbe: + httpGet: + path: / + port: 8080 + initialDelaySeconds: 60 + timeoutSeconds: 10 + name: ui + ports: + - containerPort: 8080 + readinessProbe: + httpGet: + path: / + port: 8080 + initialDelaySeconds: 0 + timeoutSeconds: 5 + resources: + limits: + cpu: 100m + memory: 128Mi + requests: + cpu: 100m + memory: 128Mi + stdin: false + tty: false + volumeMounts: + - mountPath: /app/assets/js + name: config + - mountPath: /bitnami/nginx/conf/vhosts + name: vhost + imagePullSecrets: [] + initContainers: [] + terminationGracePeriodSeconds: 30 + volumes: + - configMap: + name: kubeapps-dashboard-ui-config-024dc17 + name: config + - 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: + - name: monocular-ui + port: 80 + protocol: TCP + targetPort: 8080 + selector: + app: kubeapps-dashboard + name: kubeapps-dashboard-ui + type: ClusterIP +--- +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: Ingress +metadata: + annotations: + ingress.kubernetes.io/rewrite-target: / + ingress.kubernetes.io/ssl-redirect: "false" + kubernetes.io/ingress.class: kubeapps-nginx + labels: + created-by: kubeapps + name: kubeapps + name: kubeapps + namespace: kubeapps +spec: + rules: + - host: null + http: + paths: + - backend: + serviceName: kubeapps-dashboard-ui + servicePort: 80 + path: / + - backend: + serviceName: kubeapps-dashboard-api + servicePort: 80 + path: /api/ + - backend: + serviceName: kubeless-ui + servicePort: 3000 + path: /kubeless + tls: [] +--- +apiVersion: apps/v1beta1 +kind: Deployment +metadata: + labels: + created-by: kubeapps + kubeless: controller + name: kubeless-controller + namespace: kubeless +spec: + selector: + matchLabels: + kubeless: controller + template: + metadata: + labels: + kubeless: controller + spec: + containers: + - image: bitnami/kubeless-controller:latest + imagePullPolicy: IfNotPresent + name: kubeless-controller + serviceAccountName: controller-acct +--- +apiVersion: v1 +kind: Service +metadata: + labels: + created-by: kubeapps + name: kafka + namespace: kubeless +spec: + ports: + - port: 9092 + selector: + kubeless: kafka +--- +apiVersion: v1 +kind: Service +metadata: + labels: + created-by: kubeapps + name: zookeeper + namespace: kubeless +spec: + ports: + - name: client + port: 2181 + selector: + kubeless: zookeeper +--- +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: + - k8s.io + resources: + - functions + verbs: + - get + - list + - watch +--- +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.k8s.io +spec: + group: k8s.io + names: + kind: Function + plural: functions + singular: function + scope: Namespaced + version: v1 +--- +apiVersion: v1 +kind: Service +metadata: + labels: + created-by: kubeapps + name: broker + namespace: kubeless +spec: + clusterIP: None + ports: + - port: 9092 + selector: + kubeless: kafka +--- +apiVersion: apps/v1beta1 +kind: StatefulSet +metadata: + labels: + created-by: kubeapps + name: kafka + namespace: kubeless +spec: + serviceName: broker + template: + metadata: + labels: + kubeless: kafka + spec: + containers: + - env: + - name: KAFKA_ADVERTISED_HOST_NAME + value: broker.kubeless + - name: KAFKA_ADVERTISED_PORT + value: "9092" + - name: KAFKA_PORT + value: "9092" + - name: KAFKA_ZOOKEEPER_CONNECT + value: zookeeper.kubeless:2181 + - name: ALLOW_PLAINTEXT_LISTENER + value: "yes" + image: bitnami/kafka@sha256:ef0b1332408c0361d457852622d3a180f3609b9d98f1a85a9a809adaecfe9b52 + imagePullPolicy: IfNotPresent + livenessProbe: + initialDelaySeconds: 30 + tcpSocket: + port: 9092 + name: broker + ports: + - containerPort: 9092 + volumeMounts: + - mountPath: /bitnami/kafka/data + name: datadir + volumeClaimTemplates: + - metadata: + name: datadir + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +--- +apiVersion: v1 +kind: Namespace +metadata: + annotations: {} + labels: + created-by: kubeapps + name: kubeless + name: kubeless +--- +apiVersion: v1 +kind: Service +metadata: + labels: + created-by: kubeapps + name: zoo + namespace: kubeless +spec: + clusterIP: None + ports: + - name: peer + port: 9092 + - name: leader-election + port: 3888 + selector: + kubeless: zookeeper +--- +apiVersion: apps/v1beta1 +kind: StatefulSet +metadata: + labels: + created-by: kubeapps + name: zoo + namespace: kubeless +spec: + serviceName: zoo + template: + metadata: + labels: + kubeless: zookeeper + spec: + containers: + - env: + - name: ZOO_SERVERS + value: server.1=zoo-0.zoo:2888:3888:participant + - name: ALLOW_ANONYMOUS_LOGIN + value: "yes" + image: bitnami/zookeeper@sha256:f66625a8a25070bee18fddf42319ec58f0c49c376b19a5eb252e6a4814f07123 + imagePullPolicy: IfNotPresent + name: zookeeper + ports: + - containerPort: 2181 + name: client + - containerPort: 2888 + name: peer + - containerPort: 3888 + name: leader-election + volumeMounts: + - mountPath: /bitnami/zookeeper + name: zookeeper + volumes: + - name: zookeeper