fusion

module
v0.1.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2022 License: MIT

README

🧬 fusion

Go Reference Latest Release Go Report Card

Generate secure by default cloud infrastructure configuration with Go and Terraform.

Install 📥

Install the fusion cli

Go

If you have Go setup on your system, you can install fusion with go install

go install github.com/SlalomBuild/fusion/cmd/fusion@latest
Docker Image
docker run --rm -it ghcr.io/slalombuild/fusion:latest --help

Usage ⚡️

Getting started with fusion is as simple as naming the type of cloud resource you want and allow fusion to generate the terraform.

See available commands with --help

fusion —help

Usage: fusion <command>

Generate secure by default cloud infrastructure configuration

Flags:
  -h, --help        Show context-sensitive help.
  -v, --verbose     Enable verbose logging
  -n, --no-color    Disable colorful output ($NO_COLOR)

Commands:
  new    Create new cloud resources with Terraform

Run "fusion <command> --help" for more information on a command.

For more in-depth examples of creating cloud resources with fusion, view the Example folder.

Snippets

Snippets are available in all supported IDEs with the pattern fsn-<provider>_<resource>

VSCode
# Install fusion vscode snippets into default snippets 
# directory
fusion gen snippets -e vscode -i
VSCode not installed in the default directory?
You will need to output a json file with `fusion gen snippets -e vscode -o filename.json` and place it and `package.json` from the repository's snippets directory within `.../.vscode/extensions/fusion-snippets`, creating directories if needed. Restart your IDE to make them available.

Intellij
# 1. Generate snippets
fusion gen snippets -e intellij -o filename.xml

# 2. Find your IDE's configuration directory

# 3. Create a directory within that called `templates` if it does not already exist, and drop the xml file in there. Then, restart your IDE to make them available.

Intellij users must check this page to find the Configuration directory that pertains to your IDE version and operating system.

Development

For detailed development instructions, view our DEVELOPMENT.md and CONTRIBUTING.md.

Directories

Path Synopsis
cmd
internal
commands/awscmd
Package awscmd contains all commands for the aws section of the fusion cli
Package awscmd contains all commands for the aws section of the fusion cli
commands/azurecmd
Package azurecmd contains all commands for the aws section of the fusion cli
Package azurecmd contains all commands for the aws section of the fusion cli
commands/ctlcmd
Package ctlcmd contains all commands for the fusionctl cli
Package ctlcmd contains all commands for the fusionctl cli
commands/gcpcmd
Package gcpcmd contains all commands for the gcp section of the fusion cli
Package gcpcmd contains all commands for the gcp section of the fusion cli
Package snippets implements support for building snippets for vscode
Package snippets implements support for building snippets for vscode
Package templates includes go text/templates for terraform resources
Package templates includes go text/templates for terraform resources
aws
Package aws provides terraform templates for Amazon Web Services (AWS)
Package aws provides terraform templates for Amazon Web Services (AWS)
azure
Package azure provides terraform templates for Microsoft Azure
Package azure provides terraform templates for Microsoft Azure
gcp
Package gcp provides terraform templates for Google Cloud Platform (GCP)
Package gcp provides terraform templates for Google Cloud Platform (GCP)
Package terraform provides convenience utilities for working with the terraform command line tool programatically.
Package terraform provides convenience utilities for working with the terraform command line tool programatically.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL