From 9bd3a5d788818f69aefd23c09962eb651e9ad8c8 Mon Sep 17 00:00:00 2001 From: Don Naro Date: Fri, 10 Mar 2023 10:50:54 +0000 Subject: [PATCH] add user journeys (#36) --- data/links.yaml | 75 ++++++++++++++++++++++++++------------- data/pages.yaml | 80 ++++++++++++++++++++++++++++++++---------- templates/index.html | 6 ++-- templates/user.html | 83 +++++++++++++++++++++++++++++++++++++++++--- 4 files changed, 194 insertions(+), 50 deletions(-) diff --git a/data/links.yaml b/data/links.yaml index 76f41a6..a6874ec 100644 --- a/data/links.yaml +++ b/data/links.yaml @@ -7,35 +7,40 @@ pkg_docs: inventory_guide: "https://docs.ansible.com/ansible/latest/inventory_guide/index.html" playbook_guide: "https://docs.ansible.com/ansible/latest/playbook_guide/index.html" developer_guide: "https://docs.ansible.com/ansible/latest/dev_guide/index.html" +# Novice actions novice: learn: "https://docs.ansible.com/ansible/latest/index.html" setup: "" install: "https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-and-upgrading-ansible" start: "https://docs.ansible.com/ansible/latest/getting_started/index.html" -user_actions: - automate: "https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_intro.html#playbook-syntax" - evaluate_plugins: "https://docs.ansible.com/ansible/latest/module_plugin_guide/modules_intro.html" - build_inventory: "https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html" -project_doc_home: - als: "https://als.readthedocs.io/en/latest/" - awx: "https://github.com/ansible/awx" - awx_operator: "https://github.com/ansible/awx-operator" - builder: "https://ansible-builder.readthedocs.io/en/latest/" - compat: "https://ansible-compat.readthedocs.io/en/latest/" - eda: "https://github.com/ansible/eda-server" - galaxy: "https://galaxy.ansible.com/docs/" - galaxy_ng: "https://galaxyng.netlify.app/" - lint: "https://ansible-lint.readthedocs.io/en/latest/" - molecule: "https://molecule.readthedocs.io/en/latest/" - navigator: "https://ansible-navigator.readthedocs.io/en/latest/" - pinakes: "https://github.com/ansible/pinakes" - pylibssh: "https://ansible-pylibssh.readthedocs.io/en/latest/" - receptor: "https://receptor.readthedocs.io/en/latest/index.html" - rulebook: "https://ansible-rulebook.readthedocs.io/en/latest/" - runner: "https://ansible-runner.readthedocs.io/en/stable/" - sdk: "https://ansible-sdk.readthedocs.io/en/latest/" - sign: "https://ansible.github.io/ansible-sign/" - vscode: "https://marketplace.visualstudio.com/items?itemName=redhat.ansible" +# User actions +user: + automate: + start: "https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_intro.html#playbook-syntax" + evaluate_plugins: "https://docs.ansible.com/ansible/latest/module_plugin_guide/modules_intro.html" + build_inventory: + multiple_hosts: "https://docs.ansible.com/ansible/latest/inventory_guide/intro_inventory.html" + dynamic: "https://docs.ansible.com/ansible/latest/inventory_guide/intro_dynamic_inventory.html" + organize: + roles: "https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_reuse_roles.html" + find: + explore_galaxy: "https://docs.ansible.com/ansible/latest/galaxy/user_guide.html#finding-collections-on-galaxy" + install_roles: "https://docs.ansible.com/ansible/latest/galaxy/user_guide.html#installing-roles-from-galaxy" + install_collections: "https://docs.ansible.com/ansible/latest/galaxy/user_guide.html#installing-collections" + customize_content: "" + share: + create_roles: "https://docs.ansible.com/ansible/latest/dev_guide/migrating_roles.html" + create_collection: "https://docs.ansible.com/ansible/latest/dev_guide/developing_collections.html#developing-collections" + submit_roles: "https://galaxyng.netlify.app/community/userguide/#importing-roles" + upload_collection: "https://galaxyng.netlify.app/community/userguide/#uploading-collections" + awx: + on_demand_jobs: "https://github.com/ansible/awx/blob/devel/docs/tasks.md#awx-jobs" + schedule_jobs: "https://github.com/ansible/awx/blob/devel/docs/schedules.md#scheduled-jobs" + create_job_templates: "" + executor: + build_ees: "https://ansible-builder.readthedocs.io/en/latest/index.html" + use_ees: "https://ansible-runner.readthedocs.io/en/latest/execution_environments/" +# Developer actions developer: start: setup: "https://docs.ansible.com/ansible/latest/dev_guide/developing_modules_general.html#environment-setup" @@ -59,6 +64,7 @@ developer: gh_actions: "" troubleshoot: "" request_inclusion: "https://github.com/ansible-collections/ansible-inclusion" +# Community maintainer actions maintainer: learn: guidelines: "https://docs.ansible.com/ansible/latest/community/maintainers_guidelines.html" @@ -74,3 +80,24 @@ maintainer: review: "https://github.com/ansible-collections/ansible-inclusion/blob/main/README.md#review-process" participate: join: "https://docs.ansible.com/ansible/latest/community/contributor_path.html#become-a-steering-committee-member" +# Documentation home pages +project_doc_home: + als: "https://als.readthedocs.io/en/latest/" + awx: "https://github.com/ansible/awx" + awx_operator: "https://github.com/ansible/awx-operator" + builder: "https://ansible-builder.readthedocs.io/en/latest/" + compat: "https://ansible-compat.readthedocs.io/en/latest/" + eda: "https://github.com/ansible/eda-server" + galaxy: "https://galaxy.ansible.com/docs/" + galaxy_ng: "https://galaxyng.netlify.app/" + lint: "https://ansible-lint.readthedocs.io/en/latest/" + molecule: "https://molecule.readthedocs.io/en/latest/" + navigator: "https://ansible-navigator.readthedocs.io/en/latest/" + pinakes: "https://github.com/ansible/pinakes" + pylibssh: "https://ansible-pylibssh.readthedocs.io/en/latest/" + receptor: "https://receptor.readthedocs.io/en/latest/index.html" + rulebook: "https://ansible-rulebook.readthedocs.io/en/latest/" + runner: "https://ansible-runner.readthedocs.io/en/stable/" + sdk: "https://ansible-sdk.readthedocs.io/en/latest/" + sign: "https://ansible.github.io/ansible-sign/" + vscode: "https://marketplace.visualstudio.com/items?itemName=redhat.ansible" diff --git a/data/pages.yaml b/data/pages.yaml index e35bb80..8f9227d 100644 --- a/data/pages.yaml +++ b/data/pages.yaml @@ -1,8 +1,8 @@ -# Latest Ansible package version. +# Latest Ansible package version ansible_pkg: announce: Ansible 7 is now available pip_install: pip install ansible -# Base docsite page names. +# Base docsite page names site: index: index.html user: user.html @@ -12,7 +12,7 @@ site: community: community.html core: core.html ecosystem: ecosystem.html -# Content for the index page. +# Content for the index page index: welcome: Welcome to Ansible documentation about_ansible: Ansible offers powerful and flexible automation that is simple, decentralized, and easy. @@ -21,10 +21,6 @@ index: # Ansible user user_heading: Ansible users user_body: Ansible playbooks are blueprints for automating software deployment and system configuration as well as orchestrating complex operations. - user_actions: - automate: Start writing Ansible playbooks - evaluate_plugins: Learn which plugins to use for your tasks - build_inventory: Build inventory files to manage multiple hosts user_resources_heading: User resources user_resources_body: Structure your project with roles, improve content quality, re-use existing automation, and more. user_resources_action: Find more resources for Ansible users @@ -40,16 +36,62 @@ index: maintainer_resources_heading: Community maintainer resources maintainer_resources_body: Handle project lifecycles, ensure the health of collections, join the Ansible steering committee, and more. maintainer_resources_action: Find more resources for Ansible community maintainers -# Ansible ecosystem page. -ecosystem: - title: Ansible Ecosystem - intro: Projects in the Ansible ecosystem let you expand automation to a virtually unlimited set of use cases. -# Resources for Ansible novice journeys +# Actions for novice journeys novice: learn: Understand the fundamentals of Ansible automation install: Install the Ansible package start: Write your first playbook in a few easy steps -# Developer page +# Actions for user journeys +user: + title: User resources + intro: Automate the management of remote systems and control their desired state. + milestone: + automate: Create automation + build_inventory: Build inventories + organize: Organize automation projects + tooling: Use Ansible tooling + find: Find automation content + share: Share automation content + awx: Schedule and run automation jobs + executor: Embed automation in systems + automate: + intro: Write playbooks and develop content that automates complex tasks. + start: Start writing Ansible playbooks + evaluate_plugins: Learn which plugins to use for your tasks + build_inventory: + intro: Build inventories that list and describe your infrastructure. + multiple_hosts: Build inventory files to manage multiple hosts + dynamic: Use dynamic inventories + organize: + intro: Organize your automation project as it grows. + roles: Use roles to structure the automation project + tooling: + intro: Validate and improve your project for consistent, trusted automation. + lint: Use Ansible Lint to validate playbooks + molecule: Install Molecule to develop and test Ansible roles + navigator: Create and test playbooks with Ansible Navigator + vscode: Use Ansible with Visual Studio Code and OpenVSX compatible editors + find: + intro: Discover and use existing automation content. + explore_galaxy: Start exploring Ansible Galaxy + install_roles: Install and use roles + install_collections: Install and use collections + customize_content: Customize automation content + share: + intro: Share your automation content with others. + submit_roles: Submit roles to an existing collection + create_collection: Create a new collection + upload_collection: Upload a collection to Ansible Galaxy + awx: + intro: Use AWX for more convenient automation. + on_demand_jobs: Execute automation jobs on demand + schedule_jobs: Schedule automation jobs + create_job_templates: Create AWX job templates + executor: + intro: Invoke automation jobs from other systems. + build_ees: Build execution environment with specific dependencies + use_ees: Use execution environments with AWX jobs +# Actions for developer journeys developer: title: Developer resources intro: Extend automation with custom Ansible modules, add functionality to existing modules, or fix bugs to improve existing code. @@ -84,7 +126,7 @@ developer: gh_actions: Use GitHub actions to set up testing workflows troubleshoot: Troubleshoot collections with ansible-navigator request_inclusion: Request a collection be added to the Ansible package -# Resources for community maintainer journeys. +# Actions for community maintainer journeys maintainer: title: Ansible community maintainers intro: Community maintainers are trusted contributors who oversee project lifecycle and overall health. @@ -95,26 +137,26 @@ maintainer: participate: Participate in cross-project governance learn: intro: Interested in becoming a community maintainer? Find out what's involved. - label: Button group that links to Ansible community maintainer documentation. guidelines: Review community maintainer responsibilities backports: Backport merged pull requests to stable branches release: Regularly release stable versions documentation: Look after collection documentation build_community: intro: Community maintainers play a special role to enable and encourage contributors. - label: Button group that links to base Ansible community maintainer documentation. communication: Join or start a community discussion contributor_paths: Understand Ansible contributor paths encourage: Attract and mentor new contributors collection_inclusion: intro: Satisfy requirements to get collections included in the Ansible package. - label: Button group that links to Ansible community maintainer documentation. process: Understand the inclusion process review: Go through inclusion review cycles participate: intro: Get involved in higher-level decision processes that guide the broader community. - label: Button group that links to Ansible community maintainer documentation. join: Join the Ansible steering committee +# Ansible ecosystem +ecosystem: + title: Ansible Ecosystem + intro: Projects in the Ansible ecosystem let you expand automation to a virtually unlimited set of use cases. # Labels provide meaningful descriptions of elements for accessibility purposes. labels: - button_group: Button group that links to Ansible community documentation. \ No newline at end of file + button_group: Button group that links to Ansible community documentation. diff --git a/templates/index.html b/templates/index.html index 3c7c786..8860379 100644 --- a/templates/index.html +++ b/templates/index.html @@ -33,9 +33,9 @@

{{ pages.ansible_pkg.announce }}

{{ pages.index.user_heading }}

{{ pages.index.user_body }}

- {{ pages.index.user_actions.automate }} - {{ pages.index.user_actions.evaluate_plugins }} - {{ pages.index.user_actions.build_inventory }} + {{ pages.user.automate.start }} + {{ pages.user.automate.evaluate_plugins }} + {{ pages.user.build_inventory.multiple_hosts }}
diff --git a/templates/user.html b/templates/user.html index e09399a..55e26d9 100644 --- a/templates/user.html +++ b/templates/user.html @@ -1,4 +1,79 @@ -{% extends "_base.html" %} -{% block body %} -

User resources go here.

-{% endblock %} \ No newline at end of file +{% extends "_base.html" %} {% block body %} +
+
+

{{ pages.user.title }}

+

{{ pages.user.intro }}

+
+
+
+
+

{{ pages.user.milestone.automate }}

+

{{ pages.user.automate.intro }}

+ +
+
+

{{ pages.user.milestone.build_inventory }}

+

{{ pages.user.build_inventory.intro }}

+ +
+
+

{{ pages.user.milestone.organize }}

+

{{ pages.user.organize.intro }}

+ +
+
+

{{ pages.user.milestone.tooling }}

+

{{ pages.user.tooling.intro }}

+ +
+
+

{{ pages.user.milestone.find }}

+

{{ pages.user.find.intro }}

+ +
+
+

{{ pages.user.milestone.share }}

+

{{ pages.user.share.intro }}

+ +
+
+

{{ pages.user.milestone.awx }}

+

{{ pages.user.awx.intro }}

+ +
+
+

{{ pages.user.milestone.executor }}

+

{{ pages.user.executor.intro }}

+ +
+
+
+
+{% endblock %}