diff --git a/cmd/apprepository-controller/server/controller.go b/cmd/apprepository-controller/server/controller.go index 034274f12fb..28cad107369 100644 --- a/cmd/apprepository-controller/server/controller.go +++ b/cmd/apprepository-controller/server/controller.go @@ -271,7 +271,7 @@ func (c *Controller) syncHandler(key string) error { // processing. if errors.IsNotFound(err) { log.Infof("AppRepository '%s' no longer exists so performing cleanup of charts from the DB", key) - // Trigger a Job to perfrom the cleanup of the charts in the DB corresponding to deleted AppRepository + // Trigger a Job to perform the cleanup of the charts in the DB corresponding to deleted AppRepository _, err = c.kubeclientset.BatchV1().Jobs(c.conf.KubeappsNamespace).Create(context.TODO(), newCleanupJob(c.conf.KubeappsNamespace, namespace, name, c.conf), metav1.CreateOptions{}) if err != nil { log.Errorf("Unable to create cleanup job: %v", err) @@ -612,8 +612,8 @@ func generateJobName(namespace, name, pattern string, addDash bool) string { patternLen := len(strings.ReplaceAll(pattern, "%s", "")) // for example: the "apprepo--cleanup--" string has 18 chars, which leaves us 52-18=34 chars for the final name - maxNamesapceLength, rem := (MAX_CRONJOB_CHARS-patternLen)/2, (MAX_CRONJOB_CHARS-patternLen)%2 - maxNameLength := maxNamesapceLength + maxNamespaceLength, rem := (MAX_CRONJOB_CHARS-patternLen)/2, (MAX_CRONJOB_CHARS-patternLen)%2 + maxNameLength := maxNamespaceLength if rem > 0 && !addDash { maxNameLength++ } @@ -622,7 +622,7 @@ func generateJobName(namespace, name, pattern string, addDash bool) string { pattern = fmt.Sprintf("%s-", pattern) } - truncatedName := fmt.Sprintf(pattern, truncateAndHashString(namespace, maxNamesapceLength), truncateAndHashString(name, maxNameLength)) + truncatedName := fmt.Sprintf(pattern, truncateAndHashString(namespace, maxNamespaceLength), truncateAndHashString(name, maxNameLength)) return truncatedName } diff --git a/cmd/apprepository-controller/server/controller_test.go b/cmd/apprepository-controller/server/controller_test.go index 4c8f4ffdccb..3f9d297c377 100644 --- a/cmd/apprepository-controller/server/controller_test.go +++ b/cmd/apprepository-controller/server/controller_test.go @@ -1854,7 +1854,7 @@ func TestGenerateJobName(t *testing.T) { expect string }{ { - name: "good patern", + name: "good pattern", namespace: "foo", jobName: "bar", pattern: "name: %s, namespace %s", @@ -1862,7 +1862,7 @@ func TestGenerateJobName(t *testing.T) { expect: "name: foo, namespace bar", }, { - name: "good patern (with dash)", + name: "good pattern (with dash)", namespace: "foo", jobName: "bar", pattern: "name: %s, namespace %s", diff --git a/cmd/asset-syncer/server/delete.go b/cmd/asset-syncer/server/delete.go index 7c0e1e82abf..237da450183 100644 --- a/cmd/asset-syncer/server/delete.go +++ b/cmd/asset-syncer/server/delete.go @@ -19,11 +19,11 @@ func Delete(serveOpts Config, args []string) error { dbConfig := dbutils.Config{URL: serveOpts.DatabaseURL, Database: serveOpts.DatabaseName, Username: serveOpts.DatabaseUser, Password: serveOpts.DatabasePassword} manager, err := newManager(dbConfig, serveOpts.GlobalPackagingNamespace) if err != nil { - return fmt.Errorf("Error file creating a mananger: %v", err) + return fmt.Errorf("Error file creating a manager: %v", err) } err = manager.Init() if err != nil { - return fmt.Errorf("Error file initializing the mananger: %v", err) + return fmt.Errorf("Error file initializing the manager: %v", err) } defer manager.Close() diff --git a/cmd/asset-syncer/server/utils.go b/cmd/asset-syncer/server/utils.go index b05034ee5db..96fab9289b6 100644 --- a/cmd/asset-syncer/server/utils.go +++ b/cmd/asset-syncer/server/utils.go @@ -120,7 +120,7 @@ func getSha256(src []byte) (string, error) { return fmt.Sprintf("%x", h.Sum(nil)), nil } -// Repo defines the methods to retrive information from the given repository +// Repo defines the methods to retrieve information from the given repository type Repo interface { Checksum() (string, error) Repo() *models.RepoInternal diff --git a/cmd/kubeapps-apis/core/plugins/v1alpha1/plugins.go b/cmd/kubeapps-apis/core/plugins/v1alpha1/plugins.go index 050aa829e61..fc43c69757d 100644 --- a/cmd/kubeapps-apis/core/plugins/v1alpha1/plugins.go +++ b/cmd/kubeapps-apis/core/plugins/v1alpha1/plugins.go @@ -302,13 +302,13 @@ func createConfigGetter(serveOpts core.ServeOptions, clustersConfig kube.Cluster } } - // return the closure fuction that takes the context, but preserving the required scope, + // return the closure function that takes the context, but preserving the required scope, // 'inClusterConfig' and 'config' return createConfigGetterWithParams(restConfig, serveOpts, clustersConfig) } -// createClientGetter takes the required params and returns the closure fuction. -// it's splitted for testing this fn separately +// createClientGetter takes the required params and returns the closure function. +// it's split for testing this fn separately func createConfigGetterWithParams(inClusterConfig *rest.Config, serveOpts core.ServeOptions, clustersConfig kube.ClustersConfig) (core.KubernetesConfigGetter, error) { // return the closure function that takes the context, but preserving the required scope, // 'inClusterConfig' and 'config' diff --git a/cmd/kubeapps-apis/docs/kubeapps-apis.swagger.json b/cmd/kubeapps-apis/docs/kubeapps-apis.swagger.json index 3d324417bb2..8a4f7a821fa 100644 --- a/cmd/kubeapps-apis/docs/kubeapps-apis.swagger.json +++ b/cmd/kubeapps-apis/docs/kubeapps-apis.swagger.json @@ -5210,7 +5210,7 @@ "description": "An optional field for specifying data common to systems that reconcile\nthe package on the cluster." } }, - "description": "Request for UpdateInstalledPackage. The intent is to reach the desired state specified\nby the fields in the request, while leaving other fields intact. This is a whole\nobject \"Update\" semantics rather than \"Patch\" semantics. The caller will provide the\nvalues for the fields below, which will replace, or be overlayed onto, the\ncorresponding fields in the existing resource. For example, with the\nUpdateInstalledPackageRequest, it is not possible to change just the 'package version\nreference' without also specifying 'values' field. As a side effect, not specifying the\n'values' field in the request means there are no values specified in the desired state.\nSo the meaning of each field value is describing the desired state of the corresponding\nfield in the resource after the update operation has completed the renconciliation.", + "description": "Request for UpdateInstalledPackage. The intent is to reach the desired state specified\nby the fields in the request, while leaving other fields intact. This is a whole\nobject \"Update\" semantics rather than \"Patch\" semantics. The caller will provide the\nvalues for the fields below, which will replace, or be overlaid onto, the\ncorresponding fields in the existing resource. For example, with the\nUpdateInstalledPackageRequest, it is not possible to change just the 'package version\nreference' without also specifying 'values' field. As a side effect, not specifying the\n'values' field in the request means there are no values specified in the desired state.\nSo the meaning of each field value is describing the desired state of the corresponding\nfield in the resource after the update operation has completed the renconciliation.", "title": "UpdateInstalledPackageRequest" }, "v1alpha1UpdateInstalledPackageResponse": { diff --git a/cmd/kubeapps-apis/gen/core/packages/v1alpha1/packages.pb.go b/cmd/kubeapps-apis/gen/core/packages/v1alpha1/packages.pb.go index dcb595c7e75..d018be4c382 100644 --- a/cmd/kubeapps-apis/gen/core/packages/v1alpha1/packages.pb.go +++ b/cmd/kubeapps-apis/gen/core/packages/v1alpha1/packages.pb.go @@ -500,7 +500,7 @@ func (x *CreateInstalledPackageRequest) GetReconciliationOptions() *Reconciliati // Request for UpdateInstalledPackage. The intent is to reach the desired state specified // by the fields in the request, while leaving other fields intact. This is a whole // object "Update" semantics rather than "Patch" semantics. The caller will provide the -// values for the fields below, which will replace, or be overlayed onto, the +// values for the fields below, which will replace, or be overlaid onto, the // corresponding fields in the existing resource. For example, with the // UpdateInstalledPackageRequest, it is not possible to change just the 'package version // reference' without also specifying 'values' field. As a side effect, not specifying the diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/OCI_TERMINOLOGY.md b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/OCI_TERMINOLOGY.md index 2f3afcd0e79..8794af572c8 100644 --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/OCI_TERMINOLOGY.md +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/OCI_TERMINOLOGY.md @@ -108,7 +108,7 @@ Take an OCI registry URL like `"oci://ghcr.io/gfichtenholt/charts/podinfo:6.1.5" GitHub Container Registry WebPortal, CLI and API do not use the term _"OCI registry"_ and _"OCI repository"_. Instead, the following terms are used. - **Host** - always `ghcr.io` -- **Owner** - may be an organization or a indiviual account,e.g. `stefanprodan` +- **Owner** - may be an organization or a individual account,e.g. `stefanprodan` - **Package** - with package type `container`, e.g. `charts/podinfo` - **Package Version** - package version a.k.a. tag, e.g. `"6.1.5"` @@ -118,7 +118,7 @@ The term `package` seems to correspond to be a concatenation of an last segment - oci://ghcr.io/gfichtenholt/charts - charts/podinfo - oci://ghcr.io/gfichtenholt/charts/podinfo - charts/podinfo/podinfo -A given owner may have mutiple packages, e.g. `"nginx/nginx"`, `"charts/podinfo"`, etc. A given package may have multiple versions. The use case with multiple charts in the same repository doesn't really apply (TODO double check if there is a workaround) +A given owner may have multiple packages, e.g. `"nginx/nginx"`, `"charts/podinfo"`, etc. A given package may have multiple versions. The use case with multiple charts in the same repository doesn't really apply (TODO double check if there is a workaround) References: diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/cache/watcher_cache.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/cache/watcher_cache.go index 6ee17506a80..a6f5d7bcddd 100644 --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/cache/watcher_cache.go +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/cache/watcher_cache.go @@ -341,7 +341,7 @@ func (c *NamespacedResourceWatcherCache) watchLoop(watcher *watchutil.RetryWatch } } -func (c *NamespacedResourceWatcherCache) resyncAndNewRetryWatcher(bootstrap bool) (watcher *watchutil.RetryWatcher, eror error) { +func (c *NamespacedResourceWatcherCache) resyncAndNewRetryWatcher(bootstrap bool) (*watchutil.RetryWatcher, error) { log.Info("+resyncAndNewRetryWatcher()") c.resyncCond.L.Lock() defer func() { @@ -354,6 +354,7 @@ func (c *NamespacedResourceWatcherCache) resyncAndNewRetryWatcher(bootstrap bool log.Info("-resyncAndNewRetryWatcher()") }() + var watcher *watchutil.RetryWatcher var err error var resourceVersion string diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/chart_integration_test.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/chart_integration_test.go index 0670dcbb6c3..721758ed859 100644 --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/chart_integration_test.go +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/chart_integration_test.go @@ -818,7 +818,7 @@ func testKindClusterAvailablePackageEndpointsForOCIHelper( t.Fatal(err) } - // ocassionally, on the server-side, I see a request that takes a really long time: + // occasionally, on the server-side, I see a request that takes a really long time: // I0923 03:26:42.829561 1 oci_repo.go:739] about to call helmGetter.Get(us-west1-docker.pkg.dev/vmware-kubeapps-ci/stefanprodan-podinfo-clone/podinfo:6.1.6) // I0923 03:27:10.036728 1 oci_repo.go:742] helmGetter.Get(us-west1-docker.pkg.dev/vmware-kubeapps-ci/stefanprodan-podinfo-clone/podinfo:6.1.6) returned buffer size: [13544] error: // so we'll use a longer timeout for these calls. Even so, every once in a while I get @@ -830,7 +830,7 @@ func testKindClusterAvailablePackageEndpointsForOCIHelper( // cache works is that a 2nd request is just not going to get past the rate limiting queue // and in the end both will fail. There is no way for the client to know when the server finishes // processing the 1st request, so for now, let's just allow a really long timeout - // I also ocassionally see + // I also occasionally see // I0923 08:03:07.519347 1 oci_repo.go:649] login(us-west1-docker.pkg.dev): Get "https://us-west1-docker.pkg.dev/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers) // and // I0923 17:35:12.800491 1 oci_repo.go:649] login(us-west1-docker.pkg.dev): Get "https://us-west1-docker.pkg.dev/v2/": Get "https://us-west1-docker.pkg.dev/v2/token?account=_json_key&client_id=docker&offline_token=true": dial tcp 142.251.2.82:443: i/o timeout (Client.Timeout exceeded while awaiting headers) diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/common/transport/transport.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/common/transport/transport.go index ceabbea812e..e53bf6ce527 100644 --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/common/transport/transport.go +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/common/transport/transport.go @@ -46,7 +46,7 @@ import ( // http.Transport objects may contain sensitive material and also have // settings that may impact the security of HTTP operations using // them (i.e. InsecureSkipVerify). Therefore, ensure that they are -// used in a thread-safe way, and also by reseting TLS specific state +// used in a thread-safe way, and also by resetting TLS specific state // after each use. // // Calling the Release(t) function will reset TLS specific state whilst diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/docker_reg_v2_repo_lister.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/docker_reg_v2_repo_lister.go index 085df2c8f17..27086e197e0 100644 --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/docker_reg_v2_repo_lister.go +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/docker_reg_v2_repo_lister.go @@ -25,7 +25,7 @@ import ( // This flavor of OCI repsitory lister works with respect to those OCI registry vendors // that implement Docker Registry HTTP API V2 or OCI Distribution Specification. // For example, GitHub (ghcr.io), harbor and GCP Artifact Repositories are -// known to suport this API, with some caveats: +// known to support this API, with some caveats: // - harbor does support Docker Registry HTTP API V2 when robot accounts are used // References: // - https://github.com/distribution/distribution/blob/main/docs/spec/api.md diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/global_vars_test.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/global_vars_test.go index 27ba2c75bb8..ab5f973a9a8 100644 --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/global_vars_test.go +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/global_vars_test.go @@ -2503,7 +2503,7 @@ var ( PackageRepoRef: &corev1.PackageRepositoryReference{ Context: &corev1.Context{ Namespace: "namespace-1", - Cluster: "this-is-not-the-cluster-youre-looking-for", + Cluster: "this-is-not-the-cluster-your-are-looking-for", }, Identifier: "repo-1", }, diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/oci_repo.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/oci_repo.go index a9ef3c927a8..3bb6fb30f3b 100644 --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/oci_repo.go +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/oci_repo.go @@ -769,7 +769,7 @@ func getOciChartModel(appName string, tags TagList, ociChartRepo *OCIChartReposi chartID := path.Join(repo.Name, encodedAppName) // to be consistent with how we support helm http repos - // the chart fields like Desciption, home, sources come from the + // the chart fields like Description, home, sources come from the // most recent chart version // ref https://github.com/vmware-tanzu/kubeapps/blob/11c87926d6cd798af72875d01437d15ae8d85b9a/pkg/helm/index.go#L30 latestChartVersion, err := ociChartRepo.pickChartVersionFrom(appName, "", tags.Tags) diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go index 73e14bccfcb..56b5cd887a9 100644 --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release.go @@ -258,7 +258,7 @@ func (s *Server) installedPackageDetail(ctx context.Context, key types.Namespace // err maybe NotFound if this object has just been created and flux hasn't had time // to invoke helm layer yet if err == nil && rel != nil { - // a couple of fields currrently only available via helm API + // a couple of fields currently only available via helm API if rel2.Chart != nil { appVersion = rel2.Chart.AppVersion() } diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release_integration_test.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release_integration_test.go index 4ac0c217ecd..b555aa23ac6 100644 --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release_integration_test.go +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/release_integration_test.go @@ -325,7 +325,7 @@ func TestKindClusterUpdateInstalledPackage(t *testing.T) { _, err := fluxPluginPackagesClient.UpdateInstalledPackage(ctx, tc.request) if tc.unauthorized { if status.Code(err) != codes.Unauthenticated { - t.Fatalf("Expected Unathenticated, got: %v", status.Code(err)) + t.Fatalf("Expected Unauthenticated, got: %v", status.Code(err)) } return // done, nothing more to check } else if err != nil { @@ -341,7 +341,7 @@ func TestKindClusterUpdateInstalledPackage(t *testing.T) { } } if i == maxRetries { - t.Fatalf("Update retries exhaused for package [%s], last error: [%v]", installedRef, err) + t.Fatalf("Update retries exhausted for package [%s], last error: [%v]", installedRef, err) } actualRespAfterUpdate, actualRefsAfterUpdate := @@ -605,7 +605,7 @@ func TestKindClusterDeleteInstalledPackage(t *testing.T) { }) if tc.unauthorized { if status.Code(err) != codes.Unauthenticated { - t.Fatalf("Expected Unathenticated, got: %v", status.Code(err)) + t.Fatalf("Expected Unauthenticated, got: %v", status.Code(err)) } // still need to delete the release though name := types.NamespacedName{ diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo_integration_test.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo_integration_test.go index 62eadeb6151..8f2cc7eb5fa 100644 --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo_integration_test.go +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo_integration_test.go @@ -1047,7 +1047,7 @@ func TestKindClusterUpdatePackageRepository(t *testing.T) { } } if i == maxRetries { - t.Fatalf("Update retries exhaused for repository [%s], last error: [%v]", tc.repoName, err) + t.Fatalf("Update retries exhausted for repository [%s], last error: [%v]", tc.repoName, err) } if got, want := status.Code(err), tc.expectedStatusCode; got != want { t.Fatalf("got: %v, want: %v", err, want) @@ -1365,7 +1365,7 @@ func TestKindClusterUpdatePackageRepoSecretUnchanged(t *testing.T) { } } if i == maxRetries { - t.Fatalf("Update retries exhaused for repository [%s], last error: [%v]", repoName, err) + t.Fatalf("Update retries exhausted for repository [%s], last error: [%v]", repoName, err) } else if got, want := status.Code(err), expectedStatusCode; got != want { t.Fatalf("got: %v, want: %v", err, want) } diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo_test.go b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo_test.go index 20b72a88460..d325ea0aedb 100644 --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo_test.go +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/repo_test.go @@ -1007,7 +1007,7 @@ func TestGetAvailablePackageSummariesAfterCacheResyncQueueNotIdle(t *testing.T) } else { mock.ExpectFlushDB().SetVal("OK") // *SOME* of the repos have already been cached into redis at this point - // via the repo cache backround worker triggered by the Add event in the + // via the repo cache background worker triggered by the Add event in the // main goroutine. Those SET calls will need to be repeated due to // populateWith() which will re-populate the cache from scratch based on // the current state in k8s (all MAX_REPOS repos). @@ -1263,7 +1263,7 @@ func TestAddPackageRepository(t *testing.T) { userManagedSecrets: true, }, { - name: "failes when package repository links to non-existing secret", + name: "fails when package repository links to non-existing secret", request: add_repo_req_7, statusCode: codes.NotFound, userManagedSecrets: true, @@ -1785,7 +1785,7 @@ func TestGetOciPackageRepositoryDetail(t *testing.T) { } } - // FWIW GetPackageRepositoryDetail curently does not use the redis cache + // FWIW GetPackageRepositoryDetail currently does not use the redis cache if err = mock.ExpectationsWereMet(); err != nil { t.Fatalf("%v", err) } @@ -2420,7 +2420,7 @@ func newRepo(name string, namespace string, spec *sourcev1.HelmRepositorySpec, s return helmRepository } -// these functiosn should affect only unit test, not production code +// these functions should affect only unit test, not production code // does a series of mock.ExpectGet(...) func (s *Server) redisMockExpectGetFromRepoCache(mock redismock.ClientMock, filterOptions *corev1.FilterOptions, repos ...sourcev1.HelmRepository) error { mapVals := make(map[string][]byte) diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/testdata/ghcr-util.sh b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/testdata/ghcr-util.sh index 708fd269610..f07f2db128e 100644 --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/testdata/ghcr-util.sh +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/testdata/ghcr-util.sh @@ -113,7 +113,7 @@ function stefanProdanCloneRegistrySanityCheck() { } function myGithubRegistrySanityCheck() { - # 1. check the version we pushed exists on the remote and is the only version avaialble + # 1. check the version we pushed exists on the remote and is the only version available # ref https://docs.github.com/en/rest/packages#get-all-package-versions-for-a-package-owned-by-the-authenticated-user ALL_VERSIONS=$(gh api \ -H "Accept: application/vnd.github+json" \ @@ -128,7 +128,7 @@ function myGithubRegistrySanityCheck() { fi # 2. By default the new OCI registry is private. - # In order for the intergration test to work the OCI registry needs 'public' visibility + # In order for the integration test to work the OCI registry needs 'public' visibility # https://docs.github.com/en/packages/learn-github-packages/configuring-a-packages-access-control-and-visibility # API ref https://docs.github.com/en/rest/packages#get-a-package-for-the-authenticated-user # GitHub web portal: https://github.com/users/gfichtenholt/packages/container/helm-charts%2Fpodinfo/settings diff --git a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/testdata/registry-app.yaml b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/testdata/registry-app.yaml index f51a0e7cc74..898208350ad 100644 --- a/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/testdata/registry-app.yaml +++ b/cmd/kubeapps-apis/plugins/fluxv2/packages/v1alpha1/testdata/registry-app.yaml @@ -9,7 +9,7 @@ metadata: name: registry-auth data: # Local credential for the instantiated Docker registry. - # User "foo" and password "bar". The vakue of htpasswd was computed as follows: + # User "foo" and password "bar". The value of htpasswd was computed as follows: # 1. docker run --entrypoint htpasswd httpd:2 -Bbn foo bar # 2. base64 encode the result of (1) htpasswd: Zm9vOiQyeSQwNSRJM3pyTE14YmZRcnlQOXBVdzdFYXV1WG1OSlZnQk81T2E0SnFBOE9QUjdRcVo4SEh1RDVtNg== diff --git a/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/server.go b/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/server.go index 66d8876c885..3278d667ccc 100644 --- a/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/server.go +++ b/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/server.go @@ -184,7 +184,7 @@ func (s *Server) GetManager() (utils.AssetManager, error) { } // GetGlobalPackagingNamespace returns the configured global packaging namespace in in the plugin config if any, -// otherwise it uses the one passed as a cmd argument to the kubeapps-apis server for backwards compatibilty. +// otherwise it uses the one passed as a cmd argument to the kubeapps-apis server for backwards compatibility. func (s *Server) GetGlobalPackagingNamespace() string { if s.pluginConfig.GlobalPackagingNamespace != "" { return s.pluginConfig.GlobalPackagingNamespace diff --git a/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/server_test.go b/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/server_test.go index 735c886d7f1..b4af4d96f58 100644 --- a/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/server_test.go +++ b/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/server_test.go @@ -797,7 +797,7 @@ func TestGetAvailablePackageSummaries(t *testing.T) { } if tc.expectDBQueryNamespace != "" { - // Checking if the WHERE condtion is properly applied + // Checking if the WHERE condition is properly applied // Check returned categories catrows := sqlmock.NewRows([]string{"name", "count"}) diff --git a/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/utils/fake/chart.go b/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/utils/fake/chart.go index 7dedc89871b..ad8060a03e8 100644 --- a/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/utils/fake/chart.go +++ b/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/utils/fake/chart.go @@ -11,7 +11,7 @@ import ( "sigs.k8s.io/yaml" ) -// ChartClient implements Resolver inteface +// ChartClient implements Resolver interface type ChartClient struct{} // GetChart fake diff --git a/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/utils/postgresql_utils.go b/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/utils/postgresql_utils.go index 9689f104937..de3e0eb4af1 100644 --- a/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/utils/postgresql_utils.go +++ b/cmd/kubeapps-apis/plugins/helm/packages/v1alpha1/utils/postgresql_utils.go @@ -75,13 +75,13 @@ func (m *PostgresAssetManager) GetChartWithFallback(namespace, chartID string, w err := m.QueryOne(&chart, fmt.Sprintf("SELECT info FROM %s WHERE repo_namespace = $1 AND chart_id = $2", dbutils.ChartTable), namespace, chartID) if err != nil { - splittedID := strings.Split(chartID, "/") - if withFallback && len(splittedID) == 2 { + splitID := strings.Split(chartID, "/") + if withFallback && len(splitID) == 2 { // fallback query when a chart_id is not being retrieved // it may occur when upgrading a mirrored chart (eg, jfrog/bitnami/wordpress) // and helms only gives 'jfrog/wordpress' but we want to retrieve 'jfrog/bitnami/wordpress' // this query search 'jfrog wordpress'. If multiple results are found, returns just the first one - alikeChartID := splittedID[0] + "%" + splittedID[1] + alikeChartID := splitID[0] + "%" + splitID[1] err := m.QueryOne(&chart, fmt.Sprintf("SELECT info FROM %s WHERE repo_namespace = $1 AND chart_id ILIKE $2", dbutils.ChartTable), namespace, alikeChartID) if err != nil { return models.Chart{}, err @@ -122,13 +122,13 @@ func (m *PostgresAssetManager) GetChartVersionWithFallback(namespace, chartID, v var chart models.Chart err := m.QueryOne(&chart, fmt.Sprintf("SELECT info FROM %s WHERE repo_namespace = $1 AND chart_id = $2", dbutils.ChartTable), namespace, chartID) if err != nil { - splittedID := strings.Split(chartID, "/") - if withFallback && len(splittedID) == 2 { + splitID := strings.Split(chartID, "/") + if withFallback && len(splitID) == 2 { // fallback query when a chart_id is not being retrieved // it may occur when upgrading a mirrored chart (eg, jfrog/bitnami/wordpress) // and helms only gives 'jfrog/wordpress' but we want to retrieve 'jfrog/bitnami/wordpress' // this query search 'jfrog wordpress'. If multiple results are found, returns just the first one - alikeChartID := splittedID[0] + "%" + splittedID[1] + alikeChartID := splitID[0] + "%" + splitID[1] err := m.QueryOne(&chart, fmt.Sprintf("SELECT info FROM %s WHERE repo_namespace = $1 AND chart_id ILIKE $2", dbutils.ChartTable), namespace, alikeChartID) if err != nil { return models.Chart{}, err @@ -159,13 +159,13 @@ func (m *PostgresAssetManager) GetChartFilesWithFallback(namespace, filesID stri var chartFiles models.ChartFiles err := m.QueryOne(&chartFiles, fmt.Sprintf("SELECT info FROM %s WHERE repo_namespace = $1 AND chart_files_id = $2", dbutils.ChartFilesTable), namespace, filesID) if err != nil { - splittedID := strings.Split(filesID, "/") - if withFallback && len(splittedID) == 2 { + splitID := strings.Split(filesID, "/") + if withFallback && len(splitID) == 2 { // fallback query when a chart_files_id is not being retrieved // it may occur when upgrading a mirrored chart (eg, jfrog/bitnami/wordpress) // and helms only gives 'jfrog/wordpress' but we want to retrieve 'jfrog/bitnami/wordpress' // this query search 'jfrog wordpress'. If multiple results are found, returns just the first one - alikeFilesID := splittedID[0] + "%" + splittedID[1] + alikeFilesID := splitID[0] + "%" + splitID[1] err := m.QueryOne(&chartFiles, fmt.Sprintf("SELECT info FROM %s WHERE repo_namespace = $1 AND chart_files_id ILIKE $2", dbutils.ChartFilesTable), namespace, alikeFilesID) if err != nil { return models.ChartFiles{}, err diff --git a/cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_ctrl_packages.go b/cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_ctrl_packages.go index 8a3983e377e..df4634403f9 100644 --- a/cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_ctrl_packages.go +++ b/cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_ctrl_packages.go @@ -336,12 +336,12 @@ func (s *Server) GetInstalledPackageSummaries(ctx context.Context, request *core meta *datapackagingv1alpha1.PackageMetadata versions map[string]*datapackagingv1alpha1.Package } - pkgDatas := make(map[string]map[string]*pkgMetaAndVersionsData) + pkgData := make(map[string]map[string]*pkgMetaAndVersionsData) for _, pkgInstall := range pkgInstalls { - pkgDataForNamespaces, ok := pkgDatas[pkgInstall.Spec.PackageRef.RefName] + pkgDataForNamespaces, ok := pkgData[pkgInstall.Spec.PackageRef.RefName] if !ok { pkgDataForNamespaces = map[string]*pkgMetaAndVersionsData{} - pkgDatas[pkgInstall.Spec.PackageRef.RefName] = pkgDataForNamespaces + pkgData[pkgInstall.Spec.PackageRef.RefName] = pkgDataForNamespaces } // As each package install could potentially be from a pkg in the same // namespace or a package in the global namespace, we track both. @@ -368,7 +368,7 @@ func (s *Server) GetInstalledPackageSummaries(ctx context.Context, request *core return nil, statuserror.FromK8sError("get", "PackageMetadata", "", err) } for _, pm := range pkgMetadatas { - if pkgDataForNamespaces, ok := pkgDatas[pm.Name]; ok { + if pkgDataForNamespaces, ok := pkgData[pm.Name]; ok { if pkgData, ok := pkgDataForNamespaces[pm.Namespace]; ok { pkgData.meta = pm } @@ -388,7 +388,7 @@ func (s *Server) GetInstalledPackageSummaries(ctx context.Context, request *core // package data. pkgsForVersionMap := []*datapackagingv1alpha1.Package{} for pkg := range getPkgsChannel { - pkgDataForNamespaces, ok := pkgDatas[pkg.Spec.RefName] + pkgDataForNamespaces, ok := pkgData[pkg.Spec.RefName] if !ok { continue } @@ -421,7 +421,7 @@ func (s *Server) GetInstalledPackageSummaries(ctx context.Context, request *core // We now have all the data we need to return the result: for _, pkgi := range pkgInstalls { pkgName := pkgi.Spec.PackageRef.RefName - pkgDataForNamespaces := pkgDatas[pkgName] + pkgDataForNamespaces := pkgData[pkgName] // Check if there was package metadata for the specific namespace. pkgData := pkgDataForNamespaces[pkgi.Namespace] var ok bool @@ -719,9 +719,9 @@ func (s *Server) UpdateInstalledPackage(ctx context.Context, request *corev1.Upd } // Ensure the selected version can be, actually installed to let the user know before installing - elegibleVersion, err := versions.HighestConstrainedVersion([]string{pkgVersion}, vendirversions.VersionSelection{Semver: versionSelection}) - if elegibleVersion == "" || err != nil { - return nil, status.Errorf(codes.InvalidArgument, "The selected version %q is not elegible to be installed: %v", pkgVersion, err) + eligibleVersion, err := versions.HighestConstrainedVersion([]string{pkgVersion}, vendirversions.VersionSelection{Semver: versionSelection}) + if eligibleVersion == "" || err != nil { + return nil, status.Errorf(codes.InvalidArgument, "The selected version %q is not eligible to be installed: %v", pkgVersion, err) } // Set the versionSelection diff --git a/cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_data_adapters.go b/cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_data_adapters.go index 12e91aea434..091846fd2ef 100644 --- a/cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_data_adapters.go +++ b/cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_data_adapters.go @@ -362,8 +362,8 @@ func (s *Server) buildPkgInstall(installedPackageName, targetCluster, targetName } // Ensure the selected version can be, actually installed to let the user know before installing - elegibleVersion, err := versions.HighestConstrainedVersion([]string{pkgVersion}, vendirversions.VersionSelection{Semver: versionSelection}) - if elegibleVersion == "" || err != nil { + eligibleVersion, err := versions.HighestConstrainedVersion([]string{pkgVersion}, vendirversions.VersionSelection{Semver: versionSelection}) + if eligibleVersion == "" || err != nil { return nil, status.Errorf(codes.InvalidArgument, "The selected version %q is not eligible to be installed: %v", pkgVersion, err) } diff --git a/cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_test.go b/cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_test.go index d382aca9d13..86697e4fcb8 100644 --- a/cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_test.go +++ b/cmd/kubeapps-apis/plugins/kapp_controller/packages/v1alpha1/server_test.go @@ -4263,7 +4263,7 @@ func TestCreateInstalledPackage(t *testing.T) { }, }, { - name: "create installed package (non elegible version)", + name: "create installed package (non eligible version)", request: &corev1.CreateInstalledPackageRequest{ AvailablePackageRef: &corev1.AvailablePackageReference{ Context: &corev1.Context{ @@ -5717,7 +5717,7 @@ func TestUpdateInstalledPackage(t *testing.T) { }, }, { - name: "update installed package (non elegible version)", + name: "update installed package (non eligible version)", request: &corev1.UpdateInstalledPackageRequest{ InstalledPackageRef: &corev1.InstalledPackageReference{ Context: &corev1.Context{ diff --git a/cmd/kubeapps-apis/proto/kubeappsapis/core/packages/v1alpha1/packages.proto b/cmd/kubeapps-apis/proto/kubeappsapis/core/packages/v1alpha1/packages.proto index 08fb9d11d38..ce53b081195 100644 --- a/cmd/kubeapps-apis/proto/kubeappsapis/core/packages/v1alpha1/packages.proto +++ b/cmd/kubeapps-apis/proto/kubeappsapis/core/packages/v1alpha1/packages.proto @@ -172,7 +172,7 @@ message CreateInstalledPackageRequest { // Request for UpdateInstalledPackage. The intent is to reach the desired state specified // by the fields in the request, while leaving other fields intact. This is a whole // object "Update" semantics rather than "Patch" semantics. The caller will provide the -// values for the fields below, which will replace, or be overlayed onto, the +// values for the fields below, which will replace, or be overlaid onto, the // corresponding fields in the existing resource. For example, with the // UpdateInstalledPackageRequest, it is not possible to change just the 'package version // reference' without also specifying 'values' field. As a side effect, not specifying the diff --git a/cmd/kubeapps-apis/server/server.go b/cmd/kubeapps-apis/server/server.go index bc0ef679a91..92b0c771f8b 100644 --- a/cmd/kubeapps-apis/server/server.go +++ b/cmd/kubeapps-apis/server/server.go @@ -34,13 +34,13 @@ import ( func getLogLevelOfEndpoint(endpoint string) klogv2.Level { // Add all endpoint function names which you want to suppress in interceptor logging - supressLoggingOfEndpoints := []string{"GetConfiguredPlugins"} + suppressLoggingOfEndpoints := []string{"GetConfiguredPlugins"} var level klogv2.Level // level=3 is default logging level level = 3 - for i := 0; i < len(supressLoggingOfEndpoints); i++ { - if strings.Contains(endpoint, supressLoggingOfEndpoints[i]) { + for i := 0; i < len(suppressLoggingOfEndpoints); i++ { + if strings.Contains(endpoint, suppressLoggingOfEndpoints[i]) { level = 4 break } @@ -229,7 +229,7 @@ func gatewayMux() (*runtime.ServeMux, error) { ) // TODO(agamez): remove these '/openapi.json' and '/docs' paths. They are serving a - // static 'swagger-ui' dashboard with hardcoded values just intended for develoment purposes. + // static 'swagger-ui' dashboard with hardcoded values just intended for development purposes. // This docs will eventually converge into the docs already (properly) served by the dashboard err := gwmux.HandlePath(http.MethodGet, "/openapi.json", runtime.HandlerFunc(func(w http.ResponseWriter, r *http.Request, pathParams map[string]string) { http.ServeFile(w, r, "docs/kubeapps-apis.swagger.json") diff --git a/cmd/pinniped-proxy/src/https.rs b/cmd/pinniped-proxy/src/https.rs index f5cf9c7cff6..07bd2e7c841 100644 --- a/cmd/pinniped-proxy/src/https.rs +++ b/cmd/pinniped-proxy/src/https.rs @@ -303,7 +303,7 @@ mod tests { Err(e) => { assert!( e.is::(), - "got: {:#?}, want: base64::DecodeErro", + "got: {:#?}, want: base64::DecodeError", e ); Ok(()) diff --git a/dashboard/public/openapi.yaml b/dashboard/public/openapi.yaml index 84937c3a140..09d95db1c09 100644 --- a/dashboard/public/openapi.yaml +++ b/dashboard/public/openapi.yaml @@ -885,7 +885,7 @@ paths: object "Update" semantics rather than "Patch" semantics. The caller will provide the - values for the fields below, which will replace, or be overlayed onto, the + values for the fields below, which will replace, or be overlaid onto, the corresponding fields in the existing resource. For example, with the @@ -5494,7 +5494,7 @@ components: object "Update" semantics rather than "Patch" semantics. The caller will provide the - values for the fields below, which will replace, or be overlayed onto, the + values for the fields below, which will replace, or be overlaid onto, the corresponding fields in the existing resource. For example, with the diff --git a/dashboard/src/actions/availablepackages.ts b/dashboard/src/actions/availablepackages.ts index a67e8908d86..52c0ce3bc40 100644 --- a/dashboard/src/actions/availablepackages.ts +++ b/dashboard/src/actions/availablepackages.ts @@ -75,7 +75,7 @@ export const receiveSelectedAvailablePackageVersions = createAction( // No reset action // ** Error actions ** -// for handling the erros thrown by the rest of the actions +// for handling the errors thrown by the rest of the actions // Create action export const createErrorPackage = createAction("CREATE_ERROR_PACKAGE", resolve => { diff --git a/dashboard/src/components/AppView/AccessURLTable/AccessURLItem/AccessURLIngressHelper.test.ts b/dashboard/src/components/AppView/AccessURLTable/AccessURLItem/AccessURLIngressHelper.test.ts index 682b4cf0dbc..2b0c984b898 100644 --- a/dashboard/src/components/AppView/AccessURLTable/AccessURLItem/AccessURLIngressHelper.test.ts +++ b/dashboard/src/components/AppView/AccessURLTable/AccessURLItem/AccessURLIngressHelper.test.ts @@ -298,7 +298,7 @@ describe("IsURL", () => { describe("Should return false for invalid URLs", () => { const invalidURLs: ITest[] = [ { - description: "it should return false to a 'rfc-ilegal' url with a regex", + description: "it should return false to a 'rfc-illegal' url with a regex", fullURL: "http://wordpress.local/example-bad(/|$)(.*)", }, { @@ -307,7 +307,7 @@ describe("IsURL", () => { }, { - description: "it should return false to a 'rfc-ilegal' url with a regex (https)", + description: "it should return false to a 'rfc-illegal' url with a regex (https)", fullURL: "https://wordpress.local/example-bad(/|$)(.*)", }, { @@ -316,7 +316,7 @@ describe("IsURL", () => { }, { - description: "it should return false to a 'rfc-ilegal' url with a regex (host is ip)", + description: "it should return false to a 'rfc-illegal' url with a regex (host is ip)", fullURL: "http://1.1.1.1/example-bad(/|$)(.*)", }, { diff --git a/dashboard/src/components/AppView/AccessURLTable/AccessURLItem/AccessURLIngressHelper.tsx b/dashboard/src/components/AppView/AccessURLTable/AccessURLItem/AccessURLIngressHelper.tsx index e8d1aa3237b..3eb940e9922 100644 --- a/dashboard/src/components/AppView/AccessURLTable/AccessURLItem/AccessURLIngressHelper.tsx +++ b/dashboard/src/components/AppView/AccessURLTable/AccessURLItem/AccessURLIngressHelper.tsx @@ -71,6 +71,6 @@ export function ShouldGenerateLink(url: string): boolean { // even if it won't catch every possible case, we avoid having an O(x^n) regex const regex = /^[^:/?#[\]@!$&'*+,;=]*$/; - // If it is an URL but it includes some "ilegal" characters, then return false + // If it is an URL but it includes some "illegal" characters, then return false return !builtURL.pathname.split("/")?.some(p => !regex.test(p)); } diff --git a/dashboard/src/components/Catalog/PackageCatalogItem.tsx b/dashboard/src/components/Catalog/PackageCatalogItem.tsx index a78216ea6c5..d88ac8ec0ed 100644 --- a/dashboard/src/components/Catalog/PackageCatalogItem.tsx +++ b/dashboard/src/components/Catalog/PackageCatalogItem.tsx @@ -11,7 +11,7 @@ export default function PackageCatalogItem(props: IPackageCatalogItem) { const { cluster, namespace, availablePackageSummary } = props; // Use the current cluster/namespace in the URL (passed as props here), - // but, if it is global a "global" segement will be included in the generated URL. + // but, if it is global a "global" segment will be included in the generated URL. const packageViewLink = url.app.packages.get( cluster, namespace, diff --git a/dashboard/src/components/Config/PkgRepoList/PkgRepoForm.tsx b/dashboard/src/components/Config/PkgRepoList/PkgRepoForm.tsx index b9ded19a0ac..46e4547fe41 100644 --- a/dashboard/src/components/Config/PkgRepoList/PkgRepoForm.tsx +++ b/dashboard/src/components/Config/PkgRepoList/PkgRepoForm.tsx @@ -640,7 +640,7 @@ export function PkgRepoForm(props: IPkgRepoFormProps) { const handleIsUserManagedCASecretChange = (_e: React.ChangeEvent) => { setIsUserManagedCASecret(!isUserManagedCASecret); }; - const handelUseSameAuthCredsChange = (_e: React.ChangeEvent) => { + const handleUseSameAuthCredsChange = (_e: React.ChangeEvent) => { setUseSameAuthCreds(!useSameAuthCreds); }; const handleFluxAuthProviderChange = (e: React.FormEvent) => { @@ -1740,7 +1740,7 @@ export function PkgRepoForm(props: IPkgRepoFormProps) { { expect(logout).toHaveBeenCalled(); }); -it("should not show the logout button if the error is catched from other component", () => { +it("should not show the logout button if the error is caught from other component", () => { const wrapper = mount(); wrapper.setState({ error: new Error("Boom!") }); const alert = wrapper.find(Alert); diff --git a/dashboard/src/components/OperatorInstanceFormBody/OperatorInstanceFormBody.test.tsx b/dashboard/src/components/OperatorInstanceFormBody/OperatorInstanceFormBody.test.tsx index 18bfef34db6..8614577de09 100644 --- a/dashboard/src/components/OperatorInstanceFormBody/OperatorInstanceFormBody.test.tsx +++ b/dashboard/src/components/OperatorInstanceFormBody/OperatorInstanceFormBody.test.tsx @@ -141,7 +141,7 @@ it("should catch a syntax error in the form", () => { expect(handleDeploy).not.toHaveBeenCalled(); }); -it("should throw an eror if the element doesn't contain an apiVersion", () => { +it("should throw an error if the element doesn't contain an apiVersion", () => { const handleDeploy = jest.fn(); const wrapper = mountWrapper( defaultStore, diff --git a/dashboard/src/components/SelectRepoForm/SelectRepoForm.tsx b/dashboard/src/components/SelectRepoForm/SelectRepoForm.tsx index a319f21ed97..558059a8d39 100644 --- a/dashboard/src/components/SelectRepoForm/SelectRepoForm.tsx +++ b/dashboard/src/components/SelectRepoForm/SelectRepoForm.tsx @@ -35,7 +35,7 @@ function SelectRepoForm({ cluster, namespace, app }: ISelectRepoFormProps) { } = useSelector((state: IStoreState) => state); const [userRepoName, setUserRepoName] = useState(repo?.name ?? ""); - const [userRepoNamespace, setUserRepoNamepace] = useState( + const [userRepoNamespace, setUserRepoNamespace] = useState( repo.packageRepoRef?.context?.namespace ?? "", ); // We do not currently support package repositories on additional clusters. @@ -66,7 +66,7 @@ function SelectRepoForm({ cluster, namespace, app }: ISelectRepoFormProps) { if (e.target.value) { const [ns, name] = e.target.value.split("/"); setUserRepoName(name); - setUserRepoNamepace(ns); + setUserRepoNamespace(ns); } }; diff --git a/dashboard/src/containers/Root.test.tsx b/dashboard/src/containers/Root.test.tsx index d6c23390a16..9abb0b87aba 100644 --- a/dashboard/src/containers/Root.test.tsx +++ b/dashboard/src/containers/Root.test.tsx @@ -13,7 +13,7 @@ it("renders the root component", () => { }); describe("118n configuration", () => { - it("loads the initial i18n config from getDefaulI18nConfig", async () => { + it("loads the initial i18n config from getDefaultI18nConfig", async () => { const config: II18nConfig = { locale: "custom", messages: { messageId: "translation" } }; const getDefaultConfig = jest.spyOn(I18n, "getDefaultConfig").mockReturnValue(config); act(() => { diff --git a/dashboard/src/gen/kubeappsapis/core/packages/v1alpha1/packages.ts b/dashboard/src/gen/kubeappsapis/core/packages/v1alpha1/packages.ts index 11278dcb7de..34eeb14615a 100644 --- a/dashboard/src/gen/kubeappsapis/core/packages/v1alpha1/packages.ts +++ b/dashboard/src/gen/kubeappsapis/core/packages/v1alpha1/packages.ts @@ -122,7 +122,7 @@ export interface CreateInstalledPackageRequest { * Request for UpdateInstalledPackage. The intent is to reach the desired state specified * by the fields in the request, while leaving other fields intact. This is a whole * object "Update" semantics rather than "Patch" semantics. The caller will provide the - * values for the fields below, which will replace, or be overlayed onto, the + * values for the fields below, which will replace, or be overlaid onto, the * corresponding fields in the existing resource. For example, with the * UpdateInstalledPackageRequest, it is not possible to change just the 'package version * reference' without also specifying 'values' field. As a side effect, not specifying the diff --git a/dashboard/src/shared/KubeappsGrpcClient.test.ts b/dashboard/src/shared/KubeappsGrpcClient.test.ts index 07842e286c3..a60003820b1 100644 --- a/dashboard/src/shared/KubeappsGrpcClient.test.ts +++ b/dashboard/src/shared/KubeappsGrpcClient.test.ts @@ -6,15 +6,15 @@ import { FakeTransportBuilder } from "@improbable-eng/grpc-web-fake-transport"; import { KubeappsGrpcClient } from "./KubeappsGrpcClient"; describe("kubeapps grpc client creation", () => { - const fakeEmpyTransport = new FakeTransportBuilder().withMessages([]).build(); + const fakeEmptyTransport = new FakeTransportBuilder().withMessages([]).build(); it("should create a kubeapps grpc client", async () => { - const kubeappsGrpcClient = new KubeappsGrpcClient(fakeEmpyTransport); + const kubeappsGrpcClient = new KubeappsGrpcClient(fakeEmptyTransport); expect(kubeappsGrpcClient).not.toBeNull(); }); it("should create the clients for each core service", async () => { - const kubeappsGrpcClient = new KubeappsGrpcClient(fakeEmpyTransport); + const kubeappsGrpcClient = new KubeappsGrpcClient(fakeEmptyTransport); const serviceClients = [ kubeappsGrpcClient.getPluginsServiceClientImpl(), kubeappsGrpcClient.getPackagesServiceClientImpl(), @@ -25,7 +25,7 @@ describe("kubeapps grpc client creation", () => { }); it("should create the clients for each plugin service", async () => { - const kubeappsGrpcClient = new KubeappsGrpcClient(fakeEmpyTransport); + const kubeappsGrpcClient = new KubeappsGrpcClient(fakeEmptyTransport); const packagesServiceClients = [ kubeappsGrpcClient.getHelmPackagesServiceClientImpl(), kubeappsGrpcClient.getKappControllerPackagesServiceClientImpl(), @@ -46,7 +46,7 @@ describe("kubeapps grpc core plugin service", () => { jest.restoreAllMocks(); }); - const fakeEmpyTransport = new FakeTransportBuilder().withMessages([]).build(); + const fakeEmptyTransport = new FakeTransportBuilder().withMessages([]).build(); const fakeErrorransport = new FakeTransportBuilder() .withPreTrailersError(grpc.Code.Internal, "boom") .build(); @@ -72,7 +72,7 @@ describe("kubeapps grpc core plugin service", () => { }); it("it returns null when the server sends no messages", async () => { - const kubeappsGrpcClient = new KubeappsGrpcClient(fakeEmpyTransport); + const kubeappsGrpcClient = new KubeappsGrpcClient(fakeEmptyTransport); const getPluginsServiceClientImpl = kubeappsGrpcClient.getPluginsServiceClientImpl(); const res = await getPluginsServiceClientImpl.GetConfiguredPlugins({}); expect(res).toBeNull(); diff --git a/dashboard/src/shared/yamlUtils.ts b/dashboard/src/shared/yamlUtils.ts index 8193f70a45e..2c8b741df4c 100644 --- a/dashboard/src/shared/yamlUtils.ts +++ b/dashboard/src/shared/yamlUtils.ts @@ -24,32 +24,32 @@ export function setPathValueInYamlNode( path: string, newValue: any, ) { - const { splittedPath, value } = parsePathAndValue(valuesNode, path, newValue); - valuesNode.setIn(splittedPath, value); + const { splitPath: split, value } = parsePathAndValue(valuesNode, path, newValue); + valuesNode.setIn(split, value); return valuesNode; } function parsePathAndValue(doc: YAML.Document, path: string, value?: any) { if (isEmpty(doc.contents)) { // If the doc is empty we have an special case - return { value: set({}, path.replace(/^\//, ""), value), splittedPath: [] }; + return { value: set({}, path.replace(/^\//, ""), value), splitPath: [] }; } - let splittedPath = splitPath(path); + let splitPath = splitPathBySlash(path); // If the path is not defined (the parent nodes are undefined) // We need to change the path and the value to set to avoid accessing // the undefined node. For example, if a.b is undefined: // path: a.b.c, value: 1 ==> path: a.b, value: {c: 1} // TODO(andresmgot): In the future, this may be implemented in the YAML library itself // https://github.com/eemeli/yaml/issues/131 - const allElementsButTheLast = splittedPath.slice(0, splittedPath.length - 1); + const allElementsButTheLast = splitPath.slice(0, splitPath.length - 1); const parentNode = (doc as any).getIn(allElementsButTheLast); if (parentNode === undefined) { const definedPath = getDefinedPath(allElementsButTheLast, doc); - const remainingPath = splittedPath.slice(definedPath.length + 1); + const remainingPath = splitPath.slice(definedPath.length + 1); value = set({}, remainingPath.join("."), value); - splittedPath = splittedPath.slice(0, definedPath.length + 1); + splitPath = splitPath.slice(0, definedPath.length + 1); } - return { splittedPath: unescapePath(splittedPath), value }; + return { splitPath: unescapePath(splitPath), value }; } function getDefinedPath(allElementsButTheLast: string[], doc: YAML.Document) { @@ -84,8 +84,8 @@ export function getPathValueInYamlNode( values: YAML.Document.Parsed, path: string, ) { - const splittedPath = parsePath(path); - let value = values?.getIn(splittedPath); + const splitPath = parsePath(path); + let value = values?.getIn(splitPath); // if the value from getIn is an object, it means // it is a YamlSeq or YamlMap, so we need to convert it @@ -98,7 +98,7 @@ export function getPathValueInYamlNode( } function parsePath(path: string): string[] { - return unescapePath(splitPath(path)); + return unescapePath(splitPathBySlash(path)); } function unescapePath(path: string[]): string[] { @@ -106,7 +106,7 @@ function unescapePath(path: string[]): string[] { return path.map(p => unescapePathComponent(p)); } -function splitPath(path: string): string[] { +function splitPathBySlash(path: string): string[] { return ( (path ?? "") // ignore the first slash, if exists @@ -118,8 +118,8 @@ function splitPath(path: string): string[] { export function deleteValue(values: string, path: string) { const doc = YAML.parseDocument(values, { toStringDefaults: toStringOptions }); - const { splittedPath } = parsePathAndValue(doc, path); - (doc as any).deleteIn(splittedPath); + const { splitPath } = parsePathAndValue(doc, path); + (doc as any).deleteIn(splitPath); // If the document is empty after the deletion instead of returning {} // we return an empty line "\n" return doc.contents && !isEmpty((doc.contents as any).items) @@ -130,7 +130,7 @@ export function deleteValue(values: string, path: string) { // setValue modifies the current values (text) based on a path export function setValue(values: string, path: string, newValue: any) { const doc = YAML.parseDocument(values, { toStringDefaults: toStringOptions }); - const { splittedPath, value } = parsePathAndValue(doc, path, newValue); - (doc as any).setIn(splittedPath, value); + const { splitPath, value } = parsePathAndValue(doc, path, newValue); + (doc as any).setIn(splitPath, value); return doc.toString(toStringOptions); } diff --git a/pkg/helm/index.go b/pkg/helm/index.go index da86c9b6947..e8b46cc0882 100644 --- a/pkg/helm/index.go +++ b/pkg/helm/index.go @@ -61,7 +61,7 @@ func ChartsFromIndex(contents []byte, r *models.Repo, shallow bool) ([]models.Ch } for key, entry := range index.Entries { // note that 'entry' itself is an array of chart versions - // after index.SortEntires() call, it looks like there is only one entry per package, + // after index.SortEntries() call, it looks like there is only one entry per package, // and entry[0] should be the most recent chart version, e.g. Name: "mariadb" Version: "9.3.12" // while the rest of the elements in the entry array keep track of previous chart versions, e.g. // "mariadb" version "9.3.11", "9.3.10", etc. For entry "mariadb", bitnami catalog has diff --git a/pkg/http-client/httpclient_test.go b/pkg/http-client/httpclient_test.go index 63e7dcbafa3..a7c1c9e538d 100644 --- a/pkg/http-client/httpclient_test.go +++ b/pkg/http-client/httpclient_test.go @@ -192,7 +192,7 @@ func TestGetCertPool(t *testing.T) { // no creation case if tc.expectError { if err == nil { - t.Fatalf("pool creation was expcted to fail") + t.Fatalf("pool creation was expected to fail") } return } diff --git a/script/chart-template-test.sh b/script/chart-template-test.sh index 2e24897708b..5679dd9c17f 100755 --- a/script/chart-template-test.sh +++ b/script/chart-template-test.sh @@ -16,7 +16,7 @@ sed -i.bk -e "s/kubeVersion.*//g" "${CHART_DIR}Chart.yaml" helm dep up "${CHART_DIR}" -# test with the minium supported helm version +# test with the minimum supported helm version helm template "${CHART_DIR}" --debug # test with the latest stable helm version diff --git a/script/install-nginx.sh b/script/install-nginx.sh index 0c0d322c1ad..4bb589b28e1 100755 --- a/script/install-nginx.sh +++ b/script/install-nginx.sh @@ -5,7 +5,7 @@ set -euo pipefail -echo "Instaling Nginx" +echo "Installing Nginx" helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm repo update helm install -n nginx-ingress --create-namespace nginx-ingress ingress-nginx/ingress-nginx diff --git a/site/content/docs/latest/background/update-api-docs.md b/site/content/docs/latest/background/update-api-docs.md index 43e70eb5a0b..d27580544ea 100644 --- a/site/content/docs/latest/background/update-api-docs.md +++ b/site/content/docs/latest/background/update-api-docs.md @@ -1,6 +1,6 @@ # Update the Kubeapps API documentation -The Kubeapps API docs are defined using the [OpenAPI Specification](https://www.openapis.org). The latest develoment file is located at [/dashboard/public/openapi.yaml](https://github.com/vmware-tanzu/kubeapps/blob/main/dashboard/public/openapi.yaml). +The Kubeapps API docs are defined using the [OpenAPI Specification](https://www.openapis.org). The latest development file is located at [/dashboard/public/openapi.yaml](https://github.com/vmware-tanzu/kubeapps/blob/main/dashboard/public/openapi.yaml). However, to make them more accessible to the users, they are hosted in [SwaggerHub](https://swagger.io/tools/swaggerhub) as well as integrated into the Kubeapps dashboard once installed. If you are interested in the Kubeapps API, please [reach out to us](https://kubernetes.slack.com/messages/kubeapps) for further information. @@ -26,7 +26,7 @@ Once you finish editing, the changes can be saved and synced. ### Syncing changes -In order to send your changes to the official Kubeapps repo, you need to commit the current API docs changes in your Kubeapps fork in GitHub. Whereas it is possible just to copy from SwaggerHub and paste the YAML in your repo, you can [confiugre Swagger to automatically push the saved changes in GitHub](https://support.smartbear.com/swaggerhub/docs/integrations/github-sync.html). +In order to send your changes to the official Kubeapps repo, you need to commit the current API docs changes in your Kubeapps fork in GitHub. Whereas it is possible just to copy from SwaggerHub and paste the YAML in your repo, you can [configure Swagger to automatically push the saved changes in GitHub](https://support.smartbear.com/swaggerhub/docs/integrations/github-sync.html). ![image](../img/swaggerhub-push-to-source-control.gif) diff --git a/site/content/docs/latest/howto/OIDC/OAuth2OIDC-azure-active-directory.md b/site/content/docs/latest/howto/OIDC/OAuth2OIDC-azure-active-directory.md index ea8fe2dc583..192887307e4 100644 --- a/site/content/docs/latest/howto/OIDC/OAuth2OIDC-azure-active-directory.md +++ b/site/content/docs/latest/howto/OIDC/OAuth2OIDC-azure-active-directory.md @@ -76,7 +76,7 @@ authProxy: - --scope=openid email 6dae42f8-4368-4678-94ff-3960e28e3630/user.read # required for azure, exactly this string without modification ``` -> Subsitute ``, ``,`` and `` with your values. +> Substitute ``, ``,`` and `` with your values. We highlight here: @@ -88,7 +88,7 @@ We highlight here: ### Troubleshooting -If you are getting a 500 error with the following message: `could not get claim "groups": failed to fetch claims from profile URL`, it is probably due to a [issue in oauth2-proxy](https://github.com/oauth2-proxy/oauth2-proxy/issues/1680) in the `v7.3.0`. You can work arount it by using the former `v7.2.1` version as follows: +If you are getting a 500 error with the following message: `could not get claim "groups": failed to fetch claims from profile URL`, it is probably due to a [issue in oauth2-proxy](https://github.com/oauth2-proxy/oauth2-proxy/issues/1680) in the `v7.3.0`. You can work around it by using the former `v7.2.1` version as follows: ```yaml authProxy: @@ -101,7 +101,7 @@ authProxy: ## Azure Active Directory integration (legacy) -For setting up an Azure Kubernetes cluster (aks) with Azure Active Directory (legacy) you can follow [this guide](https://docs.microsoft.com/en-us/azure/aks/azure-ad-integration-cli). At the end of the tutorial you should have an Active Directory Application (Server). That's the Application from which we will get the needed parameters. +For setting up an Azure Kubernetes cluster (AKS) with Azure Active Directory (legacy) you can follow [this guide](https://docs.microsoft.com/en-us/azure/aks/azure-ad-integration-cli). At the end of the tutorial you should have an Active Directory Application (Server). That's the Application from which we will get the needed parameters. - Client-ID: Azure Active Directory server Application ID. - Client-secret: A "Password" Key of the server Application. diff --git a/site/content/docs/latest/howto/dashboard.md b/site/content/docs/latest/howto/dashboard.md index 2143f209365..9e8d9a7a252 100644 --- a/site/content/docs/latest/howto/dashboard.md +++ b/site/content/docs/latest/howto/dashboard.md @@ -93,7 +93,7 @@ Once you have selected the application to update, click either the **Update** bu For the update case, the Visual Editor table displays the following columns: -- `Defalut value`: including the default value for each parameter in the package. +- `Default value`: including the default value for each parameter in the package. - `Deployed value`: including the value deployed in the cluster for each parameter. - `Current value`: to set the value for each parameter in the upgrade process. diff --git a/site/content/docs/latest/reference/proposals/authentication-and-authorization.md b/site/content/docs/latest/reference/proposals/authentication-and-authorization.md index b92ee99f911..bc9cf4b0c94 100644 --- a/site/content/docs/latest/reference/proposals/authentication-and-authorization.md +++ b/site/content/docs/latest/reference/proposals/authentication-and-authorization.md @@ -154,7 +154,7 @@ If a logged in user tries to perform an unauthorized action within Kubeapps (e.g Currently, all list views (Apps, Functions, etc.) are not scoped by a namespace. To enable the ability to list and view application resources within specific namespaces without requiring cluster-wide permissions, the Dashboard will scope all operations by a namespace by default. The current namespace will be selectable in the top navigation bar. -Kubeapps will try to fetch the list of namespaces from the API, but if this operation is not permitted (due to not having the relevant RBAC role), it will fallback to listing the namespaces in the _kubernetes_namespaces_ array stored in localStorage. By default, this will contain _default_. When in this fallback mode, there will be an option for the user to add namespaces to the _kuberetes_namespaces_ array. +Kubeapps will try to fetch the list of namespaces from the API, but if this operation is not permitted (due to not having the relevant RBAC role), it will fallback to listing the namespaces in the _kubernetes_namespaces_ array stored in localStorage. By default, this will contain _default_. When in this fallback mode, there will be an option for the user to add namespaces to the _kubernetes_namespaces_ array. It will also be possible to list resources cluster-wide by selecting the _all_ option in the namespace selector. diff --git a/site/content/docs/latest/reference/proposals/replacing-mongodb.md b/site/content/docs/latest/reference/proposals/replacing-mongodb.md index 1ab7609cfb3..a80b83837fb 100644 --- a/site/content/docs/latest/reference/proposals/replacing-mongodb.md +++ b/site/content/docs/latest/reference/proposals/replacing-mongodb.md @@ -119,4 +119,4 @@ From the options listed above, the option that seems to fit our use case best wi - Add the database choice in the chart. - Update documentation. -To avoid breaking changes, we should default to use MongoDB. Once we release a new major version, we can swith the default to PostgreSQL. To avoid maintaining the two approaches we may decide to remove support for MongoDB at that point. +To avoid breaking changes, we should default to use MongoDB. Once we release a new major version, we can switch the default to PostgreSQL. To avoid maintaining the two approaches we may decide to remove support for MongoDB at that point. diff --git a/site/content/docs/latest/reference/scripts/setup-harbor.sh b/site/content/docs/latest/reference/scripts/setup-harbor.sh index 1b002bc3ea1..468398bdac0 100755 --- a/site/content/docs/latest/reference/scripts/setup-harbor.sh +++ b/site/content/docs/latest/reference/scripts/setup-harbor.sh @@ -140,7 +140,7 @@ for dep in "${deployments[@]}"; do done echo -info "Use this command for port-forwading to Harbor:" +info "Use this command for port-forwarding to Harbor:" info "kubectl port-forward --namespace $namespace svc/harbor 8888:80 >/dev/null 2>&1 &" info "Harbor URL: http://127.0.0.1:8888/" info "Harbor credentials" diff --git a/site/content/docs/latest/reference/scripts/setup-kubeapps.sh b/site/content/docs/latest/reference/scripts/setup-kubeapps.sh index a6a8da77801..5c4edfdf442 100755 --- a/site/content/docs/latest/reference/scripts/setup-kubeapps.sh +++ b/site/content/docs/latest/reference/scripts/setup-kubeapps.sh @@ -139,7 +139,7 @@ silence kubectl create -n default rolebinding example-edit --clusterrole=edit -- silence kubectl create -n "$namespace" rolebinding example-kubeapps-repositories-write --clusterrolerole=kubeapps:kubeapps:apprepositories-write --serviceaccount default:example echo -info "Use this command for port forwading to Kubeapps Dashboard:" +info "Use this command for port forwarding to Kubeapps Dashboard:" info "kubectl port-forward --namespace $namespace svc/kubeapps 8080:80 >/dev/null 2>&1 &" info "Kubeapps URL: http://127.0.0.1:8080" info "Kubeppas API Token:" diff --git a/site/content/docs/latest/tutorials/managing-carvel-packages.md b/site/content/docs/latest/tutorials/managing-carvel-packages.md index 6ea09fdb2e1..0441d5ac93b 100644 --- a/site/content/docs/latest/tutorials/managing-carvel-packages.md +++ b/site/content/docs/latest/tutorials/managing-carvel-packages.md @@ -129,13 +129,13 @@ This tutorial uses the `Tanzu Community Edition` package repository. > A Kubeapps Package Repository can be installed by anyone with the required RBAC for that namespace. -- Click the **Add Package Repository** button that displays a pop-up (structured in collapsable sections) to configure the parameters for the new Package Repository. +- Click the **Add Package Repository** button that displays a pop-up (structured in collapsible sections) to configure the parameters for the new Package Repository. ![Add Package repository pop-up](../img/package-repository/package-repository-pop-up-carvel.png) > The image above shows the parameters to configure the `Tanzu Community Edition` Carvel package repository as a Global repository in Kubeapps. -- Aditionally, there are two sections to provide authorization and advanced data to configure the Package Repository. Default values in these sections are enough to install the `Tanzu Community Edition` package repository. +- Additionally, there are two sections to provide authorization and advanced data to configure the Package Repository. Default values in these sections are enough to install the `Tanzu Community Edition` package repository. ![Package repository pop-up advanced tabs](../img/package-repository/package-repository-pop-up-advanced.png) diff --git a/site/content/docs/latest/tutorials/managing-flux-packages.md b/site/content/docs/latest/tutorials/managing-flux-packages.md index 4923fbe164d..c1931e0fcd0 100644 --- a/site/content/docs/latest/tutorials/managing-flux-packages.md +++ b/site/content/docs/latest/tutorials/managing-flux-packages.md @@ -89,13 +89,13 @@ First, you need to find a Helm Chart Repository already published. This tutorial > A Kubeapps Package Repository can be installed by anyone with the required RBAC for that namespace. -- Click the **Add Package Repository** button that displays a pop-up (structured in collapsable sections) to configure the parameters for the new Package Repository. +- Click the **Add Package Repository** button that displays a pop-up (structured in collapsible sections) to configure the parameters for the new Package Repository. ![Add Package repository pop-up](../img/package-repository/package-repository-pop-up-flux.png) > The image above shows the parameters to configure the `Bitnami Application Catalog` Helm Chart package repository to be managed declaratively with Flux as a Global repository in Kubeapps. -- Aditionally, there are two sections to provide authorization and advanced data to configure the Package Repository. Default values in these sections are enough to install the `Bitnami Application Catalog` repository. +- Additionally, there are two sections to provide authorization and advanced data to configure the Package Repository. Default values in these sections are enough to install the `Bitnami Application Catalog` repository. ![Package repository pop-up advanced tabs](../img/package-repository/package-repository-pop-up-advanced.png) diff --git a/site/content/docs/latest/tutorials/managing-package-repositories.md b/site/content/docs/latest/tutorials/managing-package-repositories.md index 8118cb545fc..77a58d6958a 100644 --- a/site/content/docs/latest/tutorials/managing-package-repositories.md +++ b/site/content/docs/latest/tutorials/managing-package-repositories.md @@ -46,7 +46,7 @@ Kubeapps navigates to the **Package Repositories** page displaying a list of ins ![Package repository page](../img/package-repository/package-repository-page-empty.png) -Click the **Add Package Repository** button that displays a pop-up (structured in collapsable sections) to configure the parameters for the new Package Repository. +Click the **Add Package Repository** button that displays a pop-up (structured in collapsible sections) to configure the parameters for the new Package Repository. Introduce the following data to add basic information about the repository: @@ -177,7 +177,7 @@ In the **Advanced** tab, there are a set of configurations options depending on ![Package Repository advanced tab Helm](../img/package-repository/package-repository-advanced-helm.png) - **Helm via Flux**: - - `Syncronization Interval`: set the time to wait between each synchronization of the repository. + - `Synchronization Interval`: set the time to wait between each synchronization of the repository. - `Custom CA certificate`: Custom CA certificate to use when connecting to the repository. - `Skip TLS Verification`: If enabled, the TLS certificate will not be verified. - `Pass Credentials to 3rd party URLs`: If enabled, the same credentials will be sent to those URLs for fetching the icon and the tarball files. diff --git a/site/content/docs/latest/tutorials/operators.md b/site/content/docs/latest/tutorials/operators.md index 3f56e992c09..237fa5d071a 100644 --- a/site/content/docs/latest/tutorials/operators.md +++ b/site/content/docs/latest/tutorials/operators.md @@ -23,7 +23,7 @@ featureFlags: Since Kubeapps 2.0, Operators are available by default. Once you access to the dashboard, if you click on the menu icon and select "Operators", you will see a message alerting that the OLM is not installed: -![OLM Not Intalled](../img/OLM-not-installed.png) +![OLM Not Installed](../img/OLM-not-installed.png) Follow the instructions to install the latest OLM version. For example: diff --git a/site/data/docs/latest-toc.yml b/site/data/docs/latest-toc.yml index 307938c336f..ec824c91509 100644 --- a/site/data/docs/latest-toc.yml +++ b/site/data/docs/latest-toc.yml @@ -58,7 +58,7 @@ toc: - url: /howto/basic-form-support/ page: Basic Form Support - url: /howto/custom-app-view-support/ - page: Custon App View Support + page: Custom App View Support - url: /howto/custom-form-component-support/ page: Custom Form Component Support - url: /howto/deploying-to-multiple-clusters/ diff --git a/site/themes/template/assets/scss/_footer.scss b/site/themes/template/assets/scss/_footer.scss index 7bec5391d78..9cf7feb88ff 100644 --- a/site/themes/template/assets/scss/_footer.scss +++ b/site/themes/template/assets/scss/_footer.scss @@ -41,7 +41,7 @@ footer { margin: 0; } - .copywrite { + .copyright { padding-right: 10px; font-size: 12px; @@ -104,7 +104,7 @@ footer { display: inline; } - .copywrite { + .copyright { display: block; margin-top: 20px; }