Skip to content

Commit

Permalink
adding relative paths
Browse files Browse the repository at this point in the history
  • Loading branch information
drifter089 committed Apr 10, 2024
2 parents 8ff0b1c + d944b6a commit ebc0abe
Show file tree
Hide file tree
Showing 126 changed files with 1,996 additions and 2,556 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/hugo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@ jobs:
- name: download dependecies
run : ./scripts/sync-data.sh
- name: Install Node.js dependencies
run: npm ci
run: npm i
- name: Install Dart Sass
run: sudo snap install dart-sass
- name: install hugo
run : sudo snap install hugo
- name : use docker
run : hugo --baseURL https://handbook.gitlab.com
- name : use hugo
run : hugo
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
Expand Down
17 changes: 17 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
.PHONY: all test

.PHONY: clean
clean:
@rm -rf public

sync-data:
@scripts/sync-data.sh

.PHONY: build
build: clean sync-data
@hugo

.PHONY: view
view: clean sync-data
@hugo server

15 changes: 6 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,24 +64,21 @@ cd handbook

Hugo needs to be run to generate the static files from the handbook markdown content.

> **Note**
>
> Docker containers are the only supported method where all additional dependencies and runtimes are preinstalled.
You can use the Hugo container to start a locally running instance of the handbook, and verify how your changes look.

