diff --git a/_vendor/github.com/chef/samples/cohorts/skill-assembly.json b/_vendor/github.com/chef/samples/cohorts/skill-assembly.json index 3579f5592d..e0fe419e5d 100644 --- a/_vendor/github.com/chef/samples/cohorts/skill-assembly.json +++ b/_vendor/github.com/chef/samples/cohorts/skill-assembly.json @@ -1,12 +1,12 @@ { - "name": "my-skill-assembly", + "name": "sample-skill-assembly", "skills": [ { "action": "add", "skill": { "name": "courier-runner", "channel": "stable", - "value": ["1.4.6"] + "value": ["1.4.7"] } }, { @@ -14,7 +14,7 @@ "skill": { "channel": "stable", "name": "chef-gohai", - "value": ["1.2.1"] + "value": ["1.2.4"] } }, { @@ -30,7 +30,7 @@ "skill": { "name": "inspec-interpreter", "channel": "stable", - "value": ["1.0.6"] + "value": ["1.0.7"] } }, { diff --git a/_vendor/github.com/chef/samples/sample.text b/_vendor/github.com/chef/samples/sample.text new file mode 100644 index 0000000000..3b18e512db --- /dev/null +++ b/_vendor/github.com/chef/samples/sample.text @@ -0,0 +1 @@ +hello world diff --git a/_vendor/modules.txt b/_vendor/modules.txt index aa4df7fe43..631bfb6ece 100644 --- a/_vendor/modules.txt +++ b/_vendor/modules.txt @@ -14,7 +14,7 @@ # github.com/chef/compliance-profiles/docs-chef-io v0.0.0-20250424114557-297ae97f62c2 # github.com/chef/compliance-remediation-2022/docs-chef-io v0.0.0-20250506081430-c04163aa35a9 # github.com/chef/license-service/docs-chef-io v0.0.0-20250120051510-ae1de80f4621 -# github.com/chef/samples v0.0.0-20250304162216-b7bf3710b07e +# github.com/chef/samples v0.0.0-20250424163637-3393187e624c # github.com/chef/chef-docs-theme v0.0.0-20250217213320-727f9bce8258 # github.com/FortAwesome/Font-Awesome v0.0.0-20240108205627-a1232e345536 # github.com/cowboy/jquery-hashchange v0.0.0-20100902193700-0310f3847f90 diff --git a/content/360/saas/get_started/_index.md b/content/360/saas/get_started/_index.md index 45d787fcba..d3c86c00c5 100644 --- a/content/360/saas/get_started/_index.md +++ b/content/360/saas/get_started/_index.md @@ -9,29 +9,29 @@ parent = "chef_cloud/360/get_started" weight = 10 +++ -This section provides quickstart guides for getting started with Chef 360 SaaS and its tools. +This section is a quickstart guide to using Chef 360 SaaS and its tools. -## Get started guides +## How Chef 360 SaaS works -Before you begin with these guides, [review the system requirements]({{< relref "system_requirements" >}}). +Chef 360 SaaS consists of three main components: -Chef 360 SaaS guides: +- **Chef 360 SaaS CLIs**: Users use the CLIs to define and invoke Chef Courier jobs, and configure user accounts, tenants, organizations, and nodes. +- **Chef 360 SaaS**: Manages users, organizations, and tenants, schedules and distributes Courier jobs, and monitors nodes and job results. +- **Chef skills**: Chef 360 SaaS installs skills on each node that manage the node, execute jobs, and report to Chef 360 SaaS. -- [Set up Chef 360 SaaS]({{< relref "set_up" >}}) +## What this guide covers -Chef 360 Platform CLI guides: +This guide walks you through the following steps: -- [Install and register the Chef 360 Platform CLIs]({{< relref "install_cli" >}}) +1. Installing Chef 360 SaaS in a single-node Kubernetes cluster. +1. Installing Chef 360 SaaS CLIs on a local workstation and registering it with Chef 360 SaaS. +1. Enrolling a node with Chef 360 SaaS. Nodes can be enrolled using a Chef 360 SaaS CLI or by uploading a Chef Infra cookbook if Chef Infra Client is already installed on the node. +1. Defining and running a basic job on a node, and reviewing the job's execution details and the results of each step. -Chef Node Management guides: +## Before you begin -- [Register the Node Management agent]({{< relref "register_node_agent" >}}) -- [Define skills]({{< relref "define_skills" >}}) -- [Create a skill assembly]({{< relref "create_skill_assembly" >}}) -- [Create override settings]({{< relref "override_settings" >}}) -- [Create a node cohort]({{< relref "node_cohort" >}}) -- [Enroll nodes]({{< relref "enroll_nodes" >}}) +- Review the [Chef 360 SaaS system requirements]({{< relref "/360/saas/system_requirements.md" >}}). -Chef Courier job guides: +## Next steps -- [Run jobs with Chef Courier]({{< relref "jobs" >}}) +- [Set up Chef 360 SaaS]({{< relref "/360/saas/get_started/set_up.md" >}}). diff --git a/content/360/saas/get_started/create_skill_assembly.md b/content/360/saas/get_started/create_skill_assembly.md deleted file mode 100644 index 9b742909a6..0000000000 --- a/content/360/saas/get_started/create_skill_assembly.md +++ /dev/null @@ -1,33 +0,0 @@ -+++ -title = "Create a skill assembly" - -[menu.cloud] -title = "Create a skill assembly" -identifier = "chef_cloud/360/get_started/skill assembly" -parent = "chef_cloud/360/get_started" -weight = 70 -+++ - -A skill assembly defines a set of skills should be installed or removed from nodes using add and remove rules. - -## Prerequisites - -- [Skills are defined]({{< relref "define_skills" >}}). - -## Create a skill assembly - -To create a skill assembly, follow these steps: - -{{< readfile file="content/360/saas/reusable_text/md/skill_assembly_get_started.md" >}} - -## Troubleshooting - -Use the `assembly find-one-assembly` subcommand to verify that the skill assembly was created or updated successfully: - -```sh -chef-node-management-cli management assembly find-one-assembly --skillAssemblyId --profile -``` - -## Next steps - -- [Create override settings]({{< relref "override_settings.md" >}}) that define required skill settings. diff --git a/content/360/saas/get_started/define_skills.md b/content/360/saas/get_started/define_skills.md deleted file mode 100644 index c5dd6f025e..0000000000 --- a/content/360/saas/get_started/define_skills.md +++ /dev/null @@ -1,131 +0,0 @@ -+++ -title = "Define skills" - -[menu.cloud] -title = "Define skills" -identifier = "chef_cloud/360/get_started/skills" -parent = "chef_cloud/360/get_started" -weight = 60 -+++ - -This document describes how to define the set of required skills on a node or set of nodes. - -A skill is an agent that gives you the ability to perform actions on a node to achieve an outcome. - -## Prerequisites - -- [Node Management agent is registered]({{< relref "register_node_agent" >}}). -- The Chef Infra Client interpreter requires Chef Infra Client installed on each node. -- The Chef InSpec interpreter requires Chef InSpec installed on each node. - -## Create skill definitions - -The following Chef 360 skills are required or recommended for managing nodes, running actions, and returning action results: - -- Courier Runner skill -- Gohai skill -- Shell interpreter skill -- Restart interpreter skill -- Chef Client interpreter skill - -### Courier Runner - -The Courier Runner skill interprets the Courier Job definitions sent to it by the Courier Dispatcher and executes them on the node. - -1. Create a JSON file called `courier-runner-skill.json` containing the following skill definition for Courier Runner: - - {{% readfile file="_vendor/github.com/chef/samples/skills/courier-runner-skill.json" highlight="json" %}} - - {{< note >}} If the skill is registered as a service, then the `name` and `canister.name` fields must be identical. {{< /note >}} - -1. Create the skill: - - ```sh - chef-node-management-cli management skill create-skill --body-file courier-runner-skill.json --profile - ``` - -### Gohai - -The Gohai skill collects attributes about a node in addition to attributes collected by the Node Management agent. - -1. Create a file named `gohai-skill.json` containing the skill definition for gohai. - - {{% readfile file="_vendor/github.com/chef/samples/skills/gohai-skill.json" highlight="json" %}} - - {{< note >}} If the skill is registered as a service, then the `name` and `canister.name` fields must be identical. {{< /note >}} - -1. Create the skill: - - ```sh - chef-node-management-cli management skill create-skill --body-file gohai-skill.json --profile - ``` - -### Shell interpreter - -The Shell interpreter skill executes OS commands in a Courier Job. - -1. Create a file named `shell-interpreter-skill.json` containing the skill definition: - - {{% readfile file="_vendor/github.com/chef/samples/skills/shell-interpreter-skill.json" highlight="json" %}} - -1. Create the skill: - - ```sh - chef-node-management-cli management skill create-skill --body-file shell-interpreter-skill.json --profile - ``` - -### Restart interpreter - -If your jobs will reboot a node, then you need the Restart interpreter skill. - -1. Create a file named `restart-interpreter-skill.json` containing the skill definition. - - {{% readfile file="_vendor/github.com/chef/samples/skills/restart-interpreter-skill.json" highlight="json" %}} - -1. Create the skill: - - ```sh - chef-node-management-cli management skill create-skill --body-file restart-interpreter-skill.json --profile - ``` - -### Chef Infra Client interpreter - -If your Courier jobs will invoke Infra Client runs, then you need the Chef Infra Client interpreter skill. - -1. Create a file named `chef-client-interpreter-skill.json` and add the following the skill definition. - - {{% readfile file="_vendor/github.com/chef/samples/skills/chef-client-interpreter.json" highlight="json" %}} - -1. Create the skill: - - ```sh - chef-node-management-cli management skill create-skill --body-file chef-client-interpreter-skill.json --profile - ``` - -### Chef InSpec interpreter - -If your Courier jobs will invoke Chef InSpec scans, then you need the Chef InSpec interpreter skill. - -1. Create a file named `inspec-interpreter-skill.json` and add the following skill definition. - - {{% readfile file="_vendor/github.com/chef/samples/skills/inspec-interpreter-skill.json" highlight="json" %}} - -1. Create the skill: - - ```sh - chef-node-management-cli management skill create-skill --body-file inspec-interpreter-skill.json --profile - ``` - -## Verify skills - -- Get a list of all the defined skills using the `find-all-skills` subcommand: - - ```sh - chef-node-management-cli management skill find-all-skills --profile - ``` - - It returns an output listing the defined skills. - -## Next step - -- [Create a skill assembly]({{< relref "create_skill_assembly.md" >}}) that adds or removes skills from nodes. diff --git a/content/360/saas/get_started/enroll_nodes.md b/content/360/saas/get_started/enroll_nodes.md index d165cb5c31..b62ed3c8f8 100644 --- a/content/360/saas/get_started/enroll_nodes.md +++ b/content/360/saas/get_started/enroll_nodes.md @@ -8,31 +8,47 @@ parent = "chef_cloud/360/get_started" weight = 100 +++ -Node enrollment brings nodes under management by Chef 360 SaaS. +When you enroll a node into a node cohort, Chef 360 Platform installs the Chef skills and skill settings that are defined for all nodes in that cohort. +These skills allow Chef 360 Platform to manage the node, execute Chef Courier jobs, and report back to Chef 360 Platform. + +Chef 360 Platform installs the following skills in the default skill assembly: + +- **Chef Infra Client interpreter skill**: Executes Chef Infra Client runs. +- **Courier Runner skill**: Interprets and executes Chef Courier jobs. +- **Gohai skill**: Reports node attribute data to Chef 360 Platform. +- **Inspec interpreter skill**: Executes Chef InSpec audits. +- **Node Management agent**: Manages and installs other skills on the node. +- **Restart interpreter skill**: Restarts nodes. +- **Shell interpreter skill**: Executes shell scripts. + +For more information, see the [Chef 360 skills](https://docs.chef.io/360/1.3/node_management/skills/) documentation. + +## Node enrollment methods This document demonstrates two different methods of node enrollment: - cookbook-based enrollment - single-node enrollment +For more information, see the [node enrollment documentation](https://docs.chef.io/360/1.3/node_management/enroll_nodes/). + {{< note >}} -This version of Chef 360 SaaS doesn't support node re-enrollment. +Chef 360 Platform doesn't support node re-enrollment. {{< /note >}} -## Prerequisites +## Role requirements -- [A node cohort has been created]({{< relref "node_cohort" >}}). +To enroll nodes, use a profile with the [node-manager role](https://docs.chef.io/360/1.3/administration/system_roles/). -## Requirements +## Before you begin -Review the [node requirements]({{< relref "system_requirements#node-requirements" >}}) before enrolling nodes. +- Review the [node requirements]({{< relref "/360/saas/system_requirements#node-requirements" >}}). ## Single-node enrollment -Single-node enrollment enrolls nodes from the server side. -With this method, you define connection and configuration details and push them up to Chef 360 SaaS, which connects to each node and installs Chef Habitat, Chef Node Management, and any skills or agents assigned to a node cohort. +Single-node enrollment allows you to enroll nodes directly from the server side. With this method, you specify the connection and configuration details for each node and upload them to Chef 360 Platform. Chef 360 Platform then connects to each node, installs Chef Habitat, Chef Node Management, and any skills or agents associated with the node's cohort. ### Enroll Linux nodes diff --git a/content/360/saas/get_started/install_cli.md b/content/360/saas/get_started/install_cli.md index 2e9d144f7b..19f5accbf4 100644 --- a/content/360/saas/get_started/install_cli.md +++ b/content/360/saas/get_started/install_cli.md @@ -10,11 +10,11 @@ parent = "chef_cloud/360/get_started" weight = 40 +++ -This page documents how to download and install the Chef 360 Platform CLIs and register your workstation with your Chef 360 SaaS deployment. +This page documents how to download and install the Chef 360 SaaS CLIs and register your workstation with your Chef 360 SaaS deployment. ## Prerequisites -- [Chef 360 SaaS configured]({{< relref "set_up" >}}). +- [Chef 360 SaaS is configured]({{< relref "set_up" >}}). - `/usr/local/bin` is present in the PATH environment variable. ## Install CLIs @@ -142,7 +142,7 @@ To create a profile, follow these steps: 1. Optional: Set your new profile as the default profile. - The Chef 360 Platform CLIs use a default profile automatically in any command that accepts the `--profile` argument. + The Chef 360 SaaS CLIs use a default profile automatically in any command that accepts the `--profile` argument. If you don't set a default profile, you will have to specify it in each command with `--profile `. Set a default profile: @@ -155,10 +155,11 @@ To create a profile, follow these steps: 1. Repeat this procedure so that you have separate profiles for the Node Manager and Courier Operator roles. -## Additional information +## More information -- [Chef 360 CLI reference documentation](https://docs.chef.io/360/1.3/reference/cli/) +- [Chef 360 Platform CLI reference documentation](https://docs.chef.io/360/1.3/reference/cli). +- [Chef 360 Platform roles documentation](https://docs.chef.io/360/1.3/administration/system_roles/) ## Next step -- [Register the Node Management agent]({{< relref "register_node_agent.md" >}}). +- [Review the node management settings]({{< relref "node_management_settings" >}}) diff --git a/content/360/saas/get_started/jobs.md b/content/360/saas/get_started/jobs.md index 46efe89d58..4d4c0e8b07 100644 --- a/content/360/saas/get_started/jobs.md +++ b/content/360/saas/get_started/jobs.md @@ -8,34 +8,46 @@ parent = "chef_cloud/360/get_started" weight = 110 +++ -A Courier job defines the actions performed on a node or set of nodes, the schedule that the actions are performed on, and the group of nodes that the actions are performed on. -A job can be executed multiple times across multiple nodes for multiple actions. +A Courier job specifies the actions to perform, the schedule for execution, and the target nodes where the actions will run. Jobs can execute multiple actions, across multiple nodes, and can run multiple times as defined by the schedule. -## Prerequisites +## How jobs are executed on a node -- [Nodes are enrolled]({{< relref "enroll_nodes" >}}). +Chef 360 SaaS uses skills to execute Courier jobs. +For example, the Courier Runner is a skill that interprets jobs and executes them, the Shell interpreter is a skill that executes shell scripts included in a job, and the Node Management agent is a skill that manages nodes and other skills. + +In this example, the Courier Runner skill interprets the job definition and passes a shell command to the Shell interpreter. + +## Before you begin + +- You'll need at least one [enrolled node]({{< relref "enroll_nodes.md" >}}). ## Define a job -Jobs are defined using a job template, which is a file in JSON, YAML, or TOML format that tells Chef Courier the name of the job, when the job should run, the nodes that the job should run on, and the actions that the job should take. +You define a job with a job template, which is a JSON, YAML, or TOML file that tells Chef Courier the name of the job, when the job should run, the nodes that the job should run on, and the actions that the job should take. -This job template creates a job that's executed one node, it runs immediately, and it uses the `chef-platform/shell-interpreter` to run the `sleep 10` command. +This job template creates a job that's executed on one node, it runs immediately, and runs the `sleep 10` command using the Shell interpreter skill. -- Create a file called `create-job-simple.json` and with the following JSON string: +1. Get the ID of an enrolled node: + + ```sh + chef-node-management-cli management node find-all-nodes + ``` - {{% readfile file="_vendor/github.com/chef/samples/courier-job-examples/create-job-simple.json" highlight="json" %}} +1. Create a JSON file with the following job definition: - Replace `` in the JSON file with the node identifier of your enrolled node. + {{% readfile file="_vendor/github.com/chef/samples/courier-job-examples/create-job-simple.json" highlight="json" %}} -## Create the job + Replace the node ID in the JSON file with the node identifier of an enrolled node. -When you add the job to Chef 360 SaaS, the Courier Dispatcher sends the job definition to the Courier Runner on the specified node which determines when and how to run the job. +## Submit the job + +When you send the job to Chef 360 SaaS, the Courier Dispatcher sends the job definition to the Courier Runner on the specified node which determines when and how to run the job. You can submit a job definition using a JSON, YAML, or TOML file. The default format is JSON. - Add the job run using the job template file: ```sh - chef-courier-cli scheduler jobs add-job --body-file create-job-simple.json --profile + chef-courier-cli scheduler jobs add-job --body-file --profile ``` The default file format is JSON, you can also submit the job using YAML or TOML using the `--body-format` option. For example: @@ -71,7 +83,6 @@ A job instance is created every time the job executes. This job is set to run im The response is similar to the following: ```json - { "items": [ { @@ -272,7 +283,7 @@ A job run is created for each target node in a job instance. } ``` -## Debug Courier jobs +## Debug Chef Courier jobs You can also review the job step details by connecting to a node with SSH and checking the Courier Runner logs. @@ -289,3 +300,10 @@ For a Windows node: cd C:\hab\svc\courier-runner\logs gc .\courier-log -Wait ``` + +## More information + +To define and run jobs, see the following documentation: + +- [Create a Courier job](https://docs.chef.io/360/1.3/courier/jobs/). +- [Create a Courier job template](https://docs.chef.io/360/1.3/courier/jobs/template/). diff --git a/content/360/saas/get_started/node_cohort.md b/content/360/saas/get_started/node_cohort.md deleted file mode 100644 index 07e3b63bd6..0000000000 --- a/content/360/saas/get_started/node_cohort.md +++ /dev/null @@ -1,58 +0,0 @@ -+++ -title = "Create a node cohort" - -[menu.cloud] -title = "Create a node cohort" -identifier = "chef_cloud/360/get_started/cohort" -parent = "chef_cloud/360/get_started" -weight = 90 -+++ - -{{< readfile file="content/360/saas/reusable_text/md/node_cohort_overview.md" >}} - -## Prerequisites - -- [Override settings are defined]({{< relref "override_settings" >}}). - -## Create a node cohort - -To create a node cohort, follow these steps: - -1. Create a file named `node-cohort.json` that contains the skill assembly ID and the settings ID it should be associated to. - - ```json - { - "name": "node-cohort-mchef", - "description": "Description first cohort", - "settingId": "5b305ea5-c89b-4ac3-a471-60dadf4980ed", - "skillAssemblyId":"4ecbe415-838a-4446-abc1-9c57de9211d8" - } - ``` - -1. Create the node cohort: - - ```sh - chef-node-management-cli management cohort create-cohort --body-file node-cohort.json --profile - ``` - - ```json - { - "item": { - "cohortId": "86628101-0f31-48aa-b035-a8889232e568" - } - } - ``` - - The above command returns a response containing the `cohortId`. Save it for using during Node Enrollment. - -## Troubleshooting - -- Verify that the node cohort was created successfully: - - ```sh - chef-node-management-cli management cohort find-one-cohort --cohortId --profile - ``` - -## Next step - -- [Enroll Nodes]({{< relref "enroll_nodes.md" >}}). diff --git a/content/360/saas/get_started/node_management_settings.md b/content/360/saas/get_started/node_management_settings.md new file mode 100644 index 0000000000..4f5f268ab7 --- /dev/null +++ b/content/360/saas/get_started/node_management_settings.md @@ -0,0 +1,159 @@ ++++ +title = "Node management settings" + +[menu.cloud] +title = "Node management settings" +identifier = "chef_cloud/360/get_started/node settings" +parent = "chef_cloud/360/get_started" +weight = 50 ++++ + +When you first deploy Chef 360 Platform or you create a new organization with the default skill assembly and default node management settings, +Chef 360 Platform adds the default node cohort to your organization with those default settings. + +## Cohort + +The default node cohort is called `sample-node-cohort`. +All nodes enrolled in this cohort get the default Node Management agent settings, skill assembly, and skill override settings that are described on this page. + +To get a list of cohorts in an organization, use the following command: + +```sh +chef-node-management-cli management cohort find-all-cohorts --profile +``` + +## Node Management agent + +The Node Management agent is a special skill that manages the node and installs and manages the skills defined in the skill assembly. + +{{< readfile file="/360/saas/reusable_text/md/node_management_agent_default_settings.md" >}} + +### Optional: Modify Node Management agent settings + +You can modify the Node Management agent settings. +For example, you can configure it to fetch skills from your own deployment of Habitat Builder. + +{{< accordion-list data-allow-all-closed="true" >}} +{{< accordion-item accordion-title="Optional: Modify Node Management agent settings" >}} + +If you want to modify the Node Management agent settings, follow these steps: + +1. Create a JSON file with the following settings: + + ```json + { + "settings": [ + { + "name": "authToken", + "value": "" + }, + { + "name": "bldrUrl", + "value": "" + }, + { + "name": "bldrChannel", + "value": "" + }, + { + "name": "logLevel", + "value": "" + }, + { + "name": "nodeCheckinInterval", + "value": "" + }, + { + "name": "updateSkillMetadataInterval", + "value": "" + } + ], + "skillName": "node-management-agent" + } + ``` + + Replace: + + - `` with the Chef Habitat Builder URL. Use `https://bldr.habitat.sh` for Chef's Habitat Builder or the URL of your own Habitat Builder deployment. + - `` with the release channel from which to install skills. For example, `stable`. + - `` with the interval (in seconds) at which check-in occurs. Values start at `3600` (1 hour). + + The check-in interval splay is automatically set to a value between zero and half the check-in interval time. + + - `` with the interval (in seconds) at which skill definitions are updated. Values start at `3600` (1 hour). + + The update skill interval splay is automatically set to a value between zero and half the check-in interval time. + + - ``: The logging level of the agent. For example, `debug`. + + Supported log levels: + + `debug` + : Reports detailed information that can aid in identifying issues or debugging a workload. This includes the info, warn, and error logs. + + `info` + : Reports general information about the system's operations. + + `warn` + : Reports potential failures, but the operation can continue functioning for the time being. + + `error` + : Reports errors that prevent the execution of an operation. + +1. Get the override settings ID with the `find-all-settings` command: + + ```sh + chef-node-management-cli management setting find-all-settings --profile + ``` + +1. Update the Node Management agent settings with the `update-skillSettings` command: + + ```sh + chef-node-management-cli management setting update-skillSettings \ + --skillName node-management-agent \ + --body-file \ + --settingId \ + --profile + ``` + +{{< /accordion-item>}} +{{< /accordion-list >}} + +## Skill assembly + +A skill assembly defines the skills and skill versions installed on all nodes in a cohort. + +{{< readfile file="/360/saas/reusable_text/md/skill_assembly_default.md" >}} + +`sample-skill-assembly` includes the latest versions of all skills: + +{{< accordion-list data-allow-all-closed="true" >}} +{{< accordion-item accordion-title="Default skill assembly" >}} +{{% readfile file="_vendor/github.com/chef/samples/cohorts/skill-assembly.json" highlight="json" %}} +{{< /accordion-item>}} +{{< /accordion-list >}} + +## Skill override settings + +Each skill has global default settings that define how the skill works and apply to all nodes unless overridden by the override settings. +Override settings override global default settings and apply to all nodes enrolled in a cohort. + +By default, Chef 360 Platform adds the following override settings for the Courier Runner and Gohai skills to the `sample-node-cohort` cohort: + +{{< accordion-list data-allow-all-closed="true" >}} +{{< accordion-item accordion-title="Default override settings" >}} +{{% readfile file="_vendor/github.com/chef/samples/cohorts/node-override-setting.json" highlight="json" %}} +{{< /accordion-item>}} +{{< /accordion-list >}} + +## More information + +- [Node Management agent](https://docs.chef.io/360/1.3/node_management/skills/node_agent/) +- [Chef skills](https://docs.chef.io/360/1.3/node_management/skills/) +- [Skill assembly](https://docs.chef.io/360/1.3/node_management/skills/skill_assembly/) +- [Skill override settings](https://docs.chef.io/360/1.3/node_management/skills/override_settings/) +- [Managing node cohorts](https://docs.chef.io/360/1.3/node_management/node_cohort/) + +## Next step + +- [Enroll nodes with Chef 360 Platform]({{< relref "enroll_nodes" >}}) diff --git a/content/360/saas/get_started/override_settings.md b/content/360/saas/get_started/override_settings.md deleted file mode 100644 index fb5b279e86..0000000000 --- a/content/360/saas/get_started/override_settings.md +++ /dev/null @@ -1,55 +0,0 @@ -+++ -title = "Create override settings" - -[menu.cloud] -title = "Create override settings" -identifier = "chef_cloud/360/get_started/override settings" -parent = "chef_cloud/360/get_started" -weight = 80 -+++ - -When you created the Courier Runner skill definition in the previous section, -it contained a base64-encoded TOML string in the value of `content` key. This TOML includes settings that can or should be overridden with settings for your Chef 360 SaaS system. -When Node Management runs on a node, it executes Courier Runner using values in the TOML file that are set by values stored in the Courier Runner's default settings or the Courier Runner's override settings. - -## Prerequisites - -- [A skill assembly is defined]({{< relref "create_skill_assembly" >}}). - -## Create override settings - -Create node override settings for the Courier Runner and Gohai skills. - -1. Create a file named `node-override-setting.json` and paste in the following JSON: - - {{% readfile file="_vendor/github.com/chef/samples/cohorts/node-override-setting.json" highlight="json" %}} - - This JSON file creates settings for Courier Runner. - -1. Use the `create-setting` subcommand to create the override setting: - - ```sh - chef-node-management-cli management setting create-setting --body-file node-override-setting.json --profile - ``` - - which returns: - - ```json - { - "item": { - "settingId": "" - } - } - ``` - - Save the setting ID, you'll use it to create a node cohort. - -1. Verify that the setting was created. - - ```sh - chef-node-management-cli management setting find-one-setting --settingId --profile - ``` - -## Next step - -- [Create a node cohort]({{< relref "node_cohort.md" >}}) diff --git a/content/360/saas/get_started/register_node_agent.md b/content/360/saas/get_started/register_node_agent.md deleted file mode 100644 index 167f827286..0000000000 --- a/content/360/saas/get_started/register_node_agent.md +++ /dev/null @@ -1,75 +0,0 @@ -+++ -title = "Register Node Management agent" - -[menu.cloud] -title = "Register Node Management Agent" -identifier = "chef_cloud/360/get_started/Register Node Management Agent" -parent = "chef_cloud/360/get_started" -weight = 50 -+++ - -The Node Management agent manages skills on a node. -You must define settings on the Node Management agent before defining skills and override settings that are installed on nodes. - -## Prerequisites - -- [CLIs are installed and registered]({{< relref "../get_started/install_cli" >}}). - -## Register the Node Management agent - -To register the Node Management agent, follow these steps: - -1. Create a file named `register-agent-skill.json` that defines the Node Management agent settings: - - ```json - { - "bldrUrl": "", - "bldrChannel": "", - "bldrAuthToken": "", - "nodeCheckinInterval": , - "updateSkillMetadataInterval": , - "logLevel": "" - } - ``` - - Replace: - - - `` with the Chef Habitat Builder URL. Use `https://bldr.habitat.sh` for Chef's Habitat Builder or the URL of your own Habitat Builder deployment. - - `` with the release channel from which to install skills. For example, `stable`. - - `` with the authentication token for Habitat Builder. If you're using Chef's Habitat Builder, set this to an empty string. - - `` with the interval (in seconds) at which check-in occurs. Value starting from `3600` (1 hour). - - `` with the interval (in seconds) at which skill definitions are updated. Value starting from `3600` (1 hour). - - ``: The logging level of the agent. For example, `debug`. - - Supported log levels: - - `debug` - : Reports detailed information that can aid in identifying issues or debugging a workload. This includes the info, warn, and error logs. - - `info` - : Reports general information about the system's operations. - - `warn` - : Reports potential failures, but the operation can continue functioning for the time being. - - `error` - : Reports errors that prevent the execution of an operation. - -1. Create the skill assembly: - - ```sh - chef-node-management-cli management skill update-agent --body-file register-agent-skill.json - ``` - - It returns the following response: - - ```json - { - "code" : 200, - "message" : update-agent successful - } - ``` - -## Next step - -- [Create skill definitions]({{< relref "define_skills.md" >}}). diff --git a/content/360/saas/get_started/set_up.md b/content/360/saas/get_started/set_up.md index 5da08ea112..68cda42a01 100644 --- a/content/360/saas/get_started/set_up.md +++ b/content/360/saas/get_started/set_up.md @@ -13,7 +13,7 @@ This document describes how to login and configure Chef 360 SaaS, add users, and ## Prerequisites - If you don't already have one, you'll need a [Chef 360 SaaS account](https://www.chef.io/products/chef-360-saas) before you can get started. -- Review the [system requirements]({{< relref "system_requirements" >}}). +- Review the [system requirements]({{< relref "/360/saas/system_requirements" >}}). ## Login diff --git a/content/360/saas/reusable_text/md/clis_verify_profiles.md b/content/360/saas/reusable_text/md/clis_verify_profiles.md index a1ae4565aa..ff859c8b81 100644 --- a/content/360/saas/reusable_text/md/clis_verify_profiles.md +++ b/content/360/saas/reusable_text/md/clis_verify_profiles.md @@ -15,7 +15,7 @@ Use these commands to verify your profiles and credentials. 2. default ``` - You can use `list-profile-names` subcommand with any of the Chef 360 Platform CLIs to get a list of your profiles. + You can use `list-profile-names` subcommand with any of the Chef 360 SaaS CLIs to get a list of your profiles. 1. Get details of your default profile using the `get-default-profile` subcommand: @@ -39,4 +39,4 @@ Use these commands to verify your profiles and credentials. Insecure = true ``` - You can use `get-default-profile` subcommand with any of the Chef 360 Platform CLIs to get your default profile. + You can use `get-default-profile` subcommand with any of the Chef 360 SaaS CLIs to get your default profile. diff --git a/content/360/saas/reusable_text/md/install_bash_completion.md b/content/360/saas/reusable_text/md/install_bash_completion.md index 2d1debcd24..58a5892f89 100644 --- a/content/360/saas/reusable_text/md/install_bash_completion.md +++ b/content/360/saas/reusable_text/md/install_bash_completion.md @@ -1,4 +1,4 @@ -Each Chef 360 Platform CLI has a `completion bash` subcommand. You must install the [bash-completion package](https://github.com/scop/bash-completion) to run these subcommands. +Each Chef 360 SaaS CLI has a `completion bash` subcommand. You must install the [bash-completion package](https://github.com/scop/bash-completion) to run these subcommands. To install and configure the bash-completion package, follow these steps: diff --git a/content/360/saas/reusable_text/md/node_management_agent_default_settings.md b/content/360/saas/reusable_text/md/node_management_agent_default_settings.md new file mode 100644 index 0000000000..16f49d70dc --- /dev/null +++ b/content/360/saas/reusable_text/md/node_management_agent_default_settings.md @@ -0,0 +1,9 @@ +The Node Management agent has the following default settings: + +- It fetches skills from [Chef's public Habitat Builder](https://bldr.habitat.sh). +- It fetches skills from the stable release channel. +- It checks in with Chef 360 Platform every hour. +- It updates skill definition metadata every hour. +- Its log level is warning. + +For more information, see the [Node Management agent documentation](https://docs.chef.io/360/1.3/node_management/skills/node_agent/) diff --git a/content/360/saas/reusable_text/md/skill_assembly_default.md b/content/360/saas/reusable_text/md/skill_assembly_default.md new file mode 100644 index 0000000000..43fbec9ba6 --- /dev/null +++ b/content/360/saas/reusable_text/md/skill_assembly_default.md @@ -0,0 +1,8 @@ +The default skill assembly is called `sample-skill-assembly` and includes the following skills: + +- Chef Infra Client interpreter skill +- Courier Runner skill +- Gohai skill +- Inspec interpreter skill +- Restart interpreter skill +- Shell interpreter skill diff --git a/content/360/saas/get_started/system_requirements.md b/content/360/saas/system_requirements.md similarity index 88% rename from content/360/saas/get_started/system_requirements.md rename to content/360/saas/system_requirements.md index f00f3eb50d..e2b35c16e9 100644 --- a/content/360/saas/get_started/system_requirements.md +++ b/content/360/saas/system_requirements.md @@ -3,8 +3,8 @@ title = "Chef 360 SaaS system requirements" [menu.cloud] title = "System requirements" -identifier = "chef_cloud/360/get_started/requirements" -parent = "chef_cloud/360/get_started" +identifier = "chef_cloud/360/requirements" +parent = "chef_cloud/360" weight = 20 +++ @@ -68,11 +68,16 @@ Nodes connected to with WinRM have the following requirements: netsh advfirewall firewall add rule name="WinRM-HTTPS" dir=in localport=5986 protocol=TCP action=allow ``` -### Skill requirements +## Skill requirements -Chef 360 Platform skills are supported on the following platforms. +Chef 360 SaaS skills are supported on the following platforms. | OS | Architecture | Version | | ------- | ------------ | ----------------------------- | | Linux | x86_64 | Kernel 2.6.32 or later | | Windows | x86_64 | Windows Server 2019 and later | + +Skills have the following dependencies: + +- The Chef Infra Client interpreter requires that [Chef Infra Client](/chef_client_overview/) is installed on the node. +- The InSpec interpreter requires that [Chef InSpec](/inspec/) is installed on the node. diff --git a/go.mod b/go.mod index 710c503fd4..1d452a253f 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/chef/desktop-config/docs-chef-io v0.0.0-20240814044820-5af667d41a43 // indirect github.com/chef/effortless/docs-chef-io v0.0.0-20230711123605-c8beb79aba4f // indirect github.com/chef/license-service/docs-chef-io v0.0.0-20250120051510-ae1de80f4621 // indirect - github.com/chef/samples v0.0.0-20250304162216-b7bf3710b07e // indirect + github.com/chef/samples v0.0.0-20250424163637-3393187e624c // indirect github.com/chef/supermarket/docs-chef-io v0.0.0-20241105172430-a362eded8f72 // indirect github.com/cowboy/jquery-hashchange v0.0.0-20100902193700-0310f3847f90 // indirect github.com/habitat-sh/habitat/components/docs-chef-io v0.0.0-20241227173243-de19b906a228 // indirect diff --git a/go.sum b/go.sum index 5a17679021..a9bc9c87a3 100644 --- a/go.sum +++ b/go.sum @@ -16,8 +16,8 @@ github.com/chef/effortless/docs-chef-io v0.0.0-20230711123605-c8beb79aba4f h1:6+ github.com/chef/effortless/docs-chef-io v0.0.0-20230711123605-c8beb79aba4f/go.mod h1:Lfq+HjwAQwUJ41EPTO/8qbI1oJb2i415fR28d2Ig9kc= github.com/chef/license-service/docs-chef-io v0.0.0-20250120051510-ae1de80f4621 h1:xhFjMLTM/newy2E4YVEZPE8Pfr7Z1yJOkby7BRDlbA8= github.com/chef/license-service/docs-chef-io v0.0.0-20250120051510-ae1de80f4621/go.mod h1:leNCF0KadV7zjm7YpVegNnbmWYUFXgaPKHP4tTDacos= -github.com/chef/samples v0.0.0-20250304162216-b7bf3710b07e h1:Eyntx13lbTXGobnPhPzsN3SuNTLb/6j4Fe5CseiCsLo= -github.com/chef/samples v0.0.0-20250304162216-b7bf3710b07e/go.mod h1:RiMNPQ6ddrNSgTOcBrYaEVicaP52xs9TQz4RA+XTreA= +github.com/chef/samples v0.0.0-20250424163637-3393187e624c h1:wjPanPVse/MWOel7hQ2tx/YVO2taon1qv6DWtfNn6Fo= +github.com/chef/samples v0.0.0-20250424163637-3393187e624c/go.mod h1:RiMNPQ6ddrNSgTOcBrYaEVicaP52xs9TQz4RA+XTreA= github.com/chef/supermarket/docs-chef-io v0.0.0-20241105172430-a362eded8f72 h1:mGnH8fxL69YfwoLP+mJP5fodAukQVf0A5lmF+7Cq/64= github.com/chef/supermarket/docs-chef-io v0.0.0-20241105172430-a362eded8f72/go.mod h1:D+9mmEZxCwpdhZ8LrEODBWMwMufmJUubSt5NlU/lLB4= github.com/cowboy/jquery-hashchange v0.0.0-20100902193700-0310f3847f90 h1:p/a5iSATj0OjrqJLX/YKxYdGXhZzW58yyyNIC4JY4S0=