The Cloud Posse Terraform Provider for various utilities (E.g. deep merging)

terraform-provider-utils Latest Release Slack Community Discourse Forum

README Header

Cloud Posse

Terraform provider to add additional missing functionality to Terraform


This project is part of our comprehensive "SweetOps" approach towards DevOps.

It's 100% Open Source and licensed under the APACHE2.

Usage

Here is how to use this provider in your own Terraform code:

terraform {
  required_providers {
    utils = {
      source = "cloudposse/utils"
      version = "0.2.0"
    }
  }
}

See the Docs for additional information.

Examples

Here is an example of using this provider:

terraform {
  required_providers {
    utils = {
      source = "cloudposse/utils"
    }
  }
}

locals {
  yaml_data_1 = file("${path.module}/data1.yaml")
  yaml_data_2 = file("${path.module}/data2.yaml")
}

data "utils_deep_merge_yaml" "example" {
  input = [
    local.yaml_data_1,
    local.yaml_data_2
  ]
}

output "deep_merge_output" {
  value = data.utils_deep_merge_yaml.example.output
}

Here are some additional examples:

Developing the Provider

If you wish to work on the provider, you'll first need Go installed on your machine (see Requirements above).

To compile the provider, run go install. This will build the provider and put the provider binary in the $GOPATH/bin directory.

To generate or update documentation, run go generate.

In order to run the full suite of Acceptance tests, run make testacc.

Note: Acceptance tests create real resources, and often cost money to run.

$ make testacc

Testing Locally

You can test the provider locally by using the provider_installation functionality.

For testing this provider, you can edit your ~/.terraformrc file with the following:

provider_installation {
  dev_overrides  {
    "cloudposse/utils" = "/path/to/your/code/github.com/cloudposse/terraform-provider-utils/"
  }

  # For all other providers, install them directly from their origin provider
  # registries as normal. If you omit this, Terraform will _only_ use
  # the dev_overrides block, and so no other providers will be available.
  direct {}
}

With that in place, you can build the provider (see above) and add a provider block:

required_providers {
    utils = {
      source = "cloudposse/utils"
    }
  }

Then run terraform init, terraform plan and terraform apply as normal.

$ terraform init
Initializing the backend...

Initializing provider plugins...
- Finding latest version of cloudposse/utils...

Warning: Provider development overrides are in effect

The following provider development overrides are set in the CLI configuration:
 - cloudposse/utils in /path/to/your/code/github.com/cloudposse/terraform-provider-utils

The behavior may therefore not match any released version of the provider and
applying changes may cause the state to become incompatible with published
releases.
terraform apply

Warning: Provider development overrides are in effect

The following provider development overrides are set in the CLI configuration:
 - cloudposse/utils in /Users/matt/code/src/github.com/cloudposse/terraform-provider-utils

The behavior may therefore not match any released version of the provider and
applying changes may cause the state to become incompatible with published
releases.


An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:

Terraform will perform the following actions:

Plan: 0 to add, 0 to change, 0 to destroy.

