diff --git a/.github/workflows/build-site.yml b/.github/workflows/build-site.yml new file mode 100644 index 0000000..cb9a0ce --- /dev/null +++ b/.github/workflows/build-site.yml @@ -0,0 +1,13 @@ +# This workflow takes the contents of the branches/tags and builds the production documentation site +name: Build production site + +on: + push: + branches: [master] + +jobs: + dispatch: + runs-on: ubuntu-latest + steps: + - name: Trigger build + run: curl -X POST -d {} https://api.netlify.com/build_hooks/6238ac2881e6d20c7db8e6c8 diff --git a/.github/workflows/guide-website-update.yml b/.github/workflows/guide-website-update.yml deleted file mode 100644 index 594da1a..0000000 --- a/.github/workflows/guide-website-update.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Guide Web Site Deploy - -on: - push: - branches: master - paths: - - 'doc/**' - -jobs: - antora: - runs-on: ubuntu-18.04 - steps: - - uses: actions/checkout@v2.3.1 - with: - repository: hazelcast-guides/guides-site - ref: master - token: ${{ secrets.SECRET_TOKEN }} - - - name: Install Antora - run: | - sudo apt -y install curl dirmngr apt-transport-https lsb-release ca-certificates - curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash - - sudo apt -y install nodejs - sudo npm i -g @antora/cli@2.3 @antora/site-generator-default@2.3 - - name: Build website artifacts - run: | - sh create.sh - - name: Commit artifacts changes - run: | - git config --global user.name 'devOpsHazelcast' - git config --global user.email 'devops@hazelcast.com' - export GUIDE_REPO=$(cut -d/ -f2 <<<"${GITHUB_REPOSITORY}") - export COMMIT_ID=$(git rev-parse --short "$GITHUB_SHA") - git add docs - git commit -m "${GUIDE_REPO}-${COMMIT_ID} guide update" - - name: Push artifacts to guides-site repo - run: git push diff --git a/README.adoc b/README.adoc new file mode 100644 index 0000000..a55e4a1 --- /dev/null +++ b/README.adoc @@ -0,0 +1 @@ +See the link:https://docs.hazelcast.com/tutorials/active-directory-authentication[tutorial]. \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 2feb498..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -You can find the configurations referred in the guide under `doc/modules/ROOT/examples`. - -See the guide [here](https://guides.hazelcast.org/active-directory-authentication/). diff --git a/doc/antora.yml b/doc/antora.yml deleted file mode 100644 index 643e185..0000000 --- a/doc/antora.yml +++ /dev/null @@ -1,3 +0,0 @@ -name: active-directory-authentication -title: Active Directory authentication in Hazelcast -version: master diff --git a/docs/antora.yml b/docs/antora.yml new file mode 100644 index 0000000..2b5b7d4 --- /dev/null +++ b/docs/antora.yml @@ -0,0 +1,2 @@ +name: tutorials +version: ~ diff --git a/doc/modules/ROOT/assets/images/ad-new-accounts-for-members.png b/docs/modules/ROOT/assets/images/ad-new-accounts-for-members.png similarity index 100% rename from doc/modules/ROOT/assets/images/ad-new-accounts-for-members.png rename to docs/modules/ROOT/assets/images/ad-new-accounts-for-members.png diff --git a/doc/modules/ROOT/assets/images/add-firewall-rule.png b/docs/modules/ROOT/assets/images/add-firewall-rule.png similarity index 100% rename from doc/modules/ROOT/assets/images/add-firewall-rule.png rename to docs/modules/ROOT/assets/images/add-firewall-rule.png diff --git a/doc/modules/ROOT/assets/images/azure-ad-template-on-github.png b/docs/modules/ROOT/assets/images/azure-ad-template-on-github.png similarity index 100% rename from doc/modules/ROOT/assets/images/azure-ad-template-on-github.png rename to docs/modules/ROOT/assets/images/azure-ad-template-on-github.png diff --git a/doc/modules/ROOT/assets/images/azure-deployed-ad-domain.png b/docs/modules/ROOT/assets/images/azure-deployed-ad-domain.png similarity index 100% rename from doc/modules/ROOT/assets/images/azure-deployed-ad-domain.png rename to docs/modules/ROOT/assets/images/azure-deployed-ad-domain.png diff --git a/doc/modules/ROOT/assets/images/azure-deployment.png b/docs/modules/ROOT/assets/images/azure-deployment.png similarity index 100% rename from doc/modules/ROOT/assets/images/azure-deployment.png rename to docs/modules/ROOT/assets/images/azure-deployment.png diff --git a/doc/modules/ROOT/assets/images/client-running.png b/docs/modules/ROOT/assets/images/client-running.png similarity index 100% rename from doc/modules/ROOT/assets/images/client-running.png rename to docs/modules/ROOT/assets/images/client-running.png diff --git a/doc/modules/ROOT/assets/images/two-members-cluster.png b/docs/modules/ROOT/assets/images/two-members-cluster.png similarity index 100% rename from doc/modules/ROOT/assets/images/two-members-cluster.png rename to docs/modules/ROOT/assets/images/two-members-cluster.png diff --git a/doc/modules/ROOT/examples/allow-hazelcast-port.ps1 b/docs/modules/ROOT/examples/active-directory-authentication/allow-hazelcast-port.ps1 similarity index 100% rename from doc/modules/ROOT/examples/allow-hazelcast-port.ps1 rename to docs/modules/ROOT/examples/active-directory-authentication/allow-hazelcast-port.ps1 diff --git a/doc/modules/ROOT/examples/create-groups-and-map-user.ps1 b/docs/modules/ROOT/examples/active-directory-authentication/create-groups-and-map-user.ps1 similarity index 100% rename from doc/modules/ROOT/examples/create-groups-and-map-user.ps1 rename to docs/modules/ROOT/examples/active-directory-authentication/create-groups-and-map-user.ps1 diff --git a/doc/modules/ROOT/examples/debug-logging.properties b/docs/modules/ROOT/examples/active-directory-authentication/debug-logging.properties similarity index 100% rename from doc/modules/ROOT/examples/debug-logging.properties rename to docs/modules/ROOT/examples/active-directory-authentication/debug-logging.properties diff --git a/doc/modules/ROOT/examples/hazelcast-client.yml b/docs/modules/ROOT/examples/active-directory-authentication/hazelcast-client.yml similarity index 96% rename from doc/modules/ROOT/examples/hazelcast-client.yml rename to docs/modules/ROOT/examples/active-directory-authentication/hazelcast-client.yml index 9e7adca..8950fd9 100644 --- a/doc/modules/ROOT/examples/hazelcast-client.yml +++ b/docs/modules/ROOT/examples/active-directory-authentication/hazelcast-client.yml @@ -1,18 +1,18 @@ -hazelcast-client: - network: - cluster-members: - - 10.0.0.10 - - 10.0.0.11 - security: - kerberos: - security-realm: krb5Initiator - realms: - - name: krb5Initiator - authentication: - jaas: - - class-name: com.sun.security.auth.module.Krb5LoginModule - usage: REQUIRED - properties: - isInitiator: true - useTicketCache: true - doNotPrompt: true +hazelcast-client: + network: + cluster-members: + - 10.0.0.10 + - 10.0.0.11 + security: + kerberos: + security-realm: krb5Initiator + realms: + - name: krb5Initiator + authentication: + jaas: + - class-name: com.sun.security.auth.module.Krb5LoginModule + usage: REQUIRED + properties: + isInitiator: true + useTicketCache: true + doNotPrompt: true diff --git a/doc/modules/ROOT/examples/hazelcast-simple.yml b/docs/modules/ROOT/examples/active-directory-authentication/hazelcast-simple.yml similarity index 100% rename from doc/modules/ROOT/examples/hazelcast-simple.yml rename to docs/modules/ROOT/examples/active-directory-authentication/hazelcast-simple.yml diff --git a/doc/modules/ROOT/examples/hazelcast.yml b/docs/modules/ROOT/examples/active-directory-authentication/hazelcast.yml similarity index 100% rename from doc/modules/ROOT/examples/hazelcast.yml rename to docs/modules/ROOT/examples/active-directory-authentication/hazelcast.yml diff --git a/doc/modules/ROOT/examples/krb5.ini b/docs/modules/ROOT/examples/active-directory-authentication/krb5.ini similarity index 94% rename from doc/modules/ROOT/examples/krb5.ini rename to docs/modules/ROOT/examples/active-directory-authentication/krb5.ini index 6ae8a14..487e398 100644 --- a/doc/modules/ROOT/examples/krb5.ini +++ b/docs/modules/ROOT/examples/active-directory-authentication/krb5.ini @@ -1,8 +1,8 @@ -[libdefaults] - default_realm = ACME.COM -[realms] - ACME.COM = { - kdc = dc1.acme.com - } -[domain_realm] - .acme.com = ACME.COM +[libdefaults] + default_realm = ACME.COM +[realms] + ACME.COM = { + kdc = dc1.acme.com + } +[domain_realm] + .acme.com = ACME.COM diff --git a/doc/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/active-directory-authentication.adoc similarity index 93% rename from doc/modules/ROOT/pages/index.adoc rename to docs/modules/ROOT/pages/active-directory-authentication.adoc index c277d95..42ce48e 100644 --- a/doc/modules/ROOT/pages/index.adoc +++ b/docs/modules/ROOT/pages/active-directory-authentication.adoc @@ -1,21 +1,21 @@ -:github-address: https://github.com/hazelcast-guides/active-directory-authentication -:templates-url: templates:ROOT:page$/ - = Active Directory Authentication - -This guide will get you started with the Hazelcast IMDG Enterprise Kerberos authentication -in Microsoft Active Directory domains. - -include::{templates-url}/link-to-repo.adoc[] +:templates-url: templates:ROOT:page$/ +:page-layout: tutorial +:page-product: imdg +:page-categories: Security, Deployment +:page-lang: +:page-enterprise: true +:page-est-time: 30 mins +:description: In this tutorial, you will learn how to configure Hazelcast IMDG Enterprise to authenticate cluster members and clients using Kerberos tickets in the Microsoft Active Directory domain. == What You’ll Learn -In this guide, you will learn how to configure Hazelcast IMDG Enterprise to authenticate -cluster members and clients using Kerberos tickets in the Microsoft Active Directory domain. -We will also cover the role mapping based on the user's group membership in the +{description} + +You will also cover the role mapping based on the user's group membership in the Active Directory. -== Prerequisites +== Before you Begin - Hazelcast IMDG Enterprise and its License Key (You can ask for a trial license through the https://hazelcast.com/get-started/#deploymenttype-imdg[license form]). - Active Directory server (AD) and the 2nd Windows server connected in the Active Directory domain @@ -70,7 +70,7 @@ port numbers (`5701-5703`). You can use the following PowerShell command: [source,powershell] ---- -include::example$allow-hazelcast-port.ps1[] +include::example$active-directory-authentication/allow-hazelcast-port.ps1[] ---- .Screenshot - Adding Windows Firewall Rule in PowerShell @@ -88,7 +88,7 @@ on both servers. .C:\Windows\krb5.ini [source,powershell] ---- -include::example$krb5.ini[] +include::example$active-directory-authentication/krb5.ini[] ---- NOTE: Kerberos protocol checks are often case-sensitive. Use the proper form @@ -156,7 +156,7 @@ Following configuration is for the application server: .C:\hazelcast-enterprise-4.1\demo\hazelcast.yml [source,yaml] ---- -include::example$hazelcast-simple.yml[] +include::example$active-directory-authentication/hazelcast-simple.yml[] ---- Use similar configuration on the domain controller. Just update principal name and @@ -259,7 +259,7 @@ as a member of the "Acme Cache Czechia" group. [source,powershell] ---- -include::example$create-groups-and-map-user.ps1[] +include::example$active-directory-authentication/create-groups-and-map-user.ps1[] ---- === Re-configure members @@ -272,7 +272,7 @@ interface. .C:\hazelcast-enterprise-4.1\demo\hazelcast.yml [source,yaml] ---- -include::example$hazelcast.yml[] +include::example$active-directory-authentication/hazelcast.yml[] ---- What's new here are the explicitly defined `Krb5LoginModule` configurations @@ -337,7 +337,7 @@ within the Hazelcast installation. .C:\hazelcast-enterprise-4.1\demo\hazelcast-client.yml [source,yaml] ---- -include::example$hazelcast-client.yml[] +include::example$active-directory-authentication/hazelcast-client.yml[] ---- The Kerberos configuration on the client side is similar to the member configuration. @@ -386,7 +386,7 @@ Create the new `debug-logging.properties` file beside the batch file: [source,properties] ---- -include::example$debug-logging.properties[] +include::example$active-directory-authentication/debug-logging.properties[] ---- You can also add the `debug` option to `Krb5LoginModule` configuration. E.g.