Code Monkey home page Code Monkey logo

terraform-kubernetes-cloudwatch-agent's Introduction

terraform-kubernetes-cloudwatch-agent

Terraform module which deploys Kubernetes AWS Cloudwatch Agent

tflint LICENSE Terraform

Examples

Example Description Status
Standard Deploying AWS Cloud Watch Agent using the default settings Standard-Deployment
Custom Customising the deployment to use a different name and namespace Custom-Deployment

Contributing

Report issues/questions/feature requests via issues Full contributing guidelines are covered here

Requirements

Name Version
terraform >= 0.14.8
aws >= 3.63
kubernetes >= 2.0
template >= 2.2.0

Providers

Name Version
aws >= 3.63
kubernetes >= 2.0
template >= 2.2.0

Modules

No modules.

Resources

Name Type
aws_iam_role.this resource
kubernetes_cluster_role.this resource
kubernetes_cluster_role_binding.this resource
kubernetes_config_map.this resource
kubernetes_daemonset.this resource
kubernetes_namespace.this resource
kubernetes_service_account.this resource
aws_caller_identity.current data source
aws_eks_cluster.target data source
aws_iam_policy_document.assume_role_policy data source
aws_partition.current data source
aws_region.current data source
template_file.this data source

Inputs

Name Description Type Default Required
create_iam_role Determines whether a an IAM role is created or to use an existing IAM role for the cloudwatch agent bool true no
create_namespace Determines whether to create a new kubernetes namespace for the cloudwatch agent deployment bool false no
eks_cluster_name The name of the target Kubernetes Cluster string n/a yes
iam_role_arn Existing IAM role ARN for the cloudwatch agent. Required if create_iam_role is set to false string null no
iam_role_description Description of the role string "Permissions required by the Kubernetes Cloudwatch to do it's job." no
iam_role_name Name to use on IAM role created string null no
iam_role_path Cluster IAM role path string "/eks/" no
iam_role_permissions_boundary ARN of the policy that is used to set the permissions boundary for the IAM role string null no
iam_role_tags A map of additional tags to add to the IAM role created map(string) {} no
iam_role_use_name_prefix Determines whether the IAM role name (iam_role_name) is used as a prefix string true no
image_name The name of the cloudwatch container image string "cloudwatch-agent" no
image_version The name of the cloudwatch container image version string "1.247349.0b251399" no
name The name of the cloudwatch deployment string "cloudwatch" no
namespace The namespace to put the cloudwatch deployment in string "kube-system" no
prefix_separator The separator to use between the prefix and the generated timestamp for resource names string "-" no
tags A map of tags to add to all resources map(string) {} no

Outputs

No outputs.

terraform-kubernetes-cloudwatch-agent's People

Contributors

bailey84j avatar github-actions[bot] avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

evangtim2

terraform-kubernetes-cloudwatch-agent's Issues

request to allow specific ECR path for image

Hi. I wanted to suggest an enhancement. We use GovCloud, and we do not have Internet access from our VPCs to reach external to AWS docker repositories. I was looking for a way to pass along the image ECR path. It appears to be harcoded here:

container {
name = "${var.name}-agent"
image = "amazon/${var.image_name}:${var.image_version}"

I'd like to suggest a change to allow an image_repository to be specified, defaulting to docker.io/amazon, so we may specify our own respository in an account-specific ECR or some other local internal repository. Something like

  image = "${var.image_repository}/${var.image_name}:$(var.image_version}"

with

variable "image_repository" {
  description = "The repository path of the cloudwatch container image"
  type = string
  default = "amazon"
}

I'm happy to put in a PR for this.

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.