GithubHelp home page GithubHelp logo

cn-terraform / terraform-aws-jenkins Goto Github PK

View Code? Open in Web Editor NEW
32.0 32.0 32.0 117 KB

Jenkins Terraform Module for AWS

Home Page: https://registry.terraform.io/modules/cn-terraform/jenkins

License: Apache License 2.0

HCL 100.00%
amazon-web-services aws cloud jenkins jenkins-ci jenkins-server jenkins-terraform terraform terraform-module

terraform-aws-jenkins's People

Contributors

jnonino avatar ktibi avatar mfcaro avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

terraform-aws-jenkins's Issues

The bucket does not allow ACLs

version: 2.0.36

my config:

module "jenkins" {
  source              = "cn-terraform/jenkins/aws"
  name_prefix         = "jenkins"
  region              = var.aws_region
  vpc_id              = module.vpc.vpc_id
  public_subnets_ids  = module.vpc.public_subnets
  private_subnets_ids = module.vpc.private_subnets
}

error, all resources were created, but S3 ACL configuration failed with attached error. After manually enabling ACL for S3 bucket - next terraform run succeeded.

error:

module.jenkins.module.ecs-fargate-service.module.ecs-alb[0].module.lb_logs_s3[0].aws_s3_bucket_acl.logs: Creating...
╷
│ Error: error creating S3 bucket ACL for jenkins-jenkins-lb-logs-xfvuunq: AccessControlListNotSupported: The bucket does not allow ACLs
│       status code: 400, request id: MESAYN3CSKNNCVGB, host id: +jNTkMmiwb3vlvpUEP01YBsEwQhzAF8PXnCTyaVPv8cZQgPijZlKt7OUY47B5RNUZy/94Pws4qk=
│
│   with module.jenkins.module.ecs-fargate-service.module.ecs-alb[0].module.lb_logs_s3[0].aws_s3_bucket_acl.logs,
│   on .terraform/modules/jenkins.ecs-fargate-service.ecs-alb.lb_logs_s3/main.tf line 26, in resource "aws_s3_bucket_acl" "logs":
│   26: resource "aws_s3_bucket_acl" "logs" {
│
╵
ERRO[0071] Terraform invocation failed in /Users/aimestereo/projects/StatusMoney/demo/devops/terragrunt/us-west-1/stage/base-infrastructure/.terragrunt-cache/gmYJS8uADB49DexI5-p0wEef0s4/L9aVx8JWyIBukn_KhUmiCNb-eSo/terraform/base-infrastructure  prefix=[/Users/aimestereo/projects/StatusMoney/demo/devops/terragrunt/us-west-1/stage/base-infrastructure]
ERRO[0071] 1 error occurred:
        * [/Users/aimestereo/projects/StatusMoney/demo/devops/terragrunt/us-west-1/stage/base-infrastructure/.terragrunt-cache/gmYJS8uADB49DexI5-p0wEef0s4/L9aVx8JWyIBukn_KhUmiCNb-eSo/terraform/base-infrastructure] exit status 1

Mount volume to fargate

Hi,

Thanks for the template, this is veryhelpfull. I had one doubt in the jenkins master configuration. Where will the Jenkins master file be stored ? When we use EC2 we mount a EFS to teh docker container, so that all data gets copied to EFS and when i restart eh Jenkins master Image i can mount the same EFS so that it will pick the configurations. In fargate how do we do it ?

Error: each.value cannot be used in this context

When running this module with TF version 0.13.6 I get the following errors:


  on .terraform/modules/jenkins.ecs-fargate-service/main.tf line 63, in resource "aws_ecs_service" "service":
  63:       target_group_arn = each.key

The "each" object can be used only in "module" or "resource" blocks, and only
when the "for_each" argument is set.


Error: Reference to "each" in context without for_each

  on .terraform/modules/jenkins.ecs-fargate-service/main.tf line 63, in resource "aws_ecs_service" "service":
  63:       target_group_arn = each.key

The "each" object can be used only in "module" or "resource" blocks, and only
when the "for_each" argument is set.


Error: each.value cannot be used in this context

  on .terraform/modules/jenkins.ecs-fargate-service/main.tf line 65, in resource "aws_ecs_service" "service":
  65:       container_port   = each.value

A reference to "each.value" has been used in a context in which it
unavailable, such as when the configuration no longer contains the value in
its "for_each" expression. Remove this reference to each.value in your
configuration to work around this error.


Error: each.value cannot be used in this context

  on .terraform/modules/jenkins.ecs-fargate-service/main.tf line 65, in resource "aws_ecs_service" "service":
  65:       container_port   = each.value

A reference to "each.value" has been used in a context in which it
unavailable, such as when the configuration no longer contains the value in
its "for_each" expression. Remove this reference to each.value in your
configuration to work around this error.```

Jenkins server doesn't spin up: /var/jenkins_home/copy_reference_file.log': Permission denied

ECS Jenkins server fails to start with this error:


November 30, 2023 at 19:06 (UTC+3:00) | Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions? 
November 30, 2023 at 19:06 (UTC+3:00) | touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied

November 30, 2023 at 19:06 (UTC+3:00)	Can not write to /var/jenkins_home/copy_reference_file.log. Wrong volume permissions?
November 30, 2023 at 19:06 (UTC+3:00)	touch: cannot touch '/var/jenkins_home/copy_reference_file.log': Permission denied

error in 2.0.13

The following error occurs with v 2.0.13 of this module:

│ Error: ECS Task Definition container_definitions is invalid: Error decoding JSON: json: cannot unmarshal string into Go struct field MountPoint.MountPoints.ReadOnly of type bool

│ with module.jenkins.module.td.aws_ecs_task_definition.td,
│ on .terraform/modules/jenkins.td/main.tf line 81, in resource "aws_ecs_task_definition" "td":
│ 81: container_definitions = "[${module.container_definition.json_map_encoded}]"

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/pipeline.yml
  • actions/checkout v4
  • actions/checkout v4
terraform
main.tf
  • cn-terraform/cloudwatch-logs/aws 1.0.12
  • cn-terraform/ecs-cluster/aws 1.0.11
  • cn-terraform/ecs-fargate-service/aws 2.0.39
  • cn-terraform/ecs-fargate-task-definition/aws 1.0.35
versions.tf
  • aws >= 4
  • hashicorp/terraform >= 0.13

  • Check this box to trigger a request for Renovate to run again on this repository

How to populate plugins and jenkins casc?

HI! I'm trying to figure out if there's a way to populate plugins for install_plugins.sh. There doesn't seem to be an environment file, and I'm not sure if there's a way to mount a file in an ECS/fargate task, or whether I need to try and run a dummy container to write it out from variable, and then use volumes from to mount that container.

Am I missing something, do you already have this solved?

Provider produced inconsistent final plan

"When expanding the plan for
│ module.jenkins.module.ecs-fargate-service.module.ecs-alb[0].module.lb_logs_s3[0].aws_s3_bucket.logs to include new
│ values learned so far during apply, provider "registry.terraform.io/hashicorp/aws" produced an invalid new value
│ for .tags_all: new element "Name" has appeared.

│ This is a bug in the provider, which should be reported in the provider's own issue tracker."

ResourceInitializationError

resources are failing with following error.

ResourceInitializationError: failed to invoke EFS utils commands to set up EFS volumes: stderr: Failed to resolve "fs-0867a83d8ed398433.efs.

Fails to create the loadbalancer if you only give it private IPs

I have no need to put this on the public internet, so I would like to do this using purely internal subnets.

however, when I pass an empty list to the public subnets, I get

Error: Error creating application Load Balancer: ValidationError: At least two subnets in two different Availability Zones must be specified
	status code: 400, request id: e60ff5b6-b39d-4f0a-9d9c-bbac15916143

  on .terraform/modules/jenkins.ecs-alb/terraform-aws-ecs-alb-1.0.2/main.tf line 15, in resource "aws_lb" "lb":
  15: resource "aws_lb" "lb" {

Also, running this with a mangled local copy (which handles the loadbalancer itself), I get

container_linux.go:341: creating new parent process caused "container_linux.go:1923: running lstat on namespace path \"/var/run/netns/8c63af76dd0a40eeba68e208d1895761\" caused \"lstat /var/run/netns/8c63af76dd0a40eeba68e208d1895761: no such file or directory\""

Which is probably not an issue with this just curious if anyone else has seen that.

Mismatch of ports

I had to change the ports from 5000 to 50000 so the ALB would not kill the task.

Error: Provider produced inconsistent final plan

module.jenkins.module.ecs-fargate-service.aws_security_group_rule.ingress_through_http["8080"]: Creation complete after 0s [id=sgrule-542379680]
module.jenkins.module.ecs-fargate-service.aws_security_group_rule.ingress_through_http["5000"]: Creation complete after 1s [id=sgrule-1272381205]

Error: Provider produced inconsistent final plan

When expanding the plan for
module.jenkins.module.ecs-fargate-service.aws_ecs_service.service to include
new values learned so far during apply, provider
"registry.terraform.io/hashicorp/aws" produced an invalid new value for
.load_balancer: block set length changed from 1 to 2.

This is a bug in the provider, which should be reported in the provider's own
issue tracker.

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.