The following command starts the Hugo server, using the [`hugomods/hugo` container image](https://hugomods.com/docs/docker/#image-tags). The `exts` container image tag is important, as it provides the required SASS/CSS conversion tools.
The following command starts the Hugo server, using the [`hugomods/hugo` container image](https://hugomods.com/docs/docker/#image-tags).
The `exts` container image tag is important, as it provides the required SASS/CSS conversion tools.

```sh
docker compose up -d
docker run --rm -v $(pwd):$(pwd) -w $(pwd) --network host hugomods/hugo:exts hugo server
```

This will start the Hugo server listening on `http://localhost:1313`. If that doesn't work, try `http://127.0.0.1:1313`. It may take a couple of minutes to load the first time.

You can also start a new container, and run the commands with Hugo manually.

```sh
docker compose --profile console run --rm console
docker run --rm -it -v $(pwd):$(pwd) -w $(pwd) --network host hugomods/hugo:exts sh

hugo server

Expand All @@ -108,9 +105,9 @@ To render the entire site to disk (and inspect the output in `${PWD}/public`),
purge the generated files first, and then run Hugo.

```sh
rm -rf public/*
make clean

docker compose run --rm hugo hugo
docker run --rm -v $(pwd):$(pwd) -w $(pwd) hugomods/hugo:exts hugo
```

### Linting content
Expand Down
2 changes: 1 addition & 1 deletion config/_default/config.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
baseURL: https://open-energy-transition-hugo-latest.github.io/
relativeURLs: true
languageCode: en-US
locale: en-US
title: The GitLab Handbook
Expand Down Expand Up @@ -110,7 +111,6 @@ security:
getenv: [ "^HUGO_", "PERISCOPE_EMBED_API_KEY", "PRODUCT_ANALYTICS_APP_KEY", "PRODUCT_ANALYTICS_HOST" ]

canonifyURLs: true
enableGitInfo: true
pluralizeListTitles: false
enableEmoji: true

Expand Down
1 change: 0 additions & 1 deletion content/handbook/about/migration-details.md
Original file line number Diff line number Diff line change
Expand Up @@ -1645,7 +1645,6 @@ people-group/employment-branding/index.html.md
people-group/employment-branding/awards-process/index.html.md
people-group/employment-branding/content-library/index.html.md
people-group/employment-branding/glassdoor-escalation/index.html.md
people-group/people-connect-shadow-program/index.html.md
people-group/celebrations/index.html.md
people-group/frequent-requests/index.html.md
people-group/contracts-probation-periods/index.html.md.erb
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,7 @@ To use our credit consumption effectively, we try to minimize the amount of ware
| `gainsight_xs` | This is used for gainsight data pump | 30 |
| `gitlab_postgres` | This is for extraction jobs that pull from GitLab internal Postgres databases | 10 |
| `grafana` | This is exclusively for Grafana to use | 60 |
| `loading` | This is for our Extract and Load jobs and testing new Meltano loaders | 60 |
| `loading` | This is for our Extract and Load jobs and testing new Meltano loaders | 120 |
| `reporting` | This is for the BI tool for querying. | 30* |
| `transforming_xs` | These are for production dbt jobs | 180 |
| `transforming_s` | These are for production dbt jobs | 180 |
Expand Down
103 changes: 56 additions & 47 deletions content/handbook/business-technology/data-team/platform/permifrost.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,31 @@ description: "Manage Snowflake Permissions"
## Quick Links

[Permifrost Project](https://gitlab.com/gitlab-data/permifrost/){:.btn .btn-purple-inv}

[PyPI](https://pypi.org/project/permifrost/){:.btn .btn-purple-inv}

## Permifrost

Permifrost is a python tool for managing permissions on a Snowflake data warehouse. The main documentation for using the tool is available in the project and on PyPI.
![](pf.jpeg)

Permifrost is a Python tool for managing permissions on a Snowflake data warehouse. The main documentation for using the tool is available in the project and on PyPI.

### Caveats

#### :white_check_mark: What Permifrost is and what it is doing

* Supports Snowflake only
* Permifrost takes care of roles and privileges only
* Objects that exist but are not in the config file do not lead to errors
* Is a fully open-source package and everyone can contribute

#### :x: What Permifrost is not and what it is not doing

* Object creation and deletion is not managed by permifrost
* That is, if entire roles are removed from the `roles.yml` file, it will **not** delete them from Snowflake

### Caveats and Errors

- Objects that exist but are not in the config file do not lead to errors
- Role/warehouse/database creation and deletion is not managed by permifrost
- Removing entire roles from the file will **not** delete them
## Contributing

### Development

Expand All @@ -49,56 +63,51 @@ pip install -e '.[dev]'

Once you've committed your changes, submit a merge request and update the default template.

### Release Process

#### Versioning
### Communication

Permifrost uses [semver](https://semver.org/) as its version number scheme.
* For any additional question, contribution or ide, feel free to open a [**new issue**](https://gitlab.com/gitlab-data/permifrost/-/issues/new) in the Permifrost project and, if needed, tag `@gitlab-data/permifrost_maintainers` _(the project maintainers)_
* If you prefer to announce or ask, Slack channel [#tools-permifrost](https://getdbt.slack.com/archives/C01LWQJMMGS) is also a good option.

#### Prerequisites

Ensure you have the latest `master` branch locally before continuing.

```bash
git fetch origin
```

#### Workflow

Permifrost uses tags to create its artifacts. Pushing a new tag to the repository will publish it as docker images and a PyPI package.

1. Ensure your installation is up to date following the Development workflow outlined above

1. Execute the commands below:

```bash
# create and checkout the `release-next` branch from `origin/master`
git checkout -B release-next origin/master

# view changelog (verify changes made match changes logged)
changelog view
### Release Process

# after the changelog has been validated, tag the release
make type=minor release
The release process is described in the template [Release process for Permifrost](https://gitlab.com/gitlab-data/permifrost/-/blob/master/RELEASE.md) with using [Release Permifrost](https://gitlab.com/gitlab-data/permifrost/-/blob/master/.gitlab/issue_templates/Releasing%20update.md) template. For real life example, use [Release `0.15.1`](https://gitlab.com/gitlab-data/permifrost/-/issues/175) as a template.

# If doing a patch release, run
make type=patch release
We set a goal to release a new version of Permifrost at least twice per year. Meanwhile, check our [release history](https://pypi.org/project/permifrost/#history).

# If doing a major release, run
make type=major release
#### Versioning

# ensure the tag once the tag has been created, check the version we just bumped to: e.g. `0.22.0` => `0.23.0`.
git describe --tags --abbrev=0
Permifrost uses [Semantic Versioning 2.0.0](https://semver.org/) as its version number scheme.

# push the tag upstream to trigger the release pipeline
git push origin $(git describe --tags --abbrev=0)
#### Workflow

# push the release branch to merge the new version, then create a merge request
git push origin release-next
```
Permifrost uses tags to create its artifacts. Pushing a new tag to the repository will publish it as docker images and a `PyPI` package. For details, refer to the [Release guideline](https://gitlab.com/gitlab-data/permifrost/-/blob/master/.gitlab/issue_templates/Releasing%20update.md).

Below is the entire workflow for Permifrost contribution and development:

```mermaid
graph TD
ISSUE--Tag permifrost maintainers--> VAL
VAL--permifrost::1 Accepting Merge Requests-->MR
MR--permifrost::2 In-Progress--> MRD
MRD--permifrost::3 In-Review-->APR
APR--Yes-->APR_YES[Adding to chanelog]
APR--Work needed-->MR
END((End))
subgraph Community
RFC((Request for change))
RFC--Create an issue-->ISSUE[Issue]
MR[Merge request]
MRD[Work is done]
end
subgraph Permifost maintainer
VAL[Validate issue]
APR{Code is approved?}
APR_YES--Release-->PyPi[PyPi]
PyPi--share info about new release-->END
end
```

1. Create a merge request from `release-next` targeting `master`

1. Make sure to check `delete the source branch when the changes are merged`

1. When the **publish** pipeline succeeds, the release is publicly available on [PyPI](https://pypi.org/project/permifrost/)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

This file was deleted.

3 changes: 0 additions & 3 deletions content/handbook/ceo/chief-of-staff-team/readmes/_index.md

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: "Office of the CEO"
description: "Details about Office of the CEO at GitLab"
aliases:
- /handbook/ceo/office-of-the-ceo/
- /handbook/ceo/chief-of-staff-team/
---

## Office of the CEO Overview
Expand Down Expand Up @@ -243,7 +246,7 @@ With the goals of increasing efficiency and looking at how to make recurring mee
2. Discuss removing yourself as an attendee with the meeting owner if you don’t feel that you are contributing or supporting business results through participation
3. Ask other team members to reexamine how existing meetings are managed
If you’re looking for possible wording to use when taking the actions above, and for more information about the cleanup day, please look at https://handbook.gitlab.com/handbook/ceo/chief-of-staff-team/#meeting-cleanup-day.
If you’re looking for possible wording to use when taking the actions above, and for more information about the cleanup day, please look at https://handbook.gitlab.com/handbook/ceo/office-of-the-ceo/#meeting-cleanup-day.
```

When cancelling a meeting, a team member can copy and paste this message to send to attendees:
Expand Down Expand Up @@ -309,7 +312,7 @@ Once a project or initiative to Shadow has been identified and the team member d
- [Strategy & Operations Job Family]({{< ref strategy-and-operations >}})
- [GitLab Strategy and Operations (Workplace) Team Handbook]({{< ref workplace >}})
- [Performance Indicators]({{< ref performance-indicators >}})
- [GitLab Team Project](https://gitlab.com/gitlab-com/ceo-chief-of-staff-team/cos-team)
- [GitLab Team Project](https://gitlab.com/gitlab-com/office-of-the-ceo/cos-team)
- [Team READMEs]({{< ref readmes >}})

## Contact Us
Expand All @@ -318,7 +321,7 @@ Once a project or initiative to Shadow has been identified and the team member d

### GitLab / Google Groups

The Office of the CEO maintains a [GitLab Group](https://gitlab.com/groups/gitlab-com/ceo-chief-of-staff-team/-/group_members?with_inherited_permissions=exclude) and [Google Group](https://groups.google.com/a/gitlab.com/g/ceo-chief-of-staff-team/members) to ensure the appropriate level of access is granted or removed as team members join and leave the team. The following mapping of permission levels from GitLab Groups to Google Groups is being used:
The Office of the CEO maintains a [GitLab Group](https://gitlab.com/groups/gitlab-com/office-of-the-ceo/-/group_members?with_inherited_permissions=exclude) and [Google Group](https://groups.google.com/a/gitlab.com/g/office-of-the-ceo/members) to ensure the appropriate level of access is granted or removed as team members join and leave the team. The following mapping of permission levels from GitLab Groups to Google Groups is being used:

1. `Owner` -> `Owner`
1. `Maintainer` -> `Manager`
Expand All @@ -328,5 +331,5 @@ As of 2023-08 there's no automatic syncing between these groups so Office of the

#### GitLab Project

The primary project used by the Office of the CEO to track work specific to our team is [Office of the CEO](https://gitlab.com/gitlab-com/ceo-chief-of-staff-team/cos-team). Please file issues here as needed to track work being done.
The primary project used by the Office of the CEO to track work specific to our team is [Office of the CEO](https://gitlab.com/gitlab-com/office-of-the-ceo/cos-team). Please file issues here as needed to track work being done.

Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
title: "JiHu Support"
description: "How the GitLab Inc team provides support to JiHu"
aliases:
- /handbook/ceo/office-of-the-ceo/jihu-support/
- /handbook/ceo/chief-of-staff-team/jihu-support/
---

## Overview
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: JiHu contribution process
aliases:
- /handbook/ceo/office-of-the-ceo/jihu-support/jihu-contribution-process/
- /handbook/ceo/chief-of-staff-team/jihu-support/jihu-contribution-process/
---

Contributions from the JiHu team will follow two methods depending on whether they have JiHu proprietary changes or not.
Expand Down Expand Up @@ -77,7 +80,7 @@ Contributions in projects that have proprietary and upstream contributions will
1. The JiHu Engineering team will review and merge the JiHu MR in the JiHu project.
1. A scheduled pipeline every 2 hours will run in [compliance-verification](https://gitlab.com/gitlab-org/gitlab-jh-mirrors/compliance-verification) against the [JiHu project pulling mirror](https://gitlab.com/gitlab-org/gitlab-jh-mirrors/gitlab) to verify that there are no code difference outside of `jh/` directory beside [agreed difference for `package.json` and `yarn.lock`](https://gitlab.com/gitlab-jh/gitlab-jh-enablement/-/issues/170#note_892043256).

![Diagrem of the GitLab JiHu MR Process](/handbook/ceo/chief-of-staff-team/jihu-support/images/gitlab-jh-mr-process.png)
![Diagrem of the GitLab JiHu MR Process](/handbook/ceo/office-of-the-ceo/jihu-support/images/gitlab-jh-mr-process.png)

### JiHu contribution identification

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: JiHu guidelines for database changes
aliases:
- /handbook/ceo/office-of-the-ceo/jihu-support/jihu-database-change-process/
- /handbook/ceo/chief-of-staff-team/jihu-support/jihu-database-change-process/
---

## JiHu guidelines for database changes
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: JiHu Security Review Process
aliases:
- /handbook/ceo/office-of-the-ceo/jihu-support/jihu-security-review-process/
- /handbook/ceo/chief-of-staff-team/jihu-support/jihu-security-review-process/
---

### Security review process for JiHu contributions
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: JiHu validation pipelines
aliases:
- /handbook/ceo/office-of-the-ceo/jihu-support/jihu-validation-pipelines/
- /handbook/ceo/chief-of-staff-team/jihu-support/jihu-validation-pipelines/
---

## JiHu validation pipelines
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
---
title: Release Certification
aliases:
- /handbook/ceo/office-of-the-ceo/jihu-support/release-certification/
- /handbook/ceo/chief-of-staff-team/jihu-support/release-certification/
---

## Process for Release Certification
Expand Down Expand Up @@ -35,7 +38,7 @@ no new JiHu contributions will be included in the release. The recommended time
Once it is certain that no new JiHu contributions will be added, follow the steps below:

1. [On the release date of each month](/handbook/engineering/releases/) the [jh-upstream-report repository](https://gitlab.com/gitlab-org/jh-upstream-report) should run a scheduled pipeline that automatically creates the release certification issue. This will create an issue in the [jh-upstream-report issue tracker](https://gitlab.com/gitlab-org/jh-upstream-report/-/issues) with a checklist containing each JiHu contribution associated with the upcoming release. If something went wrong, the [release certification tools script](https://gitlab.com/gitlab-com/gl-security/appsec/tooling/release-certification-tools) may need to be ran manually by following the directions in the `README.md`
1. Verify that every JiHu contribution going into the release is on this list. This can be done by looking at the [status report](https://gitlab.com/gitlab-jh/status-reports/-/issues) repository information in addition to searching for the `JiHu Contribution` labels in [each repository](/handbook/ceo/chief-of-staff-team/jihu-support/#projects) (the certification issue should have a link available). Be sure to look for both open and closed merge requests. The most likely reason a MR would be in the release but not in the checklist is the appropriate milestone had not been set for it.
1. Verify that every JiHu contribution going into the release is on this list. This can be done by looking at the [status report](https://gitlab.com/gitlab-jh/status-reports/-/issues) repository information in addition to searching for the `JiHu Contribution` labels in [each repository](/handbook/ceo/office-of-the-ceo/jihu-support/#projects) (the certification issue should have a link available). Be sure to look for both open and closed merge requests. The most likely reason a MR would be in the release but not in the checklist is the appropriate milestone had not been set for it.
1. For each JiHu contribution on the checklist:
- Look at the merge request and verify that an AppSec reviewer has indicated it has been reviewed and is acceptable
- If a merge request did not receive an Application Security review, perform a review and apply the appropriate labels
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
title: CoST to the CEO Performance Indicators
aliases:
- /handbook/ceo/office-of-the-ceo/performance-indicators/
- /handbook/ceo/chief-of-staff-team/performance-indicators/
---

{{% performance-indicators "chief_of_staff_team" %}}
6 changes: 6 additions & 0 deletions content/handbook/ceo/office-of-the-ceo/readmes/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: "Office of the CEO READMEs"
aliases:
- /handbook/ceo/office-of-the-ceo/readmes/
- /handbook/ceo/chief-of-staff-team/readmes/
---
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
title: "Cynthia 'Arty' Ng README"
description: "Personal readme page for Cynthia 'Arty' Ng, Staff, Strategy & Operations, Office of the CEO, GitLab"
job: "Staff, Strategy and Operations"
aliases:
- /handbook/ceo/office-of-the-ceo/readmes/cynthia-ng/
- /handbook/ceo/chief-of-staff-team/readmes/cynthia-ng/
---

This page is meant to provide a bit of information about me and how I work,
Expand Down
Loading

0 comments on commit ebc0abe

Please sign in to comment.