diff --git a/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md b/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md
index ea0c51ca39b2..a024beec0b25 100644
--- a/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md
+++ b/content/account-and-profile/managing-subscriptions-and-notifications-on-github/setting-up-notifications/configuring-notifications.md
@@ -89,7 +89,7 @@ For example, on your "Notification settings" page:
{% else %}
-If you do not enable watching or participating notifications for web{% ifversion ghes %} and mobile{% endif %}, then your notifications inbox will not have any updates.{% endif %}
+If you do not enable watching or participating notifications for web and mobile, then your notifications inbox will not have any updates.{% endif %}
## Customizing your email notifications
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization.md
index eaf8ea73eabe..bec4fec616f3 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/viewing-peoples-roles-in-an-organization.md
@@ -47,7 +47,7 @@ You can also view whether an enterprise owner has a specific role in the organiz
| Enterprise owner | Organization owner | Able to configure organization settings and manage access to the organization's resources through teams, etc. |
| Enterprise owner | Organization member | Able to access organization resources and content, such as repositories, without access to the organization's settings. |
-To review all roles in an organization, see [AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization). {% ifversion ghec or ghes %} An organization member can also have a custom role for a specific repository. For more information, see [AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-custom-repository-roles-for-an-organization).{% endif %}
+To review all roles in an organization, see [AUTOTITLE](/organizations/managing-peoples-access-to-your-organization-with-roles/roles-in-an-organization). An organization member can also have a custom role for a specific repository. For more information, see [AUTOTITLE](/organizations/managing-user-access-to-your-organizations-repositories/managing-repository-roles/managing-custom-repository-roles-for-an-organization).
For more information about the enterprise owner role, see [AUTOTITLE](/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/roles-in-an-enterprise#enterprise-owner).
diff --git a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md
index 5c3c20937723..23a1bd17fecf 100644
--- a/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md
+++ b/content/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-personal-account/best-practices-for-leaving-your-company.md
@@ -27,7 +27,7 @@ Before you leave your company, make sure you update the following information in
If you've been working with repositories that belong to an organization, you'll want to [remove yourself as a member of the organization](/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-your-membership-in-organizations/removing-yourself-from-an-organization). Note that if you are the organization owner, you should first [transfer ownership of the organization](/organizations/managing-organization-settings/transferring-organization-ownership) to another person.
-Unless you're using a {% data variables.enterprise.prodname_managed_user %}, you'll still be able to access your personal account, even after leaving the organization. For more information about {% data variables.product.prodname_emus %}, see [About {% data variables.product.prodname_emus %}]({% ifversion not ghec %}/enterprise-cloud@latest{% endif %}/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users){% ifversion not ghec %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}
+Unless you're using a {% data variables.enterprise.prodname_managed_user %}, you'll still be able to access your personal account, even after leaving the organization. For more information about {% data variables.product.prodname_emus %}, see [About {% data variables.product.prodname_emus %}]({% ifversion fpt %}/enterprise-cloud@latest{% endif %}/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users){% ifversion fpt %} in the {% data variables.product.prodname_ghe_cloud %} documentation.{% else %}."{% endif %}
## Removing professional associations with personal repositories
diff --git a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners.md b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners.md
index 5a5aebab5875..87a4dda130fb 100644
--- a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners.md
+++ b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners.md
@@ -76,12 +76,8 @@ For more information, see [AUTOTITLE](/actions/hosting-your-own-runners/managing
{% ifversion ghec or ghes %}
New runners are assigned to the default group. You can modify the runner's group after you've registered the runner. For more information, see [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups#moving-a-self-hosted-runner-to-a-group).
-{% ifversion ghec or ghes %}
-
To add a self-hosted runner to an enterprise, you must be an enterprise owner. For information about how to add a self-hosted runner with the REST API, see the enterprise endpoints in the [{% data variables.product.prodname_actions %} REST API](/rest/actions/self-hosted-runners).
-{% endif %}
-
{% data reusables.actions.self-hosted-runner-add-to-enterprise %}
{% data reusables.actions.self-hosted-runner-check-installation-success %}
diff --git a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/communicating-with-self-hosted-runners.md b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/communicating-with-self-hosted-runners.md
index 29ac04bacafd..eacc67eb719c 100644
--- a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/communicating-with-self-hosted-runners.md
+++ b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/communicating-with-self-hosted-runners.md
@@ -52,7 +52,7 @@ If you use an IP address allow list for your {% data variables.product.prodname_
{% else %}
-{% ifversion ghes %}Self-hosted runners do not require any external internet access in order to function. As a result, you can use network routing to direct communication between the self-hosted runner and {% data variables.product.prodname_ghe_server %}. For example, you can assign a private IP address to your self-hosted runner and configure routing to send traffic to {% data variables.product.prodname_ghe_server %}, with no need for traffic to traverse a public network.{% endif %}
+Self-hosted runners do not require any external internet access in order to function. As a result, you can use network routing to direct communication between the self-hosted runner and {% data variables.product.prodname_ghe_server %}. For example, you can assign a private IP address to your self-hosted runner and configure routing to send traffic to {% data variables.product.prodname_ghe_server %}, with no need for traffic to traverse a public network.
{% endif %}
diff --git a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups.md b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups.md
index 5775c1907856..2b4cf0812250 100644
--- a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups.md
+++ b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups.md
@@ -30,12 +30,8 @@ type: tutorial
## Creating a self-hosted runner group for an enterprise
- {%- ifversion ghec or ghes %}
-
{% data reusables.actions.self-hosted-runner-security-admonition %}
-{%- endif %}
-
{% data reusables.actions.creating-a-runner-group-for-an-enterprise %}
{% endif %}
diff --git a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners.md b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners.md
index cb1f3454ceef..86e8767049b3 100644
--- a/content/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners.md
+++ b/content/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners.md
@@ -68,12 +68,11 @@ If you use {% data variables.product.prodname_ghe_cloud %}, you can also remove
To remove a self-hosted runner from an enterprise, you must be an enterprise owner. We recommend that you also have access to the self-hosted runner machine. For information about how to remove a self-hosted runner with the REST API, see the enterprise endpoints in the [{% data variables.product.prodname_actions %} REST API](/rest/actions/self-hosted-runners).
{% data reusables.actions.self-hosted-runner-reusing %}
-{% ifversion ghec or ghes %}
{% data reusables.enterprise-accounts.access-enterprise %}
{% data reusables.enterprise-accounts.policies-tab %}
{% data reusables.enterprise-accounts.actions-tab %}
{% data reusables.enterprise-accounts.actions-runners-tab %}
{% data reusables.actions.settings-sidebar-actions-runner-selection %}
{% data reusables.actions.self-hosted-runner-removing-a-runner-updated %}
-{% endif %}
+
{% endif %}
diff --git a/content/actions/use-cases-and-examples/publishing-packages/publishing-docker-images.md b/content/actions/use-cases-and-examples/publishing-packages/publishing-docker-images.md
index 5e89019d2809..f0665d10b663 100644
--- a/content/actions/use-cases-and-examples/publishing-packages/publishing-docker-images.md
+++ b/content/actions/use-cases-and-examples/publishing-packages/publishing-docker-images.md
@@ -139,7 +139,7 @@ Each time you create a new release on {% data variables.product.github %}, you c
In the example workflow below, we use the Docker `login-action`{% ifversion fpt or ghec %}, `metadata-action`,{% endif %} and `build-push-action` actions to build the Docker image, and if the build succeeds, push the built image to {% data variables.product.prodname_registry %}.
The `login-action` options required for {% data variables.product.prodname_registry %} are:
-* `registry`: Must be set to {% ifversion fpt or ghec %}`ghcr.io`{% elsif ghes %}`{% data reusables.package_registry.container-registry-hostname %}`{% else %}`docker.pkg.github.com`{% endif %}.
+* `registry`: Must be set to {% ifversion fpt or ghec %}`ghcr.io`{% elsif ghes %}`{% data reusables.package_registry.container-registry-hostname %}`{% endif %}.
* `username`: You can use the {% raw %}`${{ github.actor }}`{% endraw %} context to automatically use the username of the user that triggered the workflow run. For more information, see [AUTOTITLE](/actions/learn-github-actions/contexts#github-context).
* `password`: You can use the automatically-generated `GITHUB_TOKEN` secret for the password. For more information, see [AUTOTITLE](/actions/security-guides/automatic-token-authentication).
@@ -153,11 +153,10 @@ The `build-push-action` options required for {% data variables.product.prodname_
* `context`: Defines the build's context as the set of files located in the specified path.{% endif %}
* `push`: If set to `true`, the image will be pushed to the registry if it is built successfully.{% ifversion fpt or ghec %}
* `tags` and `labels`: These are populated by output from `metadata-action`.{% else %}
-* `tags`: Must be set in the format {% ifversion ghes %}`{% data reusables.package_registry.container-registry-hostname %}/OWNER/REPOSITORY/IMAGE_NAME:VERSION`.
+* `tags`: Must be set in the format `{% data reusables.package_registry.container-registry-hostname %}/OWNER/REPOSITORY/IMAGE_NAME:VERSION`.
- For example, for an image named `octo-image` stored on {% data variables.product.prodname_ghe_server %} at `https://HOSTNAME/octo-org/octo-repo`, the `tags` option should be set to `{% data reusables.package_registry.container-registry-hostname %}/octo-org/octo-repo/octo-image:latest`{% else %}`docker.pkg.github.com/OWNER/REPOSITORY/IMAGE_NAME:VERSION`.
-
- For example, for an image named `octo-image` stored on {% data variables.product.prodname_dotcom %} at `http://github.com/octo-org/octo-repo`, the `tags` option should be set to `docker.pkg.github.com/octo-org/octo-repo/octo-image:latest`{% endif %}. You can set a single tag as shown below, or specify multiple tags in a list.{% endif %}
+ For example, for an image named `octo-image` stored on {% data variables.product.prodname_ghe_server %} at `https://HOSTNAME/octo-org/octo-repo`, the `tags` option should be set to `{% data reusables.package_registry.container-registry-hostname %}/octo-org/octo-repo/octo-image:latest`
+. You can set a single tag as shown below, or specify multiple tags in a list.{% endif %}
{% data reusables.package_registry.publish-docker-image %}
@@ -206,7 +205,7 @@ jobs:
- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
- registry: {% ifversion fpt or ghec %}ghcr.io{% elsif ghes %}{% data reusables.package_registry.container-registry-hostname %}{% else %}docker.pkg.github.com{% endif %}
+ registry: {% ifversion fpt or ghec %}ghcr.io{% elsif ghes %}{% data reusables.package_registry.container-registry-hostname %}{% endif %}
username: {% raw %}${{ github.actor }}{% endraw %}
password: {% raw %}${{ secrets.GITHUB_TOKEN }}{% endraw %}
diff --git a/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md b/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md
index 67be9adaef4a..9fab14a18a01 100644
--- a/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md
+++ b/content/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities.md
@@ -134,7 +134,7 @@ $ ghe-config app.github.rate-limiting-exempt-users "hubot github-actions[bot]"
### ghe-config-apply
-This utility applies {% data variables.enterprise.management_console %} settings, reloads system services, prepares a storage device, reloads application services, and runs any pending database migrations. It is equivalent to clicking **Save settings** in the {% data variables.enterprise.management_console %}'s web UI or to sending a POST request to {% ifversion management-console-manage-ghes-parity %}[the `/manage/v1/config/apply` endpoint](/rest/enterprise-admin/manage-ghes#trigger-a-ghe-config-apply-run){% else %}[the `/setup/api/configure` endpoint](/rest/enterprise-admin/management-console){% endif %}. {% ifversion ghes > 3.15 %} Starting in version 3.16, this utility applies configuration changes conditionally to relevant settings. You can force it to run unconditionally by using `-f` flag. {% endif %}
+This utility applies {% data variables.enterprise.management_console %} settings, reloads system services, prepares a storage device, reloads application services, and runs any pending database migrations. It is equivalent to clicking **Save settings** in the {% data variables.enterprise.management_console %}'s web UI or to sending a POST request to [the `/manage/v1/config/apply` endpoint](/rest/enterprise-admin/manage-ghes#trigger-a-ghe-config-apply-run). {% ifversion ghes > 3.15 %} Starting in version 3.16, this utility applies configuration changes conditionally to relevant settings. You can force it to run unconditionally by using `-f` flag. {% endif %}
```shell
ghe-config-apply
@@ -662,8 +662,6 @@ $ ghe-cluster-maintenance -u
# Unsets maintenance mode
```
-{% ifversion cluster-ha-tooling-improvements %}
-
### ghe-cluster-repl-bootstrap
This utility configures high availability replication to a secondary set of cluster nodes. For more information, see [AUTOTITLE](/admin/monitoring-and-managing-your-instance/configuring-clustering/configuring-high-availability-replication-for-a-cluster).
@@ -680,8 +678,6 @@ This utility disables replication to replica nodes for a cluster in a high avail
ghe-cluster-repl-teardown
```
-{% endif %}
-
### ghe-cluster-status
Check the health of your nodes and services in a cluster deployment of {% data variables.product.prodname_ghe_server %}.
@@ -798,8 +794,6 @@ To evacuate a {% data variables.product.prodname_pages %} storage service before
ghe-dpages evacuate pages-server-UUID
```
-{% ifversion cluster-node-removal %}
-
### ghe-remove-node
This utility removes a node from a cluster. If you're replacing a node, after you've set up a replacement node, you can use this command to take the old node offline. For more information, see [AUTOTITLE](/admin/monitoring-and-managing-your-instance/configuring-clustering/replacing-a-cluster-node).
@@ -826,8 +820,6 @@ Flag | Description
> * This command can only be used to remove a node from a cluster configuration. It cannot be used to remove a node from a high availability configuration.
> * This command does not support parallel execution. To remove multiple nodes, you must wait until this command has finished before running it for another node.
-{% endif %}
-
### ghe-spokesctl
This utility allows you to manage replication of repositories on the distributed Git servers.
diff --git a/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-access-to-the-management-console.md b/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-access-to-the-management-console.md
index 5b84c2379fea..877237a6428f 100644
--- a/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-access-to-the-management-console.md
+++ b/content/admin/administering-your-instance/administering-your-instance-from-the-web-ui/managing-access-to-the-management-console.md
@@ -16,7 +16,7 @@ topics:
{% data reusables.enterprise_site_admin_settings.management-console-access %} For more information about {% data variables.enterprise.management_console %} access, see [AUTOTITLE](/admin/configuration/administering-your-instance-from-the-management-console).
-{% ifversion ghes-manage-api-cli-extension %}You can also use the `gh es` {% data variables.product.prodname_cli %} extension to manage the root site administrator password, which controls access to the Management Console. For more information, see the [GH ES CLI usage documentation](https://github.com/github/gh-es/blob/main/USAGE.md#gh-es-access-set-password) and [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/administering-your-instance-using-the-github-cli).{% endif %}
+You can also use the `gh es` {% data variables.product.prodname_cli %} extension to manage the root site administrator password, which controls access to the Management Console. For more information, see the [GH ES CLI usage documentation](https://github.com/github/gh-es/blob/main/USAGE.md#gh-es-access-set-password) and [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/administering-your-instance-using-the-github-cli).
## Types of {% data variables.enterprise.management_console %} accounts
diff --git a/content/admin/administering-your-instance/configuring-maintenance-mode/enabling-and-scheduling-maintenance-mode.md b/content/admin/administering-your-instance/configuring-maintenance-mode/enabling-and-scheduling-maintenance-mode.md
index 18e3d3074df0..3aab2188f043 100644
--- a/content/admin/administering-your-instance/configuring-maintenance-mode/enabling-and-scheduling-maintenance-mode.md
+++ b/content/admin/administering-your-instance/configuring-maintenance-mode/enabling-and-scheduling-maintenance-mode.md
@@ -74,16 +74,12 @@ You can also use a command-line utility to configure the IP exception list. For
You can manage maintenance mode on {% data variables.location.product_location %} using the REST API. For more information, see [AUTOTITLE](/rest/enterprise-admin/manage-ghes#get-the-status-of-maintenance-mode).
-{% ifversion ghes-manage-api-cli-extension %}
-
## Managing maintenance mode using the {% data variables.product.prodname_cli %}
You can manage maintenance mode on {% data variables.location.product_location %} using the {% data variables.product.prodname_cli %} `gh es` extension. For more information, see the GH ES CLI usage documentation for [`gh es maintenance set`](https://github.com/github/gh-es/blob/main/USAGE.md#gh-es-maintenance-set) and [`gh es maintenance get`](https://github.com/github/gh-es/blob/main/USAGE.md#gh-es-maintenance-get).
For more information, see [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/administering-your-instance-using-the-github-cli).
-{% endif %}
-
## Managing maintenance mode using SSH
If you have SSH access, you can use the `ghe-maintenance` command line utility to can set or unset maintenance mode for a {% data variables.product.prodname_ghe_server %} instance with one node, or multiple nodes in a high-availability configuration. For more information, see [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/accessing-the-administrative-shell-ssh) and [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities#ghe-maintenance).
diff --git a/content/admin/configuring-packages/configuring-package-ecosystem-support-for-your-enterprise.md b/content/admin/configuring-packages/configuring-package-ecosystem-support-for-your-enterprise.md
index d72d780aa4c4..2ffb03c43e4c 100644
--- a/content/admin/configuring-packages/configuring-package-ecosystem-support-for-your-enterprise.md
+++ b/content/admin/configuring-packages/configuring-package-ecosystem-support-for-your-enterprise.md
@@ -1,6 +1,6 @@
---
title: Configuring package ecosystem support for your enterprise
-intro: 'You can configure {% data variables.product.prodname_registry %} for your enterprise by globally enabling or disabling individual package ecosystems on your enterprise, including {% ifversion ghes %}{% data variables.product.prodname_container_registry %}, {% endif %}Docker, and npm. Learn about other configuration requirements to support specific package ecosystems.'
+intro: 'You can configure {% data variables.product.prodname_registry %} for your enterprise by globally enabling or disabling individual package ecosystems on your enterprise, including {% data variables.product.prodname_container_registry %}, Docker, and npm. Learn about other configuration requirements to support specific package ecosystems.'
permissions: 'Site administrators can enable {% data variables.product.prodname_registry %} and configure enterprise settings.'
redirect_from:
- /enterprise/admin/packages/configuring-packages-support-for-your-enterprise
diff --git a/content/admin/configuring-settings/configuring-github-connect/about-github-connect.md b/content/admin/configuring-settings/configuring-github-connect/about-github-connect.md
index 32c517f61497..fcd77de581c9 100644
--- a/content/admin/configuring-settings/configuring-github-connect/about-github-connect.md
+++ b/content/admin/configuring-settings/configuring-github-connect/about-github-connect.md
@@ -21,7 +21,7 @@ After you enable {% data variables.product.prodname_github_connect %}, you can c
## About the connection
-To enable {% data variables.product.prodname_github_connect %}, you configure a connection between {% data variables.location.product_location %} and an enterprise account on **{% data variables.product.prodname_dotcom_the_website %}**{% ifversion ghecom-github-connect %} or **{% data variables.enterprise.data_residency_site %}**{% endif %}. {% data reusables.github-connect.connection-port-protocol %}
+To enable {% data variables.product.prodname_github_connect %}, you configure a connection between {% data variables.location.product_location %} and an enterprise account on **{% data variables.product.prodname_dotcom_the_website %}** or **{% data variables.enterprise.data_residency_site %}**. {% data reusables.github-connect.connection-port-protocol %}
* {% data variables.product.prodname_github_connect %} does not open {% data variables.location.product_location %} to the public internet.
* None of your enterprise's private data is exposed to {% data variables.product.prodname_ghe_cloud %} users.
@@ -84,15 +84,7 @@ Additional data is transmitted if you enable individual features of {% data vari
## Enabling {% data variables.product.prodname_github_connect %}
-{% ifversion ghecom-github-connect %}
-
To enable {% data variables.product.prodname_github_connect %}, see the article for your {% data variables.product.prodname_ghe_cloud %} environment.
* [AUTOTITLE](/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-githubcom)
* [AUTOTITLE](/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-ghecom)
-
-{% else %}
-
-To enable {% data variables.product.prodname_github_connect %}, see [AUTOTITLE](/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-githubcom).
-
-{% endif %}
diff --git a/content/admin/configuring-settings/configuring-github-connect/enabling-dependabot-for-your-enterprise.md b/content/admin/configuring-settings/configuring-github-connect/enabling-dependabot-for-your-enterprise.md
index b53bc7fef3b5..cd26421f5a02 100644
--- a/content/admin/configuring-settings/configuring-github-connect/enabling-dependabot-for-your-enterprise.md
+++ b/content/admin/configuring-settings/configuring-github-connect/enabling-dependabot-for-your-enterprise.md
@@ -1,6 +1,6 @@
---
title: Enabling Dependabot for your enterprise
-intro: 'You can allow users to find and fix vulnerabilities in code dependencies by setting up {% data variables.product.prodname_dependabot_alerts %}{% ifversion ghes %} and {% data variables.product.prodname_dependabot_updates %}{% endif %}.'
+intro: 'You can allow users to find and fix vulnerabilities in code dependencies by setting up {% data variables.product.prodname_dependabot_alerts %} and {% data variables.product.prodname_dependabot_updates %}.'
shortTitle: Dependabot
redirect_from:
- /enterprise/admin/installation/enabling-security-alerts-for-vulnerable-dependencies-on-github-enterprise-server
@@ -55,9 +55,7 @@ After you enable {% data variables.product.prodname_dependabot_alerts %}, you ca
By default, {% data variables.product.prodname_actions %} runners used by {% data variables.product.prodname_dependabot %} need access to the internet, to download updated packages from upstream package managers. For {% data variables.product.prodname_dependabot_updates %} powered by {% data variables.product.prodname_github_connect %}, internet access provides your runners with a token that allows access to dependencies and advisories hosted on {% data variables.product.prodname_dotcom_the_website %}.
-{% ifversion dependabot-ghes-no-public-internet %}
You can enable {% data variables.product.prodname_dependabot_updates %} for specific private registries on {% data variables.product.prodname_ghe_server %} instances with limited, or no, internet access. For more information, see [AUTOTITLE](/admin/code-security/managing-supply-chain-security-for-your-enterprise/configuring-dependabot-to-work-with-limited-internet-access).
-{% endif %}
With {% data variables.product.prodname_dependabot_updates %}, {% data variables.product.company_short %} automatically creates pull requests to update dependencies in two ways.
diff --git a/content/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-githubcom.md b/content/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-githubcom.md
index 48f1a5e401fd..74f09aeec34b 100644
--- a/content/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-githubcom.md
+++ b/content/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-githubcom.md
@@ -35,9 +35,7 @@ You can access additional features and workflows on {% data variables.location.p
* Your enterprise account on {% data variables.product.prodname_dotcom_the_website %} must be invoiced. Enterprise accounts on the free trial of {% data variables.product.prodname_ghe_cloud %} or that pay by credit card cannot be connected to {% data variables.location.product_location %}.
* If your enterprise account on {% data variables.product.prodname_dotcom_the_website %} uses IP allow lists, you must add the IP address or network for {% data variables.location.product_location %} to your IP allow list. See [AUTOTITLE](/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise#managing-allowed-ip-addresses-for-organizations-in-your-enterprise) in the {% data variables.product.prodname_ghe_cloud %} documentation.
* To configure a connection, your proxy configuration must allow connectivity to `github.com`, `api.github.com`, and `uploads.github.com`. For more information, see [AUTOTITLE](/admin/configuration/configuring-network-settings/configuring-an-outbound-web-proxy-server).
-{%- ifversion ghecom-github-connect %}
* If you have previously enabled {% data variables.product.prodname_github_connect %} for an enterprise on {% data variables.enterprise.data_residency_site %}, you must change your configuration to allow connections to {% data variables.product.prodname_dotcom_the_website %}. See [AUTOTITLE](/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-ghecom#reenabling-connections-to-githubcom).
-{%- endif %}
## Enabling {% data variables.product.prodname_github_connect %}
diff --git a/content/admin/configuring-settings/configuring-github-connect/enabling-unified-contributions-for-your-enterprise.md b/content/admin/configuring-settings/configuring-github-connect/enabling-unified-contributions-for-your-enterprise.md
index 6e7f8f5b8875..382626d8b1bd 100644
--- a/content/admin/configuring-settings/configuring-github-connect/enabling-unified-contributions-for-your-enterprise.md
+++ b/content/admin/configuring-settings/configuring-github-connect/enabling-unified-contributions-for-your-enterprise.md
@@ -23,7 +23,7 @@ topics:
## About unified contributions
-As an enterprise owner, you can allow end users to send anonymized contribution counts for their work from {% data variables.location.product_location %} to their contribution graph on {% data variables.product.prodname_dotcom_the_website %}{% ifversion ghecom-github-connect %} or {% data variables.enterprise.data_residency_site %}{% endif %}.
+As an enterprise owner, you can allow end users to send anonymized contribution counts for their work from {% data variables.location.product_location %} to their contribution graph on {% data variables.product.prodname_dotcom_the_website %} or {% data variables.enterprise.data_residency_site %}.
After you enable {% data variables.enterprise.prodname_unified_contributions %}, before individual users can send contribution counts from {% data variables.location.product_location %} to {% data variables.product.prodname_ghe_cloud %}, each user must also connect their user account on {% data variables.product.prodname_ghe_server %} with an account on {% data variables.product.prodname_ghe_cloud %}. For more information, see [AUTOTITLE](/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-settings-on-your-profile/sending-enterprise-contributions-to-your-githubcom-profile).
@@ -35,7 +35,7 @@ If the enterprise owner disables the functionality or individual users opt out o
## Enabling unified contributions
-Before enabling {% data variables.enterprise.prodname_unified_contributions %} on {% data variables.location.product_location %}, you must enable {% data variables.product.prodname_github_connect %}. See {% ifversion ghecom-github-connect %}[AUTOTITLE](/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-ghecom) or {% endif %}[AUTOTITLE](/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-githubcom).
+Before enabling {% data variables.enterprise.prodname_unified_contributions %} on {% data variables.location.product_location %}, you must enable {% data variables.product.prodname_github_connect %}. See [AUTOTITLE](/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-ghecom) or [AUTOTITLE](/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-githubcom).
{% data reusables.github-connect.access-dotcom-and-enterprise %}
{% data reusables.enterprise_site_admin_settings.access-settings %}
diff --git a/content/admin/configuring-settings/configuring-github-connect/enabling-unified-search-for-your-enterprise.md b/content/admin/configuring-settings/configuring-github-connect/enabling-unified-search-for-your-enterprise.md
index efa84fdf2cae..94c61d36ce08 100644
--- a/content/admin/configuring-settings/configuring-github-connect/enabling-unified-search-for-your-enterprise.md
+++ b/content/admin/configuring-settings/configuring-github-connect/enabling-unified-search-for-your-enterprise.md
@@ -24,7 +24,7 @@ topics:
## About {% data variables.enterprise.prodname_unified_search %}
-When you enable unified search, users can view search results from content on {% data variables.product.prodname_dotcom_the_website %}{% ifversion ghecom-github-connect %} or {% data variables.enterprise.data_residency_site %}{% endif %} when searching from {% data variables.location.product_location %}.
+When you enable unified search, users can view search results from content on {% data variables.product.prodname_dotcom_the_website %} or {% data variables.enterprise.data_residency_site %} when searching from {% data variables.location.product_location %}.
You can choose to allow search results for public repositories on {% data variables.product.prodname_dotcom_the_website %}, and you can separately choose to allow search results for private repositories on {% data variables.product.prodname_ghe_cloud %}. If you enable unified search for private repositories, users can only search private repositories that they have access to and that are owned by the connected enterprise account. For more information, see [AUTOTITLE](/search-github/getting-started-with-searching-on-github/about-searching-on-github#searching-across-github-enterprise-and-githubcom-simultaneously).
@@ -36,7 +36,7 @@ Searching via the REST and GraphQL APIs does not include {% data variables.produ
## Enabling {% data variables.enterprise.prodname_unified_search %}
-Before you can enable {% data variables.enterprise.prodname_unified_search %}, you must enable {% data variables.product.prodname_github_connect %}. See {% ifversion ghecom-github-connect %}[AUTOTITLE](/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-ghecom) or {% endif %}[AUTOTITLE](/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-githubcom).
+Before you can enable {% data variables.enterprise.prodname_unified_search %}, you must enable {% data variables.product.prodname_github_connect %}. See [AUTOTITLE](/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-ghecom) or [AUTOTITLE](/admin/configuring-settings/configuring-github-connect/enabling-github-connect-for-githubcom).
{% data reusables.github-connect.access-dotcom-and-enterprise %}
{% data reusables.enterprise_site_admin_settings.access-settings %}
diff --git a/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-github-pages-for-your-enterprise.md b/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-github-pages-for-your-enterprise.md
index 57cf18ffdf6c..9e54b4421f0d 100644
--- a/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-github-pages-for-your-enterprise.md
+++ b/content/admin/configuring-settings/configuring-user-applications-for-your-enterprise/configuring-github-pages-for-your-enterprise.md
@@ -1,6 +1,6 @@
---
title: Configuring GitHub Pages for your enterprise
-intro: 'You can enable or disable {% data variables.product.prodname_pages %} for your enterprise{% ifversion ghes %} and choose whether to make sites publicly accessible{% endif %}.'
+intro: 'You can enable or disable {% data variables.product.prodname_pages %} for your enterprise and choose whether to make sites publicly accessible.'
redirect_from:
- /enterprise/admin/guides/installation/disabling-github-enterprise-pages
- /enterprise/admin/guides/installation/configuring-github-enterprise-pages
diff --git a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise.md b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise.md
index 2d3fe58ca26e..73da04d36678 100644
--- a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise.md
+++ b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise.md
@@ -51,7 +51,7 @@ In the "Policies" section, you can control which organizations within your enter
You can also limit the use of public actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %}, with the following options:
* **Allow all actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %}:** Any action {% ifversion actions-workflow-policy %}or reusable workflow{% endif %} can be used, regardless of who authored it or where it is defined.
-* **Allow enterprise actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %}:** Only actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %} defined in a repository within the enterprise can be used. {% ifversion ghec or fpt %}Blocks all access to actions authored by {% data variables.product.prodname_dotcom %}, such as the [`actions/checkout`](https://github.com/actions/checkout) action.{% endif %}
+* **Allow enterprise actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %}:** Only actions {% ifversion actions-workflow-policy %}and reusable workflows{% endif %} defined in a repository within the enterprise can be used. {% ifversion ghec %}Blocks all access to actions authored by {% data variables.product.prodname_dotcom %}, such as the [`actions/checkout`](https://github.com/actions/checkout) action.{% endif %}
* {% data reusables.actions.policy-label-for-select-actions-workflows %}: Any action {% ifversion actions-workflow-policy %}or reusable workflow{% endif %} defined in a repository within the enterprise can be used, plus any action {% ifversion actions-workflow-policy %}or reusable workflow{% endif %} that matches criteria you specify.
diff --git a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md
index b497968b9599..27740ca7598f 100644
--- a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md
+++ b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise.md
@@ -42,7 +42,7 @@ Before you require use of two-factor authentication, we recommend notifying orga
> [!WARNING]
> * When you require two-factor authentication for your enterprise, {% ifversion ghes < 3.17 %}members and {% endif %}outside collaborators (including bot accounts) in all organizations owned by your enterprise who do not use 2FA will be removed from the organization and lose access to its repositories. They will also lose access to their forks of the organization's private repositories. You can reinstate their access privileges and settings if they enable 2FA for their account within three months of their removal from your organization. For more information, see [AUTOTITLE](/organizations/managing-membership-in-your-organization/reinstating-a-former-member-of-your-organization).
-> * Any {% ifversion ghes < 3.17 %}member or {% endif %}outside collaborator in any of the organizations owned by your enterprise who disables 2FA for their account after you've enabled required two-factor authentication will automatically be removed from the organization. Members {% ifversion fpt or ghes %}and billing managers{% endif %} who disable 2FA will not be able to access organization resources until they re-enable it.
+> * Any {% ifversion ghes < 3.17 %}member or {% endif %}outside collaborator in any of the organizations owned by your enterprise who disables 2FA for their account after you've enabled required two-factor authentication will automatically be removed from the organization. Members {% ifversion ghes %}and billing managers{% endif %} who disable 2FA will not be able to access organization resources until they re-enable it.
> * If you're the sole owner of an enterprise that requires two-factor authentication, you won't be able to disable 2FA for your user account without disabling required 2FA for the enterprise.
{% ifversion mandatory-2fa-dotcom-contributors %}
@@ -60,11 +60,11 @@ Before you require use of two-factor authentication, we recommend notifying orga
1. If prompted, read the information about how user access to organization resources will be affected by a 2FA requirement. To confirm the change, click **Confirm**.
1. Optionally, if any {% ifversion ghes < 3.17 %}members or {% endif %}outside collaborators are removed from the organizations owned by your enterprise, we recommend sending them an invitation to reinstate their former privileges and access to your organization. Each person must enable 2FA before they can accept your invitation.
-{% ifversion fpt or ghec %}
+{% ifversion ghec %}
### Requiring secure methods of two-factor authentication for organizations in your enterprise
-Alongside requiring two-factor authentication, enterprise owners can require that organization members, billing managers, and outside collaborators in all organizations owned by an enterprise use secure methods of 2FA. Secure two-factor methods are passkeys, security keys, authenticator apps, and the GitHub mobile app. Users who do not have a secure method of 2FA configured, or who have any insecure method configured, will be prevented from accessing resources within any organizations owned by an enterprise. {% ifversion ghec %} This policy is not available for enterprises with managed users.{% endif %}
+Alongside requiring two-factor authentication, enterprise owners can require that organization members, billing managers, and outside collaborators in all organizations owned by an enterprise use secure methods of 2FA. Secure two-factor methods are passkeys, security keys, authenticator apps, and the GitHub mobile app. Users who do not have a secure method of 2FA configured, or who have any insecure method configured, will be prevented from accessing resources within any organizations owned by an enterprise. This policy is not available for enterprises with managed users.
Before you require secure methods of two-factor authentication, we recommend notifying organization members, outside collaborators, and billing managers and asking them to set up secure 2FA for their accounts. Organization owners can see if members and outside collaborators already use secure methods of 2FA on each organization's "People" page. For more information, see [AUTOTITLE](/organizations/keeping-your-organization-secure/managing-two-factor-authentication-for-your-organization/viewing-whether-users-in-your-organization-have-2fa-enabled).
diff --git a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md
index a60fd9f4d10b..da2e89b24927 100644
--- a/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md
+++ b/content/admin/enforcing-policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise.md
@@ -63,11 +63,8 @@ Each time someone creates a new repository within your enterprise, that person m
If an enterprise owner disallows members from creating certain types of repositories, members will not be able to create that type of repository even if the visibility setting defaults to that type. For more information, see [Enforcing a policy for repository creation](#enforcing-a-policy-for-repository-creation).
{% data reusables.enterprise-accounts.access-enterprise %}
-{% ifversion ghes %}
{% data reusables.enterprise-accounts.policies-tab %}
-{% else %}
-{% data reusables.enterprise-accounts.settings-tab %}
-{% endif %}
+
{% data reusables.enterprise-accounts.options-tab %}
1. Under "Default repository visibility", use the drop-down menu and select a default visibility.
{% indented_data_reference reusables.enterprise_installation.image-urls-viewable-warning spaces=3 %}
@@ -209,8 +206,6 @@ By default, when you enforce repository upload limits, people cannot add or upda

-{% ifversion ghes %}
-
## Enforcing a policy for the display of member names in your repositories
Across all organizations owned by your enterprise, you can allow members to see a comment author's profile name, in addition to their username, in issues and pull requests for public and internal repositories.
@@ -228,18 +223,13 @@ Across all organizations owned by your enterprise, you can allow members to see

-{% endif %}
-
## Configuring the merge conflict editor for pull requests between repositories
Requiring users to resolve merge conflicts locally on their computer can prevent people from inadvertently writing to an upstream repository from a fork.
{% data reusables.enterprise-accounts.access-enterprise %}
-{% ifversion ghes %}
{% data reusables.enterprise-accounts.policies-tab %}
-{% else %}
-{% data reusables.enterprise-accounts.settings-tab %}
-{% endif %}
+
{% data reusables.enterprise-accounts.options-tab %}
1. Under "Conflict editor for pull requests between repositories", use the drop-down menu, and click **Disabled**.
@@ -307,11 +297,8 @@ If necessary, you can prevent repository administrators from changing anonymous
### Setting anonymous Git read access for all repositories
{% data reusables.enterprise-accounts.access-enterprise %}
-{% ifversion ghes %}
{% data reusables.enterprise-accounts.policies-tab %}
-{% else %}
-{% data reusables.enterprise-accounts.settings-tab %}
-{% endif %}
+
{% data reusables.enterprise-accounts.options-tab %}
1. Under "Anonymous Git read access", use the drop-down menu, and click **Enabled**.
1. Optionally, to prevent repository admins from changing anonymous Git read access settings in all repositories on your enterprise, select **Prevent repository admins from changing anonymous Git read access**.
diff --git a/content/admin/managing-accounts-and-repositories/communicating-information-to-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md b/content/admin/managing-accounts-and-repositories/communicating-information-to-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md
index 91b7bf90a64e..7149a89e7ff1 100644
--- a/content/admin/managing-accounts-and-repositories/communicating-information-to-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md
+++ b/content/admin/managing-accounts-and-repositories/communicating-information-to-users-in-your-enterprise/customizing-user-messages-for-your-enterprise.md
@@ -25,7 +25,7 @@ You can create global announcement banners, which appear at the top of every pag
{% else %}
There are several types of user messages.
-* Messages that appear on the {% ifversion ghes %}sign in or {% endif %}sign out page
+* Messages that appear on the sign in or sign out page
* Mandatory messages, which appear once in a pop-up window that must be dismissed
* Announcement banners, which appear at the top of every page
@@ -58,15 +58,12 @@ There are several types of user messages.
{% data reusables.enterprise-accounts.access-enterprise %}
{% data reusables.enterprise-accounts.settings-tab %}
{% data reusables.enterprise-accounts.messages-tab %}
-1. {% ifversion ghes %}To the right of{% else %}Under{% endif %} "Sign out page", click **Add message** or **Edit message**.
+1. To the right of "Sign out page", click **Add message** or **Edit message**.

1. Under **Sign out message**, type the message you'd like users to see.
-{% ifversion ghes %}
-{% data reusables.enterprise_site_admin_settings.message-preview-save %}{% else %}
-{% data reusables.enterprise_site_admin_settings.click-preview %}
-1. Review the rendered message.
-{% data reusables.enterprise_site_admin_settings.save-changes %}{% endif %}{% endif %}
+{% data reusables.enterprise_site_admin_settings.message-preview-save %}
+{% endif %}
{% ifversion ghes %}
@@ -101,7 +98,7 @@ You can set a global announcement banner to be displayed to all users at the top
You can also create announcement banners at the organization level. For more information, see [AUTOTITLE](/organizations/managing-organization-settings/creating-an-announcement-banner-for-your-organization).
{% ifversion ghes %}
-You can also set an announcement banner{% ifversion ghes %} in the administrative shell using a command line utility or{% endif %} using the API. For more information, see {% ifversion ghes %}[AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-announce) and {% endif %}[AUTOTITLE](/rest/enterprise-admin#announcements).
+You can also set an announcement banner in the administrative shell using a command line utility or using the API. For more information, see [AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-announce) and [AUTOTITLE](/rest/enterprise-admin#announcements).
{% endif %}
{% data reusables.enterprise-accounts.access-enterprise %}
diff --git a/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/best-practices-for-structuring-organizations-in-your-enterprise.md b/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/best-practices-for-structuring-organizations-in-your-enterprise.md
index 9dee27b5f375..3b5fdfb361a7 100644
--- a/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/best-practices-for-structuring-organizations-in-your-enterprise.md
+++ b/content/admin/managing-accounts-and-repositories/managing-organizations-in-your-enterprise/best-practices-for-structuring-organizations-in-your-enterprise.md
@@ -30,7 +30,7 @@ In general, {% data variables.product.company_short %} recommends minimizing the
Organization owners always have access to all repositories owned by the organization. If your company is large enough that no single owner should have access to all repositories, consider creating multiple organizations.
-The main benefit of creating multiple organizations is the ability to configure separate policies, settings, and requirements for each. {% ifversion fpt or ghec %} For example, each organization can have a different SAML configuration.{% endif %}
+The main benefit of creating multiple organizations is the ability to configure separate policies, settings, and requirements for each. {% ifversion ghec %} For example, each organization can have a different SAML configuration.{% endif %}
Avoid creating a one-to-one relationship between organizations and structural entities of your company, such as individual teams or business units. Instead, group structural entities that can share policies, settings, and requirements into a single organization. This approach maximizes collaboration while meeting your regulatory requirements.
diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/best-practices-for-user-security.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/best-practices-for-user-security.md
index a231a3d66182..df249e8f53ca 100644
--- a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/best-practices-for-user-security.md
+++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/best-practices-for-user-security.md
@@ -1,6 +1,6 @@
---
title: Best practices for user security
-intro: '{% ifversion ghes %}Outside of instance-level security measures (SSL, subdomain isolation, configuring a firewall) that a site administrator can implement, there {% else %}There {% endif %}are steps your users can take to help protect your enterprise.'
+intro: 'Outside of instance-level security measures (SSL, subdomain isolation, configuring a firewall) that a site administrator can implement, there are steps your users can take to help protect your enterprise.'
redirect_from:
- /enterprise/admin/user-management/best-practices-for-user-security
- /admin/user-management/best-practices-for-user-security
diff --git a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md
index d350de2e32fe..4768ea3e5621 100644
--- a/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md
+++ b/content/admin/managing-accounts-and-repositories/managing-users-in-your-enterprise/viewing-people-in-your-enterprise.md
@@ -223,7 +223,7 @@ You can view a list of members in your enterprise who don't have an email addres
## Viewing whether members in your enterprise have 2FA enabled
-{% ifversion fpt or ghec %}
+{% ifversion ghec %}
You can see which people in your enterprise have enabled two-factor authentication.
diff --git a/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md b/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md
index b65c6215940e..a1137757ff5e 100644
--- a/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md
+++ b/content/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance.md
@@ -90,7 +90,6 @@ You can use {% data variables.product.prodname_actions_runner_controller %} to c
### Provisioning the actions for {% data variables.product.prodname_code_scanning %}
-{% ifversion ghes %}
If you want to use actions to run {% data variables.product.prodname_code_scanning %} on {% data variables.product.prodname_ghe_server %}, the actions must be available on your appliance.
The {% data variables.product.prodname_codeql %} action is included in your installation of {% data variables.product.prodname_ghe_server %}. If both {% data variables.product.prodname_ghe_server %} {{ allVersions[currentVersion].currentRelease }} and your {% data variables.product.prodname_actions %} runner have access to the internet, the action will automatically download the {% data variables.product.prodname_codeql %} {% data variables.product.codeql_cli_ghes_recommended_version %} bundle required to perform analysis. Alternatively, you can use a synchronization tool to make the latest released version of the {% data variables.product.prodname_codeql %} analysis bundle available locally. See [Configuring {% data variables.product.prodname_codeql %} analysis on a server without internet access](#configuring-codeql-analysis-on-a-server-without-internet-access) below.
@@ -103,8 +102,6 @@ If the server on which you are running {% data variables.product.prodname_ghe_se
If you configure the {% data variables.product.prodname_codeql %} action sync tool, you can use it to sync the latest releases of the {% data variables.product.prodname_codeql %} action and associated {% data variables.product.prodname_codeql %} analysis bundle. These are compatible with {% data variables.product.prodname_ghe_server %}.
-{% endif %}
-
### Configuring {% data variables.product.prodname_github_connect %} to sync {% data variables.product.prodname_actions %}
1. If you want to download action workflows on demand from {% data variables.product.prodname_dotcom_the_website %}, you need to enable {% data variables.product.prodname_github_connect %}. See [AUTOTITLE](/admin/configuration/configuring-github-connect/managing-github-connect#enabling-github-connect).
diff --git a/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md b/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md
index 106f6d8555a6..5f48d9abc0ae 100644
--- a/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md
+++ b/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises.md
@@ -47,7 +47,7 @@ You can create your own unique automations, or you can use and adapt workflows f
{% data reusables.actions.ghes-actions-not-enabled-by-default %} After you finish planning, you can follow the instructions for enabling {% data variables.product.prodname_actions %}. For example, you may need to upgrade the CPU and memory resources for {% data variables.location.product_location %}. For more information, see [AUTOTITLE](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server).
{% else %}
-After you finish planning, you can follow the instructions for getting started with {% data variables.product.prodname_actions %}. For more information, see {% ifversion ghec %}[AUTOTITLE](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-cloud).{% endif %}
+After you finish planning, you can follow the instructions for getting started with {% data variables.product.prodname_actions %}. For more information, see [AUTOTITLE](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-cloud).
{% endif %}
## Further reading
diff --git a/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md b/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md
index de863c54c797..4330cf053d10 100644
--- a/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md
+++ b/content/admin/managing-github-actions-for-your-enterprise/getting-started-with-github-actions-for-your-enterprise/getting-started-with-self-hosted-runners-for-your-enterprise.md
@@ -19,7 +19,7 @@ redirect_from:
{% data reusables.actions.about-actions-for-enterprises %} For more information, see [AUTOTITLE](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/about-github-actions-for-enterprises).
-With {% data variables.product.prodname_actions %}, developers can write and combine individual tasks called actions to create custom workflows. {% ifversion ghes %}To enable {% data variables.product.prodname_actions %} for {% ifversion ghes %} {% data variables.location.product_location %}{% endif %}, you must host at least one machine to execute jobs.{% endif %} {% ifversion ghec %}You can host your own runner machine to execute jobs, and this{% elsif ghes %}This{% endif %} machine is called a self-hosted runner. {% data reusables.actions.self-hosted-runner-locations %} {% data reusables.actions.self-hosted-runner-architecture %} {% ifversion ghec %}All{% elsif ghes %}Self-hosted{% endif %} runners can run Linux, Windows, or macOS. For more information, see [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners).
+With {% data variables.product.prodname_actions %}, developers can write and combine individual tasks called actions to create custom workflows. {% ifversion ghes %}To enable {% data variables.product.prodname_actions %} for {% data variables.location.product_location %}, you must host at least one machine to execute jobs.{% endif %} {% ifversion ghec %}You can host your own runner machine to execute jobs, and this{% elsif ghes %}This{% endif %} machine is called a self-hosted runner. {% data reusables.actions.self-hosted-runner-locations %} {% data reusables.actions.self-hosted-runner-architecture %} {% ifversion ghec %}All{% elsif ghes %}Self-hosted{% endif %} runners can run Linux, Windows, or macOS. For more information, see [AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners).
{% ifversion ghec %}
diff --git a/content/admin/managing-iam/iam-configuration-reference/saml-configuration-reference.md b/content/admin/managing-iam/iam-configuration-reference/saml-configuration-reference.md
index a5b0a7ff473e..485c20ab1f05 100644
--- a/content/admin/managing-iam/iam-configuration-reference/saml-configuration-reference.md
+++ b/content/admin/managing-iam/iam-configuration-reference/saml-configuration-reference.md
@@ -79,7 +79,7 @@ The following SAML attributes are available for {% data variables.product.github
| `NameID` | {% octicon "check" aria-label="Required" %} | A persistent user identifier. Any persistent name identifier format may be used. {% ifversion ghec %}If you use an enterprise with {% data variables.product.prodname_emus %}, {% endif %}{% data variables.product.github %} will normalize the `NameID` element to use as a username unless one of the alternative assertions is provided. For more information, see [AUTOTITLE](/admin/identity-and-access-management/managing-iam-for-your-enterprise/username-considerations-for-external-authentication).
> [!NOTE] It's important to use a human-readable, persistent identifier. Using a transient identifier format like `urn:oasis:names:tc:SAML:2.0:nameid-format:transient` will result in re-linking of accounts on every sign-in, which can be detrimental to authorization management. |
| `SessionNotOnOrAfter` | {% octicon "x" aria-label="Optional" %} | The date that {% data variables.product.github %} invalidates the associated session. After invalidation, the person must authenticate once again to access {% ifversion ghec %}your enterprise's resources{% elsif ghes %}{% data variables.location.product_location %}{% endif %}. For more information, see [Session duration and timeout](#session-duration-and-timeout). |
| {% ifversion ghes %} |
-| `administrator` | {% octicon "x" aria-label="Optional" %} | When the value is `true`, {% data variables.product.github %} will automatically promote the user to be a {% ifversion ghes %}site administrator{% endif %}. Setting this attribute to anything but `true` will result in demotion, as long as the value is not blank. Omitting this attribute or leaving the value blank will not change the role of the user. |
+| `administrator` | {% octicon "x" aria-label="Optional" %} | When the value is `true`, {% data variables.product.github %} will automatically promote the user to be a site administrator. Setting this attribute to anything but `true` will result in demotion, as long as the value is not blank. Omitting this attribute or leaving the value blank will not change the role of the user. |
| `username` | {% octicon "x" aria-label="Optional" %} | The username for {% data variables.location.product_location %}. |
| {% endif %} |
| `full_name` | {% octicon "x" aria-label="Optional" %} | {% ifversion ghec %}If you configure SAML SSO for an enterprise and you use {% data variables.product.prodname_emus %}, the{% else %}The{% endif %} full name of the user to display on the user's profile page. |
diff --git a/content/admin/managing-iam/iam-configuration-reference/username-considerations-for-external-authentication.md b/content/admin/managing-iam/iam-configuration-reference/username-considerations-for-external-authentication.md
index 54ad31d80878..3ea796d1481f 100644
--- a/content/admin/managing-iam/iam-configuration-reference/username-considerations-for-external-authentication.md
+++ b/content/admin/managing-iam/iam-configuration-reference/username-considerations-for-external-authentication.md
@@ -1,7 +1,7 @@
---
title: Username considerations for external authentication
shortTitle: Username considerations
-intro: '{% ifversion ghes or ghec %}When you use {% ifversion ghes %}CAS, LDAP, or SAML for authentication{% elsif ghec %}{% data variables.product.prodname_emus %}{% endif %}, {% endif %}{% data variables.product.github %} follows certain rules to determine the username for each user account {% ifversion ghec %}in your enterprise{% elsif ghes %}on your instance{% endif %}.'
+intro: 'When you use {% ifversion ghes %}CAS, LDAP, or SAML for authentication{% elsif ghec %}{% data variables.product.prodname_emus %}{% endif %}, {% data variables.product.github %} follows certain rules to determine the username for each user account {% ifversion ghec %}in your enterprise{% elsif ghes %}on your instance{% endif %}.'
versions:
ghec: '*'
ghes: '*'
@@ -132,11 +132,11 @@ When you configure CAS, LDAP, or SAML authentication (without SCIM), {% data var
| `internal\\The.Octocat` | `the-octocat{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created. Although the normalized username is valid, it already exists. |
| `mona.lisa.the.octocat.from.github.united.states@example.com` | `mona-lisa-the-octocat-from-github-united-states{% ifversion ghec %}_SHORT-CODE{% endif %}` | This username is not created, because it exceeds the 39-character limit. |
-{% ifversion not ghec %}
+{% ifversion ghes %}
### About username normalization with SAML
-{% ifversion ghes %}If you configure SAML authentication for {% data variables.location.product_location %}, {% endif %}{% data variables.product.github %} determines each person's username by one of the following assertions in the SAML response, ordered by descending priority.
+If you configure SAML authentication for {% data variables.location.product_location %}, {% data variables.product.github %} determines each person's username by one of the following assertions in the SAML response, ordered by descending priority.
1. The custom `username` attribute, if defined and present
1. An `http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name` assertion, if present
@@ -147,19 +147,16 @@ When you configure CAS, LDAP, or SAML authentication (without SCIM), {% data var
{% data variables.product.github %} creates a mapping between the `NameID` from the IdP and the username on {% data variables.location.product_location %}, so the `NameID` should be persistent, unique, and not subject to change for the lifecycle of the user.
-{% ifversion ghes %}
-
> [!NOTE]
> If the `NameID` for a user does change on the IdP, the person will see an error message when signing in to {% data variables.location.product_location %}. To restore the person's access, you'll need to update the user account's `NameID` mapping. For more information, see [AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/updating-a-users-saml-nameid).
-{% endif %}
{% endif %}
{% ifversion ghec %}
## Resolving username problems
-When a new user is being provisioned, if the username conflicts with an existing user in the enterprise, the provisioning attempt will fail with a `409` error. If the username is longer than 39 characters (including underscore{% ifversion ghec %} and short code{% endif %}), the provisioning attempt will fail with a `400` error. For a full list of possible user provisioning status codes, see [AUTOTITLE](/rest/enterprise-admin/scim?apiVersion=2022-11-28#provision-a-scim-enterprise-user--status-codes).
+When a new user is being provisioned, if the username conflicts with an existing user in the enterprise, the provisioning attempt will fail with a `409` error. If the username is longer than 39 characters (including underscore and short code), the provisioning attempt will fail with a `400` error. For a full list of possible user provisioning status codes, see [AUTOTITLE](/rest/enterprise-admin/scim?apiVersion=2022-11-28#provision-a-scim-enterprise-user--status-codes).
To resolve this problem, you must make one of the following changes in your IdP so that all normalized usernames will be within the character limit and unique.
diff --git a/content/admin/managing-iam/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise.md b/content/admin/managing-iam/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise.md
index 6d3b9416a828..89dc473a8f1c 100644
--- a/content/admin/managing-iam/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise.md
+++ b/content/admin/managing-iam/using-saml-for-enterprise-iam/configuring-saml-single-sign-on-for-your-enterprise.md
@@ -125,11 +125,10 @@ You can enable or disable SAML authentication for {% data variables.location.pro
> We recommend keeping this value **unselected**. You should enable this feature **only** in the rare instance that your SAML implementation does not support service provider initiated SSO, and when advised by {% data variables.contact.enterprise_support %}.
1. Optionally, if you do not want your SAML provider to determine administrator rights for users on {% data variables.location.product_location %}, select **Disable administrator demotion/promotion**
-{%- ifversion ghes %}
1. Optionally, to allow {% data variables.location.product_location %} to receive encrypted assertions from your SAML IdP, select **Require encrypted assertions**.
You must ensure that your IdP supports encrypted assertions and that the encryption and key transport methods in the management console match the values configured on your IdP. You must also provide {% data variables.location.product_location %}'s public certificate to your IdP. For more information, see [AUTOTITLE](/admin/identity-and-access-management/using-saml-for-enterprise-iam/enabling-encrypted-assertions).
-{%- endif %}
+
1. Under "Single sign-on URL," type the HTTP or HTTPS endpoint on your IdP for single sign-on requests. This value is provided by your IdP configuration. If the host is only available from your internal network, you may need to [configure {% data variables.location.product_location %} to use internal nameservers](/admin/configuration/configuring-network-settings/configuring-dns-nameservers).
1. Optionally, in the **Issuer** field, type your SAML issuer's name. This verifies the authenticity of messages sent to {% data variables.location.product_location %}.
1. Select the **Signature Method** and **Digest Method** dropdown menus, then click the hashing algorithm used by your SAML issuer to verify the integrity of the requests from {% data variables.location.product_location %}.
diff --git a/content/admin/managing-iam/using-saml-for-enterprise-iam/updating-a-users-saml-nameid.md b/content/admin/managing-iam/using-saml-for-enterprise-iam/updating-a-users-saml-nameid.md
index 44590c7c70d5..1081807b829f 100644
--- a/content/admin/managing-iam/using-saml-for-enterprise-iam/updating-a-users-saml-nameid.md
+++ b/content/admin/managing-iam/using-saml-for-enterprise-iam/updating-a-users-saml-nameid.md
@@ -1,7 +1,7 @@
---
title: Updating a user's SAML NameID
shortTitle: Update SAML NameID
-intro: 'When an account''s `NameID` changes on your identity provider (IdP) and the person can no longer {% ifversion ghes %}sign into {% data variables.location.product_location %}{% elsif ghec %}authenticate to access your enterprise''s resources{% endif %}, you must {% ifversion ghec %}either contact {% data variables.product.company_short %} Support or revoke the person''s linked identity{% elsif ghes %}update the `NameID` mapping on {% data variables.location.product_location %}{% endif %}.'
+intro: 'When an account''s `NameID` changes on your identity provider (IdP) and the person can no longer sign into {% data variables.location.product_location %}, you must update the `NameID` mapping on {% data variables.location.product_location %}.'
versions:
ghes: '*'
type: how_to
diff --git a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise.md b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise.md
index ec62b98e824b..7edcf5ca648e 100644
--- a/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise.md
+++ b/content/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/searching-the-audit-log-for-your-enterprise.md
@@ -76,9 +76,7 @@ The `key:value` pairs that can be used in a search query are:
| `created` | Time at which the action occurred.{% ifversion ghes %} If querying the audit log from the site admin dashboard, use `created_at` instead. |
| `country` | Name of the country where the actor was when performing the action. |
| `country_code` | Two-letter short code of the country where the actor was when performing the action. |
-| {% ifversion ghes %} |
| `from` | View from which the action was initiated. |
-| {% endif %} |
| `hashed_token` | The token used to authenticate for the action (if applicable, see [AUTOTITLE](/admin/monitoring-activity-in-your-enterprise/reviewing-audit-logs-for-your-enterprise/identifying-audit-log-events-performed-by-an-access-token)). |
| {% endif %} |
| `ip` | IP address of the actor. |
diff --git a/content/admin/monitoring-and-managing-your-instance/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md b/content/admin/monitoring-and-managing-your-instance/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md
index 7b1858e7b52f..94f6a0d0ce9a 100644
--- a/content/admin/monitoring-and-managing-your-instance/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md
+++ b/content/admin/monitoring-and-managing-your-instance/configuring-clustering/configuring-high-availability-replication-for-a-cluster.md
@@ -43,8 +43,6 @@ You must assign a static IP address to each new node that you provision, and you
## Creating a high availability replica for a cluster
-{% ifversion cluster-ha-tooling-improvements %}
-
To create a high availability replica for your cluster, use the `ghe-cluster-repl-bootstrap` utility, then complete the follow-up tasks that the tool details.
{% data reusables.enterprise_clustering.ssh-to-a-node %}
@@ -61,248 +59,6 @@ To create a high availability replica for your cluster, use the `ghe-cluster-rep
1. After the utility runs, you will see output with further instructions. To finish the configuration, complete the tasks listed in the output.
-{% else %}
-
-To create a high availability replica for your cluster, you must complete the following tasks. You can also review an example configuration.
-
-1. [Assign active nodes to the primary datacenter](#1-assign-active-nodes-to-the-primary-datacenter).
-1. [Add replica nodes to the cluster configuration file](#2-add-replica-nodes-to-the-cluster-configuration-file).
-1. [Review an example configuration](#3-review-an-example-configuration).
-
-### 1. Assign active nodes to the primary datacenter
-
-Before you define a secondary datacenter for your replica nodes, ensure that you assign your active nodes to the primary datacenter.
-
-{% data reusables.enterprise_clustering.ssh-to-a-node %}
-{% data reusables.enterprise_clustering.open-configuration-file %}
-1. Note the name of your cluster's primary datacenter. The `[cluster]` section at the top of the cluster configuration file defines the primary datacenter's name, using the `primary-datacenter` key-value pair.
-
- ```text
- [cluster]
- mysql-master = HOSTNAME
- redis-master = HOSTNAME
- primary-datacenter = primary
- ```
-
- * Optionally, change the name of the primary datacenter to something more descriptive or accurate by editing the value of `primary-datacenter`.
-
-1. {% data reusables.enterprise_clustering.configuration-file-heading %} Under each node's heading, add a new key-value pair to assign the node to a datacenter. Use the same value as `primary-datacenter` from step 3 above. For example, if you want to use the default name (`default`), add the following key-value pair to the section for each node.
-
- ```text
- datacenter = primary
- ```
-
- When you're done, the section for each node in the cluster configuration file should look like the following example. {% data reusables.enterprise_clustering.key-value-pair-order-irrelevant %}
-
- ```text
- [cluster "HOSTNAME"]
- datacenter = default
- hostname = HOSTNAME
- ipv4 = IP-ADDRESS
- ...
- ...
- ```
-
- > [!NOTE]
- > If you changed the name of the primary datacenter in step 3, find the `consul-datacenter` key-value pair in the section for each node and change the value to the renamed primary datacenter. For example, if you named the primary datacenter `primary`, use the following key-value pair for each node.
- >
- > ```text
- > consul-datacenter = primary
- > ```
-
-{% data reusables.enterprise_clustering.apply-configuration %}
-{% data reusables.enterprise_clustering.configuration-finished %}
-
-After {% data variables.product.prodname_ghe_server %} returns you to the prompt, you've finished assigning your nodes to the cluster's primary datacenter.
-
-### 2. Add replica nodes to the cluster configuration file
-
-To configure high availability, you must define a corresponding replica node for every active node in your cluster. To create a new cluster configuration that defines both active and replica nodes, you'll complete the following tasks.
-
-* Create a copy of the active cluster configuration file.
-* Edit the copy to define replica nodes that correspond to the active nodes, adding the IP addresses of the new virtual machines that you provisioned.
-* Merge the modified copy of the cluster configuration back into your active configuration.
-* Apply the new configuration to start replication.
-
-For an example configuration, see [Review an example configuration](#3-review-an-example-configuration).
-
-1. For each node in your cluster, provision a matching virtual machine with identical specifications, running the same version of {% data variables.product.prodname_ghe_server %}. Note the IPv4 address and hostname for each new cluster node. For more information, see [Prerequisites](#prerequisites).
-
- > [!NOTE]
- > If you're reconfiguring high availability after a failover, you can use the old nodes from the primary datacenter instead.
-
-{% data reusables.enterprise_clustering.ssh-to-a-node %}
-1. Back up your existing cluster configuration.
-
- ```shell
- cp /data/user/common/cluster.conf ~/$(date +%Y-%m-%d)-cluster.conf.backup
- ```
-
-1. Create a copy of your existing cluster configuration file in a temporary location, like `/home/admin/cluster-replica.conf`.
-
- ```shell
- grep -Ev "(?:|ipv|uuid)" /data/user/common/cluster.conf > ~/cluster-replica.conf
- ```
-
-1. Remove the `[cluster]` section from the temporary cluster configuration file that you copied in the previous step.
-
- ```shell
- git config -f ~/cluster-replica.conf --remove-section cluster
- ```
-
-1. Decide on a name for the secondary datacenter where you provisioned your replica nodes, then update the temporary cluster configuration file with the new datacenter name. Replace `SECONDARY` with the name you choose.
-
- ```shell
- sed -i 's/datacenter = default/datacenter = SECONDARY/g' ~/cluster-replica.conf
- ```
-
-1. Decide on a pattern for the replica nodes' hostnames.
-
- > [!WARNING]
- > Hostnames for replica nodes must be unique and differ from the hostname for the corresponding active node.
-
-1. Open the temporary cluster configuration file from step 3 in a text editor. For example, you can use Vim.
-
- ```shell
- sudo vim ~/cluster-replica.conf
- ```
-
-1. In each section within the temporary cluster configuration file, update the node's configuration. {% data reusables.enterprise_clustering.configuration-file-heading %}
-
- * Change the quoted hostname in the section heading and the value for `hostname` within the section to the replica node's hostname, per the pattern you chose in step 7 above.
- * Add a new key named `ipv4`, and set the value to the replica node's static IPv4 address.
- * Add a new key-value pair, `replica = enabled`.
-
- ```shell
- [cluster "NEW REPLICA NODE HOSTNAME"]
- ...
- hostname = NEW REPLICA NODE HOSTNAME
- ipv4 = NEW REPLICA NODE IPV4 ADDRESS
- replica = enabled
- ...
- ...
- ```
-
-1. Append the contents of the temporary cluster configuration file that you created in step 4 to the active configuration file.
-
- ```shell
- cat ~/cluster-replica.conf >> /data/user/common/cluster.conf
- ```
-
-1. Designate the primary MySQL and Redis nodes in the secondary datacenter. Replace `REPLICA MYSQL PRIMARY HOSTNAME` and `REPLICA REDIS PRIMARY HOSTNAME` with the hostnames of the replica node that you provisioned to match your existing MySQL and Redis primaries.
-
- ```shell
- git config -f /data/user/common/cluster.conf cluster.mysql-master-replica REPLICA-MYSQL-PRIMARY-HOSTNAME
- git config -f /data/user/common/cluster.conf cluster.redis-master-replica REPLICA-REDIS-PRIMARY-HOSTNAME
- ```
-
- > [!WARNING]
- > Review your cluster configuration file before proceeding.
- >
- > * In the top-level `[cluster]` section, ensure that the values for `mysql-master-replica` and `redis-master-replica` are the correct hostnames for the replica nodes in the secondary datacenter that will serve as the MySQL and Redis primaries after a failover.
- > * In each section for an active node named [cluster "ACTIVE NODE HOSTNAME"], double-check the following key-value pairs.
- > * `datacenter` should match the value of `primary-datacenter` in the top-level `[cluster]` section.
- > * `consul-datacenter` should match the value of `datacenter`, which should be the same as the value for `primary-datacenter` in the top-level `[cluster]` section.
- > * Ensure that for each active node, the configuration has **one** corresponding section for **one** replica node with the same roles. In each section for a replica node, double-check each key-value pair.
- > * `datacenter` should match all other replica nodes.
- > * `consul-datacenter` should match all other replica nodes.
- > * `hostname` should match the hostname in the section heading.
- > * `ipv4` should match the node's unique, static IPv4 address.
- > * `replica` should be configured as `enabled`.
- > * Take the opportunity to remove sections for offline nodes that are no longer in use.
- >
- > To review an example configuration, see [Review an example configuration](#3-review-an-example-configuration).
-
-1. Initialize the new cluster configuration. {% data reusables.enterprise.use-a-multiplexer %}
-
- ```shell
- ghe-cluster-config-init
- ```
-
-1. After the initialization finishes, {% data variables.product.prodname_ghe_server %} displays the following message.
-
- ```shell
- Finished cluster initialization
- ```
-
-{% data reusables.enterprise_clustering.apply-configuration %}
-1. After the configuration run finishes, verify that cluster replication is correctly set up and working.
-
- ```shell
- ghe-cluster-repl-status
- ```
-
-{% data reusables.enterprise_clustering.configuration-finished %}
-1. Configure a load balancer that will accept connections from users after you fail over to the replica nodes. For more information, see [AUTOTITLE](/enterprise/admin/enterprise-management/cluster-network-configuration#configuring-a-load-balancer).
-
-You've finished configuring high availability replication for the nodes in your cluster. Each active node begins replicating configuration and data to its corresponding replica node, and you can direct traffic to the load balancer for the secondary datacenter in the event of a failure. For more information about failing over, see [AUTOTITLE](/enterprise/admin/enterprise-management/initiating-a-failover-to-your-replica-cluster).
-
-### 3. Review an example configuration
-
-The top-level `[cluster]` configuration should look like the following example.
-
-```shell
-[cluster]
- mysql-master = HOSTNAME-OF-ACTIVE-MYSQL-MASTER
- redis-master = HOSTNAME-OF-ACTIVE-REDIS-MASTER
- primary-datacenter = PRIMARY-DATACENTER-NAME
- mysql-master-replica = HOSTNAME-OF-REPLICA-MYSQL-MASTER
- redis-master-replica = HOSTNAME-OF-REPLICA-REDIS-MASTER
- mysql-auto-failover = false
-...
-```
-
-The configuration for an active node in your cluster's storage tier should look like the following example.
-
-```shell
-...
-[cluster "UNIQUE ACTIVE NODE HOSTNAME"]
- datacenter = default
- hostname = UNIQUE-ACTIVE-NODE-HOSTNAME
- ipv4 = IPV4-ADDRESS
- consul-datacenter = default
- consul-server = true
- git-server = true
- pages-server = true
- mysql-server = true
- elasticsearch-server = true
- redis-server = true
- memcache-server = true
- metrics-server = true
- storage-server = true
- uuid = UUID SET AUTOMATICALLY
-...
-```
-
-The configuration for the corresponding replica node in the storage tier should look like the following example.
-
-* Important differences from the corresponding active node are **bold**.
-* {% data variables.product.prodname_ghe_server %} assigns the value for `uuid` automatically, so you shouldn't define this value for replica nodes that you will initialize.
-* The server roles, defined by `*-server` keys, match the corresponding active node.
-
-```shell
-...
-[cluster "UNIQUE REPLICA NODE HOSTNAME"]
- replica = enabled
- ipv4 = IPV4 ADDRESS OF NEW VM WITH IDENTICAL RESOURCES
- datacenter = SECONDARY DATACENTER NAME
- hostname = UNIQUE REPLICA NODE HOSTNAME
- consul-datacenter = SECONDARY DATACENTER NAME
- consul-server = true
- git-server = true
- pages-server = true
- mysql-server = true
- elasticsearch-server = true
- redis-server = true
- memcache-server = true
- metrics-server = true
- storage-server = true
- uuid = DO NOT DEFINE
-...
-```
-
-{% endif %}
-
## Monitoring replication between active and replica cluster nodes
Initial replication between the active and replica nodes in your cluster takes time. The amount of time depends on the amount of data to replicate and the activity levels for {% data variables.product.prodname_ghe_server %}.
@@ -330,9 +86,7 @@ If you use the original active nodes, after reconfiguring high availability, you
## Disabling high availability replication for a cluster
-You can stop replication to the replica nodes for your cluster deployment of {% data variables.product.prodname_ghe_server %}{% ifversion cluster-ha-tooling-improvements %} using the `ghe-cluster-repl-teardown` utility. Alternatively, you can manually disable replication.{% else %}.{% endif %}
-
-{% ifversion cluster-ha-tooling-improvements %}
+You can stop replication to the replica nodes for your cluster deployment of {% data variables.product.prodname_ghe_server %} using the `ghe-cluster-repl-teardown` utility. Alternatively, you can manually disable replication.
### Disabling replication using `ghe-cluster-repl-teardown`
@@ -347,8 +101,6 @@ You can stop replication to the replica nodes for your cluster deployment of {%
### Manually disabling replication
-{% endif %}
-
{% data reusables.enterprise_clustering.ssh-to-a-node %}
{% data reusables.enterprise_clustering.open-configuration-file %}
1. In the top-level `[cluster]` section, delete the `redis-master-replica`, and `mysql-master-replica` key-value pairs.
diff --git a/content/admin/monitoring-and-managing-your-instance/configuring-clustering/monitoring-the-health-of-your-cluster.md b/content/admin/monitoring-and-managing-your-instance/configuring-clustering/monitoring-the-health-of-your-cluster.md
index b40e1f9e9b37..0c00f9810223 100644
--- a/content/admin/monitoring-and-managing-your-instance/configuring-clustering/monitoring-the-health-of-your-cluster.md
+++ b/content/admin/monitoring-and-managing-your-instance/configuring-clustering/monitoring-the-health-of-your-cluster.md
@@ -41,14 +41,10 @@ admin@ghe-data-node-0:~$ ghe-cluster-status | grep error
> [!NOTE]
> If there are no failing tests, this command produces no output. This indicates the cluster is healthy.
-{% ifversion ghes-manage-api-cli-extension %}
-
## Monitoring cluster status using the {% data variables.product.prodname_cli %}
You can use the `gh es` extension for {% data variables.product.prodname_cli %} to check the status of your {% data variables.product.prodname_ghe_server %} cluster. For more information, see the [GH ES CLI usage documentation](https://github.com/github/gh-es/blob/main/USAGE.md#gh-es-cluster-status) and [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/administering-your-instance-using-the-github-cli).
-{% endif %}
-
## Monitoring cluster status with Nagios
You can configure [Nagios](https://www.nagios.org/) to monitor {% data variables.product.prodname_ghe_server %}. In addition to monitoring basic connectivity to each of the cluster nodes, you can check the cluster status by configuring Nagios to use the `ghe-cluster-status -n` command. This returns output in a format that Nagios understands.
diff --git a/content/admin/monitoring-and-managing-your-instance/configuring-clustering/replacing-a-cluster-node.md b/content/admin/monitoring-and-managing-your-instance/configuring-clustering/replacing-a-cluster-node.md
index 3cf1bfc10ea0..9f27feff6d5b 100644
--- a/content/admin/monitoring-and-managing-your-instance/configuring-clustering/replacing-a-cluster-node.md
+++ b/content/admin/monitoring-and-managing-your-instance/configuring-clustering/replacing-a-cluster-node.md
@@ -40,7 +40,6 @@ To replace a functional node, install the {% data variables.product.prodname_ghe
{% data reusables.enterprise_clustering.replacing-a-cluster-node-modify-cluster-conf %}
{% data reusables.enterprise_clustering.replacing-a-cluster-node-initialize-new-node %}
{% data reusables.enterprise_clustering.replacing-a-cluster-node-config-node %}
-{% ifversion cluster-node-removal %}
1. To take the node you're replacing offline, from the primary MySQL node of your cluster, run the following command.
```shell
@@ -48,11 +47,6 @@ To replace a functional node, install the {% data variables.product.prodname_ghe
```
This command will evacuate data from any data services running on the node, mark the node as offline in your configuration, and stop traffic being routed to the node. For more information, see [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/command-line-utilities#ghe-remove-node).
-{% else %}
-{% data reusables.enterprise_clustering.replacing-a-cluster-node-need-three-nodes %}
-{% data reusables.enterprise_clustering.replacing-a-cluster-node-mark-offline %}
-{% data reusables.enterprise_clustering.replacing-a-cluster-node-validate-config %}
-{% endif %}
## Replacing a node in an emergency
@@ -61,8 +55,6 @@ You can replace a failed node in your cluster. For example, a software or hardwa
> [!NOTE]
> If you're replacing the primary database node, see [Replacing the primary database node](#replacing-the-primary-database-node-mysql-or-mysql-and-mssql).
-{% ifversion cluster-node-removal %}
-
To replace a node in an emergency, you'll take the failed node offline, add your replacement node to the cluster, then run commands to remove references to data services on the removed node.
1. To remove the node that is experiencing issues from the cluster, from the primary MySQL node of your cluster, run the following command. Replace NODE-HOSTNAME with the hostname of the node you're taking offline.
@@ -135,22 +127,6 @@ To replace a node in an emergency, you'll take the failed node offline, add your
1. To copy the configuration to other nodes in the cluster, from the administrative shell of the node where you modified `cluster.conf`, run `ghe-cluster-config-apply`.
-{% else %}
-
-To replace a node in an emergency, install the {% data variables.product.prodname_ghe_server %} appliance on a new VM, configure an IP address, take the failed node offline, apply the configuration, add the new node to the cluster configuration file, initialize the cluster and apply the configuration, and optionally, evacuate the failed node.
-
-{% data reusables.enterprise_clustering.replacing-a-cluster-node-provision %}
-{% data reusables.enterprise_clustering.replacing-a-cluster-node-admin-configure-ip %}
-{% data reusables.enterprise_clustering.replacing-a-cluster-node-mark-offline %}
-{% data reusables.enterprise_clustering.replacing-a-cluster-node-validate-config %}
-{% data reusables.enterprise_clustering.replacing-a-cluster-node-modify-cluster-conf %}
-{% data reusables.enterprise_clustering.replacing-a-cluster-node-replacement-name %}
-{% data reusables.enterprise_clustering.replacing-a-cluster-node-initialize-new-node %}
-{% data reusables.enterprise_clustering.replacing-a-cluster-node-config-node %}
-{% data reusables.enterprise_clustering.replacing-a-cluster-node-need-three-nodes %}
-
-{% endif %}
-
## Replacing the primary database node (MySQL or MySQL and MSSQL)
To provide database services, your cluster requires a primary MySQL node and at least one replica MySQL node. For more information, see [AUTOTITLE](/admin/monitoring-and-managing-your-instance/configuring-clustering/about-cluster-nodes).
diff --git a/content/admin/monitoring-and-managing-your-instance/configuring-high-availability/monitoring-a-high-availability-configuration.md b/content/admin/monitoring-and-managing-your-instance/configuring-high-availability/monitoring-a-high-availability-configuration.md
index 685f4c0f441e..097bf23d4162 100644
--- a/content/admin/monitoring-and-managing-your-instance/configuring-high-availability/monitoring-a-high-availability-configuration.md
+++ b/content/admin/monitoring-and-managing-your-instance/configuring-high-availability/monitoring-a-high-availability-configuration.md
@@ -32,14 +32,10 @@ You can also monitor replication status from the overview dashboard on your inst
`http(s)://HOSTNAME/setup/replication`
-{% ifversion ghes-manage-api-cli-extension %}
-
## Monitoring replication using the {% data variables.product.prodname_cli %}
You can monitor replication status on your instance using the `gh es` extension for {% data variables.product.prodname_cli %}. For more information, see the [GH ES CLI usage documentation](https://github.com/github/gh-es/blob/main/USAGE.md#gh-es-replication-status) and [AUTOTITLE](/admin/administering-your-instance/administering-your-instance-from-the-command-line/administering-your-instance-using-the-github-cli).
-{% endif %}
-
## Monitoring replication using the REST API
You can monitor replication status on your instance using the REST API. For more information, see [Manage {% data variables.product.prodname_ghe_server %}](/rest/enterprise-admin/manage-ghes#list-the-status-of-services-running-on-all-replica-nodes) in the REST API documentation.
diff --git a/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/about-system-logs.md b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/about-system-logs.md
index 5a37c71a8317..390f4a0a35dc 100644
--- a/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/about-system-logs.md
+++ b/content/admin/monitoring-and-managing-your-instance/monitoring-your-instance/about-system-logs.md
@@ -95,10 +95,8 @@ The following log files contain events related to the configuration of your inst
| Path | Description |
| :- | :- |
-|
/data/user/common/ghe-config.log| Records events associated with {% ifversion unique-config-run-logs %}the latest{% else %}each{% endif %} configuration run. If a configuration run fails, output to the log stops. This log also records information about migrations that run during the process of upgrading an instance's software. For more information, see [AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-config-apply). | -| {% ifversion unique-config-run-logs %} | +|
/data/user/common/ghe-config.log| Records events associated with the latest configuration run. If a configuration run fails, output to the log stops. This log also records information about migrations that run during the process of upgrading an instance's software. For more information, see [AUTOTITLE](/admin/configuration/configuring-your-enterprise/command-line-utilities#ghe-config-apply). | |
/data/user/config-apply/logs/YYYYMMDD/*| Stores log files for previous configuration runs. The instance stores the files in a directory that reflects the date, and each file name reflects the node and the ID of the run. | -| {% endif %} | ### Log files for search diff --git a/content/admin/overview/about-github-for-enterprises.md b/content/admin/overview/about-github-for-enterprises.md index 144ab22abdba..136c9f99d5ea 100644 --- a/content/admin/overview/about-github-for-enterprises.md +++ b/content/admin/overview/about-github-for-enterprises.md @@ -88,8 +88,8 @@ When businesses adopt {% data variables.product.prodname_enterprise %}, their re 1. Learn more about {% data variables.product.prodname_enterprise %}. - * [AUTOTITLE](/enterprise-cloud@latest/admin/overview/about-github-enterprise-cloud){% ifversion not ghec %} in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %} - * [AUTOTITLE]({% ifversion not ghes %}/enterprise-server@latest{% endif %}/admin/overview/about-github-enterprise-server){% ifversion not ghes %} in the {% data variables.product.prodname_ghe_server %} documentation.{% else %}.{% endif %} + * [AUTOTITLE](/enterprise-cloud@latest/admin/overview/about-github-enterprise-cloud){% ifversion ghes %} in the {% data variables.product.prodname_ghe_cloud %} documentation{% endif %} + * [AUTOTITLE]({% ifversion ghec %}/enterprise-server@latest{% endif %}/admin/overview/about-github-enterprise-server){% ifversion ghec %} in the {% data variables.product.prodname_ghe_server %} documentation.{% else %}.{% endif %} 1. Set up a trial. * [AUTOTITLE](/admin/overview/setting-up-a-trial-of-github-enterprise-cloud) diff --git a/content/admin/overview/about-the-github-enterprise-api.md b/content/admin/overview/about-the-github-enterprise-api.md index 75a41eb8d57b..738d254b2b9b 100644 --- a/content/admin/overview/about-the-github-enterprise-api.md +++ b/content/admin/overview/about-the-github-enterprise-api.md @@ -17,9 +17,8 @@ shortTitle: GitHub Enterprise API With the APIs, you can automate many administrative tasks. Some examples include: -{%- ifversion management-console-manage-ghes-parity %} * Perform a configuration run to apply changes to {% data variables.enterprise.management_console %} settings. For more information, see [AUTOTITLE](/rest/enterprise-admin/manage-ghes). -{%- endif %} + * Configure LDAP sync. For more information, see [AUTOTITLE](/rest/enterprise-admin/ldap). * Collect statistics about your enterprise. For more information, see [AUTOTITLE](/rest/enterprise-admin/admin-stats). * Manage your enterprise account. For more information, see [AUTOTITLE](/graphql/guides/managing-enterprise-accounts). diff --git a/content/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps.md b/content/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps.md index f1c9d77cce49..65aa6c9d2129 100644 --- a/content/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps.md +++ b/content/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps.md @@ -78,9 +78,9 @@ Name | Description `read:gpg_key`| List and view details for GPG keys.{% ifversion fpt or ghec %} **`codespace`** | Grants the ability to create and manage codespaces. Codespaces can expose a GITHUB_TOKEN which may have a different set of scopes. For more information, see [AUTOTITLE](/codespaces/codespaces-reference/security-in-github-codespaces#authentication).{% endif %} **`workflow`** | Grants the ability to add and update {% data variables.product.prodname_actions %} workflow files. Workflow files can be committed without this scope if the same file (with both the same path and contents) exists on another branch in the same repository. Workflow files can expose `GITHUB_TOKEN` which may have a different set of scopes. For more information, see [AUTOTITLE](/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token).{% ifversion not fpt %} -**`admin:enterprise`** | Gives full control of enterprise functionality. For more information, see [AUTOTITLE](/graphql/guides/managing-enterprise-accounts) in the GraphQL API documentation.
Field closedIssueCount was added to object type Milestone
Field openIssueCount was added to object type Milestone
Identifies the number of closed issues associated with the milestone.
", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.
", @@ -35050,6 +35058,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#int" }, + { + "name": "openIssueCount", + "description": "Identifies the number of open issues associated with the milestone.
", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, { "name": "progressPercentage", "description": "Identifies the percentage complete for the milestone.
", @@ -109318,8 +109334,7 @@ "type": "ID", "id": "id", "kind": "scalars", - "href": "/graphql/reference/scalars#id", - "isDeprecated": false + "href": "/graphql/reference/scalars#id" }, { "name": "labelIds", diff --git a/src/graphql/data/ghec/schema.docs.graphql b/src/graphql/data/ghec/schema.docs.graphql index aee077f9afbf..e39e41fd5512 100644 --- a/src/graphql/data/ghec/schema.docs.graphql +++ b/src/graphql/data/ghec/schema.docs.graphql @@ -23482,6 +23482,11 @@ type Milestone implements Closable & Node & UniformResourceLocatable { """ closedAt: DateTime + """ + Identifies the number of closed issues associated with the milestone. + """ + closedIssueCount: Int! + """ Identifies the date and time when the object was created. """ @@ -23562,6 +23567,11 @@ type Milestone implements Closable & Node & UniformResourceLocatable { """ number: Int! + """ + Identifies the number of open issues associated with the milestone. + """ + openIssueCount: Int! + """ Identifies the percentage complete for the milestone """ @@ -64768,7 +64778,7 @@ input UpdateIssueInput { """ The ID of the Issue Type for this issue. """ - issueTypeId: ID @possibleTypes(concreteTypes: ["IssueType"]) + issueTypeId: ID """ An array of Node IDs of labels for this issue. diff --git a/src/graphql/data/ghec/schema.json b/src/graphql/data/ghec/schema.json index f039fb8d9197..1a6eb0889e6b 100644 --- a/src/graphql/data/ghec/schema.json +++ b/src/graphql/data/ghec/schema.json @@ -34904,6 +34904,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#datetime" }, + { + "name": "closedIssueCount", + "description": "Identifies the number of closed issues associated with the milestone.
", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, { "name": "createdAt", "description": "Identifies the date and time when the object was created.
", @@ -35050,6 +35058,14 @@ "kind": "scalars", "href": "/graphql/reference/scalars#int" }, + { + "name": "openIssueCount", + "description": "Identifies the number of open issues associated with the milestone.
", + "type": "Int!", + "id": "int", + "kind": "scalars", + "href": "/graphql/reference/scalars#int" + }, { "name": "progressPercentage", "description": "Identifies the percentage complete for the milestone.
", @@ -109318,8 +109334,7 @@ "type": "ID", "id": "id", "kind": "scalars", - "href": "/graphql/reference/scalars#id", - "isDeprecated": false + "href": "/graphql/reference/scalars#id" }, { "name": "labelIds", diff --git a/src/versions/lib/get-applicable-versions.js b/src/versions/lib/get-applicable-versions.js index 2e86aa4282ac..11c09a781ef2 100644 --- a/src/versions/lib/get-applicable-versions.js +++ b/src/versions/lib/get-applicable-versions.js @@ -40,7 +40,7 @@ function getApplicableVersions(versionsObj, filepath, opts = {}) { (result, value, key) => { if (key === 'feature') { if (typeof value === 'string') { - Object.assign(result, { ...featureData[value].versions }) + Object.assign(result, { ...featureData[value]?.versions }) } else if (Array.isArray(value)) { value.forEach((str) => { Object.assign(result, { ...featureData[str].versions })