From fff992aa3b2e7318ae92fdfcb5f37f79aeea84d5 Mon Sep 17 00:00:00 2001 From: andreaTP Date: Thu, 24 Mar 2022 18:44:29 +0000 Subject: [PATCH] Operator docs structure --- docs/guides/pom.xml | 2 +- docs/guides/src/main/operator/index.adoc | 10 ++++++++ .../src/main/operator/installation.adoc | 18 ++++++++++++++ docs/guides/src/main/operator/pinned-guides | 1 + .../keycloak/guides/DocsBuildDebugUtil.java | 2 +- .../org/keycloak/guides/maven/Context.java | 5 ++-- .../keycloak/guides/maven/GuideBuilder.java | 15 ++++++------ .../org/keycloak/guides/maven/GuideMojo.java | 24 ++++++++++--------- 8 files changed, 53 insertions(+), 24 deletions(-) create mode 100644 docs/guides/src/main/operator/index.adoc create mode 100644 docs/guides/src/main/operator/installation.adoc create mode 100644 docs/guides/src/main/operator/pinned-guides diff --git a/docs/guides/pom.xml b/docs/guides/pom.xml index 0a19a0ac627..67774655a85 100644 --- a/docs/guides/pom.xml +++ b/docs/guides/pom.xml @@ -65,7 +65,7 @@ process-asciidoc - ${basedir}/target/generated-guides/server + ${basedir}/target/generated-guides/* index.adoc html5 coderay diff --git a/docs/guides/src/main/operator/index.adoc b/docs/guides/src/main/operator/index.adoc new file mode 100644 index 00000000000..591d77a39d5 --- /dev/null +++ b/docs/guides/src/main/operator/index.adoc @@ -0,0 +1,10 @@ +<#list ctx.guides as guide> +:links_server_${guide.id}_name: ${guide.title} +:links_server_${guide.id}_url: #${guide.id} + + += Keycloak Operator guide + +<#list ctx.guides as guide> +include::${guide.template}[leveloffset=+1] + diff --git a/docs/guides/src/main/operator/installation.adoc b/docs/guides/src/main/operator/installation.adoc new file mode 100644 index 00000000000..902f26be9bb --- /dev/null +++ b/docs/guides/src/main/operator/installation.adoc @@ -0,0 +1,18 @@ +<#import "/templates/guide.adoc" as tmpl> +<#import "/templates/kc.adoc" as kc> +<#import "/templates/options.adoc" as opts> +<#import "/templates/links.adoc" as links> + +<@tmpl.guide +title="Keycloak Operator Installation" +summary="How to install the Keycloak Operator on Kubernetes"> + +TODO: https://github.com/keycloak/keycloak/issues/10786 + +== Keycloak Operator Installation + +=== OpenShift Installation + +=== Vanilla Kubernetes Installation + + diff --git a/docs/guides/src/main/operator/pinned-guides b/docs/guides/src/main/operator/pinned-guides new file mode 100644 index 00000000000..f5a2ff02f23 --- /dev/null +++ b/docs/guides/src/main/operator/pinned-guides @@ -0,0 +1 @@ +installation \ No newline at end of file diff --git a/docs/guides/src/test/java/org/keycloak/guides/DocsBuildDebugUtil.java b/docs/guides/src/test/java/org/keycloak/guides/DocsBuildDebugUtil.java index 108c2a2c652..b13b9f0ff5c 100644 --- a/docs/guides/src/test/java/org/keycloak/guides/DocsBuildDebugUtil.java +++ b/docs/guides/src/test/java/org/keycloak/guides/DocsBuildDebugUtil.java @@ -15,7 +15,7 @@ public class DocsBuildDebugUtil { File targetDir = usrDir.toPath().resolve("target/generated-guides-tests").toFile(); targetDir.mkdirs(); GuideBuilder builder = new GuideBuilder(srcDir, targetDir, null); - builder.server(); + builder.build(); System.out.println("Guides generated to: " + targetDir.getAbsolutePath().toString()); } diff --git a/docs/maven-plugin/src/main/java/org/keycloak/guides/maven/Context.java b/docs/maven-plugin/src/main/java/org/keycloak/guides/maven/Context.java index ff9fb593e27..a4587bd3f66 100644 --- a/docs/maven-plugin/src/main/java/org/keycloak/guides/maven/Context.java +++ b/docs/maven-plugin/src/main/java/org/keycloak/guides/maven/Context.java @@ -25,11 +25,10 @@ public class Context { this.guides = new LinkedList<>(); GuideParser parser = new GuideParser(); - File serverDir = new File(srcDir, "server"); - Map guidePriorities = loadPinnedGuides(new File(serverDir, "pinned-guides")); + Map guidePriorities = loadPinnedGuides(new File(srcDir, "pinned-guides")); - for (File f : serverDir.listFiles((dir, f) -> f.endsWith(".adoc") && !f.equals("index.adoc"))) { + for (File f : srcDir.listFiles((dir, f) -> f.endsWith(".adoc") && !f.equals("index.adoc"))) { Guide guide = parser.parse(f); if (guidePriorities != null) { diff --git a/docs/maven-plugin/src/main/java/org/keycloak/guides/maven/GuideBuilder.java b/docs/maven-plugin/src/main/java/org/keycloak/guides/maven/GuideBuilder.java index 3f11967dbf0..9a2c4a6d91d 100644 --- a/docs/maven-plugin/src/main/java/org/keycloak/guides/maven/GuideBuilder.java +++ b/docs/maven-plugin/src/main/java/org/keycloak/guides/maven/GuideBuilder.java @@ -23,19 +23,18 @@ public class GuideBuilder { Map globalAttributes = new HashMap<>(); globalAttributes.put("ctx", new Context(srcDir)); - this.freeMarker = new FreeMarker(srcDir, targetDir, globalAttributes); + this.freeMarker = new FreeMarker(srcDir.getParentFile(), targetDir.getParentFile(), globalAttributes); } - public void server() throws TemplateException, IOException { - File serverGuidesDir = new File(srcDir, "server"); - if (!serverGuidesDir.isDirectory()) { - serverGuidesDir.mkdir(); + public void build() throws TemplateException, IOException { + if (!srcDir.isDirectory()) { + srcDir.mkdir(); } - for (String t : serverGuidesDir.list((dir, name) -> name.endsWith(".adoc"))) { - freeMarker.template("server/" + t); + for (String t : srcDir.list((dir, name) -> name.endsWith(".adoc"))) { + freeMarker.template(srcDir.getName() + "/" + t); if (log != null) { - log.info("Templated: server/" + t); + log.info("Templated: " + srcDir.getName() + "/" + t); } } } diff --git a/docs/maven-plugin/src/main/java/org/keycloak/guides/maven/GuideMojo.java b/docs/maven-plugin/src/main/java/org/keycloak/guides/maven/GuideMojo.java index 649fd6effcc..754ce0ff066 100644 --- a/docs/maven-plugin/src/main/java/org/keycloak/guides/maven/GuideMojo.java +++ b/docs/maven-plugin/src/main/java/org/keycloak/guides/maven/GuideMojo.java @@ -1,7 +1,6 @@ package org.keycloak.guides.maven; import org.apache.maven.plugin.AbstractMojo; -import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugins.annotations.LifecyclePhase; @@ -23,17 +22,20 @@ public class GuideMojo extends AbstractMojo { public void execute() throws MojoFailureException { try { Log log = getLog(); - File srcDir = new File(sourceDir).getParentFile(); - File targetDir = new File(this.targetDir, "generated-guides"); - if (!targetDir.isDirectory()) { - targetDir.mkdirs(); + File topDir = new File(sourceDir).getParentFile(); + + for (File srcDir: topDir.listFiles(d -> d.isDirectory() && !d.getName().equals("templates"))) { + File targetDir = new File(new File(this.targetDir, "generated-guides"), srcDir.getName()); + if (!targetDir.isDirectory()) { + targetDir.mkdirs(); + } + + log.info("Guide dir: " + srcDir.getAbsolutePath()); + log.info("Target dir: " + targetDir.getAbsolutePath()); + + GuideBuilder g = new GuideBuilder(srcDir, targetDir, log); + g.build(); } - - log.info("Guide dir: " + srcDir.getAbsolutePath()); - log.info("Target dir: " + targetDir.getAbsolutePath()); - - GuideBuilder g = new GuideBuilder(srcDir, targetDir, log); - g.server(); } catch (Exception e) { e.printStackTrace(); throw new MojoFailureException("Failed to generated asciidoc files", e);