/web-assets-sync

Terraform-managed Public Assets Sync

Primary LanguageHCLApache License 2.0Apache-2.0

Terraform Cloud Workspace web-assets-sync

This repository manages uploads of web-accessible Assets for @workloads.

Table of Contents

Requirements

  • HashiCorp Terraform 1.6.x or newer
  • file-system access to public asset exports in ../assets/export
  • file-system access to public Minecraft mods ../minecraft-mods
  • file-system access to public Minecraft Worlds ../minecraft-worlds

Optional, and only needed for documentation generation:

  • terraform-docs 0.17.0 or newer

Usage

This repository uses a standard Terraform workflow (init, plan, apply).

For more information, including detailed usage guidelines, see the Terraform documentation.

Inputs

Name Description Type Required
asset_paths Sync-eligible Path Objects.
object({
assets = object({
extensions = string
local_path = string
remote_path = optional(string)
}),

minecraft_mods = object({
extensions = string
local_path = string
remote_path = optional(string)
})

minecraft_worlds = object({
extensions = string
local_path = string
remote_path = optional(string)
})
})
no
file_extension_regex Regular Expression to match File Extensions. string no
modstxt_file_name Name of the per-modset mods.txt file. string no
s3_storage_class Storage Class of S3 Object. string no
tfe_organization Terraform Cloud Organization. string no
tfe_workspace_assets Terraform Cloud Workspace for web-assets. string no

Outputs

Name Description
aws_cli_commands AWS CLI Command for CloudFront operations.
aws_console_url AWS Console URL.
eligible_files List of Sync-Eligible Assets.
minecraft_mod_urls URLs of Minecraft Mods.
minecraft_modstxt_urls URL of Minecraft mods.txt Files.
minecraft_world_urls URLs of Minecraft Worlds.

Notes

Sensitive Data

Terraform state may contain sensitive data. This workspace uses Terraform Cloud to safely store state, and encrypt the data at rest.

Contributors

For a list of current (and past) contributors to this repository, see GitHub.

License

Licensed under the Apache License, Version 2.0 (the "License").

You may download a copy of the License at apache.org/licenses/LICENSE-2.0.

See the License for the specific language governing permissions and limitations under the License.