Examples

June 10, 2026 · View on GitHub

Description

This module will create a set of startup-script runners that will setup Ramble, and install Ramble’s dependencies.

Ramble is a multi-platform experimentation framework capable of driving software installation, acquiring input files, configuring experiments, and extracting results. For more information about ramble, see: https://github.com/GoogleCloudPlatform/ramble

This module outputs two startup script runners, which can be added to startup scripts to setup, ramble and its dependencies.

For this module to be completely functional, it depends on a spack installation. For more information, see Cluster-Toolkit’s Spack module.

NOTE: This is an experimental module and the functionality and documentation will likely be updated in the near future. This module has only been tested in limited capacity.

Examples

Basic Example

- id: ramble-setup
  source: community/modules/scripts/ramble-setup

This example simply installs ramble on a VM.

Full Example

- id: ramble-setup
  source: community/modules/scripts/ramble-setup
  settings:
    install_dir: /ramble
    ramble_url: https://github.com/GoogleCloudPlatform/ramble
    ramble_ref: v0.2.1
    log_file: /var/log/ramble.log
    chown_owner: “owner”
    chgrp_group: “user_group”
    chmod_mode: “a+r”

This example simply installs ramble into a VM at the location /ramble, checks out the v0.2.1 tag, changes the owner and group to “owner” and “user_group”, and chmod’s the clone to make it world readable.

Also see a more complete Ramble example blueprint.

License

Copyright 2026 Google LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Requirements

NameVersion
terraform>= 1.12.2
google>= 4.42
local>= 2.0.0

Providers

NameVersion
google>= 4.42
local>= 2.0.0

Modules

NameSourceVersion
startup_script../../../../modules/scripts/startup-scriptn/a

Resources

NameType
google_storage_bucket.bucketresource
local_file.debug_file_shell_installresource

Inputs

NameDescriptionTypeDefaultRequired
chmod_modeMode to chmod the Ramble clone to. Defaults to "" (i.e. do not modify).
For usage information see:
https://docs.ansible.com/ansible/latest/collections/ansible/builtin/file_module.html#parameter-mode
string""no
deployment_nameName of deployment, used to name bucket containing startup script.stringn/ayes
install_dirDestination directory of installation of Ramble.string"/apps/ramble"no
labelsKey-value pairs of labels to be added to created resources.map(string)n/ayes
project_idProject in which the HPC deployment will be created.stringn/ayes
ramble_profile_script_pathPath to the Ramble profile.d script. Created by this modulestring"/etc/profile.d/ramble.sh"no
ramble_refGit ref to checkout for Ramble.string"develop"no
ramble_urlURL for Ramble repository to clone.string"https://github.com/GoogleCloudPlatform/ramble"no
ramble_virtualenv_pathVirtual environment path in which to install Ramble Python interpreter and other dependenciesstring"/usr/local/ramble-python"no
regionRegion to place bucket containing startup script.stringn/ayes
system_user_gidGID used when creating system user group. Ignored if system_user_name already exists on system. Default of 1104762904 is arbitrary.number1104762904no
system_user_nameName of system user that will perform installation of Ramble. It will be created if it does not exist.string"ramble"no
system_user_uidUID used when creating system user. Ignored if system_user_name already exists on system. Default of 1104762904 is arbitrary.number1104762904no

Outputs

NameDescription
controller_startup_scriptRamble installation script, duplicate for SLURM controller.
gcs_bucket_pathBucket containing the startup scripts for Ramble, to be reused by ramble-execute module.
ramble_pathLocation ramble is installed into.
ramble_profile_script_pathPath to Ramble profile script.
ramble_refGit ref the ramble install is checked out to use
ramble_runnerRunner to be used with startup-script module or passed to ramble-execute module.
- installs Ramble dependencies
- installs Ramble
- generates profile.d script to enable access to Ramble
This is safe to run in parallel by multiple machines.
startup_scriptRamble installation script.
system_user_nameThe system user used to install Ramble. It can be reused by ramble-execute module to execute Ramble commands.