{"id":28420651,"url":"https://github.com/redhat-developer/intellij-kubernetes","last_synced_at":"2025-06-26T16:31:15.961Z","repository":{"id":37057035,"uuid":"233089449","full_name":"redhat-developer/intellij-kubernetes","owner":"redhat-developer","description":"IntelliJ Kubernetes plugin","archived":false,"fork":false,"pushed_at":"2025-06-13T12:43:08.000Z","size":9158,"stargazers_count":21,"open_issues_count":97,"forks_count":21,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-06-13T13:47:24.047Z","etag":null,"topics":["hacktoberfest","intellij-plugin","kubernetes","openshift"],"latest_commit_sha":null,"homepage":"https://plugins.jetbrains.com/plugin/15921-kubernetes-by-red-hat","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/redhat-developer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-01-10T16:43:21.000Z","updated_at":"2025-06-13T12:43:13.000Z","dependencies_parsed_at":"2024-04-11T19:57:28.850Z","dependency_job_id":"38ecafe0-1899-406a-bd70-f8c31a2e0be3","html_url":"https://github.com/redhat-developer/intellij-kubernetes","commit_stats":null,"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/redhat-developer/intellij-kubernetes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Fintellij-kubernetes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Fintellij-kubernetes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Fintellij-kubernetes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Fintellij-kubernetes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redhat-developer","download_url":"https://codeload.github.com/redhat-developer/intellij-kubernetes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redhat-developer%2Fintellij-kubernetes/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262102229,"owners_count":23259220,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","intellij-plugin","kubernetes","openshift"],"created_at":"2025-06-05T03:49:00.400Z","updated_at":"2025-06-26T16:31:15.944Z","avatar_url":"https://github.com/redhat-developer.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![JetBrains Marketplace](https://img.shields.io/jetbrains/plugin/v/15921-kubernetes-by-red-hat?label=Jet%20Brains%20Marketplace\u0026style=for-the-badge)](https://plugins.jetbrains.com/plugin/15921-kubernetes-by-red-hat)\n[![Downloads](https://img.shields.io/jetbrains/plugin/d/15921-kubernetes-by-red-hat?logo=jetbrains\u0026style=for-the-badge)](https://plugins.jetbrains.com/plugin/15921-kubernetes-by-red-hat)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/redhat-developer/intellij-kubernetes/ci.yml?logo=github\u0026style=for-the-badge)](https://github.com/redhat-developer/intellij-kubernetes/actions/workflows/ci.yml?query=workflow%3ACI)\n[![License](https://img.shields.io/github/license/redhat-developer/intellij-kubernetes?style=for-the-badge)](https://github.com/redhat-developer/intellij-kubernetes/blob/main/LICENSE)\n\n# Kubernetes\n\n## Overview\n\nJetBrains IDEA plugin that allows to browse, create, modify and delete resources on Kubernetes or OpenShift clusters.\nThe main advantages are the speed of all operations and a resource tree that's automatically synced with the cluster. \nThe user experiences and the functionalities are very close to the [Kubernetes extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-kubernetes-tools.vscode-kubernetes-tools).\n\nIt is available for install from the [JetBrains Marketplace](https://plugins.jetbrains.com/plugin/15921-kubernetes-by-red-hat).\n\n![editor push scenario](images/editor-push.gif)\n\n## Key Features\n - Edit Kubernetes resource manifests and apply them to your cluster\n - View Kubernetes and OpenShift clusters in an explorer tree view\n - Tree View supports dynamic update of K8s resources\n - Push and Pull Feature to keep the editor in sync with the Kubernetes resource\n - Allows users to Push multiple resources in an editor to create several resources at once.\n - Support Creation and Deletion of Kubernetes resources on Cluster\n - Navigate into Kubernetes workloads, services, pods and nodes\n - Switching contexts and namespaces within Kubernetes\n - Follow logs from the connected cluster resource\n - Open a Terminal Shell to a Running Container in the connected cluster\n - Open the Dashboard for the connected cluster (works on any Hybrid cloud cluster)\n - Support [init containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) for logs and terminals.\n - Scale the replicated pods for deployments, deployment configs, replica/stateful sets or replication controllers\n - Describe pods similar to `kubectl describe` but formatting it as yaml for easy collapsing etc.\n - Listing several config files in the KUBECONFIG env variable\n - Instant display of labeled resources that match a given selector when editing YAML\n\n\n## Features\n\n### Browse Kubernetes \u0026 OpenShift resources\nThis plugin allows the user to view the Kubernetes and OpenShift Cluster resources in a Tree and browse through them.\nThe explorer tree is dynamically updated in sync with the Kubernetes resources on the cluster so that the tree always display the current state of the resources.\n\n#### Current Context\nThe user can switch the current context by choosing any context that exists and selecting `Set as Current Cluster` action from the context menu.\nOpenShift clusters are shown with OpenShift icon and thus differentiated from Kubernetes clusters.\n\n#### Current Namespace/Project\nKubernetes Resources that exist within the current Namespace/Project (as specified in kubeconfig file) are displayed in the tree view.\nNon-namespaced aka cluster-scoped resources are of course listed, too.\nUsers can switch the current Namespace/Project using the context menu action `Use Namespace`\nIn OpenShift clusters the tree also lists projects where the tooling behaves in an equivalent manner.\n\n#### Resource Categories\nResources are grouped in different categories such as Namespaces, Nodes, Workloads, Network, Storage, Configuration and Custom Resources.\n\n![img.png](images/categories.png)\n\n#### Pods\nThe pod in the container is identified with color based on the state of the pod.\n- A green dot indicates that the pod is currently running.\n- A red dot indicates that the pod is in Pending, Succeeded (Terminated), Failed or in Unknown State.\n\n![img.png](images/pod.png)\n\nPods also unveil their IP address and the number of running containers out of the total number of containers.\n\n### Create and Edit Resources\nYou can edit Kubernetes resources that is shown in the resource tree and apply them to the cluster.\nThe action can be performed either by `Double Click on Resource` or selecting `Edit` action from the context menu.\nThis opens the resource YAML file in the editor and allows the user to make the necessary changes.\nPushing the editor to the cluster updates the resource on the cluster or creates a new resource if it didn't exist yet.\nUsers can also create a new Kubernetes resource from local YAML/JSON file.\n\n![editor](images/editor.png)\n\nThe editor validates your content on behalf of a schema that's matching your kubernetes resource.\nFor instance if you're editing a pod, the editor validates it by a kubernetes pod schema and highlights the portions that are infringing.\n\n![editor schema](images/editor-schema.png)\n\n#### Inline hints when editing\nWhen editing a YAML manifest, you get instantly informed of the number of labeled resources that match your selector expression as you type.\nClicking the hint you get the details of the matching targets. \nThe opposite works too, of course: you get the matching selectors for your labels.\n![hint matching labels](images/editor-labels-matching-selectors.png)\n\nBase64 encoded values in secrets or configmaps can be edited transparently.\nA hint displays the raw value, and a dialog allows you to provide it unencoded.\n![hint matching labels](images/editor-bas64-encoded-value.png)\n\n\n#### Push (Save) to Cluster\nUser can push the local changes made to the cluster in order to update an existing resource or create a new resource.\nThe editor is saving the changes to the current context (cluster, namespace and user) that's defined in the kubeconfig.\nThere is a `Push` button available in the editor toolbar to make the action more discoverable.\n\n![editor toolbar push](images/editor-toolbar-push.png)\n\nAlternatively the editor notifies you whenever you may push your content to the cluster.\nClicking the `Push` link in the editor notification saves your file changes on to the cluster.\n\n![editor push](images/editor-push.png)\n\nPushing updates the resource on the cluster or creates a new resource if it doesn't exist yet.\nThe new resource will then appear in the resource tree that's displayed in our tool window.\n\n#### Pull (Load) from Cluster\n\nYou can `Pull` the resource from the cluster into the local file opened in the editor. \nClicking on the `Pull` icon in the toolbar replaces the content of your local file in the editor with the version that exists on the cluster.\n\n![editor pull](images/editor-toolbar-pull.png)\n\n#### Diff\n\nThe editor allows you to compare the local content with the resource content on the cluster.\nThe toolbar holds an action that opens up a fully editable diff that highlights the differences.\n\n![editor toolbar diff](images/editor-toolbar-diff.png)\n\nThe very same dialog may also be opened with a link that's present in the notification toolbar.\n\n![editor diff](images/editor-diff.png)\n\n#### Delete Resources\nYou may delete any resource that is listed in the resource tree by choosing \"Delete\" in the context menu.\n\n#### Scale Replicated Pods\nYou may scale a deployment, deployment config, replica/stateful set or a replication controller.\nA context action allows you to set the replicas for these kind of resources in the resource tree.\nFurthermore, this same action is accessible for pods that are replicated by either of those resource types.\n\n![set replicas](images/set-replicas.png)\n\n#### Follow Logs of Running Containers\n\nIntelliJ Kubernetes extension allows you to follow logs of the cluster resources such as Pods, Jobs and Builds.\nThere is a dedicated tab to display the log messages for the selected Kubernetes resource.\nAll the containers for your Kubernetes resources are listed down in the Terminal View and the user can select the appropriate container and switch between them as needed.\nThis also lists down the `init` containers which the user can select to see the logs. \n\n![logs](images/logs.png)\n\n#### Open Terminal Shell To Running Container\nThe plugin allows you to open a terminal shell for the running container on the connected cluster.\nThe user can open the Kubernetes resources such as Pod, Build in the Terminal Shell using the context menu action Terminal.\nAll the containers for your Kubernetes resources are listed down in the Terminal View and the user can select the appropriate container and switch between them as needed.\nInit containers, which run before the application containers, are listed down and can be selected to open in the terminal shell.\n\n![logs](images/terminal.png)\n\n#### Describe Pods\nYou may get detailed insights into a pod directly within the IDE, similar to the `kubectl describe pod` command. \nIt retrieves and displays essential metadata, status information, events, and container details in an easy-to-read format.\n\n![describe](images/describe-pod.png)\n\n### Supports KUBECONFIG env variable\nThe Kubernetes Plugin by Red Hat for IntelliJ IDEA provides seamless support for the `KUBECONFIG` [environment variable](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#the-kubeconfig-environment-variable) that's used by the `kubectl` and `oc` command lines.\nThis variable specifies one or more kubeconfig files that define available Kubernetes contexts.\nThe plugin automatically detects and lists these contexts within the IDE.\n\nBy leveraging KUBECONFIG, the plugin ensures that users have access to the same cluster configurations as they would in their terminal.\n\n## Data and Telemetry\nThis `Kubernetes by Red Hat` plugin collects anonymous [usage data](https://github.com/redhat-developer/intellij-kubernetes/blob/main/USAGE_DATA.md) and sends it to Red Hat servers to help improve our products and services.\nRead our [privacy statement](https://developers.redhat.com/article/tool-data-collection) to learn more. This extension respects the Red Hat Telemetry setting which you can learn more about at https://github.com/redhat-developer/intellij-redhat-telemetry#telemetry-reporting\n\n## Release notes\nSee the change log.\n\nContributing\n============\nThis is an open source project open to anyone. This project welcomes contributions and suggestions!\n\nFor information on getting started, refer to the [CONTRIBUTING instructions](CONTRIBUTING.md).\n\nFeedback \u0026 Questions\n====================\nIf you discover an issue please file a bug and we will fix it as soon as possible.\n* File a bug in [GitHub Issues](https://github.com/redhat-developer/intellij-kubernetes/issues).\n* Open a [Discussion on GitHub](https://github.com/redhat-developer/intellij-kubernetes/discussions).\n\nUI Testing\n==========\nYou can perform UI testing by running the following command:\n```sh\n./gradlew integrationTest\n```\n\nLicense\n=======\nEPL 2.0, See [LICENSE](LICENSE) for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredhat-developer%2Fintellij-kubernetes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredhat-developer%2Fintellij-kubernetes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredhat-developer%2Fintellij-kubernetes/lists"}