diff --git a/.github/workflows/auto-merge.yaml b/.github/workflows/auto-merge.yaml new file mode 100644 index 0000000000..457944eeee --- /dev/null +++ b/.github/workflows/auto-merge.yaml @@ -0,0 +1,20 @@ +name: Enable auto merge +on: + pull_request_target: + branches: [main] + types: + - opened + - reopened + - ready_for_review + - synchronize + +jobs: + enable-auto-merge: + runs-on: ubuntu-latest + steps: + - name: Enable auto-merge for PRs + env: + PR_URL: ${{github.event.pull_request.html_url}} + GH_TOKEN: ${{secrets.BOT_TOKEN}} + GIT_EMAIL: team-gopher+1@sap.com + run: gh pr merge -A ${{ env.GIT_EMAIL }} --auto --squash "$PR_URL" diff --git a/.github/workflows/build-e2e-provisioning-test-image.yaml b/.github/workflows/build-e2e-provisioning-test-image.yaml index 22e18f37c1..56b94306d1 100644 --- a/.github/workflows/build-e2e-provisioning-test-image.yaml +++ b/.github/workflows/build-e2e-provisioning-test-image.yaml @@ -8,7 +8,7 @@ on: - ".github/workflows/build-e2e-provisioning-test-image.yaml" - "testing/e2e/provisioning/**" pull_request_target: - types: [ opened, edited, synchronize, reopened, ready_for_review ] + types: [ opened, synchronize, reopened, ready_for_review ] paths: - ".github/workflows/build-e2e-provisioning-test-image.yaml" - "testing/e2e/provisioning/**" diff --git a/.github/workflows/create-release.yaml b/.github/workflows/create-release.yaml index b0468bca65..9b8cac7a63 100644 --- a/.github/workflows/create-release.yaml +++ b/.github/workflows/create-release.yaml @@ -59,8 +59,6 @@ jobs: run-unit-tests: name: Unit tests, go mod tidy uses: "./.github/workflows/run-unit-tests-reusable.yaml" - with: - release: "true" build-keb-image: needs: [validate-release] diff --git a/.github/workflows/label-validator.yml b/.github/workflows/label-validator.yml index a5e838e4d1..9dfc83f25a 100644 --- a/.github/workflows/label-validator.yml +++ b/.github/workflows/label-validator.yml @@ -1,7 +1,7 @@ name: Label validator on: pull_request_target: - types: ["opened", "labeled", "unlabeled"] + types: ["opened", "labeled", "unlabeled", "synchronize", "reopened", "ready_for_review", "edited"] branches: [ "main" ] jobs: validate-labels: diff --git a/.github/workflows/markdown-link-check.yaml b/.github/workflows/markdown-link-check.yaml index 6c99233f79..ce6278ad60 100644 --- a/.github/workflows/markdown-link-check.yaml +++ b/.github/workflows/markdown-link-check.yaml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@master - - uses: gaurav-nelson/github-action-markdown-link-check@v1 + - uses: gaurav-nelson/github-action-markdown-link-check@d53a906aa6b22b8979d33bc86170567e619495ec with: use-quiet-mode: 'yes' config-file: '.mlc.config.json' \ No newline at end of file diff --git a/.github/workflows/pr-checks.yaml b/.github/workflows/pr-checks.yaml new file mode 100644 index 0000000000..a4595fe756 --- /dev/null +++ b/.github/workflows/pr-checks.yaml @@ -0,0 +1,37 @@ +name: All checks passed +on: + pull_request: + types: + - opened + - synchronize + - reopened + - ready_for_review + - edited + - labeled + - unlabeled + +jobs: + checks-passed: + runs-on: ubuntu-latest + permissions: + checks: read + contents: read + steps: + - name: Check if draft + if: ${{ github.event.pull_request.draft }} + run: | + echo "Draft PRs are not checked" + exit 1 + - name: Check if author is kyma-gopher-bot + if: ${{ github.event.pull_request.user.login == 'kyma-gopher-bot' }} + run: | + echo "PRs from kyma-gopher-bot are automatically green" + exit 0 + - uses: wechuli/allcheckspassed@2e5e8bbc775f5680ed5d02e3a22e2fc7219792ac + if: ${{ github.event.pull_request.user.login != 'kyma-gopher-bot' }} + with: + delay: '1' + retries: '15' + polling_interval: '1' + checks_exclude: 'markdown-link-check,enable-auto-merge,run-govulncheck,scan' + verbose: true diff --git a/.github/workflows/pull-build-images.yaml b/.github/workflows/pull-build-images.yaml index 15d28411c9..fc35846a17 100644 --- a/.github/workflows/pull-build-images.yaml +++ b/.github/workflows/pull-build-images.yaml @@ -2,7 +2,10 @@ name: pull-build-images on: pull_request_target: - types: [ opened, edited, synchronize, reopened, ready_for_review ] + types: [ opened, synchronize, reopened, ready_for_review ] + paths-ignore: + - "**.md" + - "sec-scanners-config.yaml" permissions: id-token: write diff --git a/.github/workflows/run-eslint.yaml b/.github/workflows/run-eslint.yaml index 27a933cd6b..9ea3cddfef 100644 --- a/.github/workflows/run-eslint.yaml +++ b/.github/workflows/run-eslint.yaml @@ -3,7 +3,10 @@ name: Run JS linter on: pull_request: branches: [ main ] - + paths: + - ".github/workflows/run-eslint.yaml" + - "testing/e2e/skr/**" + jobs: run-eslint: runs-on: ubuntu-latest @@ -12,15 +15,5 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Get changed files - id: changed-files-specific - uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 - with: - files: | - .github/** - testing/e2e/skr/** - Makefile - - name: Run JS linter - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' }} run: make lint -C testing/e2e/skr diff --git a/.github/workflows/run-govulncheck.yaml b/.github/workflows/run-govulncheck.yaml index 4885800480..6ca5ab765e 100644 --- a/.github/workflows/run-govulncheck.yaml +++ b/.github/workflows/run-govulncheck.yaml @@ -3,6 +3,9 @@ name: Run govulncheck on: pull_request: branches: [ main ] + paths-ignore: + - "**.md" + - "sec-scanners-config.yaml" jobs: run-govulncheck: @@ -11,27 +14,7 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Get changed files - id: changed-files-specific - uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 - with: - files: | - .github/** - cmd/** - common/** - files/** - internal/** - scripts/** - utils/edp-registrator/** - .golangci.yml - Dockerfile.* - go.mod - go.sum - Makefile - **/*.go - **/*.sh - name: Run govulncheck - if: steps.changed-files-specific.outputs.any_modified == 'true' uses: golang/govulncheck-action@v1 with: go-version-file: 'go.mod' diff --git a/.github/workflows/run-keb-chart-install-tests-reusable.yaml b/.github/workflows/run-keb-chart-install-tests-reusable.yaml index 07730a2bba..3d372515a0 100644 --- a/.github/workflows/run-keb-chart-install-tests-reusable.yaml +++ b/.github/workflows/run-keb-chart-install-tests-reusable.yaml @@ -24,30 +24,7 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Get changed files - id: changed-files-specific - uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 - with: - files: | - .github/** - resources/** - scripts/** - Makefile - **/*.sh - .github/** - cmd/** - common/** - files/** - internal/** - utils/edp-registrator/** - .golangci.yml - Dockerfile.* - go.mod - go.sum - **/*.go - - name: Prepare chart for next KEB version - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' || inputs.release == 'true' }} run: | if [ "${{ inputs.release }}" == "true" ]; then scripts/bump_keb_chart.sh ${{ inputs.version }} "release" @@ -56,7 +33,6 @@ jobs: fi - name: Validate KEB helm chart - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' || inputs.release == 'true' }} run: | cd resources/keb helm template . @@ -70,30 +46,8 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Get changed files - id: changed-files-specific - uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 - with: - files: | - .github/** - resources/** - scripts/** - Makefile - **/*.sh - .github/** - cmd/** - common/** - files/** - internal/** - utils/edp-registrator/** - .golangci.yml - Dockerfile.* - go.mod - go.sum - - id: get-versions name: Get K3s versions - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' || inputs.release == 'true' }} # prepare json representing GitHub matrix: # {"include": [ # {"version":"v1.26.10+k3s1"}, @@ -106,7 +60,7 @@ jobs: MATRIX_AS_JSON=$(echo ${VERSIONS[*]} | awk 'END {printf "{\"include\":[";for (i = 1; i < NF; i++) printf "{\"version\":%s},",$i;printf "{\"version\":%s}]}",$i }'|jq -c) echo "k3s_versions=${MATRIX_AS_JSON}" >> "${GITHUB_OUTPUT}" - name: Wait for images to be ready - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' && inputs.release == 'false' }} + if: ${{ inputs.release == 'false' }} timeout-minutes: 7 env: GH_TOKEN: ${{ github.token }} @@ -123,56 +77,29 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Get changed files - id: changed-files-specific - uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 - with: - files: | - .github/** - resources/** - scripts/** - Makefile - **/*.sh - .github/** - cmd/** - common/** - files/** - internal/** - utils/edp-registrator/** - .golangci.yml - Dockerfile.* - go.mod - go.sum - - name: Prepare K3s cluster and docker registry - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' || inputs.release == 'true' }} run: "./scripts/testing/k3s-setup.sh ${{ matrix.version }} --wait" - name: Create namespaces - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' || inputs.release == 'true' }} run: | kubectl create namespace kcp-system kubectl create namespace kyma-system kubectl create namespace istio-system - name: Install istio - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' || inputs.release == 'true' }} run: | helm repo add istio https://istio-release.storage.googleapis.com/charts helm install istio-base istio/base -n istio-system --set defaultRevision=default - name: Install Prometheus Operator for ServiceMonitor - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' || inputs.release == 'true' }} run: | kubectl create -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/master/bundle.yaml - name: Install Postgres - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' || inputs.release == 'true' }} run: | kubectl create -f scripts/testing/yaml/postgres -n kcp-system - name: Prepare fake gardener credentials - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' || inputs.release == 'true' }} run: | KCFG=$(kubectl config view --raw) kubectl create secret generic gardener-credentials --from-literal=kubeconfig="$KCFG" -n kcp-system @@ -186,7 +113,6 @@ jobs: fi - name: Deploy KEB helm chart - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' || inputs.release == 'true' }} run: | cd resources/keb if [ "${{ inputs.release }}" == "true" ]; then @@ -194,52 +120,3 @@ jobs: else helm install keb ../keb --namespace kcp-system -f values.yaml --set global.database.embedded.enabled=false --set testConfig.kebDeployment.useAnnotations=true --set global.images.container_registry.path="europe-docker.pkg.dev/kyma-project/dev" --set global.secrets.mechanism=secrets --debug --wait fi - - confirm-keb-chart-tests-result: - needs: run-keb-chart-matrix - runs-on: ubuntu-latest - if: success() - outputs: - success: ${{ steps.set-output.outputs.success }} - steps: - - name: Confirm KEB chart tests result - id: set-output - run: echo "success=true" >> "${GITHUB_OUTPUT}" - - finish-keb-chart-tests: - runs-on: ubuntu-latest - if: always() - needs: confirm-keb-chart-tests-result - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Get changed files - id: changed-files-specific - uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 - with: - files: | - .github/** - resources/** - scripts/** - Makefile - **/*.sh - .github/** - cmd/** - common/** - files/** - internal/** - utils/edp-registrator/** - .golangci.yml - Dockerfile.* - go.mod - go.sum - - - name: Check KEB chart tests result - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' || inputs.release == 'true' }} - run: | - if [ "${{ needs.confirm-keb-chart-tests-result.outputs.success }}" != "true" ]; then - echo "KEB chart tests failed" - exit 1 - fi - echo "KEB chart tests passed" diff --git a/.github/workflows/run-keb-chart-install-tests.yaml b/.github/workflows/run-keb-chart-install-tests.yaml index 69f1f0bd79..fb8df4c5ca 100644 --- a/.github/workflows/run-keb-chart-install-tests.yaml +++ b/.github/workflows/run-keb-chart-install-tests.yaml @@ -3,11 +3,14 @@ name: Run KEB chart install tests on: pull_request: branches: [ main ] + types: [ opened, synchronize, reopened, ready_for_review ] + paths-ignore: + - "**.md" + - "sec-scanners-config.yaml" jobs: run-install-keb-chart-tests: uses: "./.github/workflows/run-keb-chart-install-tests-reusable.yaml" - if: ${{ !github.event.pull_request.draft }} with: last-k3s-versions: 3 release: "false" diff --git a/.github/workflows/run-unit-tests-reusable.yaml b/.github/workflows/run-unit-tests-reusable.yaml index 326453ecf9..03d1dc5f73 100644 --- a/.github/workflows/run-unit-tests-reusable.yaml +++ b/.github/workflows/run-unit-tests-reusable.yaml @@ -2,12 +2,7 @@ name: Run unit tests (reusable) on: - workflow_call: - inputs: - release: - description: 'Determines if the workflow is called from release' - default: "true" - type: string + workflow_call jobs: build: @@ -17,32 +12,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Get changed files - id: changed-files-specific - uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 - with: - files: | - .github/** - cmd/** - common/** - files/** - internal/** - scripts/** - utils/edp-registrator/** - .golangci.yml - Dockerfile.* - go.mod - go.sum - Makefile - **/*.go - **/*.sh - - name: Set up go environment - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' || inputs.release == 'true' }} uses: actions/setup-go@v4 with: go-version-file: 'go.mod' - name: Run unit tests - if: ${{ steps.changed-files-specific.outputs.any_modified == 'true' || inputs.release == 'true' }} run: make test \ No newline at end of file diff --git a/.github/workflows/run-verify.yaml b/.github/workflows/run-verify.yaml index cb199ac735..89c3709994 100644 --- a/.github/workflows/run-verify.yaml +++ b/.github/workflows/run-verify.yaml @@ -8,6 +8,9 @@ on: - reopened - synchronize - ready_for_review + paths-ignore: + - "**.md" + - "sec-scanners-config.yaml" permissions: contents: read @@ -17,8 +20,6 @@ permissions: jobs: run-go-tests: uses: "./.github/workflows/run-unit-tests-reusable.yaml" - with: - release: "false" run-go-linter: runs-on: ubuntu-latest @@ -26,34 +27,12 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Get changed files - id: changed-files-specific - uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 - with: - files: | - .github/** - cmd/** - common/** - files/** - internal/** - scripts/** - utils/edp-registrator/** - .golangci.yml - Dockerfile.* - go.mod - go.sum - Makefile - **/*.go - **/*.sh - - name: Set up go environment - if: steps.changed-files-specific.outputs.any_modified == 'true' uses: actions/setup-go@v4 with: go-version-file: 'go.mod' - name: Go linter - if: steps.changed-files-specific.outputs.any_modified == 'true' env: GOLINT_TIMEOUT: ${{ vars.GOLINT_TIMEOUT }} run: make go-lint @@ -64,32 +43,10 @@ jobs: - name: Checkout code uses: actions/checkout@v4 - - name: Get changed files - id: changed-files-specific - uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 - with: - files: | - .github/** - cmd/** - common/** - files/** - internal/** - scripts/** - utils/edp-registrator/** - .golangci.yml - Dockerfile.* - go.mod - go.sum - Makefile - **/*.go - **/*.sh - - name: Set up go environment - if: steps.changed-files-specific.outputs.any_modified == 'true' uses: actions/setup-go@v4 with: go-version-file: 'go.mod' - name: Run go checks - if: steps.changed-files-specific.outputs.any_modified == 'true' run: make checks \ No newline at end of file diff --git a/cmd/broker/main.go b/cmd/broker/main.go index dca72618cc..52896f21a5 100644 --- a/cmd/broker/main.go +++ b/cmd/broker/main.go @@ -99,17 +99,16 @@ type Config struct { Gardener gardener.Config Kubeconfig kubeconfig.Config - ManagedRuntimeComponentsYAMLFilePath string - NewAdditionalRuntimeComponentsYAMLFilePath string - SkrOidcDefaultValuesYAMLFilePath string - SkrDnsProvidersValuesYAMLFilePath string - DefaultRequestRegion string `envconfig:"default=cf-eu10"` - UpdateProcessingEnabled bool `envconfig:"default=false"` - LifecycleManagerIntegrationDisabled bool `envconfig:"default=true"` - InfrastructureManagerIntegrationDisabled bool `envconfig:"default=true"` - AvsMaintenanceModeDuringUpgradeAlwaysDisabledGlobalAccountsFilePath string - Broker broker.Config - CatalogFilePath string + ManagedRuntimeComponentsYAMLFilePath string + NewAdditionalRuntimeComponentsYAMLFilePath string + SkrOidcDefaultValuesYAMLFilePath string + SkrDnsProvidersValuesYAMLFilePath string + DefaultRequestRegion string `envconfig:"default=cf-eu10"` + UpdateProcessingEnabled bool `envconfig:"default=false"` + LifecycleManagerIntegrationDisabled bool `envconfig:"default=true"` + InfrastructureManagerIntegrationDisabled bool `envconfig:"default=true"` + Broker broker.Config + CatalogFilePath string EDP edp.Config @@ -155,8 +154,7 @@ type Config struct { RuntimeConfigurationConfigMapName string `envconfig:"default=keb-runtime-config"` - UpdateRuntimeResourceDelay time.Duration `envconfig:"default=4s"` - BindingTokenExpirationSeconds int `envconfig:"default=600"` + UpdateRuntimeResourceDelay time.Duration `envconfig:"default=4s"` } type ProfilerConfig struct { @@ -447,7 +445,7 @@ func createAPI(router *mux.Router, servicesConfig broker.ServicesConfig, planVal planDefaults, logs, cfg.KymaDashboardConfig, kcBuilder, convergedCloudRegionProvider, kcpK8sClient), GetInstanceEndpoint: broker.NewGetInstance(cfg.Broker, db.Instances(), db.Operations(), kcBuilder, logs), LastOperationEndpoint: broker.NewLastOperation(db.Operations(), db.InstancesArchived(), logs), - BindEndpoint: broker.NewBind(cfg.Broker.Binding, db.Instances(), logs, clientProvider, kubeconfigProvider, gardenerClient, cfg.BindingTokenExpirationSeconds), + BindEndpoint: broker.NewBind(cfg.Broker.Binding, db.Instances(), logs, clientProvider, kubeconfigProvider, gardenerClient), UnbindEndpoint: broker.NewUnbind(logs), GetBindingEndpoint: broker.NewGetBinding(logs), LastBindingOperationEndpoint: broker.NewLastBindingOperation(logs), diff --git a/cmd/broker/suite_test.go b/cmd/broker/suite_test.go index 125d207fcd..6be8dc4e42 100644 --- a/cmd/broker/suite_test.go +++ b/cmd/broker/suite_test.go @@ -913,6 +913,7 @@ func fixConfig() *Config { MachineImageVersion: "12345.6", MultiZoneCluster: true, RuntimeResourceStepTimeout: time.Minute, + ClusterUpdateStepTimeout: time.Minute, }, Database: storage.Config{ SecretKey: dbSecretKey, diff --git a/cmd/broker/update.go b/cmd/broker/update.go index 4249f186bd..0cc9e69053 100644 --- a/cmd/broker/update.go +++ b/cmd/broker/update.go @@ -2,7 +2,6 @@ package main import ( "context" - "time" "github.com/kyma-project/kyma-environment-broker/internal/process/steps" @@ -38,7 +37,7 @@ func NewUpdateProcessingQueue(ctx context.Context, manager *process.StagedManage }, { stage: "check", - step: update.NewCheckStep(db.Operations(), provisionerClient, 40*time.Minute), + step: update.NewCheckStep(db.Operations(), provisionerClient, cfg.Provisioner.ClusterUpdateStepTimeout), condition: update.SkipForOwnClusterPlan, }, { diff --git a/docs/contributor/04-10-workflows.md b/docs/contributor/04-10-workflows.md index 44fe2fc442..a812ca7ba6 100644 --- a/docs/contributor/04-10-workflows.md +++ b/docs/contributor/04-10-workflows.md @@ -2,10 +2,7 @@ ## ESLint Workflow -This [workflow](/.github/workflows/run-eslint.yaml) runs the ESLint. It is triggered by pull requests (PRs) on the `main` branch that change at least one of the following: -- `/.github` directory content -- `/testing/e2e/skr` directory content -- `Makefile` file +This [workflow](/.github/workflows/run-eslint.yaml) runs the ESLint. The workflow: 1. Checks out code @@ -15,7 +12,7 @@ The workflow: This [workflow](/.github/workflows/markdown-link-check.yaml) checks for broken links in all Markdown files. It is triggered: - As a periodic check that runs daily at midnight on the main branch in the repository -- On every pull request that creates new Markdown files or introduces changes to the existing ones +- On every pull request ## Release Workflow @@ -32,39 +29,11 @@ This [workflow](/.github/workflows/label-validator.yml) is triggered by PRs on t ## Verify KEB Workflow This [workflow](/.github/workflows/run-verify.yaml) calls the reusable [workflow](/.github/workflows/run-unit-tests-reusable.yaml) with unit tests. -Besides the tests, it also runs Go-related checks and Go linter. It is triggered by PRs on the `main` branch that change at least one of the following: -- `/.github` directory content -- `/cmd` directory content -- `/common` directory content -- `/files` directory content -- `/internal` directory content -- `/scripts` directory content -- `/utils/edp-registrator` directory content -- `.golangci.yml` file -- Any `Dockerfile.*` file -- `go.mod` file -- `go.sum` file -- `Makefile` file -- Any `*.go` file -- Any `*.sh` file +Besides the tests, it also runs Go-related checks and Go linter. ## Govulncheck Workflow -This [workflow](/.github/workflows/run-govulncheck.yaml) runs the Govulncheck. It is triggered by PRs on the `main` branch that change at least one of the following: -- `/.github` directory content -- `/cmd` directory content -- `/common` directory content -- `/files` directory content -- `/internal` directory content -- `/scripts` directory content -- `/utils/edp-registrator` directory content -- `.golangci.yml` file -- Any `Dockerfile.*` file -- `go.mod` file -- `go.sum` file -- `Makefile` file -- Any `*.go` file -- Any `*.sh` file +This [workflow](/.github/workflows/run-govulncheck.yaml) runs the Govulncheck. ## Image Build Workflow @@ -72,7 +41,15 @@ This [workflow](/.github/workflows/pull-build-images.yaml) builds images. ## KEB Chart Install Test -This [workflow](/.github/workflows/run-keb-chart-install-tests.yaml) calls the [reusable workflow](/.github/workflows/run-keb-chart-install-tests-reusable.yaml) to install the KEB chart with the new images in the k3s cluster. +This [workflow](/.github/workflows/run-keb-chart-install-tests.yaml) calls the [reusable workflow](/.github/workflows/run-keb-chart-install-tests-reusable.yaml) to install the KEB chart with the new images in the k3s cluster. + +## Auto Merge Workflow + +This [workflow](/.github/workflows/auto-merge.yaml) enables the auto-merge functionality on a PR that is not a draft. + +## All Cheks Passed Workflow + +This [workflow](/.github/workflows/pr-checks.yaml) checks if all jobs, except those excluded in the workflow configuration, have passed. If the workflow is triggered by a PR where the author is the `kyma-gopher-bot`, the workflow ends immediately with success. ## Reusable Workflows diff --git a/docs/contributor/05-10-e2e_tests.md b/docs/contributor/05-10-e2e_tests.md index a9412fbcfc..442a2e0d4e 100644 --- a/docs/contributor/05-10-e2e_tests.md +++ b/docs/contributor/05-10-e2e_tests.md @@ -132,10 +132,13 @@ The test executes the following steps: The test executes the following steps: 1. Provisions a Kyma runtime cluster. -2. Creates a binding and saves the returned kubeconfig. +2. Creates a binding using Kubernetes TokenRequest and saves the returned kubeconfig. 3. Initializes a Kubernetes client with the returned kubeconfig. -4. Tries to fetch a secret. -5. Deprovisions the Kyma runtime instance and cleans up the resources. +4. Tries to fetch a Secret using the binding from Kubernetes TokenRequest. +5. Creates a binding using Gardener and saves the returned kubeconfig. +6. Initializes a Kubernetes client with the returned kubeconfig. +7. Tries to fetch a Secret using the binding from Gardener. +8. Deprovisions the Kyma runtime instance and cleans up the resources. ### Test Execution diff --git a/docs/user/05-60-kyma-bindings.md b/docs/user/05-60-kyma-bindings.md index 5f5a183d7d..96aa3874c1 100644 --- a/docs/user/05-60-kyma-bindings.md +++ b/docs/user/05-60-kyma-bindings.md @@ -17,6 +17,7 @@ X-Broker-API-Version: 2.14 The Broker returns a kubeconfig file in the response body. The kubeconfig file contains the necessary information to access the managed Kyma cluster. By default, KEB uses [`shoots/adminkubeconfig`](https://github.com/gardener/gardener/blob/master/docs/usage/shoot_access.md#shootsadminkubeconfig-subresource) subresources to generate a kubeconfig that uses certificates to authenticate its user. To customize the format of the returned kubeconfig, use the `parameters` field of the request body: -| Name | Default | Description | -|---|---|---| -| **token_request** | `false` | If set to `true`, the Broker returns a kubeconfig with a JWT token used as a user authentication mechanism. The token is generated using Kubernetes TokenRequest attached to a ServiceAccount, ClusterRole, and ClusterRoleBinding, all named `kyma-binding-{{binding_id}}`. Such an approach allows for easily modifying the permissions granted to the kubeconfig. | \ No newline at end of file +| Name | Default | Description | +|------------------------|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **token_request** | `false` | If set to `true`, the Broker returns a kubeconfig with a JWT token used as a user authentication mechanism. The token is generated using Kubernetes TokenRequest attached to a ServiceAccount, ClusterRole, and ClusterRoleBinding, all named `kyma-binding-{{binding_id}}`. Such an approach allows for easily modifying the permissions granted to the kubeconfig. | +| **expiration_seconds** | `600` | Specifies the duration (in seconds) for which the generated kubeconfig is valid. If not provided, the default value of `600` seconds (10 minutes) is used. | \ No newline at end of file diff --git a/files/swagger/index.css b/files/swagger/index.css new file mode 100644 index 0000000000..f2376fdaa8 --- /dev/null +++ b/files/swagger/index.css @@ -0,0 +1,16 @@ +html { + box-sizing: border-box; + overflow: -moz-scrollbars-vertical; + overflow-y: scroll; +} + +*, +*:before, +*:after { + box-sizing: inherit; +} + +body { + margin: 0; + background: #fafafa; +} diff --git a/files/swagger/index.html b/files/swagger/index.html index 431716bd5e..84ae62d3da 100644 --- a/files/swagger/index.html +++ b/files/swagger/index.html @@ -1,53 +1,19 @@ -
+ -