Code Monkey home page Code Monkey logo

intellij-kubernetes's People

Contributors

tinselspoon avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

intellij-kubernetes's Issues

ConcurrentModificationException in version 0.9

Here is the stacktrace.txt for the plugin error:

In file: LightVirtualFile: /list.yaml

java.util.ConcurrentModificationException
	at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1134)
	at com.github.tinselspoon.intellij.kubernetes.model.ModelLoader.loadSpecFromZipWithCache(ModelLoader.java:84)
	at com.github.tinselspoon.intellij.kubernetes.model.ModelLoader.getSpecsFromApiPackage(ModelLoader.java:70)
	at com.github.tinselspoon.intellij.kubernetes.model.ModelLoader.getActiveSpecs(ModelLoader.java:51)
	at com.github.tinselspoon.intellij.kubernetes.model.ModelProvider.getSpecs(ModelProvider.java:216)
	at com.github.tinselspoon.intellij.kubernetes.model.ModelProvider.getSpec(ModelProvider.java:206)
	at com.github.tinselspoon.intellij.kubernetes.model.ModelProvider.findModel(ModelProvider.java:43)
	at com.github.tinselspoon.intellij.kubernetes.KubernetesYamlPsiUtil.modelForKey(KubernetesYamlPsiUtil.java:118)
	at com.github.tinselspoon.intellij.kubernetes.codeInsight.MissingRequiredPropertiesAnnotator.annotate(MissingRequiredPropertiesAnnotator.java:34)
	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.runAnnotators(DefaultHighlightVisitor.java:121)
	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:86)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.runVisitors(GeneralHighlightingPass.java:351)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$collectHighlights$5(GeneralHighlightingPass.java:284)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:311)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.lambda$analyzeByVisitors$6(GeneralHighlightingPass.java:314)
	at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:70)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:314)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectHighlights(GeneralHighlightingPass.java:281)
	at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:225)
	at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:84)
	at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:55)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:429)
	at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1106)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:422)
	at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:591)
	at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:537)
	at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:59)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:421)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:397)
	at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:164)
	at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:204)
	at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:395)
	at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:161)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:177)

Wrong apiVersion suggested for StatefulSet (and potentially others)

Swagger specs define the StatefulSet under both apps/v1alpha1 and apps/v1beta1 (https://github.com/kubernetes/kubernetes/blob/release-1.6/api/swagger-spec/apps_v1alpha1.json and https://github.com/kubernetes/kubernetes/blob/release-1.6/api/swagger-spec/apps_v1beta1.json) and the plugin just picks the first one when suggesting the apiVersion initially.

We should find a way to preference the later versions when suggesting the apiVersion.

See comment in #2

apiVersion: extensions/v1beta1 is not recognized

The following file is not recognized

apiVersion: extensions/v1beta1 
kind: Deployment
metadata:
  name: foo-api-deployment
  labels:
    name: foo-api-deployment
    app: foo-api-runtime
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: foo-api-runtime
    spec:
      containers:
      - name: foo-api-host
        image: gcr.io/foo/foo-api:59f923238233fd32a802367bca0c8adf1422090e
        ports:
        - containerPort: 80
        resources:
          limits:
            memory: 500Mi
          requests:
            memory: 200Mi
---
apiVersion: v1
kind: Service
metadata:
  name: foo-api-host-svc
  labels:
    app: foo-api-runtime
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 80
    protocol: TCP
  selector:
    app: foo-api-runtime
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: foo-api
  annotations:
    kubernetes.io/tls-acme: "true"
    kubernetes.io/ingress.class: "gce"
    kubernetes.io/ingress.global-static-ip-name: foo-api-ip		
spec:
  tls:
  - hosts:
    - api.foo.com
    secretName: foo-api-bls-cert
  rules:
  - host: api.foo.com
    http:
      paths:
      - path: /*
        backend:
          serviceName: foo-api-host-svc
          servicePort: 80
         

Helm support

Any interest in also adding Helm support to this? It would be amazing.

KubernetesYamlFileType should extend YAMLFileType, not LanguageFileType

public class KubernetesYamlFileType extends LanguageFileType implements FileTypeIdentifiableByVirtualFile {

KubernetesYamlFileType extends LanguageFileType whereas it should extend YAMLFileType, the default yaml file format of IntelliJ.

When other Kubernetes plugins, such as Cloud Code, are installed, the Kubernetes OpenShift plugin hijacks all yaml files, causing IntelliJ to recognize them as non-default yaml file types. This breaks the other plugins.

The plugin calls getFileType a lot of times when adding a project as a second content root

This is a follow-up of the ticket opened here: https://youtrack.jetbrains.com/issue/IDEA-179721

Original description:
Use github.com\aboutbrain\cs as a project.
Navigate to the GOPATH in the IDE and add azul3d.org\semver.v2 as a second content root to the current project.
The IDE becomes barely usable and removing the freshly added content root doesn't seem to make the problem go away.
Restarting the IDE fixes the problem.
This is constantly reproducible. For example: with github.com\dlsniper\u as a project, add github.com\gopheracademy\gopher as a content root, the IDE will be slow, restart the IDE, the IDE is usable again. Remove the github.com\gopheracademy\gopher from content root and the IDE will become unusable again.

It seems that the problem lies in this plugin.
Please let me know if you need any further details.
Thank you.

code completion feels a bit bumpy...

First i had a bit trouble getting anything in a code completion popup, there was nothing. Then i found out that the completion starts to work on empty lines. From the java world in IntelliJ IDEA i'm used to activating code completion nearly everewhere and also with a useful result most of the time. Could you look for this one?

Maybe it's too strict when integrating with the IDE (when calling CompletionContributor.extend())... I did completion with a self-written plugin too but it worked using PsiReference.getVariants(). So i can only guess here. :)

More than 2 objects in a file produce errors

First of all, thanks this plugin! It is very convenient!

As it is mentioned in kubernetes best practice, it s good to group related objects in a single file separated by ---. It works perfectly for two objects, but if I implement a third one, then the plugin see this as an error:

Duplicated property

screen shot 2018-01-26 at 10 45 56 am

references:
https://kubernetes.io/docs/concepts/configuration/overview/#general-config-tips
https://github.com/kubernetes/examples/blob/master/guestbook/all-in-one/guestbook-all-in-one.yaml

Improve Usage YAML files are auto-detected

Currently, usage YAML files are auto-detected - add in a "kind" or "apiVersion" element at the top level and the completion will be activated.
Very often YAML file is started with

or
{{- if ... }}
So that, "kind" or "apiVersion" aren't in the top.

The proposal is improve auto-detection for such cases.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.