sunguroku vor 5 Jahren
Ursprung
Commit
1e8a5bb332

+ 13 - 0
dashboard/package-lock.json

@@ -2944,6 +2944,11 @@
         "websocket-driver": ">=0.5.1"
       }
     },
+    "fflate": {
+      "version": "0.4.8",
+      "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz",
+      "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA=="
+    },
     "figgy-pudding": {
       "version": "3.5.2",
       "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
@@ -5356,6 +5361,14 @@
       "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
       "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ=="
     },
+    "posthog-js": {
+      "version": "1.8.5",
+      "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.8.5.tgz",
+      "integrity": "sha512-YwKejadn4GAjqbA3cvpmou2As3P0nMSt76kySRmfH/XmM00YDs8o4WFrorWHJvDAbln46CXIzAzfgS71sZ+gXw==",
+      "requires": {
+        "fflate": "^0.4.1"
+      }
+    },
     "posthog-node": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/posthog-node/-/posthog-node-1.0.6.tgz",

+ 1 - 1
dashboard/package.json

@@ -17,7 +17,7 @@
     "js-yaml": "^3.14.0",
     "lodash": "^4.17.20",
     "markdown-to-jsx": "^7.0.1",
-    "posthog-node": "^1.0.6",
+    "posthog-js": "^1.8.5",
     "qs": "^6.9.4",
     "random-words": "^1.1.1",
     "react": "^16.13.1",

+ 0 - 5
dashboard/src/index.html

@@ -1,10 +1,5 @@
 <!DOCTYPE html>
 <html lang="en">
-  <script>
-    !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
-    posthog.init('XHhXMIA5YlgR4l9QV3Ydm5ZasEyyjvPvGCb33_QVLNc',{api_host:'https://posthog-porter.herokuapp.com'})
-  </script>
-
   <head>
     <title>Porter | Dashboard</title>
 

+ 7 - 0
dashboard/src/main/home/Home.tsx

@@ -20,6 +20,7 @@ import IntegrationsInstructionsModal from './modals/IntegrationsInstructionsModa
 import NewProject from './new-project/NewProject';
 import Navbar from './navbar/Navbar';
 import Provisioner from './new-project/Provisioner';
+import posthog from 'posthog-js';
 
 type PropsType = {
   logOut: () => void
@@ -91,6 +92,12 @@ export default class Home extends Component<PropsType, StateType> {
   }
 
   componentDidMount() {
+    let { user } = this.context;
+    window.location.href.indexOf('127.0.0.1') === -1 && posthog.init(process.env.POSTHOG_API_KEY, {
+      api_host: process.env.POSTHOG_HOST,
+      loaded: function(posthog) { posthog.identify(user.email) }
+    })
+
     this.getProjects();
   }
 

+ 7 - 1
dashboard/src/main/home/cluster-dashboard/expanded-chart/status/Logs.tsx

@@ -103,7 +103,13 @@ export default class Logs extends Component<PropsType, StateType> {
           <div ref={this.scrollRef} />
         </Wrapper>
         <Options>
-          <Scroll onClick={()=> {this.setState({scroll: !this.state.scroll}); this.scrollToBottom(true)}}>
+          <Scroll onClick={()=> {
+            this.setState({scroll: !this.state.scroll}, () => {
+              if (this.state.scroll) {
+                this.scrollToBottom(true)
+              }
+            }); 
+          }}>
             <input type="checkbox" checked={this.state.scroll} onChange={() => {}}/>
             Scroll to Bottom
           </Scroll>

+ 4 - 2
dashboard/src/main/home/sidebar/Sidebar.tsx

@@ -9,6 +9,7 @@ import { Context } from '../../../shared/Context';
 import ClusterSection from './ClusterSection';
 import ProjectSectionContainer from './ProjectSectionContainer';
 import loading from '../../../assets/loading.gif';
+import posthog from 'posthog-js';
 
 type PropsType = {
   forceSidebar: boolean,
@@ -117,9 +118,10 @@ export default class Sidebar extends Component<PropsType, StateType> {
             Templates
           </NavButton>
           <NavButton
-            // onClick={() => this.props.setCurrentView('integrations')}
             selected={this.props.currentView === 'integrations'}
-            onClick={() => this.context.setCurrentModal('IntegrationsInstructionsModal', {})}
+            onClick={() => {
+              this.context.setCurrentModal('IntegrationsInstructionsModal', {})
+            }}
           >
             <img src={integrations} />
             Integrations

+ 1 - 1
internal/kubernetes/agent.go

@@ -123,7 +123,7 @@ func (a *Agent) GetPodsByLabel(selector string) (*v1.PodList, error) {
 
 // GetPodLogs streams real-time logs from a given pod.
 func (a *Agent) GetPodLogs(namespace string, name string, conn *websocket.Conn) error {
-	tails := int64(300)
+	tails := int64(400)
 
 	// follow logs
 	podLogOpts := v1.PodLogOptions{