From d789e5775ea3a85478a687ee696a2805c809b6fb Mon Sep 17 00:00:00 2001 From: Patrick Wolf Date: Wed, 25 Sep 2024 00:13:28 +0000 Subject: [PATCH] feat: [CODE-2402] : Update all occurences of 'gitness' to 'harness' within comments and markdown. Updated the logo reference (did not delete the Gitness logo directory yet). No active code changes except display strings. (#2684) * Apply suggestion from code review * updating images for signin and register page. * fix: lint * fix: logo update * revert golangci * Adding more strings and updated the logo. Still need to update the signin page images * Apply suggestion from code review Updating harness logo to use Open Source logo * Update all occurences of 'gitness' to 'harness' within comments and markdown. Updated the logo reference (did not delete the Gitness logo directory yet). No active code changes except display strings. --- .vscode/launch.json | 1 + CONTRIBUTING.md | 14 ++--- Dockerfile | 2 +- Makefile | 8 +-- README.md | 49 ++++++++++-------- app/api/controller/githook/client.go | 6 +-- app/api/controller/githook/controller.go | 2 +- app/api/controller/util.go | 2 +- app/api/handler/githook/post_receive.go | 3 +- app/api/handler/githook/pre_receive.go | 2 +- app/api/handler/githook/update.go | 2 +- app/bootstrap/bootstrap.go | 14 ++--- app/githook/client_rest.go | 10 ++-- app/githook/env.go | 2 +- app/githook/types.go | 2 +- app/gitspace/logutil/stateful_logger.go | 2 +- app/jwt/jwt.go | 3 +- app/pipeline/commit/gitness.go | 4 +- app/pipeline/commit/service.go | 2 +- app/pipeline/converter/jsonnet/jsonnet.go | 4 +- app/pipeline/file/service.go | 4 +- app/pipeline/runner/runner.go | 4 +- app/server/server.go | 2 +- app/services/aiagent/aiagent.go | 2 +- app/services/webhook/types.go | 2 +- app/store/database/gitspace_config.go | 2 +- app/store/database/gitspace_instance.go | 2 +- app/url/provider.go | 6 +-- charts/gitness/Chart.yaml | 4 +- cli/operations/server/config.go | 4 +- infraprovider/docker_provider.go | 2 +- types/check.go | 2 +- types/config.go | 8 +-- web/src/cde-gitness/strings/strings.en.yaml | 4 +- .../HarnessLogo/HarnessLogo.module.scss | 36 +++++++++++++ .../HarnessLogo/HarnessLogo.module.scss.d.ts | 21 ++++++++ .../components/HarnessLogo/HarnessLogo.tsx | 36 +++++++++++++ web/src/components/HarnessLogo/harness.svg | 5 ++ web/src/i18n/strings.en.yaml | 6 +-- web/src/images/gitLogo.png | Bin 3728 -> 17061 bytes web/src/images/gitnessIcon.png | Bin 0 -> 3728 bytes web/src/images/signup-gitness.png | Bin 0 -> 21994 bytes web/src/images/signup.png | Bin 21994 -> 62773 bytes web/src/index.html | 2 +- web/src/index_public.html | 2 +- web/src/layouts/layout.tsx | 4 +- 46 files changed, 198 insertions(+), 96 deletions(-) create mode 100644 web/src/components/HarnessLogo/HarnessLogo.module.scss create mode 100644 web/src/components/HarnessLogo/HarnessLogo.module.scss.d.ts create mode 100644 web/src/components/HarnessLogo/HarnessLogo.tsx create mode 100644 web/src/components/HarnessLogo/harness.svg create mode 100644 web/src/images/gitnessIcon.png create mode 100644 web/src/images/signup-gitness.png diff --git a/.vscode/launch.json b/.vscode/launch.json index c08542f19..35a9bc7af 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -5,6 +5,7 @@ "version": "0.2.0", "configurations": [ { + //TODO update this when we are ready to cutover "name": "Gitness", "type": "go", "request": "launch", diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index eff09ba09..572a7ec27 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,12 +1,12 @@ -# Contributing to Gitness +# Contributing to Harness -Thank you for your interest in contributing to the Gitness project. Gitnes uses GitHub to manage reviews of pull requests. +Thank you for your interest in open source contributions to Harness. Harness uses GitHub to manage open source reviews of pull requests. * If you are a new contributor see: [Steps to Contribute](#steps-to-contribute) * If you have a minor fix or improvement, feel free to create a pull request. Please provide necessary details in the pull request description and use a meaningful title. -* If you plan to do something more involved, first discuss your ideas by [raising an issue](https://github.com/harness/gitness/issues). This will avoid unnecessary work and surely give you and us a good deal of inspiration. +* If you plan to do something more involved, first discuss your ideas by [raising an issue](https://github.com/harness/harness/issues). This will avoid unnecessary work and surely give you and us a good deal of inspiration. * Relevant coding style guidelines are @@ -19,11 +19,11 @@ Thank you for your interest in contributing to the Gitness project. Gitnes uses Should you wish to work on an issue, please claim it first by commenting on the GitHub issue that you want to work on. This is to prevent duplicated efforts from contributors on the same issue. -Please check the [`good-first-issue`](https://github.com/harness/gitness/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) label to find issues that are good for getting started. If you have questions about one of the issues, with or without the tag, please comment on them and one of the maintainers will clarify it. For a quicker response, contact us over [slack](https://docs.gitness.com/support#slack) or join our [weekly office hours](https://docs.gitness.com/support#weekly-office-hours). +Please check the [`good-first-issue`](https://github.com/harness/harness/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) label to find issues that are good for getting started. If you have questions about one of the issues, with or without the tag, please comment on them and one of the maintainers will clarify it. For a quicker response, contact us over [slack](https://developer.harness.io/docs/open-source/support#slack). ### Local Development -Please review [Gitness development](https://github.com/harness/gitness/tree/main?tab=readme-ov-file#gitness-development) to build and test your code locally. +Please review [Harness development](https://github.com/harness/harness/tree/main?tab=readme-ov-file#harness-development) to build and test your code locally. ### Pre-commit Hook @@ -31,7 +31,7 @@ We have a pre-commit hook to ensure code quality before committing changes. This ### Lint Check -Our CI Linter pipeline conducts automated checks for code quality, with [separate lint checks for Go and TypeScript](https://github.com/harness/gitness/blob/main/.github/workflows/ci-lint.yml). These checks help ensure adherence to coding standards and identify potential issues early in the development process. Thank you for contributing to our code quality efforts! +Our CI Linter pipeline conducts automated checks for code quality, with [separate lint checks for Go and TypeScript](https://github.com/harness/harness/blob/main/.github/workflows/ci-lint.yml). These checks help ensure adherence to coding standards and identify potential issues early in the development process. Thank you for contributing to our code quality efforts! ## Pull Request Checklist @@ -45,7 +45,7 @@ Our CI Linter pipeline conducts automated checks for code quality, with [separat ## Dependency management -The Gitness project uses [Go modules](https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more) to manage dependencies on external packages. +Harness uses [Go modules](https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more) to manage dependencies on external packages. To add or update a new dependency, use the `go get` command: diff --git a/Dockerfile b/Dockerfile index 9880307c4..7aa4fc693 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,7 +16,7 @@ COPY ./web . RUN yarn && yarn build && yarn cache clean # ---------------------------------------------------------# -# Build gitness image # +# Build Harness image # # ---------------------------------------------------------# FROM --platform=$BUILDPLATFORM golang:1.22-alpine3.18 as builder diff --git a/Makefile b/Makefile index 11ff327df..f46d7f23d 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ init: ## Install git hooks to perform pre-commit checks git config core.hooksPath .githooks git config commit.template .gitmessage -dep: $(deps) ## Install the deps required to generate code and build gitness +dep: $(deps) ## Install the deps required to generate code and build Harness @echo "Installing dependencies" @go mod download @@ -34,12 +34,12 @@ tools: $(tools) ## Install tools required for the build ############################################################################### # -# Gitness Build and testing rules +# Harness Build and testing rules # ############################################################################### -build: generate ## Build the all-in-one gitness binary - @echo "Building Gitness Server" +build: generate ## Build the all-in-one Harness binary + @echo "Building Harness Server" go build -o ./gitness ./cmd/gitness test: generate ## Run the go tests diff --git a/README.md b/README.md index 1cba18608..dd3dde2fc 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,45 @@ -# Gitness -Gitness is an open source development platform packed with the power of code hosting and automated DevOps pipelines. +# Harness +Harness is an open source development platform packed with the power of code hosting, automated DevOps pipelines, Gitspaces, and artifact registries. ## Overview -Gitness is an open source development platform packed with the power of code hosting and automated continuous integration pipelines. +Harness is an open source development platform packed with the power of code hosting, automated DevOps pipelines, Gitspaces, and artifact registries. -## Running Gitness locally -> The latest publicly released docker image can be found on [harness/gitness](https://hub.docker.com/r/harness/gitness). -To install Gitness yourself, simply run the command below. Once the container is up, you can visit http://localhost:3000 in your browser. +## Running Harness locally +> The latest publicly released docker image can be found on [harness/harness](https://hub.docker.com/r/harness/harness). + +To install Harness yourself, simply run the command below. Once the container is up, you can visit http://localhost:3000 in your browser. ```bash docker run -d \ -p 3000:3000 \ + -p 22:22 \ -v /var/run/docker.sock:/var/run/docker.sock \ - -v /tmp/gitness:/data \ - --name gitness \ + -v /tmp/harness:/data \ + --name harness \ --restart always \ - harness/gitness + harness/harness ``` -> The Gitness image uses a volume to store the database and repositories. It is highly recommended to use a bind mount or named volume as otherwise all data will be lost once the container is stopped. +> The Harness image uses a volume to store the database and repositories. It is highly recommended to use a bind mount or named volume as otherwise all data will be lost once the container is stopped. -See [docs.gitness.com](https://docs.gitness.com) to learn how to get the most out of Gitness. +// TODO: @Dewan - let me know the correct doc URL +See [developer.harness.com](https://developer.harness.io/docs/open-source) to learn how to get the most out of Harness. ## Where is Drone? -Gitness represents a massive investment in the next generation of Drone. Where Drone focused on continuous integration, Gitness adds source code hosting, bringing code management and pipelines closer together. +Harness Open Source represents a massive investment in the next generation of Drone. Where Drone focused solely on continuous integration, Harness adds source code hosting, developer environments (gitspaces), and artifact regestries; providing teams with an end-to-end, open source DevOps platform. -The goal is for Gitness to eventually be at full parity with Drone in terms of pipeline capabilities, allowing users to seemlessly migrate from Drone to Gitness. +The goal is for Harness to eventually be at full parity with Drone in terms of pipeline capabilities, allowing users to seemlessly migrate from Drone to Harness. -But, we expect this to take some time, which is why we took a snapshot of Drone as a feature branch [drone](https://github.com/harness/gitness/tree/drone) ([README](https://github.com/harness/gitness/blob/drone/.github/readme.md)) so it can continue development. +But, we expect this to take some time, which is why we took a snapshot of Drone as a feature branch [drone](https://github.com/harness/harness/tree/drone) ([README](https://github.com/harness/harness/blob/drone/.github/readme.md)) so it can continue development. -As for Gitness, the development is taking place on the [main](https://github.com/harness/gitness/tree/main) branch. +As for Harness, the development is taking place on the [main](https://github.com/harness/harness/tree/main) branch. -For more information on Gitness, please visit [gitness.com](https://gitness.com/). +For more information on Harness, please visit [developer.harness.com](https://developer.harness.com/). For more information on Drone, please visit [drone.io](https://www.drone.io/). -## Gitness Development +## Harness Open Source Development ### Pre-Requisites Install the latest stable version of Node and Go version 1.20 or higher, and then install the below Go programs. Ensure the GOPATH [bin directory](https://go.dev/doc/gopath_code#GOPATH) is added to your PATH. @@ -71,7 +74,7 @@ $ yarn build $ popd ``` -After that, you can build the gitness binary: +After that, you can build the Harness binary: ```bash $ make build @@ -87,11 +90,11 @@ To start the server at `localhost:3000`, simply run the following command: ./gitness server .local.env ``` -### Auto-Generate Gitness API Client used by UI using Swagger +### Auto-Generate Harness API Client used by UI using Swagger Please make sure to update the autogenerated client code used by the UI when adding new rest APIs. To regenerate the code, please execute the following steps: -- Regenerate swagger with latest gitness binary `./gitness swagger > web/src/services/code/swagger.yaml` +- Regenerate swagger with latest Harness binary `./gitness swagger > web/src/services/code/swagger.yaml` - navigate to the `web` folder and run `yarn services` The latest API changes should now be reflected in `web/src/services/code/index.tsx` @@ -115,7 +118,7 @@ This project includes a swagger specification. When you run the application, you For registry endpoints, currently swagger is located on different endpoint `http://localhost:3000/registry/swagger/` (for raw json see `http://localhost:3000/registry/swagger.json`). These will be later moved to the main swagger endpoint. -For testing, it's simplest to just use the cli to create a token (this requires gitness server to run): +For testing, it's simplest to just use the cli to create a token (this requires Harness server to run): ```bash # LOGIN (user: admin, pw: changeit) $ ./gitness login @@ -143,8 +146,8 @@ $ ./gitness --help ## Contributing -Refer to [CONTRIBUTING.md](https://github.com/harness/gitness/blob/main/CONTRIBUTING.md) +Refer to [CONTRIBUTING.md](https://github.com/harness/harness/blob/main/CONTRIBUTING.md) ## License -Apache License 2.0, see [LICENSE](https://github.com/harness/gitness/blob/main/LICENSE). \ No newline at end of file +Apache License 2.0, see [LICENSE](https://github.com/harness/harness/blob/main/LICENSE). \ No newline at end of file diff --git a/app/api/controller/githook/client.go b/app/api/controller/githook/client.go index 07879f996..1d573fc12 100644 --- a/app/api/controller/githook/client.go +++ b/app/api/controller/githook/client.go @@ -74,7 +74,7 @@ func (c *ControllerClient) PreReceive( out, err := c.githookCtrl.PreReceive( ctx, - c.git, // gitness doesn't require any custom git connector. + c.git, // Harness doesn't require any custom git connector. nil, // TODO: update once githooks are auth protected types.GithookPreReceiveInput{ GithookInputBase: c.baseInput, @@ -96,7 +96,7 @@ func (c *ControllerClient) Update( out, err := c.githookCtrl.Update( ctx, - c.git, // gitness doesn't require any custom git connector. + c.git, // Harness doesn't require any custom git connector. nil, // TODO: update once githooks are auth protected types.GithookUpdateInput{ GithookInputBase: c.baseInput, @@ -118,7 +118,7 @@ func (c *ControllerClient) PostReceive( out, err := c.githookCtrl.PostReceive( ctx, - c.git, // gitness doesn't require any custom git connector. + c.git, // Harness doesn't require any custom git connector. nil, // TODO: update once githooks are auth protected types.GithookPostReceiveInput{ GithookInputBase: c.baseInput, diff --git a/app/api/controller/githook/controller.go b/app/api/controller/githook/controller.go index e15da51f0..ee7b38e7d 100644 --- a/app/api/controller/githook/controller.go +++ b/app/api/controller/githook/controller.go @@ -99,7 +99,7 @@ func (c *Controller) getRepoCheckAccess(ctx context.Context, return nil, fmt.Errorf("failed to find repo with id %d: %w", repoID, err) } - // TODO: execute permission check. block anything but gitness service? + // TODO: execute permission check. block anything but Harness service? return repo, nil } diff --git a/app/api/controller/util.go b/app/api/controller/util.go index 0299798b7..df34f892e 100644 --- a/app/api/controller/util.go +++ b/app/api/controller/util.go @@ -69,7 +69,7 @@ func CreateRPCExternalWriteParams( } // CreateRPCInternalWriteParams creates base write parameters for git internal write operations. -// Internal write operations are git pushes that originate from the Gitness server. +// Internal write operations are git pushes that originate from the Harness server. func CreateRPCInternalWriteParams( ctx context.Context, urlProvider url.Provider, diff --git a/app/api/handler/githook/post_receive.go b/app/api/handler/githook/post_receive.go index e43996191..1eb408c71 100644 --- a/app/api/handler/githook/post_receive.go +++ b/app/api/handler/githook/post_receive.go @@ -40,8 +40,7 @@ func HandlePostReceive( render.BadRequestf(ctx, w, "Invalid Request Body: %s.", err) return } - - // gitness doesn't require any custom git connector. + // Harness doesn't require any custom git connector. out, err := githookCtrl.PostReceive(ctx, git, session, in) if err != nil { render.TranslatedUserError(ctx, w, err) diff --git a/app/api/handler/githook/pre_receive.go b/app/api/handler/githook/pre_receive.go index 8d48946c3..7a0baed29 100644 --- a/app/api/handler/githook/pre_receive.go +++ b/app/api/handler/githook/pre_receive.go @@ -41,7 +41,7 @@ func HandlePreReceive( return } - // gitness doesn't require any custom git connector. + // Harness doesn't require any custom git connector. out, err := githookCtrl.PreReceive(ctx, git, session, in) if err != nil { render.TranslatedUserError(ctx, w, err) diff --git a/app/api/handler/githook/update.go b/app/api/handler/githook/update.go index e92230f05..2609657f0 100644 --- a/app/api/handler/githook/update.go +++ b/app/api/handler/githook/update.go @@ -41,7 +41,7 @@ func HandleUpdate( return } - // gitness doesn't require any custom git connector. + // Harness doesn't require any custom git connector. out, err := githookCtrl.Update(ctx, git, session, in) if err != nil { render.TranslatedUserError(ctx, w, err) diff --git a/app/bootstrap/bootstrap.go b/app/bootstrap/bootstrap.go index 061f6e543..6398b372b 100644 --- a/app/bootstrap/bootstrap.go +++ b/app/bootstrap/bootstrap.go @@ -28,8 +28,8 @@ import ( "github.com/rs/zerolog/log" ) -// systemServicePrincipal is the principal representing gitness. -// It is used for all operations executed by gitness itself. +// systemServicePrincipal is the principal representing Harness. +// It is used for all operations executed by Harness itself. var systemServicePrincipal *types.Principal var ErrAdminEmailRequired = errors.New("config.Principal.Admin.Email is required") @@ -42,7 +42,7 @@ func NewSystemServiceSession() *auth.Session { } // pipelineServicePrincipal is the principal that is used during -// pipeline executions for calling gitness APIs. +// pipeline executions for calling Harness APIs. var pipelineServicePrincipal *types.Principal func NewPipelineServiceSession() *auth.Session { @@ -53,7 +53,7 @@ func NewPipelineServiceSession() *auth.Session { } // gitspaceServicePrincipal is the principal that is used during -// gitspace token injection for calling gitness APIs. +// gitspace token injection for calling Harness APIs. var gitspaceServicePrincipal *types.Principal func NewGitspaceServiceSession() *auth.Session { @@ -147,7 +147,7 @@ func createAdminUser( return usr, nil } -// SystemService sets up the gitness service principal that is used for +// SystemService sets up the Harness service principal that is used for // resources that are automatically created by the system. func SystemService( ctx context.Context, @@ -181,7 +181,7 @@ func SystemService( } // PipelineService sets up the pipeline service principal that is used during -// pipeline executions for calling gitness APIs. +// pipeline executions for calling Harness APIs. func PipelineService( ctx context.Context, config *types.Config, @@ -211,7 +211,7 @@ func PipelineService( } // GitspaceService sets up the gitspace service principal that is used during -// gitspace credential injection for calling gitness APIs. +// gitspace credential injection for calling Harness APIs. func GitspaceService( ctx context.Context, config *types.Config, diff --git a/app/githook/client_rest.go b/app/githook/client_rest.go index b5dbad043..c10e49ca1 100644 --- a/app/githook/client_rest.go +++ b/app/githook/client_rest.go @@ -41,7 +41,7 @@ const ( HTTPRequestPathUpdate = "update" ) -// RestClientFactory creates clients that make rest api calls to gitness to execute githooks. +// RestClientFactory creates clients that make rest api calls to Harness to execute githooks. type RestClientFactory struct{} func (f *RestClientFactory) NewClient(envVars map[string]string) (hook.Client, error) { @@ -62,7 +62,7 @@ func (f *RestClientFactory) NewClient(envVars map[string]string) (hook.Client, e return NewRestClient(payload), nil } -// RestClient is the hook.Client used to call the githooks api of gitness api server. +// RestClient is the hook.Client used to call the githooks api of Harness api server. type RestClient struct { httpClient *http.Client baseURL string @@ -81,7 +81,7 @@ func NewRestClient( } } -// PreReceive calls the pre-receive githook api of the gitness api server. +// PreReceive calls the pre-receive githook api of the Harness api server. func (c *RestClient) PreReceive( ctx context.Context, in hook.PreReceiveInput, @@ -92,7 +92,7 @@ func (c *RestClient) PreReceive( }) } -// Update calls the update githook api of the gitness api server. +// Update calls the update githook api of the Harness api server. func (c *RestClient) Update( ctx context.Context, in hook.UpdateInput, @@ -103,7 +103,7 @@ func (c *RestClient) Update( }) } -// PostReceive calls the post-receive githook api of the gitness api server. +// PostReceive calls the post-receive githook api of the Harness api server. func (c *RestClient) PostReceive( ctx context.Context, in hook.PostReceiveInput, diff --git a/app/githook/env.go b/app/githook/env.go index 3ea9fc45b..956cbb741 100644 --- a/app/githook/env.go +++ b/app/githook/env.go @@ -33,7 +33,7 @@ var ( // GenerateEnvironmentVariables generates the required environment variables for a payload // constructed from the provided parameters. -// The parameter `internal` should be true if the call is coming from the Gitness +// The parameter `internal` should be true if the call is coming from the Harness // and therefore protection from rules shouldn't be verified. func GenerateEnvironmentVariables( ctx context.Context, diff --git a/app/githook/types.go b/app/githook/types.go index e10777c6c..8ea55381e 100644 --- a/app/githook/types.go +++ b/app/githook/types.go @@ -27,7 +27,7 @@ type Payload struct { PrincipalID int64 RequestID string Disabled bool - Internal bool // Internal calls originate from Gitness, and external calls are direct git pushes. + Internal bool // Internal calls originate from Harness, and external calls are direct git pushes. } func (p Payload) Validate() error { diff --git a/app/gitspace/logutil/stateful_logger.go b/app/gitspace/logutil/stateful_logger.go index 8324e79b7..4ad018993 100644 --- a/app/gitspace/logutil/stateful_logger.go +++ b/app/gitspace/logutil/stateful_logger.go @@ -48,7 +48,7 @@ func NewStatefulLogger(logz livelog.LogStream) *StatefulLogger { // GetLogStream returns an instance of LogStreamInstance tied to the given id. func (s *StatefulLogger) CreateLogStream(ctx context.Context, id int64) (*LogStreamInstance, error) { // TODO: As livelog.LogStreamInstance uses only a single id as key, conflicts are likely if pipelines and gitspaces - // are used in the same instance of Gitness. We need to update the underlying implementation to use another unique + // are used in the same instance of Harness. We need to update the underlying implementation to use another unique // key. To avoid that, we offset the ID by offset (1000000000). offsetID := offset + id diff --git a/app/jwt/jwt.go b/app/jwt/jwt.go index 9aaeee722..7c8a086f1 100644 --- a/app/jwt/jwt.go +++ b/app/jwt/jwt.go @@ -25,6 +25,7 @@ import ( ) const ( + //TODO: Update when ready to change repo and build issuer = "Gitness" ) @@ -35,7 +36,7 @@ const ( OciSource Source = "oci" ) -// Claims defines gitness jwt claims. +// Claims defines Harness jwt claims. type Claims struct { jwt.StandardClaims diff --git a/app/pipeline/commit/gitness.go b/app/pipeline/commit/gitness.go index db7de2c50..e1438b158 100644 --- a/app/pipeline/commit/gitness.go +++ b/app/pipeline/commit/gitness.go @@ -30,7 +30,7 @@ func newService(git git.Interface) Service { return &service{git: git} } -// FindRef finds information about a commit in gitness for the git ref. +// FindRef finds information about a commit in Harness for the git ref. // This is using the branch only as the ref at the moment, can be changed // when needed to take any ref (like sha, tag). func (f *service) FindRef( @@ -53,7 +53,7 @@ func (f *service) FindRef( return controller.MapCommit(branchOutput.Branch.Commit) } -// FindCommit finds information about a commit in gitness for the git SHA. +// FindCommit finds information about a commit in Harness for the git SHA. func (f *service) FindCommit( ctx context.Context, repo *types.Repository, diff --git a/app/pipeline/commit/service.go b/app/pipeline/commit/service.go index 9aa5570a5..8531e0187 100644 --- a/app/pipeline/commit/service.go +++ b/app/pipeline/commit/service.go @@ -22,7 +22,7 @@ import ( type ( // Service provides access to commit information via - // the SCM provider. Today, this is gitness but it can + // the SCM provider. Today, this is Harness but it can // be extendible to any SCM provider. Service interface { // ref is the ref to fetch the commit from, eg refs/heads/master diff --git a/app/pipeline/converter/jsonnet/jsonnet.go b/app/pipeline/converter/jsonnet/jsonnet.go index 4b8655278..325753921 100644 --- a/app/pipeline/converter/jsonnet/jsonnet.go +++ b/app/pipeline/converter/jsonnet/jsonnet.go @@ -161,7 +161,7 @@ func Parse( // mapBuild populates build variables available to jsonnet templates. // Since we want to maintain compatibility with drone, the older format -// needs to be maintained (even if the variables do not exist in gitness). +// needs to be maintained (even if the variables do not exist in Harness). func mapBuild(v *types.Execution, vm *jsonnet.VM) { vm.ExtVar(build+"event", string(v.Event)) vm.ExtVar(build+"action", string(v.Action)) @@ -188,7 +188,7 @@ func mapBuild(v *types.Execution, vm *jsonnet.VM) { // mapBuild populates repo level variables available to jsonnet templates. // Since we want to maintain compatibility with drone 2.x, the older format -// needs to be maintained (even if the variables do not exist in gitness). +// needs to be maintained (even if the variables do not exist in Harness). func mapRepo(v *types.Repository, p *types.Pipeline, vm *jsonnet.VM, publicRepo bool) { namespace := v.Path idx := strings.LastIndex(v.Path, "/") diff --git a/app/pipeline/file/service.go b/app/pipeline/file/service.go index 00df8913b..0b9d3e242 100644 --- a/app/pipeline/file/service.go +++ b/app/pipeline/file/service.go @@ -28,9 +28,9 @@ type ( } // Service provides access to contents of files in - // the SCM provider. Today, this is gitness but it should + // the SCM provider. Today, this is Harness but it should // be extendible to any SCM provider. - // The plan is for all remote repos to be pointers inside gitness + // The plan is for all remote repos to be pointers inside Harness // so a repo entry would always exist. If this changes, the interface // can be updated. Service interface { diff --git a/app/pipeline/runner/runner.go b/app/pipeline/runner/runner.go index 59defc213..e3b71fed5 100644 --- a/app/pipeline/runner/runner.go +++ b/app/pipeline/runner/runner.go @@ -51,7 +51,7 @@ var Privileged = []string{ } // dockerOpts returns back the options to be overridden from docker options set -// in the environment. If values are specified in gitness, they get preference. +// in the environment. If values are specified in Harness, they get preference. func dockerOpts(config *types.Config) []dockerclient.Opt { var overrides []dockerclient.Opt @@ -71,7 +71,7 @@ func NewExecutionRunner( resolver *resolver.Manager, ) (*runtime2.Runner, error) { // For linux/windows, containers need to have extra hosts set in order to interact with - // gitness. For docker desktop for mac, this is built in and not needed. + // Harness. For docker desktop for mac, this is built in and not needed. extraHosts := []string{} if goruntime.GOOS != "darwin" { extraHosts = []string{"host.docker.internal:host-gateway"} diff --git a/app/server/server.go b/app/server/server.go index 848573378..c17c8506d 100644 --- a/app/server/server.go +++ b/app/server/server.go @@ -19,7 +19,7 @@ import ( "github.com/harness/gitness/http" ) -// Server is the http server for gitness. +// Server is the http server for Harness. type Server struct { *http.Server } diff --git a/app/services/aiagent/aiagent.go b/app/services/aiagent/aiagent.go index d04605054..6ebda285b 100644 --- a/app/services/aiagent/aiagent.go +++ b/app/services/aiagent/aiagent.go @@ -95,7 +95,7 @@ type PipelineYaml struct { Yaml string `yaml:"yaml"` } -// CapabilitiesLoop TODO: this should be replaced with an async model for Harness Enterprise, but remain for gitness. +// CapabilitiesLoop TODO: this should be replaced with an async model for Harness Enterprise, but remain for Harness. func (s *HarnessIntelligence) CapabilitiesLoop( ctx context.Context, req *genai.ChatRequest) (*genai.ChatRequest, error) { returnToUser := false diff --git a/app/services/webhook/types.go b/app/services/webhook/types.go index 3327dcbaf..36c491746 100644 --- a/app/services/webhook/types.go +++ b/app/services/webhook/types.go @@ -281,7 +281,7 @@ func identityInfoFrom(identity git.Identity) IdentityInfo { } } -// ReferenceInfo describes a unique reference in gitness. +// ReferenceInfo describes a unique reference in Harness. // It contains both the reference name as well as the repo the reference belongs to. type ReferenceInfo struct { Name string `json:"name"` diff --git a/app/store/database/gitspace_config.go b/app/store/database/gitspace_config.go index 34b88aafb..39e494756 100644 --- a/app/store/database/gitspace_config.go +++ b/app/store/database/gitspace_config.go @@ -72,7 +72,7 @@ type gitspaceConfig struct { CodeRepoURL string `db:"gconf_code_repo_url"` DevcontainerPath null.String `db:"gconf_devcontainer_path"` Branch string `db:"gconf_branch"` - // TODO: migrate to principal int64 id to use principal cache and consistent with gitness code. + // TODO: migrate to principal int64 id to use principal cache and consistent with Harness code. UserUID string `db:"gconf_user_uid"` SpaceID int64 `db:"gconf_space_id"` Created int64 `db:"gconf_created"` diff --git a/app/store/database/gitspace_instance.go b/app/store/database/gitspace_instance.go index 14f4f3a7d..aeb1f1d3c 100644 --- a/app/store/database/gitspace_instance.go +++ b/app/store/database/gitspace_instance.go @@ -59,7 +59,7 @@ type gitspaceInstance struct { GitSpaceConfigID int64 `db:"gits_gitspace_config_id"` URL null.String `db:"gits_url"` State enum.GitspaceInstanceStateType `db:"gits_state"` - // TODO: migrate to principal int64 id to use principal cache and consistent with gitness code. + // TODO: migrate to principal int64 id to use principal cache and consistent with Harness code. UserUID string `db:"gits_user_uid"` ResourceUsage null.String `db:"gits_resource_usage"` SpaceID int64 `db:"gits_space_id"` diff --git a/app/url/provider.go b/app/url/provider.go index cd43f078b..81248f9ac 100644 --- a/app/url/provider.go +++ b/app/url/provider.go @@ -43,7 +43,7 @@ type Provider interface { GetInternalAPIURL(ctx context.Context) string // GenerateContainerGITCloneURL generates a URL that can be used by CI container builds to - // interact with gitness and clone a repo. + // interact with Harness and clone a repo. GenerateContainerGITCloneURL(ctx context.Context, repoPath string) string // GenerateGITCloneURL generates the public git clone URL for the provided repo path. @@ -79,13 +79,13 @@ type Provider interface { RegistryURL() string } -// Provider provides the URLs of the gitness system. +// Provider provides the URLs of the Harness system. type provider struct { // internalURL stores the URL via which the service is reachable at internally // (no need for internal services to go via public route). internalURL *url.URL - // containerURL stores the URL that can be used to communicate with gitness from inside a + // containerURL stores the URL that can be used to communicate with Harness from inside a // build container. containerURL *url.URL diff --git a/charts/gitness/Chart.yaml b/charts/gitness/Chart.yaml index 75fed5503..69565171e 100644 --- a/charts/gitness/Chart.yaml +++ b/charts/gitness/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 -name: gitness -description: A Helm chart for gitness +name: harness-open-source +description: A Helm chart for Harness Open Source # A chart can be either an 'application' or a 'library' chart. # diff --git a/cli/operations/server/config.go b/cli/operations/server/config.go index f1408aa70..7ac8baf71 100644 --- a/cli/operations/server/config.go +++ b/cli/operations/server/config.go @@ -351,7 +351,7 @@ func ProvideTriggerConfig(config *types.Config) trigger.Config { } } -// ProvideLockConfig generates the `lock` package config from the gitness config. +// ProvideLockConfig generates the `lock` package config from the Harness config. func ProvideLockConfig(config *types.Config) lock.Config { return lock.Config{ App: config.Lock.AppNamespace, @@ -414,7 +414,7 @@ func ProvideDockerConfig(config *types.Config) (*infraprovider.DockerConfig, err if config.Docker.MachineHostName == "" { gitnessBaseURL, err := url.Parse(config.URL.Base) if err != nil { - return nil, fmt.Errorf("unable to parse Gitness base URL %s: %w", gitnessBaseURL, err) + return nil, fmt.Errorf("unable to parse Harness base URL %s: %w", gitnessBaseURL, err) } config.Docker.MachineHostName = gitnessBaseURL.Hostname() } diff --git a/infraprovider/docker_provider.go b/infraprovider/docker_provider.go index 4f9856123..d702b6579 100644 --- a/infraprovider/docker_provider.go +++ b/infraprovider/docker_provider.go @@ -48,7 +48,7 @@ func NewDockerProvider( } } -// Provision assumes a docker engine is already running on the gitness host machine and re-uses that as infra. +// Provision assumes a docker engine is already running on the Harness host machine and re-uses that as infra. // It does not start docker engine. It creates a docker volume using the given gitspace config identifier. func (d DockerProvider) Provision( ctx context.Context, diff --git a/types/check.go b/types/check.go index ed4f717e1..190e555e1 100644 --- a/types/check.go +++ b/types/check.go @@ -92,7 +92,7 @@ type CheckPayloadText struct { } // CheckPayloadInternal is for internal use for more seamless integration for -// gitness CI status checks. +// Harness CI status checks. type CheckPayloadInternal struct { Number int64 `json:"execution_number"` RepoID int64 `json:"repo_id"` diff --git a/types/config.go b/types/config.go index edc680691..2cffac410 100644 --- a/types/config.go +++ b/types/config.go @@ -28,7 +28,7 @@ import ( // Config stores the system configuration. type Config struct { - // InstanceID specifis the ID of the gitness instance. + // InstanceID specifis the ID of the Harness instance. // NOTE: If the value is not provided the hostname of the machine is used. InstanceID string `envconfig:"GITNESS_INSTANCE_ID"` @@ -70,7 +70,7 @@ type Config struct { GitSSH string `envconfig:"GITNESS_URL_GIT_SSH"` // API defines the external URL via which the rest API is reachable. - // NOTE: for routing to work properly, the request path reaching gitness has to end with `/api` + // NOTE: for routing to work properly, the request path reaching Harness has to end with `/api` // (this could be after proxy path rewrite). // Value is derived from Base unless explicitly specified (e.g. http://localhost:3000/api). API string `envconfig:"GITNESS_URL_API"` @@ -84,7 +84,7 @@ type Config struct { Internal string `envconfig:"GITNESS_URL_INTERNAL"` // Container is the endpoint that can be used by running container builds to communicate - // with gitness (for example while performing a clone on a local repo). + // with Harness (for example while performing a clone on a local repo). // host.docker.internal allows a running container to talk to services exposed on the host // (either running directly or via a port exposed in a docker container). // Value is derived from HTTP.Server unless explicitly specified (e.g. http://host.docker.internal:3000). @@ -169,7 +169,7 @@ type Config struct { // should be attached to. // This can be needed when we don't want to use host.docker.internal (eg when a service mesh // or proxy is being used) and instead want all the containers to run on the same network as - // the gitness container so that they can interact via the container name. + // the Harness container so that they can interact via the container name. // In that case, GITNESS_URL_CONTAINER should also be changed // (eg to http://:). ContainerNetworks []string `envconfig:"GITNESS_CI_CONTAINER_NETWORKS"` diff --git a/web/src/cde-gitness/strings/strings.en.yaml b/web/src/cde-gitness/strings/strings.en.yaml index ea32bd2f4..0451d51fd 100644 --- a/web/src/cde-gitness/strings/strings.en.yaml +++ b/web/src/cde-gitness/strings/strings.en.yaml @@ -70,13 +70,13 @@ listing: ownerAndCreated: Owner & Created On create: repositoryDetails: Repository Details - gitnessRepositories: Gitness Repositories + gitnessRepositories: Harness Repositories thirdPartyGitRepositories: Other Public Git Repositories branchPlaceholder: Enter the Branch name selectBranchPlaceholder: Select branch searchRepositoryPlaceholder: Search for a repository searchBranchPlaceholder: Search for a branch - repoNotFound: 'Create a repo {{repo}} in Gitness' + repoNotFound: 'Create a repo {{repo}}' gitspaceCreateSuccess: Gitspace created successfully gitspaceCreateFailed: Gitspace creation failed subtext: Start Coding, no setup required. Dedicated cloud development environments with your favorite editor. diff --git a/web/src/components/HarnessLogo/HarnessLogo.module.scss b/web/src/components/HarnessLogo/HarnessLogo.module.scss new file mode 100644 index 000000000..96ed012f3 --- /dev/null +++ b/web/src/components/HarnessLogo/HarnessLogo.module.scss @@ -0,0 +1,36 @@ +/* + * Copyright 2023 Harness, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +.main { + margin: var(--spacing-large) var(--spacing-large) 0 !important; + padding-bottom: 6px !important; + + > a { + display: block; + } + + .layout { + display: inline-flex !important; + align-items: center !important; + } + + .text { + font-size: 20px; + font-style: normal; + font-weight: 600; + color: var(--black); + } +} diff --git a/web/src/components/HarnessLogo/HarnessLogo.module.scss.d.ts b/web/src/components/HarnessLogo/HarnessLogo.module.scss.d.ts new file mode 100644 index 000000000..6f2e90f08 --- /dev/null +++ b/web/src/components/HarnessLogo/HarnessLogo.module.scss.d.ts @@ -0,0 +1,21 @@ +/* + * Copyright 2023 Harness, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* eslint-disable */ +// This is an auto-generated file +export declare const layout: string +export declare const main: string +export declare const text: string diff --git a/web/src/components/HarnessLogo/HarnessLogo.tsx b/web/src/components/HarnessLogo/HarnessLogo.tsx new file mode 100644 index 000000000..f1e735430 --- /dev/null +++ b/web/src/components/HarnessLogo/HarnessLogo.tsx @@ -0,0 +1,36 @@ +/* + * Copyright 2024 Harness, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import React from 'react' +import { Container, Layout } from '@harnessio/uicore' +import { Link } from 'react-router-dom' +import { useAppContext } from 'AppContext' +import harness from './harness.svg?url' +import css from './HarnessLogo.module.scss' + +export const HarnessLogo: React.FC = () => { + const { routes } = useAppContext() + + return ( + + + + + + + + ) +} diff --git a/web/src/components/HarnessLogo/harness.svg b/web/src/components/HarnessLogo/harness.svg new file mode 100644 index 000000000..526cf25dc --- /dev/null +++ b/web/src/components/HarnessLogo/harness.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/web/src/i18n/strings.en.yaml b/web/src/i18n/strings.en.yaml index 957a32894..254e29811 100644 --- a/web/src/i18n/strings.en.yaml +++ b/web/src/i18n/strings.en.yaml @@ -878,12 +878,12 @@ importRepo: passwordReq: Password is required importRepos: title: Import Repositories - content: Import multiple repositories from GitLab Group, GitHub Org or Bitbucket Project to this project in Gitness. + content: Import multiple repositories from GitLab Group, GitHub Org or Bitbucket Project to this project. importSpace: title: Import Project createASpace: Create a project authorization: Authorization - content: Import a GitLab Group, GitHub Org or Bitbucket Project to a new Project in Gitness. Entities at the top level will be imported to the project. + content: Import a GitLab Group, GitHub Org or Bitbucket Project to a new Project. Entities at the top level will be imported to the project. next: Next step details: Details of target to import organizationName: Organization Name @@ -948,7 +948,7 @@ exportSpace: exportRepo: Upgrading {repoCount} {repoCount|1:repository,repositories} spaceUpdate: Project Updated generate: Generate -generateHelptext: Let Gitness build your Pipeline for you. +generateHelptext: Let Harness build your Pipeline for you. enterAddress: Enter Address enterGitlabPlaceholder: https://gitlab.com/ enterGithubPlaceholder: https://api.github.com/ diff --git a/web/src/images/gitLogo.png b/web/src/images/gitLogo.png index 3af17d9716c8c388213405274912c37b4ed02f12..ccd50467a4e4fb52495d64887e45503d4b0f04fe 100644 GIT binary patch literal 17061 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 literal 3728 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 diff --git a/web/src/images/gitnessIcon.png b/web/src/images/gitnessIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..3af17d9716c8c388213405274912c37b4ed02f12 GIT binary patch literal 3728 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 literal 0 HcmV?d00001 diff --git a/web/src/images/signup-gitness.png b/web/src/images/signup-gitness.png new file mode 100644 index 0000000000000000000000000000000000000000..c620a09e8fde33a1b76cb2aced574c4459e32a20 GIT binary patch literal 21994 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 CAM|Db literal 0 HcmV?d00001 diff --git a/web/src/images/signup.png b/web/src/images/signup.png index c620a09e8fde33a1b76cb2aced574c4459e32a20..1761c096db42656f7952f5e43938187c282b5c15 100644 GIT binary patch literal 62773 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%0DDE>qJ*lagZH?p_Mn86x7Sj2lNa5nnd zr^&5FvlQ~%{AHtt_j(6Pw-HlzJrNV10g2b&=OtgvrgPVApG{nmmW_8#CoX*N*Vxmg zMBA}7v#T?s`K<<0xcJzm{<@p7llv;>g{^UAz=`9wp(_1`xC(^Hvi2{%1gaNs01SAujtOpF>B8Z>{YqXJOT( zm^r^J#a}x{WsKqJbj;$4>2dM1i#3Jqa?NGd7b`35l|0O`FiyDIZ0{DCG`R}7M)3}a z?yNt5DXt)V=#bOLzeO=mY_c1Xha)t0xI>irUZ8Kv53O(4y*7CT?WjQ;&M691GX{w5 zhUl-KOyJkPMD~IfmMYY_@ga~B`V#2%zMkmDkm#zXRgA3_n6WXmmnD8*A>fwz$U*;D z!wMWD&KVIWm30lyaQr7dE(*j}P$h(Os92JzmEAznjO$f3RBr6E9uE*O~BsX-q{T! zo8>89GtqY-$(lTTSGex`%V?vL5Cy>yQ?BKm6HB+JzJt&K9!^==bDi7-dA~YgYw6vU zWHv$a<2ki(nY_Gw7xp^cj>3Qo%Vb2sqD{^NwCZ!!s}-V;dmr8bMlL&1gs>O$8JObI zAany1sCAo$hU6>%*@y7n``|!6D-~O(lEo(mB{l62zcl0T$#YRatSf`BqQ1J15ql9R z31WsMDxU)})HTExNoOLT=JLVsxxmu?$ zAc>MnkGQcxpwI_e-ETY4PVAMum1YEWh4E%fhD$Z(PJAzRD-O_&Q*8Kxd8F0rb@>O! zM3^^Rpz&wK@MhBCG(`R^7n-lKAy{wH)e$VSRSkau_|Vq4dq^-;xC`yGl>)K(uXlL- zaPIl*$wCCW6Q0d}0DeaDU6J)cYM+HvKULHwX?z1kt8AY#b&*BYdsJyd$E_pwPgKa9 z>A0rJEhzTI*Kq#~s_dR)O#rcJab`>l)B{_eYVuSKN(b*zYWNvoSGD4(rck!Gq;bDV z`&Lt}HSR`Y+q9GH-xRkhfg~d*0J#5!z<2wMy`0jwr~UcTGh+iSO=eZKSM@zl5BUDG z8XPqG`EH2ozyZ>>=q|mI%_O}xzCwU#*^|+k8S!+z%W6= z!o0%^upbs?{x+&5?a+E=<%B)?F4%QG0BI69K(X{8@qZ4;cPRd($k3Rd_v#$PXn#0C z7WkIH>#%r!klDkkGzVj8P;7yu`Ri+}Vlh9iOWXEDMr!0Qw7kY))cQPG{t2))`wiP} ze^Po5f`380KN?CEwJ{v$XrbdZH=%L{Y3)GDCPHjvY{d6-+JV5X5T49|=3^;1ZEL_Q zj=vP0h}ub|Z7z(9Bffh}-PL#a!S>VtdBN#1fpHN3{>Euwq(@DBjbV$8B3nvJJN1Sa zKDF@FCes}evlmDYLf9XvB1X%|W3&9nb&fLA_$8A4FJk}yxBpi};Ce=YVedBzp;9b6 zZC4-DssIEf&df+J!E;hjm#0#6)otnj_s=e8d}TsO_*tsTt@jA==E;rWl@=wbaJR^- zj6@=gpRD&H+TWZ1$79C%$cD4Oq}0nY{{YcPw1{P zbY|gyf`K;UCI3{hg$$9;s-^Yg8{2>1Y4i#sgZ>9y^fIsge|jo?D&LFq;q;B+c;>&S z$xx7NAe@mF-&OvtuHi$#EvM%*zVO-R-w}%%6iCsCU6k=A`QKvy=c}R5h<+tr?^}QQ R(jdHCit=i2>txM>{};Vt)SCbR literal 21994 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 CAM|Db diff --git a/web/src/index.html b/web/src/index.html index 3d4d33cb1..7c249c36f 100644 --- a/web/src/index.html +++ b/web/src/index.html @@ -7,7 +7,7 @@ - Gitness + Harness Open Source diff --git a/web/src/index_public.html b/web/src/index_public.html index 2de9b1936..6768caf9a 100644 --- a/web/src/index_public.html +++ b/web/src/index_public.html @@ -7,7 +7,7 @@ - Gitness + Harness Open Source diff --git a/web/src/layouts/layout.tsx b/web/src/layouts/layout.tsx index a79586016..7eb2734ca 100644 --- a/web/src/layouts/layout.tsx +++ b/web/src/layouts/layout.tsx @@ -23,7 +23,7 @@ import { useAppContext } from 'AppContext' import { useStrings } from 'framework/strings' import { useDocumentTitle } from 'hooks/useDocumentTitle' import { NavMenuItem } from './menu/NavMenuItem' -import { GitnessLogo } from '../components/GitnessLogo/GitnessLogo' +import { HarnessLogo } from '../components/HarnessLogo/HarnessLogo' import { DefaultMenu } from './menu/DefaultMenu' import css from './layout.module.scss' @@ -43,7 +43,7 @@ export const LayoutWithSideNav: React.FC = ({ title, chi - + {menu}