diff --git a/Tiltfile b/Tiltfile
index 84d39394b..2de697c32 100644
--- a/Tiltfile
+++ b/Tiltfile
@@ -268,14 +268,6 @@ k8s_resource(
labels=['Monitoring'],
)
-k8s_yaml('./tools/visualizer/role.yaml')
-docker_build('cortex-visualizer', './tools/visualizer')
-k8s_yaml('./tools/visualizer/app.yaml')
-k8s_resource('cortex-visualizer', port_forwards=[
- port_forward(4000, 80),
-], links=[
- link('localhost:4000', 'nova visualizer'),
-], labels=['Monitoring'])
docker_build('cortex-plutono', './tools/plutono')
k8s_yaml('./tools/plutono/app.yaml')
k8s_resource('cortex-plutono', port_forwards=[
diff --git a/tools/visualizer/Dockerfile b/tools/visualizer/Dockerfile
deleted file mode 100644
index af7c859dd..000000000
--- a/tools/visualizer/Dockerfile
+++ /dev/null
@@ -1,9 +0,0 @@
-# Copyright SAP SE
-# SPDX-License-Identifier: Apache-2.0
-
-FROM nginx
-
-COPY nova.html /usr/share/nginx/html/nova.html
-COPY shared.css /usr/share/nginx/html/shared.css
-COPY favicon.ico /usr/share/nginx/html/favicon.ico
-COPY nginx.conf /etc/nginx/conf.d/default.conf
diff --git a/tools/visualizer/app.yaml b/tools/visualizer/app.yaml
deleted file mode 100644
index 5697571e3..000000000
--- a/tools/visualizer/app.yaml
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright SAP SE
-# SPDX-License-Identifier: Apache-2.0
-
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: cortex-visualizer
- labels:
- app: cortex-visualizer
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: cortex-visualizer
- template:
- metadata:
- labels:
- app: cortex-visualizer
- spec:
- serviceAccountName: cortex-visualizer
- containers:
- - name: cortex-visualizer
- image: cortex-visualizer
- ports:
- - containerPort: 80
- - name: kubectl-proxy
- image: alpine:latest
- command: ["/bin/sh"]
- args:
- - -c
- - |
- apk add --no-cache curl
- curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
- chmod +x kubectl
- mv kubectl /usr/local/bin/
- kubectl proxy --port=8001 --address=0.0.0.0 --accept-hosts=.*
- ports:
- - containerPort: 8001
----
-apiVersion: v1
-kind: Service
-metadata:
- name: cortex-visualizer
-spec:
- selector:
- app: cortex-visualizer
- ports:
- - name: http
- port: 80
- targetPort: 80
- - name: kubectl-proxy
- port: 8001
- targetPort: 8001
- type: ClusterIP
\ No newline at end of file
diff --git a/tools/visualizer/favicon.ico b/tools/visualizer/favicon.ico
deleted file mode 100644
index b4f9d5fb8..000000000
Binary files a/tools/visualizer/favicon.ico and /dev/null differ
diff --git a/tools/visualizer/nginx.conf b/tools/visualizer/nginx.conf
deleted file mode 100644
index 7be253e28..000000000
--- a/tools/visualizer/nginx.conf
+++ /dev/null
@@ -1,18 +0,0 @@
-server {
- listen 80;
-
- # Serve static files
- location / {
- root /usr/share/nginx/html;
- index nova.html;
- }
-
- # Proxy API requests to kubectl proxy
- location /k8s/ {
- proxy_pass http://127.0.0.1:8001/;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_http_version 1.1;
- proxy_set_header Connection "";
- }
-}
\ No newline at end of file
diff --git a/tools/visualizer/nova.html b/tools/visualizer/nova.html
deleted file mode 100644
index 455b8a00c..000000000
--- a/tools/visualizer/nova.html
+++ /dev/null
@@ -1,503 +0,0 @@
-
-
-
-
- Cortex Nova Visualizer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/tools/visualizer/role.yaml b/tools/visualizer/role.yaml
deleted file mode 100644
index e497f3b88..000000000
--- a/tools/visualizer/role.yaml
+++ /dev/null
@@ -1,29 +0,0 @@
-apiVersion: v1
-kind: ServiceAccount
-metadata:
- name: cortex-visualizer
- namespace: default
-
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRole
-metadata:
- name: cortex-visualizer-decision-reader
-rules:
-- apiGroups: ["cortex.cloud"]
- resources: ["decisions"]
- verbs: ["get", "list", "watch"]
-
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: ClusterRoleBinding
-metadata:
- name: cortex-visualizer-decision-reader-binding
-subjects:
-- kind: ServiceAccount
- name: cortex-visualizer
- namespace: default
-roleRef:
- kind: ClusterRole
- name: cortex-visualizer-decision-reader
- apiGroup: rbac.authorization.k8s.io
\ No newline at end of file
diff --git a/tools/visualizer/shared.css b/tools/visualizer/shared.css
deleted file mode 100644
index b3a933375..000000000
--- a/tools/visualizer/shared.css
+++ /dev/null
@@ -1,289 +0,0 @@
-/* Copyright SAP SE */
-/* SPDX-License-Identifier: Apache-2.0 */
-
-body {
- font-family: Arial, Helvetica, sans-serif;
-
- --color-primary: rgb(255, 165, 2);
- --color-on-primary: rgb(255, 255, 255);
- --color-secondary: rgb(112, 161, 255);
- --color-on-secondary: rgb(255, 255, 255);
- --color-tertiary: rgb(255, 71, 87);
- --color-on-tertiary: rgb(255, 255, 255);
- --color-background: rgb(241, 242, 246);
- --color-on-background: rgb(74, 74, 74);
- --color-surface: rgb(255, 255, 255);
- --color-on-surface: rgb(74, 74, 74);
-
- color: var(--color-text);
- background: var(--color-background);
- /* Remove the default margin and padding from the body. */
- margin: 0;
-}
-
-/* Nice animated progress bar on top of the page. */
-.progress {
- position: fixed;
- top: 0;
- left: 0;
- right: 0;
- height: 0.5em;
- background: var(--color-primary);
- z-index: 1000;
-}
-
-.progress::before {
- content: '';
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- height: 0.5em;
- background: var(--color-secondary);
- animation: progress 2s infinite;
-}
-
-@keyframes progress {
- 0% {
- left: -100%;
- right: 100%;
- }
-
- 100% {
- left: 100%;
- right: -100%;
- }
-}
-
-.progress-text {
- position: fixed;
- top: 2em;
- left: 0;
- right: 0;
- text-align: center;
- font-weight: bold;
-}
-
-/* Navbar that shows information. */
-nav {
- padding-left: 0.25em;
- background: var(--color-surface);
- box-shadow: 0 0 1em rgba(0, 0, 0, 0.1);
- z-index: 1;
-}
-
-nav div.element {
- display: inline-block;
- padding-top: 1em;
- padding-bottom: 2em;
- padding-left: 1em;
- padding-right: 1em;
- margin: 0;
- background: var(--color-surface);
- color: var(--color-on-surface);
- border-right: 2px solid var(--color-background);
- font-size: 1em;
-}
-
-nav div.element p.highlight {
- font-size: 1.25em;
- font-weight: bold;
-}
-
-table {
- /* Revert the default spacing used by the browser. */
- border-spacing: 0;
-}
-
-/* Table cell showing the weight during scheduling. */
-td.weight {
- text-align: center;
- position: relative;
- animation: weightAnimation 0.25s ease-in-out;
-}
-
-td.weight div {
- border-radius: 0.5em;
- padding: 0.5em;
- margin: 0.5em;
- border: 2px solid var(--color-surface);
-}
-
-/* Backdrop white for the weight cells */
-td.weight::after {
- content: '';
- position: absolute;
- --m: 0.6em;
- top: var(--m);
- bottom: var(--m);
- left: var(--m);
- right: var(--m);
- border-radius: 0.5em;
- background: var(--color-surface);
- z-index: -1;
-}
-
-/* Animation for weights when they first appear */
-@keyframes weightAnimation {
- 0% {
- opacity: 0;
- transform: scale(0.5);
- }
-
- 100% {
- opacity: 1;
- transform: scale(1);
- }
-}
-
-/* Table cell showing the hostname/name. */
-th.hostname {
- text-align: center;
- position: relative;
-}
-
-th.hostname div {
- position: relative;
- padding: 0.1em;
- padding-top: 0.5em;
- padding-bottom: 0.5em;
- margin: 0.1em;
- width: 6em;
- height: 6em;
- overflow: hidden;
-}
-
-/* Table cell showing additional information. */
-th.metainfo {
- text-align: center;
- position: relative;
-}
-
-th.metainfo div p {
- width: 6em;
- overflow: hidden;
-}
-
-th.metainfo div p.issue {
- color: var(--color-tertiary);
- border-radius: 0.5em;
- font-size: 0.8em;
-}
-
-/* Table row showing the name of a step in the pipeline. */
-th.stepkey {
- text-align: left;
- font-weight: bold;
- padding-left: 0.75em;
- padding-top: 0.5em;
- padding-bottom: 0.25em;
-}
-
-/* Highlighted rows in the table. */
-tr.highlight {
- background: var(--color-surface);
- /* tr doesn't support border-radius */
- clip-path: xywh(0 0 100% 100% round 0.75em);
-}
-
-/* Chart showing usage statistics. */
-td.chart {
- position: relative;
- height: 24em;
-}
-
-td.chart div.barsbefore,
-td.chart div.barsafter,
-td.chart div.backdrop,
-td.chart div.stats {
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- display: flex;
- margin-top: 1.5em;
- margin-bottom: 0.5em;
- padding-left: 0.5em;
- padding-right: 0.5em;
- flex-direction: row;
- justify-content: center;
- align-items: flex-end;
-}
-
-td.chart div.barsbefore p,
-td.chart div.barsafter p,
-td.chart div.backdrop p,
-td.chart div.stats p {
- margin-left: 0.1em;
- margin-right: 0.1em;
- display: flex;
- border-radius: 0.2em;
-}
-
-td.chart div.backdrop p {
- height: 100%;
- border-radius: 0.2em;
- border: 1px solid rgba(0, 0, 0, 0.05);
- background: white;
-}
-
-td.chart div.stats {
- text-align: center;
- display: flex;
- justify-content: center;
- align-items: flex-start;
-}
-
-td.chart div.stats p {
- writing-mode: vertical-lr;
- text-orientation: mixed;
- display: flex;
- font-size: 1em;
- font-weight: bold;
- margin-left: 0.1em;
- margin-right: 0.1em;
- justify-content: center;
- align-items: center;
-}
-
-/* Animation for chart bars */
-td.chart div.barsafter p,
-td.chart div.barsbefore p {
- animation: barAnim 0.25s ease-in-out;
- overflow: hidden;
-}
-
-@keyframes barAnim {
- 0% {
- transform: scaleY(0);
- }
-
- 100% {
- transform: scaleY(1);
- }
-}
-
-td.chart div.barsafter p.cpu {
- background: var(--color-primary);
-}
-
-td.chart div.barsafter p.mem {
- background: var(--color-primary);
-}
-
-td.chart div.barsafter p.disk {
- background: var(--color-primary);
-}
-
-td.chart div.barsbefore p.cpu {
- background: var(--color-secondary);
-}
-
-td.chart div.barsbefore p.mem {
- background: var(--color-secondary);
-}
-
-td.chart div.barsbefore p.disk {
- background: var(--color-secondary);
-}