diff --git a/.nojekyll b/.nojekyll index 6fbbcde61..592b8393a 100644 --- a/.nojekyll +++ b/.nojekyll @@ -1 +1 @@ -b254c817 \ No newline at end of file +0341891b \ No newline at end of file diff --git a/admins/index.html b/admins/index.html index f42b9b3e9..c696ea23d 100644 --- a/admins/index.html +++ b/admins/index.html @@ -447,7 +447,7 @@

Architecture and Contribution Overview

-
+
-
+
-
+
-
+
-
+
-
+

 
diff --git a/hubs.html b/hubs.html index 975d1a318..53fdc4be0 100644 --- a/hubs.html +++ b/hubs.html @@ -449,7 +449,7 @@

JupyterHub Deployments

-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+

 
diff --git a/incidents/index.html b/incidents/index.html index ac14e83f7..314cafbeb 100644 --- a/incidents/index.html +++ b/incidents/index.html @@ -481,7 +481,7 @@

Incident Reports

- + Feb 9, 2017 @@ -489,7 +489,7 @@

Incident Reports

JupyterHub db manual overwrite - + Feb 24, 2017 @@ -497,7 +497,7 @@

Incident Reports

Custom Autoscaler gonee haywire - + Feb 24, 2017 @@ -505,7 +505,7 @@

Incident Reports

Proxy eviction strands user - + Mar 6, 2017 @@ -513,7 +513,7 @@

Incident Reports

Non-matching hub image tags cause downtime - + Mar 20, 2017 @@ -521,7 +521,7 @@

Incident Reports

Too many volumes per disk leave students stuck - + Mar 23, 2017 @@ -529,7 +529,7 @@

Incident Reports

Weird upstream ipython bug kills kernels - + Apr 3, 2017 @@ -537,7 +537,7 @@

Incident Reports

Custom autoscaler does not scale up when it should - + May 9, 2017 @@ -545,7 +545,7 @@

Incident Reports

Oops we forgot to pay the bill - + Oct 10, 2017 @@ -553,7 +553,7 @@

Incident Reports

Docker dies on a few Azure nodes - + Oct 19, 2017 @@ -561,7 +561,7 @@

Incident Reports

Billing confusion with Azure portal causes summer hub to be lost - + Jan 25, 2018 @@ -569,7 +569,7 @@

Incident Reports

Accidental merge to prod brings things down - + Jan 26, 2018 @@ -577,7 +577,7 @@

Incident Reports

Hub starts up very slow, causing outage for users - + Feb 6, 2018 @@ -585,7 +585,7 @@

Incident Reports

Azure PD refuses to detach, causing downtime for data100 - + Feb 28, 2018 @@ -593,7 +593,7 @@

Incident Reports

A node hangs, causing a subset of users to report issues - + Jun 11, 2018 @@ -601,7 +601,7 @@

Incident Reports

Azure billing issue causes downtime - + Feb 25, 2019 @@ -609,7 +609,7 @@

Incident Reports

Azure Kubernetes API Server outage causes downtime - + May 1, 2019 @@ -617,7 +617,7 @@

Incident Reports

Service Account key leak incident - + Jan 20, 2022 @@ -625,7 +625,7 @@

Incident Reports

