### Makefile Help Information Source: https://github.com/workloads/nomad-pack-registry/blob/main/README.md Displays available targets and their usage for the Makefile, covering environment setup, pack rendering, running, stopping, testing, formatting, and documentation generation. ```shell env create Nomad environment for testing `make env pack=` render render a Nomad Pack `make render pack=` run run a Nomad Pack `make run pack=` rerun destroy and run a Nomad Pack `make rerun pack=` stop stop a running Nomad Pack `make stop pack=` test test a running Nomad Pack `make test pack=` restart restart a Task `make restart task=` format format HCL files for all Nomad Packs `make format` docs generate documentation for all Nomad Packs `make docs` registry add Nomad Pack Registry to local environment `make registry` help display a list of Make Targets `make help` _listincludes list all included Makefiles and *.mk files `make _listincludes` _selfcheck lint Makefile `make _selfcheck` ``` -------------------------------- ### Nomad Volume Configuration Example Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/minecraft_java_edition/README.md Illustrates the structure for defining Nomad volumes, specifying destination paths, names, read-only status, and volume types. This is crucial for persistent storage requirements. ```APIDOC NomadVolumeDefinition: minecraft_data: destination: "/data" name: "minecraft_data" read_only: false type: "host" minecraft_extras: destination: "/extras" name: "minecraft_extras" read_only: false type: "host" minecraft_worlds: destination: "/worlds" name: "minecraft_worlds" read_only: false type: "host" ``` -------------------------------- ### Pass Custom Arguments to Nomad Pack Source: https://github.com/workloads/nomad-pack-registry/blob/main/README.md Illustrates how to pass arguments to `nomad-pack` that are not directly supported by the Makefile, using the `ARGS` variable. This example shows passing `--render-output-template`. ```shell make render pack= ARGS="--render-output-template" ``` -------------------------------- ### Use Template Helper Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/utilities/README.md Illustrates how to invoke a template helper provided by the 'utilities' Nomad Pack within a Nomad job template. This example shows calling a helper named 'util_job_meta'. ```hcl [[ template "util_job_meta" . ]] ``` -------------------------------- ### Run Nomad Pack Locally Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/hello_world/README.md Demonstrates how to execute the 'hello_world' Nomad Pack when it is available locally in a directory. ```shell nomad-pack run ./packs/hello_world ``` -------------------------------- ### Run Nomad Pack from Registry Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/hello_world/README.md Shows the steps to add the '@workloads Nomad Pack Registry' and then run the 'hello_world' Pack from it. ```shell # add the Pack Registry nomad-pack registry add workloads github.com/workloads/nomad-pack-registry # run the Pack nomad-pack run hello_world --registry=workloads ``` -------------------------------- ### Nomad Pack Configuration: Utilities Settings Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/hello_world/README.md Configures utility actions available within the Nomad Pack, such as enabling verbose output or printing environment variables. ```APIDOC UtilitiesConfig: utility_actions: Actions to enable via the Utilities Pack. Defaults to {"print_env":false,"print_nomad_env":true} ``` -------------------------------- ### Nomad Pack Configuration: Nomad Settings Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/hello_world/README.md Defines configuration parameters for integrating the Nomad Pack with HashiCorp Nomad. This includes settings for job, group, and task configurations, such as datacenters, priority, restart logic, resource limits, and network modes. ```APIDOC NomadJobConfig: nomad_job_datacenters: List of eligible Datacenters for the Job. Defaults to ["*"] nomad_job_name: Name for the Nomad Job. Defaults to "hello_world" nomad_job_namespace: Namespace for the Nomad Job. Defaults to "default" nomad_job_priority: Priority for the Nomad Job. Defaults to 10 nomad_job_region: Region for the Nomad Job. Defaults to "global" nomad_job_type: Specifies the Nomad scheduler to use (e.g., "system"). Defaults to "system" NomadGroupConfig: nomad_group_count: Count of Deployments for the Group. Defaults to 1 nomad_group_ephemeral_disk: Ephemeral Disk Configuration for the Group. Defaults to {"migrate":true,"size":128,"sticky":false} nomad_group_name: Name for the Nomad Group. Defaults to "hello_world" nomad_group_network_mode: Network Mode for the Group. Defaults to "host" nomad_group_ports: Port and Healthcheck Configuration for the Group. Defaults to {} nomad_group_restart_logic: Restart Logic for the Group. Defaults to {"attempts":3,"delay":"30s","interval":"120s","mode":"fail"} nomad_group_service_name_prefix: Name of the Service for the Group. Defaults to "hello_world" nomad_group_service_provider: Provider of the Service for the Group. Defaults to "nomad" nomad_group_tags: List of Tags for the Group. Defaults to ["hello_world"] nomad_group_volumes: Volumes for the Group. Defaults to {} NomadTaskConfig: nomad_task_driver: Driver to use for the Task. Defaults to "exec" nomad_task_image: Content Address to use for the Container Image for the Task. Example: {"digest":{"linux/amd64":"sha256:eea3b8c9f517e3e967854939a39f86b4231bde2b60b190d8aedef8da8c47cb96","linux/arm64":"sha256:a42641d479372b4e3a236a4105f5efaa8e470521f5693ec9b928b2bca2ef4633"},"image":"flagd","namespace":"open-feature","registry":"ghcr.io","tag":"v0.8.1"} nomad_task_name: Name for the Task. Defaults to "hello_world" nomad_task_resources: Resource Limits for the Task. Defaults to {"cores":null,"cpu":500,"memory":512,"memory_max":1024} GeneralPackConfig: nomad_pack_verbose_output: Toggle to enable verbose output. Defaults to true ``` -------------------------------- ### Run Local Nomad Pack Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/flagd/README.md Demonstrates how to execute a Nomad Pack directly from a local filesystem path. This is typically used during development or when the pack is not yet published to a registry. ```shell nomad-pack run ./packs/flagd ``` -------------------------------- ### Run Nomad Pack Locally or from Registry Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/minecraft_java_edition/README.md Demonstrates how to run the Minecraft Java Edition Nomad Pack. The first command shows execution from a local filesystem path, commonly used during development. The second set of commands illustrates adding the Workloads registry and then running the pack from the remote registry. ```shell nomad-pack run ./packs/minecraft_java_edition ``` ```shell # add the Pack Registry nomad-pack registry add workloads github.com/workloads/nomad-pack-registry # run the Pack nomad-pack run minecraft_java_edition --registry=workloads ``` -------------------------------- ### Run Nomad Pack from Registry Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/flagd/README.md Illustrates the process of adding a Nomad Pack registry and then running a pack from that registry. This involves first registering the source and then invoking the pack by its name. ```shell # add the Pack Registry nomad-pack registry add workloads github.com/workloads/nomad-pack-registry # run the Pack nomad-pack run flagd --registry=workloads ``` -------------------------------- ### Run Baedge Pack from Registry Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/baedge/README.md Commands to add the Workloads Nomad Pack Registry and then run the Baedge Pack from it. ```shell # add the Pack Registry nomad-pack registry add workloads github.com/workloads/nomad-pack-registry # run the Pack nomad-pack run baedge --registry=workloads ``` -------------------------------- ### Application Configuration Parameters Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/minecraft_bedrock_edition/README.md This section outlines the configurable parameters for the application. These settings control various aspects of the server's behavior, from game rules and player management to network performance and content logging. The table provides the parameter name, a description of its function, and its default value. ```APIDOC Application Configuration: - app_allow_cheats: Toggle to enable Commands and Cheats. Default: `true` - app_allow_list: Toggle to enable Allow-List (as stored in `allowlist.json`). Default: `false` - app_compression_threshold: Size of raw Network Payload to compress. Default: `1` - app_content_log_file_enabled: Toggle to disable file-based Logging. Default: `false` - app_correct_player_movement: Toggle to enable server-side Movement Validation. Default: `false` - app_default_player_permission_level: Default Permission for new Players. Default: `"member"` - app_difficulty: Difficulty Level. Default: `"peaceful"` - app_eula: Toggle to accept End User License Agreement. Default: `true` - app_force_gamemode: Toggle to force Players to always join in the default Game Mode. Default: `false` - app_gamemode: Game Mode. Default: `"creative"` - app_level_name: Name of Level to load. Default: `n/a` - app_level_seed: Level Seed. Default: `"-3420545464665791887"` - app_level_type: Level Type. Default: `"DEFAULT"` - app_max_players: Maximum allowed Player Count. Default: `10` - app_max_threads: Maximum amount of Threads to use. Default: `n/a` - app_online_mode: Toggle to enable Account Authentication (with Minecraft.net / Microsoft Account). Default: `false` - app_op_permission_level: Sets the default Permission Level for new Ops. Default: `2` - app_player_idle_timeout: Idle Timeout (in minutes) after which a Player is kicked. Default: `15` - app_player_movement_distance_threshold: Minimum Distance (in blocks) a Player must move before their Movement is validated. Default: `0.3` - app_player_movement_duration_threshold_in_ms: Minimum Duration (in msec) a Player must move before their Movement is validated. Default: `500` - app_player_movement_score_threshold: Number of incongruent Movements before a Player is kicked. Default: `20` - app_server_authoritative_block_breaking: Toggle to enable Server-Side Block Breaking Validation. Default: `false` - app_server_authoritative_movement: Toggle to enable Server-Authoritative Movement Validation. Default: `"server-auth"` - app_server_name: Name of the Server. Default: `"Minecraft Bedrock Edition Server"` - app_texturepack_required: Toggle to enable Texture Pack Requirement. Default: `false` - app_tick_distance: Maximum allowed Tick Distance (in chunks). Default: `4` - app_version: Minecraft Version. Default: `"1.20.1.02"` - app_view_distance: Maximum allowed View Distance (in chunks). Default: `32` ``` -------------------------------- ### Application Configuration Parameters Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/minecraft_java_edition/README.md This section lists and describes the application-specific configuration parameters. These settings control various aspects of the application's behavior, including game modes, network settings, resource management, and more. Each parameter has a name, a description of its function, and a default value. ```APIDOC Application Configuration: app_allow_flight: Toggle to enable PC flight. Default: `true` app_allow_nether: Toggle to enable The Nether. Default: `false` app_announce_player_achievements: Toggle to enable Player Achievement Announcements. Default: `false` app_console: Toggle to enable Console. Default: `true` app_data: Directory for Application Data. Default: `"/data"` app_difficulty: Difficulty Level (e.g.: `peaceful`, `easy`, `normal`, `hard`). Default: `"peaceful"` app_disable_healthcheck: Toggle to disable Container Health Check. Default: `false` app_enable_command_block: Toggle to enable Command Blocks. Default: `true` app_enable_query: Toggle to enable Gamespy Query Protocol. Default: `false` app_enable_rcon: Toggle to enable RCON interface. Default: `true` app_enable_rolling_logs: Toggle to enable Log Rolling. Default: `true` app_eula: Toggle to accept End User License Agreement. Default: `true` app_fabric_launcher_version: Version of Fabric Launcher. Default: `"0.11.2"` app_fabric_loader_version: Version of Fabric Loader. Default: `"0.14.24"` app_force_redownload: Toggle to force re-downloading of Server (JAR) File. Default: `false` app_force_world_copy: Toggle to force copying of World Data. Default: `false` app_generate_structures: Toggle to pre-generate Structures (e.g.: Villages, Outposts). Default: `true` app_gui: Toggle to enable GUI. Default: `true` app_hardcore: Toggle to enable Hardcore Mode. Default: `false` app_icon: Server Icon. Default: `"https://assets.workloads.io/minecraft/server-icons/command-block.png"` app_level_type: Level Type (e.g.: `normal`, `flat`). Default: `"normal"` app_log_timestamp: Togggle to include Timestamp in Log Messages. Default: `true` app_max_build_height: Maximum allowed Building Height (in blocks). Default: `256` app_max_memory: Maximum allowed Memory. Default: `"4G"` app_max_players: Maximum Player Count. Default: `20` app_max_tick_time: Maximum time a Tick may take before Watchdog responds (in msec). Default: `60000` app_max_world_size: Maximum Radius of World (in blocks). Default: `10000` app_memory: Initial Memory. Default: `"3G"` app_mode: Game Mode. Default: `"creative"` app_mods_file: Path to file with Mod URLs (e.g.: `/extras/mods.txt`). Default: `"https://assets.workloads.io/minecraft/mods/base/mods.txt"` ``` -------------------------------- ### Run Nomad Pack Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/datadog_agent/README.md Demonstrates how to run the Datadog Agent Nomad Pack. It covers executing a local pack during development and running a pack from a remote registry. ```shell ## Run a local pack nomad-pack run ./packs/datadog_agent ## Add the Pack Registry nomad-pack registry add workloads github.com/workloads/nomad-pack-registry ## Run the Pack from the registry nomad-pack run datadog_agent --registry=workloads ``` -------------------------------- ### Run Baedge Pack Locally Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/baedge/README.md Command to execute the Baedge Nomad Pack when it is available locally in the file system. ```shell nomad-pack run ./packs/baedge ``` -------------------------------- ### Run Nomad Pack from Registry Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/minecraft_bedrock_edition/README.md Adds the Workloads Nomad Pack Registry and then runs the 'minecraft_bedrock_edition' Pack from it. Requires prior registry addition. ```shell # add the Pack Registry nomad-pack registry add workloads github.com/workloads/nomad-pack-registry # run the Pack nomad-pack run minecraft_bedrock_edition --registry=workloads ``` -------------------------------- ### Nomad Task Configuration Parameters Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/minecraft_java_edition/README.md Details parameters for Nomad task configurations, such as the container driver, image details (digest, registry, tag), task name, and resource limits (CPU, memory). ```APIDOC NomadTaskConfiguration: nomad_task_driver: description: Driver to use for the Task. default: "docker" nomad_task_image: description: Content Address to use for the Container Image for the Task. default: "{\"digest\":\"sha256:9aa9149351649c7801f952f1cb3ea9b91529f8366cd6da135a9b54fbbbbdfde2\",\"image\":\"minecraft-server\",\"namespace\":\"itzg\",\"registry\":\"index.docker.io\",\"tag\":\"2023.11.0-java21-alpine\"}" nomad_task_name: description: Name for the Task. default: "minecraft" nomad_task_resources: description: Resource Limits for the Task. default: "{\"cores\":null,\"cpu\":4000,\"memory\":4096,\"memory_max\":5120}" ``` -------------------------------- ### Nomad Group Configuration Parameters Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/minecraft_java_edition/README.md Defines parameters for configuring Nomad job groups, including deployment counts, ephemeral disk settings, naming conventions, network modes, port mappings, restart policies, service details, tags, and volume configurations. ```APIDOC NomadGroupConfiguration: nomad_group_count: description: Count of Deployments for the Group. default: "1" nomad_group_ephemeral_disk: description: Ephemeral Disk Configuration for the Group. default: "{\"migrate\":true,\"size\":1024,\"sticky\":true}" nomad_group_name: description: Name for the Group. default: "minecraft" nomad_group_network_mode: description: Network Mode for the Group. default: "host" nomad_group_ports: description: Port and Healthcheck Configuration for the Group. default: "{\"bluemap\":{\"check_interval\":\"30s\",\"check_timeout\":\"15s\",\"host_network\":null,\"method\":null,\"omit_check\":false,\"path\":\"/\",\"port\":25595,\"type\":\"http\"},\"main\":{\"check_interval\":\"30s\",\"check_timeout\":\"15s\",\"host_network\":null,\"method\":null,\"omit_check\":false,\"path\":null,\"port\":25565,\"type\":\"tcp\"},\"prometheus\":{\"check_interval\":\"30s\",\"check_timeout\":\"15s\",\"host_network\":null,\"method\":null,\"omit_check\":false,\"path\":\"/\",\"port\":25585,\"type\":\"http\"},\"rcon\":{\"check_interval\":\"30s\",\"check_timeout\":\"15s\",\"host_network\":null,\"method\":null,\"omit_check\":false,\"path\":null,\"port\":25575,\"type\":\"tcp\"}}" nomad_group_restart_logic: description: Restart Logic for the Group. default: "{\"attempts\":3,\"delay\":\"30s\",\"interval\":\"120s\",\"mode\":\"fail\"}" nomad_group_service_name_prefix: description: Name of the Service for the Group. default: "minecraft" nomad_group_service_provider: description: Provider of the Service for the Group. default: "nomad" nomad_group_tags: description: List of Tags for the Group. default: "[\"minecraft\",\"minecraft-java-edition\"]" nomad_group_volumes: description: Volumes for the Group. default: "{\"minecraft_data\":{\"destination\":\"/data\",\"name\":\"minecraft_data\",\"read_only\":false,\"type\":\"host\"},\"minecraft_extras\":{\"destination\":\"/extras\",\"name\":\"minecraft_extras\",\"read_only\":false,\"type\":\"host\"},\"minecraft_worlds\":{\"destination\":\"/worlds\",\"name\":\"minecraft_worlds\",\"read_only\":false,\"type\":\"host\"}}" ``` -------------------------------- ### Nomad Job Configuration Parameters Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/minecraft_java_edition/README.md Specifies parameters for Nomad job definitions, including eligible datacenters, job name, namespace, priority, and region. ```APIDOC NomadJobConfiguration: nomad_job_datacenters: description: Eligible Datacenters for the Job. default: "[\"*\"]" nomad_job_name: description: Name for the Job. default: "minecraft" nomad_job_namespace: description: Namespace for the Job. default: "default" nomad_job_priority: description: Priority for the Job. default: "99" nomad_job_region: description: Region for the Job. default: "global" ``` -------------------------------- ### Run Nomad Pack from Registry Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/rcon_web/README.md Shows how to add the Workloads Nomad Pack Registry and then run the RCON Web pack from it. This is the standard method for deploying packs from a remote registry. ```shell # add the Pack Registry nomad-pack registry add workloads github.com/workloads/nomad-pack-registry # run the Pack nomad-pack run rcon_web --registry=workloads ``` -------------------------------- ### Datadog Agent Configuration Parameters Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/datadog_agent/README.md This section lists and describes the various configuration parameters for the Datadog Agent. Each parameter controls a specific aspect of the agent's behavior, from data processing and security to network communication and logging. The table includes the parameter name, its description, and its default or typical value. ```APIDOC Datadog Agent Configuration: | Parameter Name | Description ``` -------------------------------- ### Run a Nomad Pack Source: https://github.com/workloads/nomad-pack-registry/blob/main/README.md Command to run a specific Nomad Pack from the registry. The `` placeholder should be replaced with the desired pack name. ```shell make run pack= ``` -------------------------------- ### Nomad Pack Configuration Parameters Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/minecraft_bedrock_edition/README.md Defines the configurable parameters for Nomad packs, covering group, task, and job settings. These parameters control deployment aspects like resource allocation, networking, storage, and naming conventions. ```APIDOC Nomad Configuration Parameters: Group Configuration: nomad_group_count: Count of Deployments for the Group. Default: `1` nomad_group_ephemeral_disk: Ephemeral Disk Configuration for the Group. Default: `{"migrate":true,"size":1024,"sticky":true}` nomad_group_name: Name for the Group. Default: `"minecraft"` nomad_group_network_mode: Network Mode for the Group. Default: `"host"` nomad_group_ports: Port and Healthcheck Configuration for the Group. Default: `{"main":{"check_interval":"30s","check_timeout":"15s","host_network":null,"method":null,"omit_check":false,"path":null,"port":19132,"type":"tcp"}}` nomad_group_restart_logic: Restart Logic for the Group. Default: `{"attempts":3,"delay":"30s","interval":"120s","mode":"fail"}` nomad_group_service_name_prefix: Name of the Service for the Group. Default: `"minecraft"` nomad_group_service_provider: Provider of the Service for the Group. Default: `"nomad"` nomad_group_tags: List of Tags for the Group. Default: `["minecraft","minecraft-bedrock-edition"]` nomad_group_volumes: Volumes for the Group. Default: `{"data":{"destination":"/data","name":"minecraft_bedrock_data","read_only":false,"type":"host"}}` Job Configuration: nomad_job_datacenters: Eligible Datacenters for the Job. Default: `["*"`] nomad_job_name: Name for the Job. Default: `"minecraft"` nomad_job_namespace: Namespace for the Job. Default: `"default"` nomad_job_priority: Priority for the Job. Default: `99` nomad_job_region: Region for the Job. Default: `"global"` Task Configuration: nomad_task_driver: Driver to use for the Task. Default: `"docker"` nomad_task_image: Content Address to use for the Container Image for the Task. Default: `{"digest":"sha256:e2019e959daa70dffd1468aaa1348bc906170709bf2c790bee302fc1efedbde7","image":"minecraft-bedrock-server","namespace":"itzg","registry":"index.docker.io","tag":"2023.8.1"}` nomad_task_name: Name for the Task. Default: `"minecraft"` nomad_task_resources: Resource Limits for the Task. Default: `{"cores":null,"cpu":4000,"memory":4096,"memory_max":5120}` General Configuration: nomad_pack_verbose_output: Toggle to enable verbose output. Default: `true` ``` -------------------------------- ### Application Configuration Parameters Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/datadog_agent/README.md This section details application-specific configuration parameters for the Nomad Pack Registry. It covers settings related to metrics, auto-discovery, APM agent behavior, and resource limits. Each parameter includes its name, description, and default value. ```APIDOC Application Configuration Parameters: - app_dd_ac_exclude: List of Containers to exclude from Metrics and Auto Discovery. Default: n/a - app_dd_ac_include: List of Containers to include in Metrics and Auto Discovery. Default: n/a - app_dd_ad_config_poll_interval: Interval (in seconds) to check for new Auto Discovery configurations. Default: "10" - app_dd_additional_checksd: Path to the directory containing additional Python checks. Default: n/a - app_dd_aggregator_buffer_size: Default Buffer Size for the Aggregator. Default: "100" - app_dd_aggregator_stop_timeout: Timeout (in seconds) for the Aggregator to flush data before stopping. Default: "5" - app_dd_apm_compute_stats_by_span_kind: Toggle to enable additional stats computation check on Spans. Default: "false" - app_dd_apm_connection_limit: Connection Limit for the APM Agent. Default: "2000" - app_dd_apm_dd_url: Hostname of the APM Server to use. Default: n/a - app_dd_apm_enabled: Toggle to enable the APM Agent. Default: "true" - app_dd_apm_env: Environment Tag for APM. Default: n/a - app_dd_apm_error_tps: Target Error Trace chunks to receive per second. Default: "10" - app_dd_apm_features: List of Beta APM Features to enable. Default: n/a - app_dd_apm_ignore_resources: List of Exclusions of Regular Expressions to disable certain traces based on their resource name. Default: n/a - app_dd_apm_log_file: Path to APM Agent Log file. Default: n/a - app_dd_apm_log_throttling: Toggle to limit the total number of warnings and errors to 10 for every ten-second interval. Default: "true" - app_dd_apm_max_cpu_percent: CPU Percentage the Agent is allowed to use. Default: n/a - app_dd_apm_max_eps: Maximum Events per second to sample. Default: "200" - app_dd_apm_max_memory: Memory the Agent is allowed to use. Default: n/a - app_dd_apm_max_tps: Traces Per Second to sample. Default: "10" - app_dd_apm_non_local_traffic: Toggle to enable the APM Agent to listen for non-local traffic. Default: "false" - app_dd_apm_peer_service_aggregation: Toggle to enable `peer.service` aggregation in the Agent. Default: "false" ``` -------------------------------- ### Run Nomad Pack Locally Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/rcon_web/README.md Demonstrates how to run the RCON Web Nomad Pack when it is available locally in the file system. This is commonly used during development or testing of the pack. ```shell nomad-pack run ./packs/rcon_web ``` -------------------------------- ### Minecraft Server Configuration Parameters Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/minecraft_java_edition/README.md This section outlines the various configuration parameters for a Minecraft server. Each parameter controls a specific aspect of server behavior, game settings, or operational features. Values can include strings, booleans, numbers, or URLs, and are typically set in a configuration file or via an API. ```APIDOC MinecraftServerConfiguration: app_motd: Message of the Day. - Example: "This Server is running on §2§lHashiCorp Nomad§r!" app_online_mode: Toggle to enable Account Authentication (with Minecraft.net / Microsoft Account). - Type: boolean - Default: false app_op_permission_level: Sets the default Permission Level for new Ops. - Type: integer - Default: 2 app_override_icon: Toggle to allow overriding Server Icon. - Type: boolean - Default: true app_plugins_file: Path to file with Plugin URLs (e.g.: `/extras/plugins.txt`). - Type: string app_pvp: Toggle to enable PvP Damage. - Type: boolean - Default: false app_rcon_cmds_connect: RCON Commands to run on (any) Client Connect. - Type: array of strings app_rcon_cmds_disconnect: RCON Commands to run on (any) Client Disconnect. - Type: array of strings app_rcon_cmds_first_connect: RCON Commands to run on first Client Connect. - Type: array of strings app_rcon_cmds_last_disconnect: RCON Commands to run on last Client Disconnect. - Type: array of strings app_rcon_cmds_startup: RCON Commands to run on Server start up. - Type: array of strings app_rcon_password: RCON Interface Password. - Type: string - Example: "AW96B6" app_remove_old_mods: Toggle to enable removal of old Mod Data Files. - Type: boolean - Default: true app_resource_pack: URL to Resource Pack (in ZIP format). - Type: string app_resource_pack_sha1: SHA1 Checksum for Resource Pack. - Type: string app_seed: Level Seed. - Type: string app_server_name: Server Name. - Type: string - Example: "Minecraft Java Edition Server" app_snooper_enabled: Toggle to enable sending updates to `snoop.minecraft.net`. - Type: boolean - Default: false app_spawn_animals: Toggle to enable Animals to spawn. - Type: boolean - Default: true app_spawn_monsters: Toggle to enable Monsters to spawn. - Type: boolean - Default: true app_spawn_npcs: Toggle to enable NPCs to spawn. - Type: boolean - Default: true app_spawn_protection: Sets area that non-ops cannot alter (in blocks). - Type: integer app_stop_duration: Time (in seconds) the Minecraft Process Wrapper will wait for processes to gradually finish. - Type: integer - Default: 120 app_stop_server_announce_delay: Time (in seconds) Players are allowed to finish activities until Server shuts down. - Type: integer - Default: 60 app_type: Server Type (e.g.: `vanilla`, `fabric`, etc.). - Type: string - Example: "fabric" app_tz: Timezone. - Type: string - Example: "Europe/Amsterdam" app_use_aikar_flags: Toggle to enable optimized JVM flags for GC tuning. - Type: boolean - Default: true app_version: Minecraft Version. - Type: string - Example: "1.20.1" app_view_distance: Amount of World Data to send to define viewing distance (in blocks). - Type: integer - Default: 32 app_world: World Data. - Type: string (URL) - Example: "https://assets.workloads.io/minecraft/worlds/world-of-worlds.zip" ``` -------------------------------- ### Nomad Configuration Parameters Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/boundary_worker/README.md This section details the configuration parameters for deploying and managing workloads using Nomad. It covers settings related to job definitions, group configurations, task resources, and general pack behavior, providing default values and descriptions for each. ```APIDOC NomadConfiguration: - nomad_group_count: description: Count of Deployments for the Group. default: "1" - nomad_group_ephemeral_disk: description: Ephemeral Disk Configuration for the Group. default: "{\"migrate\":true,\"size\":128,\"sticky\":true}" - nomad_group_name: description: Name for the Group. default: "\"boundary_worker\"" - nomad_group_network_mode: description: Network Mode for the Group. default: "\"host\"" - nomad_group_ports: description: Port and Healthcheck Configuration for the Group. default: "{\"ops\":{\"check_interval\":\"30s\",\"check_timeout\":\"15s\",\"host_network\":null,\"name\":\"boundary_worker_ops\",\"path\":\"/health\",\"port\":9203,\"protocol\":\"http\",\"type\":\"http\"},\"proxy\":{\"check_interval\":\"30s\",\"check_timeout\":\"15s\",\"host_network\":null,\"name\":\"boundary_worker_proxy\",\"path\":null,\"port\":9202,\"protocol\":\"tcp\",\"type\":\"tcp\"}}" - nomad_group_restart_logic: description: Restart Logic for the Group. default: "{\"attempts\":3,\"delay\":\"30s\",\"interval\":\"120s\",\"mode\":\"fail\"}" - nomad_group_service_name_prefix: description: Name of the Service for the Group. default: "\"boundary_worker\"" - nomad_group_service_provider: description: Provider of the Service for the Group. default: "\"nomad\"" - nomad_group_tags: description: List of Tags for the Group. default: "[\"boundary\",\"boundary-workers\"]" - nomad_group_volumes: description: Volumes for the Group. default: "{}" - nomad_job_datacenters: description: Eligible Datacenters for the Job. default: "[\"*\"]" - nomad_job_name: description: Name for the Job. default: "\"boundary_worker\"" - nomad_job_namespace: description: Namespace for the Job. default: "\"default\"" - nomad_job_priority: description: Priority for the Job. default: "10" - nomad_job_region: description: Region for the Job. default: "\"global\"" - nomad_pack_verbose_output: description: Toggle to enable verbose output. default: "true" - nomad_task_driver: description: Driver to use for the Task. default: "\"raw_exec\"" - nomad_task_name: description: Name for the Task. default: "\"boundary_worker\"" - nomad_task_resources: description: Resource Limits for the Task. default: "{\"cores\":null,\"cpu\":500,\"memory\":512,\"memory_max\":1024}" ``` -------------------------------- ### Nomad Configuration Parameters Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/flagd/README.md Details the configurable parameters for Nomad jobs and groups, including their descriptions and default values. These settings control aspects like deployment counts, network modes, resource allocation, and task execution. ```APIDOC Nomad Configuration Parameters: - nomad_group_count: - Description: Count of Deployments for the Group. - Default: "1" - nomad_group_ephemeral_disk: - Description: Ephemeral Disk Configuration for the Group. - Default: "{\"migrate\":false,\"size\":128,\"sticky\":false}" - nomad_group_name: - Description: Name for the Group. - Default: "\"flagd\"" - nomad_group_network_mode: - Description: Network Mode for the Group. - Default: "\"host\"" - nomad_group_ports: - Description: Port and Healthcheck Configuration for the Group. - Default: "{\"health\":{\"check_interval\":\"30s\",\"check_timeout\":\"15s\",\"host_network\":null,\"method\":\"GET\",\"name\":\"health\",\"omit_check\":false,\"path\":\"/healthz\",\"port\":8014,\"type\":\"http\"},\"main\":{\"check_interval\":\"30s\",\"check_timeout\":\"15s\",\"host_network\":null,\"method\":\"POST\",\"name\":\"main\",\"omit_check\":true,\"path\":\"/\",\"port\":8013,\"type\":\"http\"}}" - nomad_group_restart_logic: - Description: Restart Logic for the Group. - Default: "{\"attempts\":3,\"delay\":\"30s\",\"interval\":\"120s\",\"mode\":\"fail\"}" - nomad_group_service_name_prefix: - Description: Name of the Service for the Group. - Default: "\"flagd\"" - nomad_group_service_provider: - Description: Provider of the Service for the Group. - Default: "\"nomad\"" - nomad_group_tags: - Description: List of Tags for the Group. - Default: "[\"flagd\"]" - nomad_group_volumes: - Description: Volumes for the Group. - Default: "{}" - nomad_job_datacenters: - Description: Eligible Datacenters for the Job. - Default: "[\"*\"]" - nomad_job_name: - Description: Name for the Job. - Default: "\"flagd\"" - nomad_job_namespace: - Description: Namespace for the Job. - Default: "\"default\"" - nomad_job_priority: - Description: Priority for the Job. - Default: "10" - nomad_job_region: - Description: Region for the Job. - Default: "\"global\"" - nomad_pack_verbose_output: - Description: Toggle to enable verbose output. - Default: "true" - nomad_task_args: - Description: Arguments to pass to the Task. - Default: "n/a" - nomad_task_command: - Description: Command to pass to the Task. - Default: "\"start\"" - nomad_task_driver: - Description: Driver to use for the Task. - Default: "\"docker\"" - nomad_task_image: - Description: Content Address to use for the Container Image for the Task. - Default: "{\"digest\":\"sha256:bc771a0e42089111784f06168238304212c9f22c9b472934de5d4bd742a09a81\",\"image\":\"flagd\",\"namespace\":\"open-feature\",\"registry\":\"ghcr.io\",\"tag\":\"v0.6.7\"}" - nomad_task_name: - Description: Name for the Task. - Default: "\"flagd\"" - nomad_task_resources: - Description: Resource Limits for the Task. - Default: "{\"cores\":null,\"cpu\":500,\"memory\":64,\"memory_max\":512}" ``` -------------------------------- ### Application Configuration Options Source: https://github.com/workloads/nomad-pack-registry/blob/main/packs/boundary_worker/README.md This section details the configuration parameters for the application. Each parameter controls a specific aspect of the application's behavior, such as file modes, paths, network settings, and security features. Defaults and descriptions are provided for clarity. ```APIDOC Application Configuration: - app_boundary_helper_output_file_mode: File Mode of the Output File created by the Boundary Helper binary. - Default: "0644" - app_boundary_helper_path: Path to the Boundary Helper binary. - Default: "boundary-helper" - app_cors_allowed_origins: Allowed CORS Origins for the Boundary Worker. - Default: ["*"] - app_cors_enabled: Toggle to enable CORS support for the Boundary Worker. - Default: false - app_disable_mlock: Toggle to disable mlock for the Boundary Worker. This setting may not be supported on all operating systems. - Default: true - app_enable_hcp_boundary_support: Toggle to enable HCP Boundary Support (and forego self-hosted Boundary Enterprise Cluster registration workflows. - Default: true - app_initial_upstreams: List of hosts or IP addresses for reaching a Boundary Cluster. - Default: n/a - app_tls_cert_file: Specifies the path to the certificate for the Boundary Worker. - Default: n/a - app_tls_cipher_suites: Overridden List of supported ciphersuites for the Boundary Worker. Only relevant if `app_tls_max_version` is set to `tls12` or below. - Default: n/a - app_tls_client_ca_file: PEM-encoded Certificate Authority File used for checking the authenticity of the client for the Boundary Worker. - Default: n/a - app_tls_disable: Toggle to disable TLS support for the Boundary Worker. - Default: true - app_tls_key_file: Specifies the path to the private key for the certificate for the Boundary Worker. - Default: n/a - app_tls_max_version: Specifies the maximum supported TLS version for the Boundary Worker. - Default: "tls13" - app_tls_min_version: Specifies the minimum supported TLS version for the Boundary Worker. - Default: "tls13" - app_tls_prefer_server_cipher_suites: Toggle to enable preference for Server's ciphersuites over Client's ciphersuites for the Boundary Worker. - Default: false - app_tls_require_and_verify_client_cert: Toggle to enable client authentication for the listener for the Boundary Worker. - Default: false - app_worker_description: Description for the Boundary Worker. - Default: "Nomad-managed Boundary Worker." - app_worker_name_prefix: Prefix for the Boundary Worker Name. - Default: "nomad" ```