diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index a4a8b4c83b7..be207a136ae 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -4,7 +4,6 @@ about: Create a report to help us improve labels: kind/bug --- - **General remarks** > This form is to report bugs. For general usage questions refer to our Slack channel @@ -19,18 +18,18 @@ For UI issues please also add a screenshot that shows the issue. KubeSphere: Kubernetes: (If KubeSphere installer used, you can skip this) - **Environment** -How many nodes and their hardware configuration: +How many nodes and their hardware configuration: For example: -3 masters: 8cpu/8g +3 masters: 8cpu/8g 3 nodes: 8cpu/16g (and other info are welcomed to help us debugging) **To Reproduce** Steps to reproduce the behavior: + 1. Go to '...' 2. Click on '....' 3. Scroll down to '....' diff --git a/.github/ISSUE_TEMPLATE/enhancement.md b/.github/ISSUE_TEMPLATE/enhancement.md index 35e29fdde44..1f6905d32d7 100644 --- a/.github/ISSUE_TEMPLATE/enhancement.md +++ b/.github/ISSUE_TEMPLATE/enhancement.md @@ -3,6 +3,7 @@ name: Enhancement Request about: Suggest an enhancement to the Kubernetes project labels: kind/feature --- + **What would you like to be added**: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 50ae3150482..0dc590710f3 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -1,4 +1,4 @@ -name: "CodeQL" +name: 'CodeQL' on: push: @@ -24,39 +24,39 @@ jobs: # https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection steps: - - name: Checkout repository - uses: actions/checkout@v2 - with: - # We must fetch at least the immediate parents so that if this is - # a pull request then we can checkout the head. - fetch-depth: 2 - - # If this run was triggered by a pull request event, then checkout - # the head of the pull request instead of the merge commit. - - run: git checkout HEAD^2 - if: ${{ github.event_name == 'pull_request' }} - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v2 - with: - languages: ${{ matrix.language }} - - # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). - # If this step fails, then you should remove it and run the build manually (see below) - - name: Autobuild - uses: github/codeql-action/autobuild@v2 - - # ℹī¸ Command-line programs to run using the OS shell. - # 📚 https://git.io/JvXDl - - # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines - # and modify them (or add more) to build your code if your project - # uses a compiled language - - #- run: | - # make bootstrap - # make release - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + - name: Checkout repository + uses: actions/checkout@v2 + with: + # We must fetch at least the immediate parents so that if this is + # a pull request then we can checkout the head. + fetch-depth: 2 + + # If this run was triggered by a pull request event, then checkout + # the head of the pull request instead of the merge commit. + - run: git checkout HEAD^2 + if: ${{ github.event_name == 'pull_request' }} + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v2 + with: + languages: ${{ matrix.language }} + + # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@v2 + + # ℹī¸ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏ī¸ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v2 diff --git a/.github/workflows/issue_comment_webhook.yml b/.github/workflows/issue_comment_webhook.yml index 3574105af58..1b2d8647760 100644 --- a/.github/workflows/issue_comment_webhook.yml +++ b/.github/workflows/issue_comment_webhook.yml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/setup-node@v3 with: - node-version: "20.x" + node-version: '20.x' - run: npm install axios - name: Send issue/comment to WeCom webhook uses: actions/github-script@v7 diff --git a/.github/workflows/manually.yaml b/.github/workflows/manually.yaml index fee6f9b6693..4ac28803377 100644 --- a/.github/workflows/manually.yaml +++ b/.github/workflows/manually.yaml @@ -12,52 +12,52 @@ jobs: node-version: [12.18.x] steps: - - uses: actions/checkout@v2 - - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 - with: - node-version: ${{ matrix.node-version }} - - - name: Install Dependencies - run: npm i -g yarn && yarn - - - name: Build - run: yarn build - - - name: Test - run: yarn test - - - name: Set up QEMU - if: github.event_name == 'push' - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - if: github.event_name == 'push' - id: buildx - uses: docker/setup-buildx-action@v1 - with: - version: v0.7.1 - install: true - - - name: Docker login - if: github.event_name == 'push' - uses: docker/login-action@v1 - with: - registry: docker.io - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Push image - if: github.event_name == 'push' - run: | - TAG=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') REPO=docker.io/kubespheredev make container-cross-push - - - name: slack - uses: 8398a7/action-slack@v3 - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} - with: - status: ${{ job.status }} - fields: repo,message,commit,author,action,eventName,ref,workflow,job,took - if: failure() + - uses: actions/checkout@v2 + + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + + - name: Install Dependencies + run: npm i -g yarn && yarn + + - name: Build + run: yarn build + + - name: Test + run: yarn test + + - name: Set up QEMU + if: github.event_name == 'push' + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + if: github.event_name == 'push' + id: buildx + uses: docker/setup-buildx-action@v1 + with: + version: v0.7.1 + install: true + + - name: Docker login + if: github.event_name == 'push' + uses: docker/login-action@v1 + with: + registry: docker.io + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} + + - name: Push image + if: github.event_name == 'push' + run: | + TAG=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,') REPO=docker.io/kubespheredev make container-cross-push + + - name: slack + uses: 8398a7/action-slack@v3 + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + with: + status: ${{ job.status }} + fields: repo,message,commit,author,action,eventName,ref,workflow,job,took + if: failure() diff --git a/.github/workflows/nightly-builds.yml b/.github/workflows/nightly-builds.yml index d6af3d26b43..5c166429692 100644 --- a/.github/workflows/nightly-builds.yml +++ b/.github/workflows/nightly-builds.yml @@ -3,7 +3,7 @@ name: NightlyBuild on: schedule: # This is a UTC time - - cron: "0 16 * * *" + - cron: '0 16 * * *' # Keep it only for test purpose, comment it once everything is ok workflow_dispatch: @@ -13,44 +13,44 @@ jobs: strategy: matrix: - node-version: [ '16.x' ] + node-version: ['16.x'] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v2 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node-version }} + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} - - name: Install Dependencies - run: | - git branch - npm i -g yarn && yarn + - name: Install Dependencies + run: | + git branch + npm i -g yarn && yarn - - name: Build - run: yarn build + - name: Build + run: yarn build - # - name: Test + # - name: Test # run: yarn test - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v1 + - name: Set up Docker Buildx + id: buildx + uses: docker/setup-buildx-action@v1 - - name: Docker login - uses: docker/login-action@v1 - with: - registry: docker.io - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} + - name: Docker login + uses: docker/login-action@v1 + with: + registry: docker.io + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_PASSWORD }} - - name: Push image - run: | - TAG=nightly-$(date '+%Y%m%d') REPO=docker.io/kubespheredev make container-cross-push + - name: Push image + run: | + TAG=nightly-$(date '+%Y%m%d') REPO=docker.io/kubespheredev make container-cross-push # - name: slack # uses: 8398a7/action-slack@v3 diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index 3fb8ef315eb..17fdb961dda 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -11,4 +11,4 @@ jobs: steps: - uses: release-drafter/release-drafter@v5 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d06b628f4b7..e326e686530 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,14 +7,17 @@ Table Of Contents [Code of Conduct](#code-of-conduct) [How Can I Contribute?](#how-can-i-contribute) - * [Reporting Bugs](#reporting-bugs) - * [Pull Requests](#pull-requests) + +- [Reporting Bugs](#reporting-bugs) +- [Pull Requests](#pull-requests) [Style Guides](#style-guides) - * [Git Commit Messages](#git-commit-messages) - * [JavaScript Styleguide](#javascript-styleguide) + +- [Git Commit Messages](#git-commit-messages) +- [JavaScript Styleguide](#javascript-styleguide) ## Code of Conduct + All members of the KubeSphere community must abide by [Code of Conduct](docs/code-of-conduct.md). Only by respecting each other can we develop a productive, collaborative community. ## How Can I Contribute? @@ -27,9 +30,9 @@ When you are creating a bug report, please fill out [the required template](http #### Before Submitting A Bug Report -* **Check the [FAQs on the docs](https://kubesphere.io/docs/v2.1/zh-CN/faq/faq-console/)** for a list of common questions and problems. -* **Check the [Forum](https://kubesphere.io/forum/)** to see if there is a way to resolve. -* **Perform a [cursory search](https://github.com/kubesphere/console/issues)** to see if the problem has already been reported. If it has, **and the issue is still open**, add a comment to the existing issue instead of opening a new one. +- **Check the [FAQs on the docs](https://kubesphere.io/docs/v2.1/zh-CN/faq/faq-console/)** for a list of common questions and problems. +- **Check the [Forum](https://kubesphere.io/forum/)** to see if there is a way to resolve. +- **Perform a [cursory search](https://github.com/kubesphere/console/issues)** to see if the problem has already been reported. If it has, **and the issue is still open**, add a comment to the existing issue instead of opening a new one. ### Pull Requests diff --git a/README.md b/README.md index 13c3fe58f9e..14612b86c03 100644 --- a/README.md +++ b/README.md @@ -13,41 +13,48 @@ KubeSphere console is the web interface for [KubeSphere](https://github.com/kube Console should be always used with KubeSphere, you can either use [Kubekey](https://github.com/kubesphere/kubekey) or [ks-installer](https://github.com/kubesphere/ks-installer) to create a KubeSphere cluster. The following will show you how to build console from source code. - ### Prerequisite + #### Node.js + Console is written using Javascript. If you don't have a Node.js development environment, please [set it up](https://nodejs.org/en/download/). The minimum version required is 12.18. #### Yarn + We use [Yarn](https://yarnpkg.com/) to do package management. If you don't have yarn, use the following to install: + ``` npm install -g yarn@1.22.4 ``` + The minimum version required is 1.22.4, but you can use a newer version. #### [Optional]Docker + This is optional. If you just want to test and build on your local environment, there is no need to install docker. Otherwise, you need to install it. [Install on Mac](https://docs.docker.com/desktop/mac/install/) [Install on Windows](https://docs.docker.com/desktop/windows/install/) [Install on Ubuntu](https://docs.docker.com/engine/install/ubuntu/) #### [Optional]Make + This is optional too, we use `make` to reduce hand work, but it's totally ok without it. ## How to build Clone the repository, and run `yarn && yarn build` + ```sh git clone https://github.com/kubesphere/console.git cd console/ yarn && yarn build npm run serve ``` + > If you have trouble downloading the dependencies, try the following > > `yarn config set registry https://registry.npmmirror.com` - After `npm run serve`, you should see the output like the following ``` @@ -56,12 +63,15 @@ After `npm run serve`, you should see the output like the following Dashboard app running at port 8000 ``` + Now, console is up and running. But since there is no backed KubeSphere cluster, you shouldn't be able to login. ## How to debug + A KubeSphere cluster is required to start debugging. You can refer to [Installation](https://github.com/kubesphere/kubesphere#installation) to create a KubeSphere cluster. Once the cluster is up, you replace the address of `ks-apiserver` in `server/config.yaml` with your real address. You can refer to [access KubeSphere apiserver](docs/access-backend.md) to expose your cluster `ks-apiserver`. + ``` # backend service gateway server apiServer: @@ -74,6 +84,7 @@ Once the cluster is up, you replace the address of `ks-apiserver` in `server/con ## How to build container image Just run the following command with your real `REPO` address. + ``` REPO=yourawesomerepo make container ``` @@ -83,6 +94,7 @@ REPO=yourawesomerepo make container Follow [Development Workflow](/docs/development-workflow.md) to commit your codes. ## Features Map: + ![Features Map](docs/images/module-map.jpg) ## Support, Discussion, and Community diff --git a/cypress/fixtures/clusterroles.json b/cypress/fixtures/clusterroles.json index 32798cd6a5d..c26bb7f7374 100644 --- a/cypress/fixtures/clusterroles.json +++ b/cypress/fixtures/clusterroles.json @@ -42,13 +42,7 @@ { "verbs": ["get", "list"], "apiGroups": ["openpitrix.io"], - "resources": [ - "repos", - "app_versions", - "app_version/*", - "apps", - "clusters" - ] + "resources": ["repos", "app_versions", "app_version/*", "apps", "clusters"] }, { "verbs": ["*"], @@ -247,13 +241,7 @@ { "verbs": ["*"], "apiGroups": [""], "resources": ["namespaces"] }, { "verbs": ["*"], - "apiGroups": [ - "", - "apps", - "extensions", - "batch", - "resources.kubesphere.io" - ], + "apiGroups": ["", "apps", "extensions", "batch", "resources.kubesphere.io"], "resources": [ "serviceaccounts", "limitranges", @@ -293,13 +281,7 @@ { "verbs": ["get", "list"], "apiGroups": ["openpitrix.io"], - "resources": [ - "apps", - "clusters", - "repos", - "app_versions", - "app_version/*" - ] + "resources": ["apps", "clusters", "repos", "app_versions", "app_version/*"] }, { "verbs": ["get", "watch", "list"], @@ -382,12 +364,7 @@ { "verbs": ["list"], "apiGroups": ["kubesphere.io"], - "resources": [ - "quota", - "status", - "monitoring", - "persistentvolumeclaims" - ] + "resources": ["quota", "status", "monitoring", "persistentvolumeclaims"] }, { "verbs": ["get", "list"], diff --git a/docs/development-workflow.md b/docs/development-workflow.md index a0eb0e40237..c124c3955b4 100644 --- a/docs/development-workflow.md +++ b/docs/development-workflow.md @@ -57,6 +57,7 @@ git rebase upstream/master git checkout new_feature git rebase -i master ``` + **Commit local changes** See [Git Commit Messages Style Guide](../CONTRIBUTING.md#git-commit-messages) @@ -77,4 +78,4 @@ git push -f ${your_remote_name} myfeature - Visit your fork at `https://github.com/$user/console`. - Click the` Compare & Pull Request` button next to your myfeature branch. -- Check out the [pull request guide](../CONTRIBUTING.md#pull-requests) for more details and advice. \ No newline at end of file +- Check out the [pull request guide](../CONTRIBUTING.md#pull-requests) for more details and advice. diff --git a/docs/join-the-kubesphere-localization-project.md b/docs/join-the-kubesphere-localization-project.md index 3998b2129b8..5d0256a5d64 100644 --- a/docs/join-the-kubesphere-localization-project.md +++ b/docs/join-the-kubesphere-localization-project.md @@ -17,9 +17,8 @@ The locale files containing UI strings of the KubeSphere web console have been u 3. On the translation editing page, select a UI string, enter your translation, and click **Save** to translate the string. Keep HTML tags and words enclosed in braces ({}) unchanged in your translations. Words enclosed in braces are variables and the values are dynamically loaded. For example, keep **\**, **\**, and **{time}** unchanged in your translation for the following UI string. - + ![crowdin-html-and-variables](./images/crowdin-html-and-variables.png) - For more information about operations on Crowdin, see the [official Crowdin documentation](https://support.crowdin.com/). @@ -28,10 +27,10 @@ For more information about operations on Crowdin, see the [official Crowdin docu Obtaining necessary context could be crucial for UI localization. To make the localization work easier, the KubeSphere team has set up a KubeSphere demo environment where you can locate the UI strings and preview your translations. The KubeSphere demo environment is synchronized with the locale files on Crowdin about once an hour. 1. Visit the KubeSphere demo environment at [https://l10n.kubesphere.io/](https://l10n.kubesphere.io/) and log in with you GitHub account. By default, you are allowed only to view resources in the KubeSphere demo environment. If you require administrator permissions, please send an email to l10n@kubesphere.io and provide the following information: - - * Your GitHub username - * Your GitHub email address - * Your organization name (if any) + + - Your GitHub username + - Your GitHub email address + - Your organization name (if any) 2. On Crowdin, obtain the paths of the UI strings from the locale file names and comments. @@ -47,10 +46,10 @@ Obtaining necessary context could be crucial for UI localization. To make the lo Localizing a software platform is a tough task and many issues could become obstacles for localization. Though plenty of these issues have been realized and resolved, some still remain unresolved due to various reasons, which you may need to be aware of. -* The KubeSphere web console is under rapid iteration, which means function modules could be added, removed, or modified, and the current locale files could be updated rapidly. -* The KubeSphere team has been working to optimize the English UI strings, which are used as the source text in localization. However, there are still certain flaws in the English UI strings to be resolved in future updates. -* Concatenated UI strings could make localization difficult or even impossible, which have not been completely eliminated from the KubeSphere web console. -* Languages such as Arabic and Hebrew are read from right to left, which require the layout of web console to be mirrored. This feature is currently not supported and is planned in future versions. +- The KubeSphere web console is under rapid iteration, which means function modules could be added, removed, or modified, and the current locale files could be updated rapidly. +- The KubeSphere team has been working to optimize the English UI strings, which are used as the source text in localization. However, there are still certain flaws in the English UI strings to be resolved in future updates. +- Concatenated UI strings could make localization difficult or even impossible, which have not been completely eliminated from the KubeSphere web console. +- Languages such as Arabic and Hebrew are read from right to left, which require the layout of web console to be mirrored. This feature is currently not supported and is planned in future versions. All preceding issues will be resolved in subsequent updates to the locale files and the console source code. diff --git a/packages/console/tsconfig.json b/packages/console/tsconfig.json index 251061fe036..aa2c490c413 100644 --- a/packages/console/tsconfig.json +++ b/packages/console/tsconfig.json @@ -12,8 +12,5 @@ "@ks-console/*": ["../*/src"] } }, - "include": [ - "src", - "../core/src/globals.d.ts" - ] + "include": ["src", "../core/src/globals.d.ts"] } diff --git a/packages/shared/src/components/Apps/Applications/DetailInfo/AppTemplate/index.tsx b/packages/shared/src/components/Apps/Applications/DetailInfo/AppTemplate/index.tsx index c1c3c9f9355..efa5a624bf2 100644 --- a/packages/shared/src/components/Apps/Applications/DetailInfo/AppTemplate/index.tsx +++ b/packages/shared/src/components/Apps/Applications/DetailInfo/AppTemplate/index.tsx @@ -73,7 +73,9 @@ function AppTemplate(): JSX.Element { {filesLoading ? ( ) : ( - {readme} + + {readme} + )} )} diff --git a/packages/shared/tsconfig.json b/packages/shared/tsconfig.json index 251061fe036..aa2c490c413 100644 --- a/packages/shared/tsconfig.json +++ b/packages/shared/tsconfig.json @@ -12,8 +12,5 @@ "@ks-console/*": ["../*/src"] } }, - "include": [ - "src", - "../core/src/globals.d.ts" - ] + "include": ["src", "../core/src/globals.d.ts"] } diff --git a/server/sample/bookinfo.yaml b/server/sample/bookinfo.yaml index 11498fa7261..4d495b7758b 100644 --- a/server/sample/bookinfo.yaml +++ b/server/sample/bookinfo.yaml @@ -7,7 +7,7 @@ metadata: app.kubernetes.io/version: v1 app.kubernetes.io/name: bookinfo annotations: - servicemesh.kubesphere.io/enabled: "true" + servicemesh.kubesphere.io/enabled: 'true' spec: selector: matchLabels: @@ -16,9 +16,9 @@ spec: addOwnerRef: true descriptor: icons: - - src: "/assets/bookinfo.svg" + - src: '/assets/bookinfo.svg' componentKinds: - - group: "" + - group: '' kind: Service - group: apps kind: Deployment @@ -37,7 +37,7 @@ kind: Deployment metadata: namespace: servicemesh annotations: - servicemesh.kubesphere.io/enabled: "true" + servicemesh.kubesphere.io/enabled: 'true' labels: app: productpage version: v1 @@ -60,7 +60,7 @@ spec: app.kubernetes.io/version: v1 app.kubernetes.io/name: bookinfo annotations: - sidecar.istio.io/inject: "true" + sidecar.istio.io/inject: 'true' spec: containers: - name: productpage @@ -69,10 +69,10 @@ spec: cpu: 10m memory: 10Mi limits: - cpu: "1" + cpu: '1' memory: 1000Mi imagePullPolicy: IfNotPresent - image: "istio/examples-bookinfo-productpage-v1:1.17.0" + image: 'istio/examples-bookinfo-productpage-v1:1.17.0' ports: - name: http-web protocol: TCP @@ -95,7 +95,7 @@ metadata: app.kubernetes.io/name: bookinfo annotations: kubesphere.io/workloadType: Deployment - servicemesh.kubesphere.io/enabled: "true" + servicemesh.kubesphere.io/enabled: 'true' name: productpage spec: type: ClusterIP @@ -116,7 +116,7 @@ kind: Deployment metadata: namespace: servicemesh annotations: - servicemesh.kubesphere.io/enabled: "true" + servicemesh.kubesphere.io/enabled: 'true' labels: app: reviews version: v1 @@ -139,7 +139,7 @@ spec: app.kubernetes.io/version: v1 app.kubernetes.io/name: bookinfo annotations: - sidecar.istio.io/inject: "true" + sidecar.istio.io/inject: 'true' spec: containers: - name: reviews @@ -148,10 +148,10 @@ spec: cpu: 10m memory: 10Mi limits: - cpu: "1" + cpu: '1' memory: 1000Mi imagePullPolicy: IfNotPresent - image: "istio/examples-bookinfo-reviews-v1:1.17.0" + image: 'istio/examples-bookinfo-reviews-v1:1.17.0' ports: - name: http-web protocol: TCP @@ -174,7 +174,7 @@ metadata: app.kubernetes.io/name: bookinfo annotations: kubesphere.io/workloadType: Deployment - servicemesh.kubesphere.io/enabled: "true" + servicemesh.kubesphere.io/enabled: 'true' name: reviews spec: type: ClusterIP @@ -195,7 +195,7 @@ kind: Deployment metadata: namespace: servicemesh annotations: - servicemesh.kubesphere.io/enabled: "true" + servicemesh.kubesphere.io/enabled: 'true' labels: app: details version: v1 @@ -218,7 +218,7 @@ spec: app.kubernetes.io/version: v1 app.kubernetes.io/name: bookinfo annotations: - sidecar.istio.io/inject: "true" + sidecar.istio.io/inject: 'true' spec: containers: - name: details @@ -227,10 +227,10 @@ spec: cpu: 10m memory: 10Mi limits: - cpu: "1" + cpu: '1' memory: 1000Mi imagePullPolicy: IfNotPresent - image: "istio/examples-bookinfo-details-v1:1.17.0" + image: 'istio/examples-bookinfo-details-v1:1.17.0' ports: - name: http-web protocol: TCP @@ -253,7 +253,7 @@ metadata: app.kubernetes.io/name: bookinfo annotations: kubesphere.io/workloadType: Deployment - servicemesh.kubesphere.io/enabled: "true" + servicemesh.kubesphere.io/enabled: 'true' name: details spec: type: ClusterIP @@ -274,7 +274,7 @@ kind: Deployment metadata: namespace: servicemesh annotations: - servicemesh.kubesphere.io/enabled: "true" + servicemesh.kubesphere.io/enabled: 'true' labels: app: ratings version: v1 @@ -297,7 +297,7 @@ spec: app.kubernetes.io/version: v1 app.kubernetes.io/name: bookinfo annotations: - sidecar.istio.io/inject: "true" + sidecar.istio.io/inject: 'true' spec: containers: - name: ratings @@ -306,10 +306,10 @@ spec: cpu: 10m memory: 10Mi limits: - cpu: "1" + cpu: '1' memory: 1000Mi imagePullPolicy: IfNotPresent - image: "istio/examples-bookinfo-ratings-v1:1.17.0" + image: 'istio/examples-bookinfo-ratings-v1:1.17.0' ports: - name: http-web protocol: TCP @@ -332,7 +332,7 @@ metadata: app.kubernetes.io/name: bookinfo annotations: kubesphere.io/workloadType: Deployment - servicemesh.kubesphere.io/enabled: "true" + servicemesh.kubesphere.io/enabled: 'true' name: ratings spec: type: ClusterIP @@ -348,7 +348,7 @@ spec: targetPort: 9080 --- -apiVersion: "networking.k8s.io/v1" +apiVersion: 'networking.k8s.io/v1' kind: Ingress metadata: namespace: servicemesh