openpaas

command module
v0.0.9 Latest Latest
Warning

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

Go to latest
Published: Mar 1, 2024 License: MPL-2.0 Imports: 13 Imported by: 0

README

OpenPaas Core

Ties together Terraform, Ansible and Runtime execution of commands (local) to create a generic base for automation with these tools.

Requirements

  • make for build commands.brew install make
  • golangci-lint for linting. brew install golangci-lint
  • pkgsite for local documentation. go install golang.org/x/pkgsite/cmd/pkgsite@latest
  • Terraform for Infrastructure as Code (IaC). Recommended to use tfenv for installation.
  • Ansible for automation of server configuration. brew install ansible
Configuration
  • Your Hetzner token must be available as the environment variable HETZNER_TOKEN
  • You must provide your config in config.yaml
    • in cloud_provider_config> allowed_ips you must have the IP of the machine doing the deployment, otherwise the firewall will block the connection
    • One of:
      • cloud_provider_config> provider_settings > github_ids one or more valid github id. The public keys associated to the id will be uplaoded to the servers.

TODO

  • add documentation to parts of the code (I need to work more with it)

Documentation

Overview

OpenPaaS provisions infrastructure based on the provided config, while leveraging existing IaC tooling.

The intention is to simplify the configuration for a majority of application, which can be server with efficient, traditional infrastructure. This covers a majority of companies.

Using tools like Terraform and Ansible underneath means that you can inspect the output and understand what is going to happen, without having to learn a new IaC tool.

Currently, it defaults to Hetzner, but it can easily be expanded to target other platforms.

NOTE: the executable sets the Environment variable ANSIBLE_HOST_KEY_CHECKING to False during execution. This disables host key checking on SSH connections.

Usage:

openpaas [flags]
openpaas [command]

Available Commands:

bootstrap   Bootstrap your platform
completion  Generate the autocompletion script for the specified shell
help        Help about any command
sync        Sync your platform

Flags:

-h, --help   help for openpaas

Use "openpaas [command] --help" for more information about a command.

Environment Variables:

HETZNER_TOKEN
	The Hetzner access token to use to apply the Terraform configuration

Directories

Path Synopsis
pkg

Jump to

Keyboard shortcuts

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