Hubs throwing 505 errors - + Feb 1, 2024 diff --git a/search.json b/search.json index 395e5005e..a325e4f1f 100644 --- a/search.json +++ b/search.json @@ -1101,7 +1101,7 @@ "href": "tasks/managing-multiple-user-image-repos.html#installation-of-instructions", "title": "Managing multiple user image repos", "section": "Installation of instructions", - "text": "Installation of instructions\n\nVia cloning and manual installation\nClone the repo, and from within that directory run:\npip install --editable .\nThe --editable flag is optional, and allows you to hack on the tool and have those changes usable without reinstalling or needing to hack your PATH.\n\n\nVia pip\npython3 -m pip install --no-cache git+https://github.com/berkeley-dsep-infra/manage-repos", + "text": "Installation of instructions\n\nVia cloning and manual installation\nClone the repo, and from within that directory run:\npip install --editable .\nThe --editable flag is optional, and allows you to hack on the tool and have those changes usable without reinstalling or needing to hack your PATH.\n\n\nVia pip\npython3 -m pip install --no-cache git+https://github.com/berkeley-dsep-infra/manage-repos\n\n\nInstalling the gh tool\nTo use the pr and merge sub-commands, you will also need to install the Github CLI tool: https://github.com/cli/cli#installation", "crumbs": [ "Architecture and contributing", "Common Administrator Tasks", @@ -1113,7 +1113,7 @@ "href": "tasks/managing-multiple-user-image-repos.html#usage", "title": "Managing multiple user image repos", "section": "Usage", - "text": "Usage\n\nOverview of git operations included in manage-repos:\nmanage-repos allows you to perform basic git operations on a large number of similar repositories:\n\nbranch: Create a feature branch\nclone: Clone all repositories in the config file to a location on the filesystem specified by the --destination argument.\npatch: Apply a git patch to all repositories in the config file.\npush: Push a branch from all repos to a remote. The remote defaults to origin.\nstage: Performs a git add and git commit to stage changes before pushing.\nsync: Sync all of the repositories, and optionally push to your fork.\n\n\n\nUsage overview\nThe following sections will describe in more detail the options and commands available with the script.\n\nPrimary arguments for the script\n$ manage-repos.py --help\nusage: manage-repos [-h] [-c CONFIG] [-d DESTINATION] {branch,clone,patch,push,stage,sync} ...\n\npositional arguments:\n {branch,clone,patch,push,stage,sync}\n Command to execute. Additional help is available for each command.\n\noptions:\n -h, --help show this help message and exit\n -c CONFIG, --config CONFIG\n Path to the file containing list of repositories to operate on. Defaults to repos.txt located in the current working\n directory.\n -d DESTINATION, --destination DESTINATION\n Location on the filesystem of the directory containing the managed repositories. Defaults to the current working directory.\n--config is required, and setting --destination is recommended.\n\n\n\nSub-commands\n\nbranch\n$ manage-repos branch --help\nusage: manage-repos branch [-h] [-b BRANCH]\n\noptions:\n -h, --help show this help message and exit\n -b BRANCH, --branch BRANCH\n Name of the new feature branch to create.\nThe feature branch to create is required, and the tool will switch to main before creating and switching to the new branch.\n\n\nclone\n$ manage-repos.py clone --help\nusage: manage-repos clone [-h] [-s [SET_REMOTE]] [-g GITHUB_USER]\n\nClone repositories in the config file and optionally set a remote for a fork.\nIf a repository sub-directory does not exist, it will be created.\n\noptions:\n -h, --help show this help message and exit\n -s [SET_REMOTE], --set-remote [SET_REMOTE]\n Set the user's GitHub fork as a remote. Defaults to 'origin'.\n -g GITHUB_USER, --github-user GITHUB_USER\n The GitHub username of the fork to set in the remote.\n Required if --set-remote is used.\nThis command will clone all repositories found in the config, and if you’ve created a fork, use the --set-remote and --github-user arguments to update the remotes in the cloned repositories. This will set the primary repository’s remote to upstream and your fork to origin (unless you override this by passing a different remote name with the --set-remote argument).\nAfter cloning, git remote -v will be executed for each repository to allow you to confirm that the remotes are properly set.\n\n\npatch\n$ manage-repos patch --help\nusage: manage-repos patch [-h] [-p PATCH]\n\nApply a git patch to managed repositories.\n\noptions:\n -h, --help show this help message and exit\n -p PATCH, --patch PATCH\n Path to the patch file to apply.\nThis command applies a git patch file to all of the repositories. The patch is created by making changes to one file, and redirecting the output of git diff to a new file, eg:\ngit diff <filename> > patchfile.txt\nYou then provide the location of the patch file with the --patch argument, and the script will attempt to apply the patch to all of the repositories.\nIf it is unable to apply the patch, the script will continue to run and notify you when complete which repositories failed to accept the patch.\n\n\npush\n$ manage-repos push --help\nusage: manage-repos push [-h] [-b BRANCH] [-r REMOTE]\n\nPush managed repositories to a remote.\n\noptions:\n -h, --help show this help message and exit\n -b BRANCH, --branch BRANCH\n Name of the branch to push.\n -r REMOTE, --remote REMOTE\n Name of the remote to push to. This is optional and\n defaults to 'origin'.\nThis command will attempt to push all staged commits to a remote. The --branch argument is required, and needs to be the name of the feature branch that will be pushed.\nThe remote that is pushed to defaults to origin, but you can override this with the --remote argument.\n\n\nstage\n$ manage-repos stage --help\nusage: manage-repos stage [-h] [-f FILES [FILES ...]] [-m MESSAGE]\n\nStage changes in managed repositories. This performs a git add and commit.\n\noptions:\n -h, --help show this help message and exit\n -f FILES [FILES ...], --files FILES [FILES ...]\n Space-delimited list of files to stage in the\n repositories. Optional, and if left blank will default\n to all modified files.\n -m MESSAGE, --message MESSAGE\n Commit message to use for the changes.\nstage combines both git add ... and git commit -m, adding and committing one or more files to the staging area before you push to a remote.\nThe commit message must be a text string enclosed in quotes.\nBy default, --files is set to ., which will add all modified files to the staging area. You can also specify any number of files, separated by a space.\n\n\nsync\n$ manage-image-repos.py sync --help\nusage: manage-repos sync [-h] [-b BRANCH_DEFAULT] [-u UPSTREAM] [-p]\n [-r REMOTE]\n\nSync managed repositories to the latest version using 'git rebase'. Optionally\npush to a remote fork.\n\noptions:\n -h, --help show this help message and exit\n -b BRANCH_DEFAULT, --branch-default BRANCH_DEFAULT\n Default remote branch to sync to. This is optional and\n defaults to 'main'.\n -u UPSTREAM, --upstream UPSTREAM\n Name of the parent remote to sync from. This is\n optional and defaults to 'upstream'.\n -p, --push Push the locally synced repo to a remote fork.\n -r REMOTE, --remote REMOTE\n The name of the remote fork to push to. This is\n optional and defaults to 'origin'.\nThis command will switch your local repositories to the main branch, and sync all repositories from the config to your device from a remote. With the --push argument, it will push the local repository to another remote.\nBy default, the script will switch to the main branch before syncing, and can be overridden with the --branch-default argument.\nThe primary remote that is used to sync is upstream, but that can also be overridden with the --upstream argument. The remote for a fork defaults to origin, and can be overridden via the --remote argument.\n\n\n\nTips, tricks and usage examples\n\nTips and tricks\nmanage-repos is best run from the parent folder that will contain all of the repositories that you will be managing as the default value of --destination is the current working directory (.).\nYou can also create a symlink in the parent folder that points to the config file elsewhere on your filesystem:\nln -s <path to datahub repo>/scripts/user-image-management/repos.txt repos.txt\nWith this in mind, you can safely drop the --config and --destination arguments when running manage-repos. Eg:\nmanage-repos sync -p\nAnother tip is to comment out or delete entries in your config when performing git operations on a limited set of repositories. Be sure to git restore the file when you’re done!\n\n\nUsage examples\nClone all of the image repos to a common directory:\nmanage-repos --destination ~/src/images/ --config /path/to/repos.txt clone\nClone all repos, and set upstream and origin for your fork:\nmanage-repos -d ~/src/images/ -c /path/to/repos.txt clone --set-remote --github-user <username>\nSync all repos from upstream and push to your origin:\nmanage-repos -d ~/src/images/ -c /path/to/repos.txt sync --push\nCreate a feature branch in all of the repos:\nmanage-repos -d ~/src/images -c /path/to/repos.txt branch -b test-branch\nCreate a git patch and apply it to all image repos:\ngit diff envorinment.yml > /tmp/git-patch.txt\nmanage-repos -d ~/src/images -c /path/to/repos.txt patch -p /tmp/git-patch.txt\nOnce you’ve tested everything and are ready to push and create a PR, add and commit all modified files in the repositories:\nmanage-repos -d ~/src/images -c /path/to/repos.txt stage -m \"this is a commit\"\nAfter staging, push everything to a remote:\nmanage-repos -d ~/src/images -c /path/to/repos.txt push -b test-branch", + "text": "Usage\n\nOverview of git operations included in manage-repos:\nmanage-repos allows you to perform basic git operations on a large number of similar repositories:\n\nbranch: Create a feature branch\nclone: Clone all repositories in the config file to a location on the filesystem specified by the --destination argument.\nmerge: Merge the most recent pull request in the managed repositories.\npatch: Apply a git patch to all repositories in the config file.\npr: Create pull requests in the managed repositories.\npush: Push a branch from all repos to a remote. The remote defaults to origin.\nstage: Performs a git add and git commit to stage changes before pushing.\nsync: Sync all of the repositories, and optionally push to your fork.\n\n\n\nUsage overview\nThe following sections will describe in more detail the options and commands available with the script.\n\nPrimary arguments for the script\n$ manage-repos.py --help\nusage: manage-repos [-h] [-c CONFIG] [-d DESTINATION] {branch,clone,patch,push,stage,sync} ...\n\npositional arguments:\n {branch,clone,patch,push,stage,sync}\n Command to execute. Additional help is available for each command.\n\noptions:\n -h, --help show this help message and exit\n -c CONFIG, --config CONFIG\n Path to the file containing list of repositories to operate on. Defaults to repos.txt located in the current working\n directory.\n -d DESTINATION, --destination DESTINATION\n Location on the filesystem of the directory containing the managed repositories. Defaults to the current working directory.\n --version show program's version number and exit\n--config is required, and setting --destination is recommended.\n\n\n\nSub-commands\n\nbranch\n$ manage-repos branch --help\nusage: manage-repos branch [-h] [-b BRANCH]\n\noptions:\n -h, --help show this help message and exit\n -b BRANCH, --branch BRANCH\n Name of the new feature branch to create.\nThe feature branch to create is required, and the tool will switch to main before creating and switching to the new branch.\n\n\nclone\n$ manage-repos.py clone --help\nusage: manage-repos clone [-h] [-s [SET_REMOTE]] [-g GITHUB_USER]\n\nClone repositories in the config file and optionally set a remote for a fork.\nIf a repository sub-directory does not exist, it will be created.\n\noptions:\n -h, --help show this help message and exit\n -s [SET_REMOTE], --set-remote [SET_REMOTE]\n Set the user's GitHub fork as a remote. Defaults to 'origin'.\n -g GITHUB_USER, --github-user GITHUB_USER\n The GitHub username of the fork to set in the remote.\n Required if --set-remote is used.\nThis command will clone all repositories found in the config, and if you’ve created a fork, use the --set-remote and --github-user arguments to update the remotes in the cloned repositories. This will set the primary repository’s remote to upstream and your fork to origin (unless you override this by passing a different remote name with the --set-remote argument).\nAfter cloning, git remote -v will be executed for each repository to allow you to confirm that the remotes are properly set.\n\n\nmerge\n$ usage: manage-repos merge [-h] [-b BODY] [-d] [-s {merge,rebase,squash}]\n\nUsing the gh tool, merge the most recent pull request in the managed\nrepositories. Before using this command, you must authenticate with gh to\nensure that you have the correct permission for the required scopes.\n\noptions:\n -h, --help show this help message and exit\n -b BODY, --body BODY The commit message to apply to the merge (optional).\n -d, --delete Delete your local feature branch after the pull request\n is merged (optional).\n -s {merge,rebase,squash}, --strategy {merge,rebase,squash}\n The pull request merge strategy to use, defaults to\n 'merge'.\nBe aware that the default behavior is to merge only the newest pull request in the managed repositories. The reasoning behind this is that if you have created pull requests across many repositories, the pull request numbers will almost certainly be different, and adding interactive steps to merge specific pull requests will be cumbersome.\n\n\npatch\n$ manage-repos patch --help\nusage: manage-repos patch [-h] [-p PATCH]\n\nApply a git patch to managed repositories.\n\noptions:\n -h, --help show this help message and exit\n -p PATCH, --patch PATCH\n Path to the patch file to apply.\nThis command applies a git patch file to all of the repositories. The patch is created by making changes to one file, and redirecting the output of git diff to a new file, eg:\ngit diff <filename> > patchfile.txt\nYou then provide the location of the patch file with the --patch argument, and the script will attempt to apply the patch to all of the repositories.\nIf it is unable to apply the patch, the script will continue to run and notify you when complete which repositories failed to accept the patch.\n\n\npr\n$ manage-repos pr --help\nusage: manage-repos pr [-h] [-t TITLE] [-b BODY] [-B BRANCH_DEFAULT]\n [-g GITHUB_USER]\n\nUsing the gh tool, create a pull request after pushing.\n\noptions:\n -h, --help show this help message and exit\n -t TITLE, --title TITLE\n Title of the pull request.\n -b BODY, --body BODY Body of the pull request (optional).\n -B BRANCH_DEFAULT, --branch-default BRANCH_DEFAULT\n Default remote branch that the pull requests will be\n merged to. This is optional and defaults to 'main'.\n -g GITHUB_USER, --github-user GITHUB_USER\n The GitHub username used to create the pull request.\nAfter you’ve staged and pushed your changes, this command will then create a pull request using the gh tool.\n\n\npush\n$ manage-repos push --help\nusage: manage-repos push [-h] [-b BRANCH] [-r REMOTE]\n\nPush managed repositories to a remote.\n\noptions:\n -h, --help show this help message and exit\n -b BRANCH, --branch BRANCH\n Name of the branch to push.\n -r REMOTE, --remote REMOTE\n Name of the remote to push to. This is optional and\n defaults to 'origin'.\nThis command will attempt to push all staged commits to a remote. The --branch argument is required, and needs to be the name of the feature branch that will be pushed.\nThe remote that is pushed to defaults to origin, but you can override this with the --remote argument.\n\n\nstage\n$ manage-repos stage --help\nusage: manage-repos stage [-h] [-f FILES [FILES ...]] [-m MESSAGE]\n\nStage changes in managed repositories. This performs a git add and commit.\n\noptions:\n -h, --help show this help message and exit\n -f FILES [FILES ...], --files FILES [FILES ...]\n Space-delimited list of files to stage in the\n repositories. Optional, and if left blank will default\n to all modified files in the directory.\n -m MESSAGE, --message MESSAGE\n Commit message to use for the changes.\nstage combines both git add ... and git commit -m, adding and committing one or more files to the staging area before you push to a remote.\nThe commit message must be a text string enclosed in quotes.\nBy default, --files is set to ., which will add all modified files to the staging area. You can also specify any number of files, separated by a space.\n\n\nsync\n$ manage-image-repos.py sync --help\nusage: manage-repos sync [-h] [-b BRANCH_DEFAULT] [-u UPSTREAM] [-p]\n [-r REMOTE]\n\nSync managed repositories to the latest version using 'git rebase'. Optionally\npush to a remote fork.\n\noptions:\n -h, --help show this help message and exit\n -b BRANCH_DEFAULT, --branch-default BRANCH_DEFAULT\n Default remote branch to sync to. This is optional and\n defaults to 'main'.\n -u UPSTREAM, --upstream UPSTREAM\n Name of the parent remote to sync from. This is\n optional and defaults to 'upstream'.\n -p, --push Push the locally synced repo to a remote fork.\n -r REMOTE, --remote REMOTE\n The name of the remote fork to push to. This is\n optional and defaults to 'origin'.\nThis command will switch your local repositories to the main branch, and sync all repositories from the config to your device from a remote. With the --push argument, it will push the local repository to another remote.\nBy default, the script will switch to the main branch before syncing, and can be overridden with the --branch-default argument.\nThe primary remote that is used to sync is upstream, but that can also be overridden with the --upstream argument. The remote for a fork defaults to origin, and can be overridden via the --remote argument.\n\n\n\nTips, tricks and usage examples\n\nTips and tricks\nmanage-repos is best run from the parent folder that will contain all of the repositories that you will be managing as the default value of --destination is the current working directory (.).\nYou can also create a symlink in the parent folder that points to the config file elsewhere on your filesystem:\nln -s <path to datahub repo>/scripts/user-image-management/repos.txt repos.txt\nWith this in mind, you can safely drop the --config and --destination arguments when running manage-repos. Eg:\nmanage-repos sync -p\nAnother tip is to comment out or delete entries in your config when performing git operations on a limited set of repositories. Be sure to git restore the file when you’re done!\n\n\nUsage examples\nClone all of the image repos to a common directory:\nmanage-repos --destination ~/src/images/ --config /path/to/repos.txt clone\nClone all repos, and set upstream and origin for your fork:\nmanage-repos -d ~/src/images/ -c /path/to/repos.txt clone --set-remote --github-user <username>\nSync all repos from upstream and push to your origin:\nmanage-repos -d ~/src/images/ -c /path/to/repos.txt sync --push\nCreate a feature branch in all of the repos:\nmanage-repos -d ~/src/images -c /path/to/repos.txt branch -b test-branch\nCreate a git patch and apply it to all image repos:\ngit diff envorinment.yml > /tmp/git-patch.txt\nmanage-repos -d ~/src/images -c /path/to/repos.txt patch -p /tmp/git-patch.txt\nOnce you’ve tested everything and are ready to push and create a PR, add and commit all modified files in the repositories:\nmanage-repos -d ~/src/images -c /path/to/repos.txt stage -m \"this is a commit\"\nAfter staging, push everything to a remote:\nmanage-repos -d ~/src/images -c /path/to/repos.txt push -b test-branch", "crumbs": [ "Architecture and contributing", "Common Administrator Tasks", diff --git a/sitemap.xml b/sitemap.xml index a71c4153b..55c1c5ed9 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,262 +2,262 @@ https://docs.datahub.berkeley.edu/admins/cluster-config.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/admins/index.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/admins/credentials.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/admins/storage.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/policy/storage-retention.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/policy/policy_create_hubs.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/policy/policy_deploy_mainhubs.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2017-04-03-cluster-full-incident.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2019-05-01-service-account-leak.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2018-01-25-helm-chart-upgrade.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2018-01-26-hub-slow-startup.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2017-03-23-kernel-deaths-incident.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2017-02-09-datahub-db-outage.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2024-core-node-incidents.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2018-06-11-course-subscription-canceled.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2017-10-19-course-subscription-canceled.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2017-02-09-datahub-db-outage-pvc-recreate-script.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/tasks/prometheus-grafana.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/index.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/documentation.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/remove-users-orm.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/dns.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/google-sheets.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/new-packages.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/rebuild-hub-image.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/new-image.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/course-config.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/hubs/datahub.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/hubs/stat159.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/hubs/edx.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/hubs/stat20.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/hubs/data102.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/hubs.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/hubs/data100.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/hubs/r.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/hubs/prob140.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/hubs/shiny.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/tasks/new-hub.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/managing-multiple-user-image-repos.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/core-pool.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/tasks/delete-hub.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/calendar-scaler.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/tasks/rebuild-postgres-image.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/clusterswitch.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/tasks/cheatsheet.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/tasks/github-token.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/tasks/transition-image.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.481Z https://docs.datahub.berkeley.edu/incidents/2019-02-25-k8s-api-server-down.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2022-01-20-package-dependency-upgrade-incident.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2017-05-09-gce-billing.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2018-02-06-hub-db-dir.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2018-02-28-hung-node.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2017-02-24-autoscaler-incident.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2017-10-10-hung-nodes.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2017-03-20-too-many-volumes.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/index.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2017-03-06-helm-config-image-mismatch.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/incidents/2017-02-24-proxy-death-incident.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/index.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/policy/principles.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/policy/index.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/policy/create_policy.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/admins/cicd-github-actions.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/admins/pre-reqs.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z https://docs.datahub.berkeley.edu/admins/structure.html - 2024-10-25T23:57:28.578Z + 2024-10-26T02:39:31.477Z diff --git a/tasks/managing-multiple-user-image-repos.html b/tasks/managing-multiple-user-image-repos.html index 706e6e839..6dbda2429 100644 --- a/tasks/managing-multiple-user-image-repos.html +++ b/tasks/managing-multiple-user-image-repos.html @@ -368,6 +368,7 @@

On this page

  • Usage
      @@ -420,6 +421,10 @@

      Via cl

      Via pip

      python3 -m pip install --no-cache git+https://github.com/berkeley-dsep-infra/manage-repos
      +
      +

      Installing the gh tool

      +

      To use the pr and merge sub-commands, you will also need to install the Github CLI tool: https://github.com/cli/cli#installation

      +

      Usage

      @@ -429,7 +434,9 @@

      git patch to all repositories in the config file. +
    • pr: Create pull requests in the managed repositories.
    • push: Push a branch from all repos to a remote. The remote defaults to origin.
    • stage: Performs a git add and git commit to stage changes before pushing.
    • sync: Sync all of the repositories, and optionally push to your fork.
    • @@ -453,7 +460,8 @@

      Primary a Path to the file containing list of repositories to operate on. Defaults to repos.txt located in the current working directory. -d DESTINATION, --destination DESTINATION - Location on the filesystem of the directory containing the managed repositories. Defaults to the current working directory. + Location on the filesystem of the directory containing the managed repositories. Defaults to the current working directory. + --version show program's version number and exit

      --config is required, and setting --destination is recommended.

      @@ -488,6 +496,24 @@

      clone

      This command will clone all repositories found in the config, and if you’ve created a fork, use the --set-remote and --github-user arguments to update the remotes in the cloned repositories. This will set the primary repository’s remote to upstream and your fork to origin (unless you override this by passing a different remote name with the --set-remote argument).

      After cloning, git remote -v will be executed for each repository to allow you to confirm that the remotes are properly set.

      +
      +

      merge

      +
      $ usage: manage-repos merge [-h] [-b BODY] [-d] [-s {merge,rebase,squash}]
      +
      +Using the gh tool, merge the most recent pull request in the managed
      +repositories. Before using this command, you must authenticate with gh to
      +ensure that you have the correct permission for the required scopes.
      +
      +options:
      +  -h, --help            show this help message and exit
      +  -b BODY, --body BODY  The commit message to apply to the merge (optional).
      +  -d, --delete          Delete your local feature branch after the pull request
      +                        is merged (optional).
      +  -s {merge,rebase,squash}, --strategy {merge,rebase,squash}
      +                        The pull request merge strategy to use, defaults to
      +                        'merge'.
      +

      Be aware that the default behavior is to merge only the newest pull request in the managed repositories. The reasoning behind this is that if you have created pull requests across many repositories, the pull request numbers will almost certainly be different, and adding interactive steps to merge specific pull requests will be cumbersome.

      +

      patch

      $ manage-repos patch --help
      @@ -504,6 +530,26 @@ 

      patch

      You then provide the location of the patch file with the --patch argument, and the script will attempt to apply the patch to all of the repositories.

      If it is unable to apply the patch, the script will continue to run and notify you when complete which repositories failed to accept the patch.

      +
      +

      pr

      +
      $ manage-repos pr --help
      +usage: manage-repos pr [-h] [-t TITLE] [-b BODY] [-B BRANCH_DEFAULT]
      +                       [-g GITHUB_USER]
      +
      +Using the gh tool, create a pull request after pushing.
      +
      +options:
      +  -h, --help            show this help message and exit
      +  -t TITLE, --title TITLE
      +                        Title of the pull request.
      +  -b BODY, --body BODY  Body of the pull request (optional).
      +  -B BRANCH_DEFAULT, --branch-default BRANCH_DEFAULT
      +                        Default remote branch that the pull requests will be
      +                        merged to. This is optional and defaults to 'main'.
      +  -g GITHUB_USER, --github-user GITHUB_USER
      +                        The GitHub username used to create the pull request.
      +

      After you’ve staged and pushed your changes, this command will then create a pull request using the gh tool.

      +

      push

      $ manage-repos push --help
      @@ -533,7 +579,7 @@ 

      stage

      -f FILES [FILES ...], --files FILES [FILES ...] Space-delimited list of files to stage in the repositories. Optional, and if left blank will default - to all modified files. + to all modified files in the directory. -m MESSAGE, --message MESSAGE Commit message to use for the changes.

      stage combines both git add ... and git commit -m, adding and committing one or more files to the staging area before you push to a remote.