Git Product home page Git Product logo

terraform-kubernetes-velero's Introduction

Velero installation on AWS EKS Kubernetes

Maintenance GitHub forks

References

Installation

$ brew install velero
$ helm repo add vmware-tanzu https://vmware-tanzu.github.io/helm-charts

Documentation

Usage example

Here's the gist of using it directly from github.

    module "velero" {
    source  = "terraform-module/velero/kubernetes"
    version = "0.12.2"

    namespace_deploy            = true
    app_deploy                  = true
    cluster_name                = my-personal-cluster
    openid_connect_provider_uri = "openid-configuration"
    bucket                      = "backup-s3"
    values = [<<EOF
    # https://github.com/vmware-tanzu/helm-charts/tree/master/charts/velero

    image:
    repository: velero/velero
    tag: v1.4.2

    initContainers:
    - name: velero-plugin-for-aws
        image: velero/velero-plugin-for-aws:v1.1.0
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - mountPath: /target
            name: plugins

    # SecurityContext to use for the Velero deployment. Optional.
    # Set fsGroup for `AWS IAM Roles for Service Accounts`
    # see more informations at: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html
    securityContext:
        fsGroup: 1337

    configuration:
    provider: aws

    backupStorageLocation:
        name: default
        provider: aws
        bucket: backup-s3
        prefix: "velero/dev/my-cluster"
        config:
        region: eu-west-1

    volumeSnapshotLocation:
        name: default
        provider: aws
        # Additional provider-specific configuration. See link above
        # for details of required/optional fields for your provider.
        config:
        region: eu-west-1
    EOF
    ]
    vars  = {
        "version"       = "2.12.0"
    }
    tags = local.tags
    }

Assumptions

Available features

Module Variables

Requirements

Name Version
terraform >= 0.12
helm >= 1.2
kubernetes >= 1.11.0

Providers

Name Version
aws n/a
helm >= 1.2
kubernetes >= 1.11.0

Inputs

Name Description Type Default Required
app A Release is an instance of a chart running in a Kubernetes cluster. map {} no
app_deploy Whether or not to deploy app bool true no
bucket Backup and Restore bucket. string n/a yes
cluster_name Cluster name. string n/a yes
description Namespace description string "velero-back-up-and-restore" no
iam_deploy Whether or not to deploy iam role bool true no
iam_role_name Name of the Velero IAM role string "" no
name Namespace name string "velero" no
namespace_deploy Whether or not to deploy namespace bool false no
openid_connect_provider_uri OpenID Connect Provider for EKS to enable IRSA. string n/a yes
repository VMware Tanzu repository for Helm repos. string "https://vmware-tanzu.github.io/helm-charts" no
tags A mapping of tags to assign to the object. map {} no
values List of values in raw yaml to pass to helm. Values will be merged. list(string) n/a yes

Outputs

Name Description
namespace_name Namespace name

Commands

$ make help
hooks                          Commit hooks setup
validate                       Validate with pre-commit hooks
changelog                      Update changelog

๐Ÿ“ Guidelines

  • ๐Ÿ“ Use a succinct title and description.
  • ๐Ÿ› Bugs & feature requests can be be opened
  • ๐Ÿ“ถ Support questions are better asked on Stack Overflow
  • ๐Ÿ˜Š Be nice, civil and polite (as always).

License

Copyright 2019 Ivan Katliarhcuk

MIT Licensed. See LICENSE for full details.

How to Contribute

Submit a pull request

Authors

Currently maintained by Ivan Katliarchuk and these awesome contributors.

ForTheBadge uses-git

Terraform Registry

TODO

  • Kiam support

terraform-kubernetes-velero's People

Contributors

gozer avatar ivankatliarchuk avatar jverce avatar samanthaq avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.