Changes to Outputs:
  + deep_merge_output = <<-EOT
        Statement:
        - Action:
          - s3:*
          Effect: Allow
          Resource:
          - '*'
          Sid: FullAccess
        - Action:
          - s3:*
          Complex:
            ExtraComplex:
              ExtraExtraComplex:
                Foo: bazzz
                SomeArray:
                - one
                - two
                - three
          Effect: Deny
          Resource:
          - arn:aws:s3:::customer
          - arn:aws:s3:::customer/*
          - foo
          Sid: DenyCustomerBucket
        Version: "2012-10-17"
    EOT

Share the Love

Like this project? Please give it a ★ on our GitHub! (it helps us a lot)

Are you using this project or any of our other projects? Consider leaving a testimonial. =)

Related Projects

Check out these related projects.

References

For additional context, refer to some of these links.

  • Terraform Plugins - Terraform is logically split into two main parts: Terraform Core and Terraform Plugins. Each plugin exposes an implementation for a specific service, such as the AWS provider or the cloud-init provider.

Help

Got a question? We got answers.

File a GitHub issue, send us an email or join our Slack Community.

README Commercial Support

DevOps Accelerator for Startups

We are a DevOps Accelerator. We'll help you build your cloud infrastructure from the ground up so you can own it. Then we'll show you how to operate it and stick around for as long as you need us.

Learn More

Work directly with our team of DevOps experts via email, slack, and video conferencing.

We deliver 10x the value for a fraction of the cost of a full-time engineer. Our track record is not even funny. If you want things done right and you need it done FAST, then we're your best bet.

  • Reference Architecture. You'll get everything you need from the ground up built using 100% infrastructure as code.
  • Release Engineering. You'll have end-to-end CI/CD with unlimited staging environments.
  • Site Reliability Engineering. You'll have total visibility into your apps and microservices.
  • Security Baseline. You'll have built-in governance with accountability and audit logs for all changes.
  • GitOps. You'll be able to operate your infrastructure via Pull Requests.
  • Training. You'll receive hands-on training so your team can operate what we build.
  • Questions. You'll have a direct line of communication between our teams via a Shared Slack channel.
  • Troubleshooting. You'll get help to triage when things aren't working.
  • Code Reviews. You'll receive constructive feedback on Pull Requests.
  • Bug Fixes. We'll rapidly work with you to fix any bugs in our projects.

Slack Community

Join our Open Source Community on Slack. It's FREE for everyone! Our "SweetOps" community is where you get to talk with others who share a similar vision for how to rollout and manage infrastructure. This is the best place to talk shop, ask questions, solicit feedback, and work together as a community to build totally sweet infrastructure.

Discourse Forums

Participate in our Discourse Forums. Here you'll find answers to commonly asked questions. Most questions will be related to the enormous number of projects we support on our GitHub. Come here to collaborate on answers, find solutions, and get ideas about the products and services we value. It only takes a minute to get started! Just sign in with SSO using your GitHub account.

Newsletter

Sign up for our newsletter that covers everything on our technology radar. Receive updates on what we're up to on GitHub as well as awesome new projects we discover.

Office Hours

Join us every Wednesday via Zoom for our weekly "Lunch & Learn" sessions. It's FREE for everyone!

zoom

Contributing

Bug Reports & Feature Requests

Please use the issue tracker to report any bugs or file feature requests.

Developing

If you are interested in being a contributor and want to get involved in developing this project or help out with our other projects, we would love to hear from you! Shoot us an email.

In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull Request so that we can review your changes

NOTE: Be sure to merge the latest changes from "upstream" before making a pull request!

Copyrights

Copyright © 2021-2021 Cloud Posse, LLC

License

License

See LICENSE for full details.

Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.

Trademarks

All other trademarks referenced herein are the property of their respective owners.

About

This project is maintained and funded by Cloud Posse, LLC. Like it? Please let us know by leaving a testimonial!

Cloud Posse

We're a DevOps Professional Services company based in Los Angeles, CA. We ❤️ Open Source Software.

We offer paid support on all of our projects.

Check out our other projects, follow us on twitter, apply for a job, or hire us to help with your cloud strategy and implementation.

Contributors

Matt Calhoun
Matt Calhoun
Andriy Knysh
Andriy Knysh
Erik Osterman
Erik Osterman

README Footer Beacon

Owner
Cloud Posse
DevOps Accelerator for Startups 🙌 Hire Us!
Cloud Posse
Comments
  • Error using provided examples

    Error using provided examples

    Found a bug? Maybe our Slack Community can help.

    Slack Community

    Describe the Bug

    I have tried to use this provider, and fallen back to the provided examples at terraform-provider-utils/examples/data-sources/utils_deep_merge_json. I get the following error:

    $ terraform plan
    ╷
    │ Error: json: unsupported type: map[interface {}]interface {}
    │ 
    │   with data.utils_deep_merge_json.example,
    │   on deep_merge.tf line 14, in data "utils_deep_merge_json" "example":
    │   14: data "utils_deep_merge_json" "example" {
    │ 
    ╵
    

    Expected Behavior

    I would expect that the examples work.

    Steps to Reproduce

    Steps to reproduce the behavior:

    1. Go to 'terraform-provider-utils/examples/data-sources/utils_deep_merge_json'
    2. Run 'terraform init && terraform plan'
    3. See error

    Environment (please complete the following information):

    Anything that will help us triage the bug will help. Here are some ideas:

    • OS: macos 11.5.2
    • Terraform: v1.0.7
    • provider registry.terraform.io/cloudposse/utils v0.14.1
  • Fix YAML conversion with empty strings

    Fix YAML conversion with empty strings

    YAML merge fails when the input variable is an empty string or nil.

    Hey, thanks for this provider. We use it to do a merge of two Helm value files (example below) - one with a set of default values and one with user overrides/additions. In cases when user does not set any overriding values, the second input is empty (var.values).

    Passing an empty string (or nil) to the inputs, causes the provider to crash. I'm attaching the panic log below.

    data "utils_deep_merge_yaml" "values" {
      count = var.enabled ? 1 : 0
      input = [
        local.values,
        var.values
      ]
    }
    
    goroutine 34 [running]:
    github.com/cloudposse/terraform-provider-utils/internal/convert.YAMLSliceOfInterfaceToSliceOfMaps(0xc000576660, 0x2, 0x2, 0xb49b80, 0xc000338408, 0xd4ad01, 0xc00033a7c0, 0xc03b6ee8763240ae)
            github.com/cloudposse/terraform-provider-utils/internal/convert/yaml.go:20 +0x1f4
    github.com/cloudposse/terraform-provider-utils/internal/provider.dataSourceDeepMergeYAMLRead(0xd4ada8, 0xc0003346c0, 0xc000366300, 0x0, 0x0, 0xc000336a70, 0xc000375948, 0x40e0f8)
            github.com/cloudposse/terraform-provider-utils/internal/provider/data_source_deep_merge_yaml.go:40 +0x87
    github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).read(0xc0003dc0e0, 0xd4ad38, 0xc00033a7c0, 0xc000366300, 0x0, 0x0, 0x0, 0x0, 0x0)
            github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/resource.go:347 +0x17f
    github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).ReadDataApply(0xc0003dc0e0, 0xd4ad38, 0xc00033a7c0, 0xc000576300, 0x0, 0x0, 0x0, 0xc000576300, 0x0, 0x0)
            github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/resource.go:558 +0xfd
    github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*GRPCProviderServer).ReadDataSource(0xc00000c0a8, 0xd4ad38, 0xc00033a7c0, 0xc000576140, 0xc00033a7c0, 0x40b965, 0xbfbf20)
            github.com/hashicorp/terraform-plugin-sdk/[email protected]/helper/schema/grpc_provider.go:1105 +0x4d6
    github.com/hashicorp/terraform-plugin-go/tfprotov5/server.(*server).ReadDataSource(0xc0000b9ac0, 0xd4ade0, 0xc00033a7c0, 0xc0003480a0, 0xc0000b9ac0, 0xc0003461b0, 0xc00058aba0)
            github.com/hashicorp/[email protected]/tfprotov5/server/server.go:247 +0xe5
    github.com/hashicorp/terraform-plugin-go/tfprotov5/internal/tfplugin5._Provider_ReadDataSource_Handler(0xc28bc0, 0xc0000b9ac0, 0xd4ade0, 0xc0003461b0, 0xc0003344e0, 0x0, 0xd4ade0, 0xc0003461b0, 0xc000360300, 0x17a)
            github.com/hashicorp/[email protected]/tfprotov5/internal/tfplugin5/tfplugin5_grpc.pb.go:416 +0x214
    google.golang.org/grpc.(*Server).processUnaryRPC(0xc00025ae00, 0xd51b58, 0xc000131980, 0xc000352000, 0xc0002c67b0, 0x11576d0, 0x0, 0x0, 0x0)
            google.golang.org/[email protected]/server.go:1194 +0x52b
    google.golang.org/grpc.(*Server).handleStream(0xc00025ae00, 0xd51b58, 0xc000131980, 0xc000352000, 0x0)
            google.golang.org/[email protected]/server.go:1517 +0xd0c
    google.golang.org/grpc.(*Server).serveStreams.func1.2(0xc000116280, 0xc00025ae00, 0xd51b58, 0xc000131980, 0xc000352000)
            google.golang.org/[email protected]/server.go:859 +0xab
    created by google.golang.org/grpc.(*Server).serveStreams.func1
            google.golang.org/[email protected]/server.go:857 +0x1fd
    
    Error: The terraform-provider-utils_v0.12.0 plugin crashed!
    

    This PR adds a switch to the YAML convert function, which asses the interface type before passing the input to the convert function. In case a non-string value is passed as input, the iteration in the inner loop is skipped.

    TL;DR

    • provider crashed when empty string is passed as input
    • PR adds type assessment and accepts only string values
  • git.io->cloudposse.tools update

    git.io->cloudposse.tools update

    what and why

    Change all references to git.io/build-harness into cloudposse.tools/build-harness, since git.io redirects will stop working on April 29th, 2022.

    References

    • DEV-143
  • Add `utils_aws_eks_update_kubeconfig` datasource

    Add `utils_aws_eks_update_kubeconfig` datasource

    what

    • Add utils_aws_eks_update_kubeconfig datasource

    why

    • Download kubeconfig from EKS clusters and save it to a file using Terraform, then use the downloaded kubeconfig in the Terraform helmfile provider to provision helm charts with helmfiles
    The data source can executes 'aws eks update-kubeconfig' commands in four different ways:
    
    1. If all the required parameters (cluster name and AWS profile/role) are provided,
       then it executes the command without requiring the CLI config ('atmos.yaml') and component/stack/context.
       'atmos.yaml' is not required/needed in this case.
    
    2. If 'component' and 'stack' are provided,
       then it executes the command using the atmos CLI config (see atmos.yaml) and the context by searching for the following settings:
         - 'components.helmfile.cluster_name_pattern' in 'atmos.yaml' CLI config (and calculates the '--name' parameter using the pattern)
         - 'components.helmfile.helm_aws_profile_pattern' in 'atmos.yaml' CLI config (and calculates the '--profile' parameter using the pattern)
         - 'components.helmfile.kubeconfig_path' in 'atmos.yaml' CLI config
         - the variables for the component in the provided stack
         - 'region' from the variables for the component in the stack
    
    3. If the context ('tenant', 'environment', 'stage') and 'component' are provided,
       then it builds the stack name by using the 'stacks.name_pattern' CLI config from 'atmos.yaml', then performs the same steps as example #2.
    
    4. Combination of the above. Provide a component and a stack (or context), and override other parameters (e.g. 'kubeconfig', 'region').
    
    If 'kubeconfig' (the filename to write the kubeconfig to) is not provided, then it's calculated by joining
    the base path from 'components.helmfile.kubeconfig_path' CLI config from 'atmos.yaml' and the stack name.
    
    Supported inputs of the 'utils_aws_eks_update_kubeconfig' data source:
      - component
      - stack
      - tenant
      - environment
      - stage
      - cluster_name
      - kubeconfig
      - profile
      - role_arn
      - alias
      - region
    

    references

    • https://github.com/cloudposse/atmos/pull/136
    • https://docs.aws.amazon.com/cli/latest/reference/eks/update-kubeconfig.html
  • v0.12 - Infinite Looping Dag Walk for Stack Config Remote State Module

    v0.12 - Infinite Looping Dag Walk for Stack Config Remote State Module

    Describe the Bug

    With the v0.12, there is now a bug that causes an infinite loop of dag/walk: vertex (via trace tf logging). The tracing logging show it is waiting on something from X (fill in the blank) remote-state to expand.

    Expected Behavior

    Prevent infinite looping.

    Steps to Reproduce

    This is an assumption but I may reproduce when deploying anything depends on cloudposse/stack-config/yaml//modules/remote-state but with cloudposse/utils pinned to 0.12 at the root module/component.

    In my case, I was deploying cloudposse/ecs-web-app/aws (with slight modifications) that was using remote-state components to get the vpc, ecs, and logs-bucket data.

    Anything that will help us triage the bug will help. Here are some ideas:

    • atmos container
    • tf v1.0.3

    Additional Context

    This is a subsample of the logs that were repeating infinitely. module.vpc, module.ecs, module.logs_bucket, and module.ecs are remote-state modules.

    
    2021-08-03T09:33:31.106Z [TRACE] dag/walk: vertex "module.ecr.module.backend_config.output.backend (expand)" is waiting for "module.ecr.module.backend_config.local.backend (expand)"
    2021-08-03T09:33:31.106Z [TRACE] dag/walk: vertex "root" is waiting for "provider[\"terraform.io/builtin/terraform\"] (close)"
    2021-08-03T09:33:31.106Z [TRACE] dag/walk: vertex "module.ecr.output.s3_workspace_name (expand)" is waiting for "module.ecr.local.s3_workspace (expand)"
    2021-08-03T09:33:31.106Z [TRACE] dag/walk: vertex "module.vpc.module.backend_config.local.final_component (expand)" is waiting for "module.vpc.module.backend_config.local.base_component (expand)"
    2021-08-03T09:33:31.106Z [TRACE] dag/walk: vertex "module.web_app.local.load_balancers (expand)" is waiting for "module.web_app.local.alb (expand)"
    2021-08-03T09:33:31.106Z [TRACE] dag/walk: vertex "module.vpc.local.remote_states (expand)" is waiting for "module.vpc.data.terraform_remote_state.remote (expand)"
    2021-08-03T09:33:31.106Z [TRACE] dag/walk: vertex "module.alb.output.http_redirect_listener_arn (expand)" is waiting for "module.alb.aws_lb_listener.http_redirect (expand)"
    2021-08-03T09:33:31.106Z [TRACE] dag/walk: vertex "module.web_app.module.alb_ingress.local.target_group_arn (expand)" is waiting for "module.web_app.module.alb_ingress.var.target_group_arn (expand)"
    2021-08-03T09:33:31.146Z [TRACE] dag/walk: vertex "module.ecr.local.include_component_in_workspace_name (expand)" is waiting for "module.ecr.local.base_component (expand)"
    2021-08-03T09:33:31.146Z [TRACE] dag/walk: vertex "module.alb.aws_lb_listener.http_redirect (expand)" is waiting for "module.alb.aws_lb_target_group.default (expand)"
    2021-08-03T09:33:31.153Z [TRACE] dag/walk: vertex "module.alb.aws_security_group_rule.https_ingress (expand)" is waiting for "module.alb.aws_security_group.default (expand)"
    2021-08-03T09:33:31.160Z [TRACE] dag/walk: vertex "module.alb.aws_lb_listener.https (expand)" is waiting for "module.alb.aws_lb_target_group.default (expand)"
    2021-08-03T09:33:31.160Z [TRACE] dag/walk: vertex "module.alb.aws_lb_listener.http_forward (expand)" is waiting for "module.alb.aws_lb_target_group.default (expand)"
    2021-08-03T09:33:31.160Z [TRACE] dag/walk: vertex "module.alb.aws_security_group_rule.http_ingress (expand)" is waiting for "module.alb.aws_security_group.default (expand)"
    2021-08-03T09:33:31.161Z [TRACE] dag/walk: vertex "module.alb.aws_lb.default (expand)" is waiting for "module.alb.var.subnet_ids (expand)"
    2021-08-03T09:33:31.169Z [TRACE] dag/walk: vertex "module.vpc.local.s3_workspace (expand)" is waiting for "module.vpc.local.s3_workspace_from_stack (expand)"
    2021-08-03T09:33:31.176Z [TRACE] dag/walk: vertex "module.ecr.data.terraform_remote_state.remote (expand)" is waiting for "module.ecr.local.backend (expand)"
    2021-08-03T09:33:31.178Z [TRACE] dag/walk: vertex "module.ecr.data.terraform_remote_state.s3 (expand)" is waiting for "module.ecr.local.backend_type (expand)"
    2021-08-03T09:33:31.182Z [TRACE] dag/walk: vertex "module.vpc.module.backend_config.local.base_component (expand)" is waiting for "module.vpc.module.backend_config.local.config (expand)"
    2021-08-03T09:33:31.210Z [TRACE] dag/walk: vertex "module.ecs.module.backend_config.local.base_component (expand)" is waiting for "module.ecs.module.backend_config.local.config (expand)"
    2021-08-03T09:33:31.213Z [TRACE] dag/walk: vertex "module.ecr.module.backend_config.local.base_component (expand)" is waiting for "module.ecr.module.backend_config.local.config (expand)"
    2021-08-03T09:33:31.24
    
  • Bump goreleaser/goreleaser-action from 2 to 2.5.0

    Bump goreleaser/goreleaser-action from 2 to 2.5.0

    Bumps goreleaser/goreleaser-action from 2 to 2.5.0.

    Release notes

    Sourced from goreleaser/goreleaser-action's releases.

    v2.5.0

    • Bump y18n from 4.0.0 to 4.0.1 (#272)
    • Bump @​actions/http-client from 1.0.9 to 1.0.11 (#270)
    • Enhance workflow (#271)
    • Bump node-notifier from 8.0.0 to 8.0.1 (#263)

    v2.4.1

    • Do not overwrite GORELEASER_CURRENT_TAG if already declared (#260)

    v2.4.0

    • Set GORELEASER_CURRENT_TAG (#259)
    • Container based developer flow (#258)
    • Upload artifact example (#257)
    • Bump @​actions/tool-cache from 1.6.0 to 1.6.1 (#256)

    v2.3.0

    • Add install-only option for using goreleaser in user scripts (#252)
    • Update deps

    v2.2.1

    • Fix CVE-2020-15228

    v2.2.0

    • Use GITHUB_REF to retrieve tag before checking the most recent tag (#238)
    • Update deps

    v2.1.1

    • Fix workdir (#224)

    v2.1.0

    • Implement (optional) semver parsing of version (#213)
    • Remove unshallow step (goreleaser/goreleaser#1608)

    v2.0.2

    • Use template in sign.args

    v2.0.1

    • Dummy release to mark v2 as latest on the marketplace
    Changelog

    Sourced from goreleaser/goreleaser-action's changelog.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/cloudposse/atmos from 1.15.0 to 1.19.1

    Bump github.com/cloudposse/atmos from 1.15.0 to 1.19.1

    Bumps github.com/cloudposse/atmos from 1.15.0 to 1.19.1.

    Release notes

    Sourced from github.com/cloudposse/atmos's releases.

    v1.19.1

    what

    • Add Sources of Component Variables to atmos describe component command
    • Update docs

    why

    The atmos describe component command outputs the final deep-merged component configuration in YAML format.

    The output contains the following sections:

    • atmos_component - Atmos component name
    • atmos_stack - Atmos stack name
    • backend - Terraform backend configuration
    • backend_type - Terraform backend type
    • command - the binary to execute when provisioning the component (e.g. terraform, terraform-1, helmfile)
    • component - the Terraform component for which the Atmos component provides configuration
    • deps - a list of stack dependencies (stack config files where the component settings are defined, either inline or via imports)
    • env - a list of ENV variables defined for the Atmos component
    • inheritance - component's inheritance chain
    • metadata - component's metadata config
    • remote_state_backend - Terraform backend config for remote state
    • remote_state_backend_type - Terraform backend type for remote state
    • settings - component settings (free-form map)
    • sources - sources of the component's variables
    • vars - the final deep-merged component variables that are provided to Terraform and Helmfile when executing atmos terraform and atmos helmfile commands
    • workspace - Terraform workspace for the Atmos component

    The sources.vars section of the output shows the final deep-merged component's variables and their inheritance chain.

    Each variable descriptor has the following schema:

    • final_value - the final value of the variable after Atmos processes and deep-merges all values from all stack config files

    • name - the variable name

    • stack_dependencies - the variable's inheritance chain (stack config files where the values for the variable were provided). It has the following schema:

      • stack_file - the stack config file where a value for the variable was provided
      • stack_file_section - the section of the stack config file where the value for the variable was provided
      • variable_value - the variable's value
      • dependency_type - how the variable was defined (inline or import). inline means the variable was defined in one of the sections in the stack config file. import means the stack config file where the variable is defined was imported into the parent Atmos stack

    For example:

    atmos describe component test/test-component-override-3 -s tenant1-ue2-dev
    
    </tr></table> 
    

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/cloudposse/atmos from 1.15.0 to 1.19.0

    Bump github.com/cloudposse/atmos from 1.15.0 to 1.19.0

    Bumps github.com/cloudposse/atmos from 1.15.0 to 1.19.0.

    Release notes

    Sourced from github.com/cloudposse/atmos's releases.

    v1.19.0

    what

    • Add Sources of Component Variables to atmos describe component command
    • Update docs

    why

    The atmos describe component command outputs the final deep-merged component configuration in YAML format.

    The output contains the following sections:

    • atmos_component - Atmos component name
    • atmos_stack - Atmos stack name
    • backend - Terraform backend configuration
    • backend_type - Terraform backend type
    • command - the binary to execute when provisioning the component (e.g. terraform, terraform-1, helmfile)
    • component - the Terraform component for which the Atmos component provides configuration
    • deps - a list of stack dependencies (stack config files where the component settings are defined, either inline or via imports)
    • env - a list of ENV variables defined for the Atmos component
    • inheritance - component's inheritance chain
    • metadata - component's metadata config
    • remote_state_backend - Terraform backend config for remote state
    • remote_state_backend_type - Terraform backend type for remote state
    • settings - component settings (free-form map)
    • sources - sources of the component's variables
    • vars - the final deep-merged component variables that are provided to Terraform and Helmfile when executing atmos terraform and atmos helmfile commands
    • workspace - Terraform workspace for the Atmos component

    The sources.vars section of the output shows the final deep-merged component's variables and their inheritance chain.

    Each variable descriptor has the following schema:

    • final_value - the final value of the variable after Atmos processes and deep-merges all values from all stack config files

    • name - the variable name

    • stack_dependencies - the variable's inheritance chain (stack config files where the values for the variable were provided). It has the following schema:

      • stack_file - the stack config file where a value for the variable was provided
      • stack_file_section - the section of the stack config file where the value for the variable was provided
      • variable_value - the variable's value
      • dependency_type - how the variable was defined (inline or import). inline means the variable was defined in one of the sections in the stack config file. import means the stack config file where the variable is defined was imported into the parent Atmos stack

    For example:

    atmos describe component test/test-component-override-3 -s tenant1-ue2-dev
    
    </tr></table> 
    

    ... (truncated)

    Commits
    • aeb9459 Add Sources of Component Variables to atmos describe component command. Upd...
    • d6fd12f Update catalogs.md (#281)
    • 30663dd Allow workflow shell commands to be any (complex) shell commands (#277)
    • 608fe65 Customize search (#278)
    • c90dcb8 Add atmos describe affected CLI command. Update docs website (#274)
    • 7697c2c docs: add search (#276)
    • 40210e8 Update docs to clarify vars ref (#275)
    • 4bbe53b Allow Custom CLI commands to be any (complex) shell commands (#260)
    • a817870 Display custom command usage when it has no step (#264)
    • 4003778 Bump github.com/santhosh-tekuri/jsonschema/v5 from 5.1.0 to 5.1.1 (#266)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/cloudposse/atmos from 1.15.0 to 1.18.0

    Bump github.com/cloudposse/atmos from 1.15.0 to 1.18.0

    Bumps github.com/cloudposse/atmos from 1.15.0 to 1.18.0.

    Release notes

    Sourced from github.com/cloudposse/atmos's releases.

    v1.18.0

    what

    • Update workflow commands of type shell

    why

    • Workflow commands of type shell could be any complex shell commands (or scripts) in the workflow YAML definition file

    v1.17.0

    what

    • Add local search to atmos docs
    • Add atmos describe affected CLI command
    • Update docs website

    why

    • Quickly search through documentation

    • The command atmos describe affected produces a list of the affected Atmos components and stacks given two Git commits. The command compares the final component sections (after all imports and deep-merging) for all Atmos components in all stacks, and produces a list of affected (changed) components in the stacks. The command also checks the changed files b/w the two commits and checks if the Terraform/Helmfile component folders are changed.

    For the first commit, the command assumes that the repo root is a Git checkout (and throws an error if the repo is not a Git repository, does not have .git folder).

    The second commit is specified on the command line using the --ref and --sha flags. The --ref flag supports all standard Git References (https://git-scm.com/book/en/v2/Git-Internals-Git-References).

    the ref will be the default branch (e.g. main) and the commit SHA will point to the HEAD of the branch.

    atmos describe affected  --verbose=true
    

    Cloning repo 'https://github.com/cloudposse/atmos' into the temp dir '/var/folders/g5/lbvzy_ld2hx4mgrgyp19bvb00000gn/T/16710538942745756531'

    Checking out the HEAD of the default branch

    Enumerating objects: 4138, done. Counting objects: 100% (1080/1080), done. Compressing objects: 100% (538/538), done. Total 4138 (delta 611), reused 854 (delta 482), pack-reused 3058

    Checked out Git ref: refs/heads/master

    examples

    atmos describe affected
    atmos describe affected --verbose=true
    atmos describe affected --ref refs/heads/main
    atmos describe affected --ref refs/heads/main --format json
    atmos describe affected --ref refs/tags/v1.16.0 --file affected.yaml --format yaml
    atmos describe affected --ref refs/heads/my-new-branch
    atmos describe affected --sha 3a5eafeab90426bd82bf5899896b28cc0bab3073 --file affected.json
    </tr></table> 
    

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump actions/checkout from 3.1.0 to 3.2.0

    Bump actions/checkout from 3.1.0 to 3.2.0

    Bumps actions/checkout from 3.1.0 to 3.2.0.

    Release notes

    Sourced from actions/checkout's releases.

    v3.2.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/checkout/compare/v3...v3.2.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/gruntwork-io/terratest from 0.41.3 to 0.41.6

    Bump github.com/gruntwork-io/terratest from 0.41.3 to 0.41.6

    Bumps github.com/gruntwork-io/terratest from 0.41.3 to 0.41.6.

    Release notes

    Sourced from github.com/gruntwork-io/terratest's releases.

    v0.41.6

    Modules affected

    • k8s

    Description

    • Add support for Kubernetes configmaps

    Special thanks

    Special thanks to the following users for their contribution!

    Related links

    ... (truncated)

    Commits
    • 5d6baeb Merge pull request #1214 from fiftech/add_configmap
    • d44464d Merge pull request #1198 from cauealvesbraz/feature/ecr-lifecycle-policy
    • 279cbe0 feat(k8s): add configmap support
    • c585621 Merge pull request #1208 from fiftech/add_k8s_networkpolicy_support
    • ca35d54 test(k8s): use spaces instead of tabs in example yaml
    • fb306ab fix: Restore module name to github.com/gruntwork-io/terratest
    • 918c614 chore: Change module name to github.com/fiftech/terratest
    • 5abb20f test(k8s): Adding test suite to networkpolicy
    • d2a1fa9 feat(k8s): add networkpolicy support
    • 30bc661 feat(ecr): add get and put lifecycle policy functions
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/cloudposse/atmos from 1.15.0 to 1.20.0

    Bump github.com/cloudposse/atmos from 1.15.0 to 1.20.0

    Bumps github.com/cloudposse/atmos from 1.15.0 to 1.20.0.

    Release notes

    Sourced from github.com/cloudposse/atmos's releases.

    v1.20.0

    what & why

    v1.19.1

    what

    • Add Sources of Component Variables to atmos describe component command
    • Update docs

    why

    The atmos describe component command outputs the final deep-merged component configuration in YAML format.

    The output contains the following sections:

    • atmos_component - Atmos component name
    • atmos_stack - Atmos stack name
    • backend - Terraform backend configuration
    • backend_type - Terraform backend type
    • command - the binary to execute when provisioning the component (e.g. terraform, terraform-1, helmfile)
    • component - the Terraform component for which the Atmos component provides configuration
    • deps - a list of stack dependencies (stack config files where the component settings are defined, either inline or via imports)
    • env - a list of ENV variables defined for the Atmos component
    • inheritance - component's inheritance chain
    • metadata - component's metadata config
    • remote_state_backend - Terraform backend config for remote state
    • remote_state_backend_type - Terraform backend type for remote state
    • settings - component settings (free-form map)
    • sources - sources of the component's variables
    • vars - the final deep-merged component variables that are provided to Terraform and Helmfile when executing atmos terraform and atmos helmfile commands
    • workspace - Terraform workspace for the Atmos component

    The sources.vars section of the output shows the final deep-merged component's variables and their inheritance chain.

    Each variable descriptor has the following schema:

    • final_value - the final value of the variable after Atmos processes and deep-merges all values from all stack config files
    • name - the variable name
    • stack_dependencies - the variable's inheritance chain (stack config files where the values for the variable were provided). It has the following schema:

    ... (truncated)

    Commits
    • c167952 Add "Quick Start" doc. Add "Component Remote State" doc. Add "CLI Commands Ch...
    • 3a43ea0 Do not allow unknown flags when unnecessary (#290)
    • 3b62c54 Avoid duplicate error message output (#289)
    • d1a3a8a Bump homebrew if build succeeds (#286)
    • cd8c270 Update build.yml
    • aeb9459 Add Sources of Component Variables to atmos describe component command. Upd...
    • d6fd12f Update catalogs.md (#281)
    • 30663dd Allow workflow shell commands to be any (complex) shell commands (#277)
    • 608fe65 Customize search (#278)
    • c90dcb8 Add atmos describe affected CLI command. Update docs website (#274)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump actions/checkout from 3.1.0 to 3.3.0

    Bump actions/checkout from 3.1.0 to 3.3.0

    Bumps actions/checkout from 3.1.0 to 3.3.0.

    Release notes

    Sourced from actions/checkout's releases.

    v3.3.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/checkout/compare/v3.2.0...v3.3.0

    v3.2.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/checkout/compare/v3.1.0...v3.2.0

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/gruntwork-io/terratest from 0.41.3 to 0.41.7

    Bump github.com/gruntwork-io/terratest from 0.41.3 to 0.41.7

    Bumps github.com/gruntwork-io/terratest from 0.41.3 to 0.41.7.

    Release notes

    Sourced from github.com/gruntwork-io/terratest's releases.

    v0.41.7

    Modules affected

    • terraform

    Description

    • Added to terraform options parameter SetVarsAfterVarFiles which allows reordering var and var-file flags

    Special thanks

    Special thanks to the following users for their contribution!

    Related links

    ... (truncated)

    Commits
    • e63181e Merge pull request #1217 from chilledornaments/master
    • cee5e91 refactor test logic to compare index
    • 7da6e5e utilize checkResultWithRetry func for tests
    • c308bf7 fix test expectations, add test case
    • cdc0dc4 rename field
    • 56a2e8d uncomment test
    • 5d0e65f add logic for setting var options after var-file
    • 5d6baeb Merge pull request #1214 from fiftech/add_configmap
    • d44464d Merge pull request #1198 from cauealvesbraz/feature/ecr-lifecycle-policy
    • 279cbe0 feat(k8s): add configmap support
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump actions/setup-go from 3.3.0 to 3.5.0

    Bump actions/setup-go from 3.3.0 to 3.5.0

    Bumps actions/setup-go from 3.3.0 to 3.5.0.

    Release notes

    Sourced from actions/setup-go's releases.

    Add support for stable and oldstable aliases

    In scope of this release we introduce aliases for the go-version input. The stable alias instals the latest stable version of Go. The oldstable alias installs previous latest minor release (the stable is 1.19.x -> the oldstable is 1.18.x).

    Stable

    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-go@v3
        with:
          go-version: 'stable'
      - run: go run hello.go
    

    OldStable

    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-go@v3
        with:
          go-version: 'oldstable'
      - run: go run hello.go
    

    Add support for go.work and pass the token input through on GHES

    In scope of this release we added support for go.work file to pass it in go-version-file input.

    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-go@v3
        with:
          go-version-file: go.work
      - run: go run hello.go
    

    Besides, we added support to pass the token input through on GHES.

    Fix cache issues and update dependencies

    In scope of this release we fixed the issue with the correct generation of the cache key when the go-version-file input is set (actions/setup-go#267). Moreover, we fixed an issue when the cache folder was not found. Besides, we updated actions/core to 1.10.0 version (actions/setup-go#273).

    Commits
    • 6edd440 fix log for stable aliases (#303)
    • 38dbe75 Add stable and oldstable aliases (#300)
    • 30c39bf Merge pull request #301 from jongwooo/chore/use-cache-in-check-dist
    • 8377b69 Use cache in check-dist.yml
    • d0a58c1 Merge pull request #294 from JamesMGreene/patch-1
    • 3dcd9d6 Update to latest actions/publish-action
    • e983b65 Merge pull request #283 from koba1t/add_support_gowork_for_go-version-file
    • 27b43e1 Pass the token input through on GHES (#277)
    • 7678c83 add support gowork for go-version-file
    • c4a742c fix(): cache resolve version input (#267)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump goreleaser/goreleaser-action from 2 to 4

    Bump goreleaser/goreleaser-action from 2 to 4

    Bumps goreleaser/goreleaser-action from 2 to 4.

    Release notes

    Sourced from goreleaser/goreleaser-action's releases.

    v4.0.0

    What's Changed

    Full Changelog: https://github.com/goreleaser/goreleaser-action/compare/v3...v4.0.0

    v3.2.0

    What's Changed

    • chore: remove workaround for setOutput by @​crazy-max (#374)
    • chore(deps): bump @​actions/core from 1.9.1 to 1.10.0 (#372)
    • chore(deps): bump yargs from 17.5.1 to 17.6.0 (#373)

    Full Changelog: https://github.com/goreleaser/goreleaser-action/compare/v3.1.0...v3.2.0

    v3.1.0

    What's Changed

    • fix: dist resolution from config file by @​crazy-max (#369)
    • ci: fix workflow by @​crazy-max (#357)
    • docs: bump actions to latest major by @​crazy-max (#356)
    • chore(deps): bump crazy-max/ghaction-import-gpg from 4 to 5 (#360)
    • chore(deps): bump ghaction-import-gpg to v5 (#359)
    • chore(deps): bump @​actions/core from 1.6.0 to 1.8.2 (#358)
    • chore(deps): bump @​actions/core from 1.8.2 to 1.9.1 (#367)

    Full Changelog: https://github.com/goreleaser/goreleaser-action/compare/v3.0.0...v3.1.0

    v3.0.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/goreleaser/goreleaser-action/compare/v2.9.1...v3.0.0

    v2.9.1

    What's Changed

    ... (truncated)

    Commits
    • 8f67e59 chore: regenerate
    • 78df308 chore(deps): bump minimatch from 3.0.4 to 3.1.2 (#383)
    • 66134d9 Merge remote-tracking branch 'origin/master' into flarco/master
    • 3c08cfd chore(deps): bump yargs from 17.6.0 to 17.6.2
    • 5dc579b docs: add example when using workdir along with upload-artifact (#366)
    • 3b7d1ba feat!: remove auto-snapshot on dirty tag (#382)
    • 23e0ed5 fix: do not override GORELEASER_CURRENT_TAG (#370)
    • 1315dab update build
    • b60ea88 improve install
    • 4d25ab4 Update goreleaser.ts
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • utils_deep_merge_* expose the object

    utils_deep_merge_* expose the object

    Describe the Feature

    After mergin the files you need to convert to an object the string. If you are chaining the merge a double encode is needed

    Use Case

    data "utils_deep_merge_json" "example" {
      for_each  = local.some_array
      input = [for s in each.value: jsonencode(s)]
    }
    
    resource "kubectl_manifest" "example" {    
      for_each  = data.utils_deep_merge_json.example
      yaml_body =  templatefile(**jsondecode(each.value.output).template**", merge(
                      **jsondecode(each.value.output).some_object**,
                      {
                        namespace = var.ns                    
                      },
                    ))
    }
    
    
    

    Describe Ideal Solution

    Expose the merged string as an object

Terraform Provider for Confluent Cloud

Terraform Provider for Confluent Cloud The Terraform Confluent Cloud provider is a plugin for Terraform that allows for the lifecycle management of Co

Jul 19, 2022
Unofficial Terraform Provider for Zscaler Private Access

Terraform Provider for ☁️ Zscaler Private Access ☁️ ⚠️ Attention: This provider is not affiliated with, nor supported by Zscaler in any way. Website:

Dec 14, 2022
Cloud cost estimates for Terraform in your CLI and pull requests 💰📉
Cloud cost estimates for Terraform in your CLI and pull requests 💰📉

Infracost shows cloud cost estimates for Terraform projects. It helps developers, devops and others to quickly see the cost breakdown and compare different options upfront.

Jan 2, 2023
TurtleDex is a decentralized cloud storage platform that radically alters the landscape of cloud storage.

TurtleDex is a decentralized cloud storage platform that radically alters the landscape of cloud storage. By leveraging smart contracts, client-side e

Feb 17, 2021
Cloudpods is a cloud-native open source unified multi/hybrid-cloud platform developed with Golang
Cloudpods is a cloud-native open source unified multi/hybrid-cloud platform developed with Golang

Cloudpods is a cloud-native open source unified multi/hybrid-cloud platform developed with Golang, i.e. Cloudpods is a cloud on clouds. Cloudpods is able to manage not only on-premise KVM/baremetals, but also resources from many cloud accounts across many cloud providers. It hides the differences of underlying cloud providers and exposes one set of APIs that allow programatically interacting with these many clouds.

Jan 11, 2022
Contentrouter - Protect static content via Firebase Hosting with Cloud Run and Google Cloud Storage

contentrouter A Cloud Run service to gate static content stored in Google Cloud

Jan 2, 2022
Lightweight Cloud Instance Contextualizer
Lightweight Cloud Instance Contextualizer

Flamingo Flamingo is a lightweight contextualization tool that aims to handle initialization of cloud instances. It is meant to be a replacement for c

Jun 18, 2022
Go language interface to Swift / Openstack Object Storage / Rackspace cloud files (golang)

Swift This package provides an easy to use library for interfacing with Swift / Openstack Object Storage / Rackspace cloud files from the Go Language

Nov 9, 2022
The extensible SQL interface to your favorite cloud APIs.
The extensible SQL interface to your favorite cloud APIs.

The extensible SQL interface to your favorite cloud APIs.

Jan 4, 2023
Cloud-native way to provide elastic Jupyter Notebook services on Kubernetes
Cloud-native way to provide elastic Jupyter Notebook services on Kubernetes

elastic-jupyter-operator: Elastic Jupyter on Kubernetes Kubernetes 原生的弹性 Jupyter 即服务 介绍 为用户按需提供弹性的 Jupyter Notebook 服务。elastic-jupyter-operator 提供以下特性

Dec 29, 2022
Google Cloud Client Libraries for Go.
Google Cloud Client Libraries for Go.

Google Cloud Client Libraries for Go.

Jan 8, 2023
A Cloud Native Buildpack for Go

The Go Paketo Buildpack provides a set of collaborating buildpacks that enable the building of a Go-based application.

Dec 14, 2022
cloud-native local storage management system
cloud-native local storage management system

Open-Local是由多个组件构成的本地磁盘管理系统,目标是解决当前 Kubernetes 本地存储能力缺失问题。通过Open-Local,使用本地存储会像集中式存储一样简单。

Dec 30, 2022
Fleex allows you to create multiple VPS on cloud providers and use them to distribute your workload.
Fleex allows you to create multiple VPS on cloud providers and use them to distribute your workload.

Fleex allows you to create multiple VPS on cloud providers and use them to distribute your workload. Run tools like masscan, puredns, ffuf, httpx or anything you need and get results quickly!

Jan 6, 2023
☁️🏃 Get up and running with Go on Google Cloud.

Get up and running with Go and gRPC on Google Cloud Platform, with this lightweight, opinionated, batteries-included service SDK.

Dec 20, 2022
Elkeid is a Cloud-Native Host-Based Intrusion Detection solution project to provide next-generation Threat Detection and Behavior Audition with modern architecture.
Elkeid is a Cloud-Native Host-Based Intrusion Detection solution project to provide next-generation Threat Detection and Behavior Audition with modern architecture.

Elkeid is a Cloud-Native Host-Based Intrusion Detection solution project to provide next-generation Threat Detection and Behavior Audition with modern architecture.

Dec 30, 2022
Sample apps and code written for Google Cloud in the Go programming language.
Sample apps and code written for Google Cloud in the Go programming language.

Google Cloud Platform Go Samples This repository holds sample code written in Go that demonstrates the Google Cloud Platform. Some samples have accomp

Jan 9, 2023
Use Google Cloud KMS as an io.Reader and rand.Source.

Google Cloud KMS Go io.Reader and rand.Source This package provides a struct that implements Go's io.Reader and math/rand.Source interfaces, using Goo

Dec 1, 2022
A local emulator for Cloud Bigtable with persistance to a sqlite3 backend.

Little Bigtable A local emulator for Cloud Bigtable with persistance to a sqlite3 backend. The Cloud SDK provided cbtemulator is in-memory and does no

Sep 29, 2022