Terraform Controller manages the life cycles of a terraform resource, allowing developers to self-serve dependencies in a controlled manner.

Overview

GPL license GitHub go.mod Go version of a Go module GoReportCard example

TERRAFORM CONTROLLER

Terraform Controller manages the life cycles of a terraform resource, allowing developers to self-serve dependencies in a controlled manner.

DEVELOPERS

  • Workflows are run outside developer namespace so credentials can be shared without being exposed.
  • Changes can be approved beforehand, following a plan and apply workflow.
  • Developers can view and debug the terraform workflows from their our namespaces.

PLATFORM ENGINEERS

  • Place guardrails around which modules can be consumed.
  • Automatically inject environment specific configuration (dev, prod, cost centres and so forth) into the module, based on labels.
  • Allow developers to see the associated costs to their configurations

DOCUMENTATION

View the documentation at https://terranetes.appvia.io/terraform-controller

GETTING STARTED

Prerequisites

The quickest way to get up the running is via the Helm chart.

$ git clone [email protected]:appvia/terraform-controller.git
$ cd terraform-controller
# kind create cluster
$ helm install -n terraform-system terraform-controller charts/ --create-namespace
$ kubectl -n terraform-system get po
  • Configure credentials for developers
# The following assumes you can using static credentials, for managed pod identity see docs

$ kubectl -n terraform-system create secret generic aws \
  --from-literal=AWS_ACCESS_KEY_ID=<ID> \
  --from-literal=AWS_SECRET_ACCESS_KEY=<SECRET> \
  --from-literal=AWS_REGION=<REGION>
$ kubectl -n terraform-system apply -f examples/provider.yaml
$ kubectl -n terraform-system get provider -o yaml
  • Create your first configuration
$ cat examples/configuration.yaml # demos a s3 bucket
$ kubectl create namespace apps

# NOTE: Make sure to change the bucket name in examples/configuration.yaml
# spec.variables.bucket
$ vim examples/configuration.yaml
$ kubectl -n apps apply -f examples/configuration.yaml
$ kubectl -n apps get po

# Straight away a job is created to 'watch' the terraform workflow
$ kubectl -n apps logs -f <POD_ID>

# Check the module output
$ kubectl -n apps get secret test -o yaml
  • Approve the plan

By default unless the spec.enableAutoApproval is true, all changes must be approved before acting on. An annotation is used to approve the previous plan.

$ kubectl -n apps annotate configurations.terraform.appvia.io bucket "terraform.appvia.io/apply"=true --overwrite
Comments
  • Bump k8s.io/client-go from 0.25.4 to 0.25.5

    Bump k8s.io/client-go from 0.25.4 to 0.25.5

    Bumps k8s.io/client-go from 0.25.4 to 0.25.5.

    Commits
    • e10d1ea Update dependencies to v0.25.5 tag
    • b2883ba Merge pull request #114320 from liggitt/net-1.25
    • fcb591b Update golang.org/x/net 1e63c2f
    • b63afdf Merge pull request #113425aimuz/automated-cherry-pick-of-#112693
    • 5aa9be7 Fixed (CVE-2022-27664) Bump golang.org/x/net to v0.1.1-0.20221027164007-c6301...
    • 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)
    dependencies go 
    opened by dependabot[bot] 5
  • Bump github.com/hashicorp/go-getter from 1.6.1 to 1.6.2

    Bump github.com/hashicorp/go-getter from 1.6.1 to 1.6.2

    Bumps github.com/hashicorp/go-getter from 1.6.1 to 1.6.2.

    Release notes

    Sourced from github.com/hashicorp/go-getter's releases.

    v1.6.2

    What's Changed

    • Fix no getter available for X-Terraform-Get source protocol when using bare github or bitbucket hostnames: #370
    Commits
    • ef2fcc6 Merge pull request #370 from hashicorp/jbardin/protocol-check
    • cd6aaf8 check proto for http getSubdir too
    • 28c40be test custom detector with X-Terraform-Get
    • 35a9e31 check detectors and relative paths before proto
    • c5e9d08 Merge pull request #366 from hashicorp/eastebry/update-readme
    • d4c5010 Adding security sections to the README (#3)
    • 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)
    dependencies 
    opened by dependabot[bot] 4
  • Bump k8s.io/client-go from 0.23.5 to 0.24.1

    Bump k8s.io/client-go from 0.23.5 to 0.24.1

    Bumps k8s.io/client-go from 0.23.5 to 0.24.1.

    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)
    dependencies 
    opened by dependabot[bot] 4
  • Bump k8s.io/apimachinery from 0.23.5 to 0.24.1

    Bump k8s.io/apimachinery from 0.23.5 to 0.24.1

    Bumps k8s.io/apimachinery from 0.23.5 to 0.24.1.

    Commits
    • 97e5df2 fix remove implicit copy of a lock
    • 6550efd Merge pull request #109102 from liggitt/darwin-tls
    • 00f0711 Merge pull request #109031 from Jefftree/openapiv3beta
    • 53a85ef Tolerate additional error messages in TLS unit tests
    • 9b5b68c generated: Update kube-openapi and vendor
    • 31e52c9 Merge pull request #108126 from sanposhiho/doc/generatedname
    • 3b8fb46 Merge pull request #108713 from jiahuif-forks/feature/openapi/intstr-any-of
    • dd2f21c fix the doc about generateName conflict
    • 2866f23 oneOf types for IntOrString
    • 7b6c37e oneOf types for Quantity
    • 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)
    dependencies 
    opened by dependabot[bot] 4
  • Predicted Costs not showing

    Predicted Costs not showing

    A bug was introduced in v0.1.6, continuing into v0.2.0 by https://github.com/appvia/terraform-controller/pull/96. We were expecting a float64 when actually it's a string. Which is causing the predicted costs for always show $0

    bug 
    opened by gambol99 3
  • Bump github.com/felixge/httpsnoop from 1.0.2 to 1.0.3

    Bump github.com/felixge/httpsnoop from 1.0.2 to 1.0.3

    Bumps github.com/felixge/httpsnoop from 1.0.2 to 1.0.3.

    Release notes

    Sourced from github.com/felixge/httpsnoop's releases.

    v1.0.3

    https://github.com/felixge/httpsnoop/compare/v1.0.2...v1.0.3

    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)
    dependencies 
    opened by dependabot[bot] 3
  • [BUGFIX] - Terraform State Decoding

    [BUGFIX] - Terraform State Decoding

    The terraform state can be a little more complicated; since we don't care about complex types at the moment we can write the output as is and not try and do any extra decoding.

    bug 
    opened by gambol99 3
  • Secrets not generated from controller output

    Secrets not generated from controller output

    When deploying a configuration, the controller will generate the cloud resources (in this case a storage account in Azure), but will fail to create the secrets from the module output. The following error is displayed in the logs of the terraform-controller pod after deployment:

    {"generation":"1","level":"debug","msg":"found the pod","name":"storageacct","namespace":"demo","pod":"storageacct-apply-kw566-p45cl","stage":"apply","time":"2022-06-03T12:14:24Z","uid":"7cbd4c87-58d8-45e5-ada9-5e45ab31a3e7"}
    {"bytes":17718,"fields.time":48117799337,"ip":"10.170.0.102:52240","level":"info","method":"GET","msg":"received api request","response":200,"time":"2022-06-03T12:15:06Z"}
    {"error":"json: cannot unmarshal array into Go struct field StateProperty.outputs.type of type string","level":"error","msg":"failed to reconcile the configuration resource","time":"2022-06-03T12:15:06Z"}
    {"error":"json: cannot unmarshal array into Go struct field StateProperty.outputs.type of type string","level":"error","msg":"failed to reconcile the configuration resource","time":"2022-06-03T12:15:06Z"}
    {"error":"json: cannot unmarshal array into Go struct field StateProperty.outputs.type of type string","level":"error","msg":"failed to reconcile the configuration resource","time":"2022-06-03T12:15:06Z"}
    [...]
    

    The following is the output from kubectl logs apply pod:

    Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
    
    Outputs:
    
    encryption_scope_ids = {}
    id = "/subscriptions/b23a8772-031c-4494-a003-daf46b189839/resourceGroups/legendary-robot/providers/Microsoft.Storage/storageAccounts/appviastor3"
    name = "appviastor3"
    primary_access_key = <sensitive>
    primary_blob_connection_string = <sensitive>
    primary_blob_endpoint = "https://appviastor3.blob.core.windows.net/"
    primary_blob_host = "appviastor3.blob.core.windows.net"
    primary_connection_string = <sensitive>
    primary_dfs_endpoint = "https://appviastor3.dfs.core.windows.net/"
    primary_file_endpoint = "https://appviastor3.file.core.windows.net/"
    primary_queue_endpoint = "https://appviastor3.queue.core.windows.net/"
    primary_table_endpoint = "https://appviastor3.table.core.windows.net/"
    primary_web_endpoint = "https://appviastor3.z13.web.core.windows.net/"
    principal_id = "f071c56c-a68c-45cb-af28-2f757371ed03"
    sa = <sensitive>
    secondary_access_key = <sensitive>
    secondary_blob_connection_string = <sensitive>
    secondary_connection_string = <sensitive>
    tenant_id = "7a770e35-b455-4df2-a276-b07408438d9a"
    time="2022-06-03T12:15:05Z" level=info msg="successfully executed the step"
    [build] completed
    
    bug 
    opened by timstahlappvia 3
  • Bump k8s.io/api from 0.23.5 to 0.24.0

    Bump k8s.io/api from 0.23.5 to 0.24.0

    Bumps k8s.io/api from 0.23.5 to 0.24.0.

    Commits
    • 988d7a1 Update dependencies to v0.24.0 tag
    • 0bf1867 Revert "Introduce APIs to support multiple ClusterCIDRs (#108290)"
    • 2de6996 Merge pull request #109241 from ravisantoshgudimetla/sts-ar-optional
    • 7734d26 [sts] api: Make available replicas optional
    • 38ec09a [sts] Generated: Make available replicas optional
    • ec84bcb Merge pull request #109178 from liggitt/openapi-master
    • e3797f2 Drop enum tag from certificate request condition
    • 02c2207 Merge pull request #109151 from Argh4k/r-101566
    • 1eb735b Revert "Field status.hostIPs added for Pod (#101566)"
    • 290a349 Introduce APIs to support multiple ClusterCIDRs (#108290)
    • 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)
    dependencies 
    opened by dependabot[bot] 3
  • [FEATURE] - Kubernetes State Command

    [FEATURE] - Kubernetes State Command

    This PR adds the tnctl state list|clean commands which can be used to show the matching configuration and secrets. The clean command provide spring cleaning, removing any orphaned secrets

    opened by gambol99 2
  • Bump k8s.io/cli-runtime from 0.24.4 to 0.25.0

    Bump k8s.io/cli-runtime from 0.24.4 to 0.25.0

    Bumps k8s.io/cli-runtime from 0.24.4 to 0.25.0.

    Commits
    • c81a9c1 Update dependencies to v0.25.0 tag
    • a7c4059 Update go.mod to go1.19
    • ba42b40 Merge pull request #111677 from dims/stop-panic-in-govet-levee
    • ad85f5b run lint-dependencies and follow directions
    • 4a4c331 Stop panic in govet-levee CI job
    • 9139cfd Merge pull request #110495 from alexzielenski/atomic-objectreference
    • dea08a6 update kube-openapi
    • 3622dab Update kubectl kustomize to kyaml/v0.13.9, cmd/config/v0.10.9, api/v0.12.1, k...
    • bc55666 Merge pull request #111557 from alexzielenski/update-smd-422
    • bef4ffe update smd to 4.2.3
    • 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)
    dependencies 
    opened by dependabot[bot] 2
  • CLI Retry Command (tnctl)

    CLI Retry Command (tnctl)

    Is your feature request related to a problem? Please describe.

    Its not obvious how to retry a Configuration once failed - an example, we had an S3 bucket being deleted, but who's contents were not empty thus the deletion failed. The user deleted the content out-of-baud but wasn't sure how to retry the deletion. At present post the job retries, the only way to force a retry would be to change the spec i.e. force a generation change.

    Describe the solution you'd like It might be useful to have a tnctl retry NAME command that can tap the Configuration and force the controller to retry and potentially hightligh this on the Configuration conditions

    opened by gambol99 1
  • Map tfstate and config secrets to Configuration resources

    Map tfstate and config secrets to Configuration resources

    Currently when provisioning Configuration resources, in the terranetes controller namespace there are k8s secrets created to hold the state of the resource. These secrets have no labels to associate with the Configuration resource, and only the UID to map against.

    Two suggestions:

    1. Supply labels when creating the secrets that show an association to a relevant Namespace and Configuration resource. #533
    2. Provide a tnctl command which can:
      • Show the relationship of secrets to namespaces and Configuration resources #534
      • Show if a secret has been orphaned for whatever reason (the Configuration resource no longer exists but the secret is leftover) #534
      • Show if the secret is up to date with the latest generation of the Configuration resource
      • Clear orphaned resources #534

    Note: This request has developed from a bug discovered where the tfstate and config secrets are not being cleared down correctly in certain error scenarios (e.g. a resource never provisioned correctly to begin with, and then the Configuration was deleted). It's resulted in lots of secrets which are orphaned and need cleaning up, but the only way to map the secrets to existing Configurations is manually matching Configuration metadata.uid against Secret metadata.labels.tfstateSecretSuffix, or metadata.labels."terraform.appvia.io/configuration-uid").

    bug enhancement 
    opened by KashifSaadat 0
  • When running a Plan or Apply, update `status.resourceStatus`

    When running a Plan or Apply, update `status.resourceStatus`

    Current Resource Statuses:

    • InSync: The status when the configuration is in sync
    • OutOfSync: The status when the configuration is out of sync
    • Deleting: The status when the configuration is being destroyed
    • DeletionFailed: The status when the configuration failed to be destroyed

    There's no status currently to signify that a Plan or Apply is in progress (similar to Deleting). The statuses could be extended to account for these.

    enhancement 
    opened by KashifSaadat 0
  • Support specifying multiple Providers

    Support specifying multiple Providers

    Currently a Configuration resource has a provider defined as follows:

    apiVersion: terraform.appvia.io/v1alpha1
    kind: Configuration
    metadata:
      name: <CONFIGURATION-NAME>
    spec:
      module: <MODULE-SOURCE>
      providerRef:
        name: <PROVIDER-CRD-NAME>
    

    This has two limitations:

    1. Only one provider can be specified for a Module, which is a problem when a Module requires additional Providers. Either you would have to fork and modify your Module specifying the provider block inside it (bad practice), or separate out resources based on the provider into their own Modules and create each one as an individual Configuration resource (more maintenance effort and introduces complexity where there may be interlinked dependencies).
    2. If a Provider has required configuration (e.g. a url or region), it cannot be provided or overridden within the Configuration Spec. It has to be defined in the Provider resource, which is Clusterwide and so all Configuration resources would use the same spec and can't have variations.

    It would be good to have support for these cases, allowing to define a Provider locally, provide configuration to merge into an existing Provider, or prevent modifications in more sensitive cases. For example:

    apiVersion: terraform.appvia.io/v1alpha1
    kind: Configuration
    metadata:
      name: <CONFIGURATION-NAME>
    spec:
      module: <MODULE-SOURCE>
      providerRef:
      - name: aws
         configuration:
           tags:
           - ManagedBy: "Terraform"
           - Repository: "https://github.com/appvia/terranetes-controller"
      - name: elasticsearch
         provider: "phillbaker/elasticsearch"
         configuration:
           region: "eu-west-2"
    

    Or if you didn't want to allow developers to modify the configuration of a specific Provider they are referencing:

    apiVersion: terraform.appvia.io/v1alpha1
    kind: Provider
    metadata:
      name: aws
    spec:
      allowMergeConfiguration: false
      provider: "aws"
      serviceAccount: "terranetes-executor"
      source: injected
    
    enhancement 
    opened by KashifSaadat 0
  • Bump actions/upload-artifact from 2 to 3

    Bump actions/upload-artifact from 2 to 3

    Bumps actions/upload-artifact from 2 to 3.

    Release notes

    Sourced from actions/upload-artifact's releases.

    v3.0.0

    What's Changed

    • Update default runtime to node16 (#293)
    • Update package-lock.json file version to 2 (#302)

    Breaking Changes

    With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.

    v2.3.1

    Fix for empty fails on Windows failing on upload #281

    v2.3.0 Upload Artifact

    • Optimizations for faster uploads of larger files that are already compressed
    • Significantly improved logging when there are chunked uploads
    • Clarifications in logs around the upload size and prohibited characters that aren't allowed in the artifact name or any uploaded files
    • Various other small bugfixes & optimizations

    v2.2.4

    • Retry on HTTP 500 responses from the service

    v2.2.3

    • Fixes for proxy related issues

    v2.2.2

    • Improved retryability and error handling

    v2.2.1

    • Update used actions/core package to the latest version

    v2.2.0

    • Support for artifact retention

    v2.1.4

    • Add Third Party License Information

    v2.1.3

    • Use updated version of the @action/artifact NPM package

    v2.1.2

    • Increase upload chunk size from 4MB to 8MB
    • Detect case insensitive file uploads

    v2.1.1

    • Fix for certain symlinks not correctly being identified as directories before starting uploads

    v2.1.0

    • Support for uploading artifacts with multiple paths
    • Support for using exclude paths
    • Updates to dependencies

    ... (truncated)

    Commits
    • 83fd05a Bump actions-core to v1.10.0 (#356)
    • 3cea537 Merge pull request #327 from actions/robherley/artifact-1.1.0
    • 849aa77 nvm use 12 & npm run release
    • 4d39869 recompile with correct ncc version
    • 2e0d362 bump @​actions/artifact to 1.1.0
    • 09a5d6a Merge pull request #320 from actions/dependabot/npm_and_yarn/ansi-regex-4.1.1
    • 189315d Bump ansi-regex from 4.1.0 to 4.1.1
    • d159c2d Merge pull request #297 from actions/dependabot/npm_and_yarn/ajv-6.12.6
    • c26a7ba Bump ajv from 6.11.0 to 6.12.6
    • 6ed6c72 Merge pull request #303 from actions/dependabot/npm_and_yarn/yargs-parser-13.1.2
    • 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)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Support valueFrom against specific variable names

    Support valueFrom against specific variable names

    Currently you can specify valueFrom to retrieve variables from Kubernetes Secrets, as follows:

    spec:
      valueFrom:
      - secret: db-details
        key: database-password
    

    This translates to the following Terranetes Configuration Spec:

    spec:
      variables:
        database-password: <secret_value>
    

    This has a limitation in that the Secret Key Name must match precisely the Terraform Variable name that the module requires. If you cannot change the variable expected in the module you are using, then you must either manually create a new secret (if it's pre-existing) with the Key Name as expected, or fork and modify the Terraform Module so the variable name matches your secret key.

    It would be nice to support valueFrom as a type on a variable itself, for example:

    spec:
      variables:
        username: "mydbuser"
        password:
          valueFrom:
            secret: db-details
            key: database-password
            optional: false
        vpc_security_group_ids:
        - valueFrom:
            secret: db-details
            key: database-security-group-id
            optional: false
    
    enhancement 
    opened by KashifSaadat 0
Releases(v0.3.13)
  • v0.3.13(Nov 22, 2022)

    🐛 Bug Fixes

    • [BUGFIX] - Checkov Policies Zero Matches by @gambol99 in https://github.com/appvia/terranetes-controller/pull/496
    • [BUGFIX] - Wrap log watcher Pod with error handling and retry logic by @KashifSaadat in https://github.com/appvia/terranetes-controller/pull/493

    ❇️ Features

    • [IMAGES] - Checkov Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/499
    • [IMAGES] - Terraform Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/498

    What's Changed

    • Bump github.com/onsi/ginkgo/v2 from 2.5.0 to 2.5.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/495
    • [BUGFIX] - Wrap log watcher Pod with error handling and retry logic by @KashifSaadat in https://github.com/appvia/terranetes-controller/pull/493
    • Bump github.com/tidwall/gjson from 1.14.3 to 1.14.4 by @dependabot in https://github.com/appvia/terranetes-controller/pull/497
    • [BUGFIX] - Checkov Policies Zero Matches by @gambol99 in https://github.com/appvia/terranetes-controller/pull/496
    • [IMAGES] - Checkov Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/499
    • [IMAGES] - Terraform Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/498
    • [HELM] - Chart Changes for Release v0.3.13 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/500

    Full Changelog: https://github.com/appvia/terranetes-controller/compare/v0.3.12...v0.3.13

    Source code(tar.gz)
    Source code(zip)
    tnctl-darwin-amd64(55.97 MB)
    tnctl-darwin-arm64(55.52 MB)
    tnctl-linux-amd64(56.45 MB)
    tnctl-linux-arm64(54.88 MB)
    tnctl-windows-amd64.exe(56.76 MB)
  • terranetes-controller-v0.4.2(Nov 22, 2022)

  • v0.3.12(Nov 15, 2022)

    What's Changed

    • [HELM] - Chart Release Fix by @gambol99 in https://github.com/appvia/terranetes-controller/pull/471
    • [DOCS] - Security Policy by @gambol99 in https://github.com/appvia/terranetes-controller/pull/473
    • Bump azure/setup-kubectl from 2.0 to 3.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/474
    • Bump docker/metadata-action from 4.0.1 to 4.1.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/476
    • Bump golang.org/x/tools from 0.2.0 to 0.3.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/480
    • Bump helm/chart-releaser-action from 1.4.0 to 1.4.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/478
    • Bump docker/build-push-action from 3.0.0 to 3.2.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/475
    • Bump helm/chart-testing-action from 2.2.1 to 2.3.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/477
    • Bump github.com/onsi/gomega from 1.24.0 to 1.24.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/479
    • Bump k8s.io/apiextensions-apiserver from 0.25.3 to 0.25.4 by @dependabot in https://github.com/appvia/terranetes-controller/pull/481
    • Bump actions/download-artifact from 2 to 3 by @dependabot in https://github.com/appvia/terranetes-controller/pull/485
    • Bump actions/dependency-review-action from 1 to 3 by @dependabot in https://github.com/appvia/terranetes-controller/pull/486
    • Bump k8s.io/cli-runtime from 0.25.3 to 0.25.4 by @dependabot in https://github.com/appvia/terranetes-controller/pull/487
    • [CLI] - Checkov Policies on Describe by @gambol99 in https://github.com/appvia/terranetes-controller/pull/488
    • [HELM] - Chart Updates for v0.3.12 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/489
    • [BUILD] - Pegging the Artifact Upload to @v2.2.4 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/491
    • [BUILD] - Action Throw Upload Errors by @gambol99 in https://github.com/appvia/terranetes-controller/pull/492

    Full Changelog: https://github.com/appvia/terranetes-controller/compare/v0.3.11...v0.3.12

    Source code(tar.gz)
    Source code(zip)
    tnctl-darwin-amd64(55.97 MB)
    tnctl-darwin-arm64(55.52 MB)
    tnctl-linux-amd64(56.45 MB)
    tnctl-linux-arm64(54.88 MB)
    tnctl-windows-amd64.exe(56.76 MB)
  • terranetes-controller-v0.4.1(Nov 14, 2022)

  • v0.3.11(Nov 9, 2022)

    What's Changed

    • [DOCS] - Removing Tag Badge by @gambol99 in https://github.com/appvia/terranetes-controller/pull/431
    • [BUILD] - Golang 1.19 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/432
    • [BUILD] - Removing Deprecated Linters by @gambol99 in https://github.com/appvia/terranetes-controller/pull/433
    • [DOCS] - Fixing CLI Reference Docs by @gambol99 in https://github.com/appvia/terranetes-controller/pull/434
    • [IMAGES] - Infracost Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/435
    • [IMAGES] - Checkov Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/437
    • [IMAGES] - Terraform Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/436
    • [BUILD] - Github Action Update (Upload Artifacts) by @gambol99 in https://github.com/appvia/terranetes-controller/pull/438
    • [BUILD] - Github Actions Upgrade by @gambol99 in https://github.com/appvia/terranetes-controller/pull/439
    • Bump github.com/spf13/cobra from 1.5.0 to 1.6.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/440
    • Bump github.com/onsi/gomega from 1.21.1 to 1.22.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/441
    • Bump github.com/onsi/ginkgo/v2 from 2.3.0 to 2.3.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/443
    • Bump k8s.io/code-generator from 0.25.2 to 0.25.3 by @dependabot in https://github.com/appvia/terranetes-controller/pull/447
    • Bump k8s.io/apimachinery from 0.25.2 to 0.25.3 by @dependabot in https://github.com/appvia/terranetes-controller/pull/445
    • Bump k8s.io/client-go from 0.25.2 to 0.25.3 by @dependabot in https://github.com/appvia/terranetes-controller/pull/444
    • Bump k8s.io/api from 0.25.2 to 0.25.3 by @dependabot in https://github.com/appvia/terranetes-controller/pull/449
    • Bump k8s.io/apiextensions-apiserver from 0.25.2 to 0.25.3 by @dependabot in https://github.com/appvia/terranetes-controller/pull/446
    • Bump k8s.io/cli-runtime from 0.25.2 to 0.25.3 by @dependabot in https://github.com/appvia/terranetes-controller/pull/448
    • [IMAGES] - Checkov Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/450
    • Bump golang.org/x/tools from 0.1.12 to 0.2.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/451
    • Bump github.com/onsi/ginkgo/v2 from 2.3.1 to 2.4.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/453
    • Bump github.com/golangci/golangci-lint from 1.50.0 to 1.50.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/454
    • Bump github.com/stretchr/testify from 1.8.0 to 1.8.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/452
    • Bump github.com/spf13/cobra from 1.6.0 to 1.6.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/455
    • [IMAGES] - Checkov Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/456
    • Bump github.com/onsi/gomega from 1.22.1 to 1.23.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/457
    • [IMAGES] - Infracost Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/458
    • [IMAGES] - Terraform Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/459
    • [TESTS] - Fixing Unit Test by @gambol99 in https://github.com/appvia/terranetes-controller/pull/460
    • [CI] - Updating Cosign Action by @gambol99 in https://github.com/appvia/terranetes-controller/pull/461
    • [IMAGES] - Checkov Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/462
    • Bump github.com/prometheus/client_golang from 1.13.0 to 1.13.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/463
    • Bump github.com/onsi/gomega from 1.23.0 to 1.24.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/464
    • Bump github.com/onsi/ginkgo/v2 from 2.4.0 to 2.5.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/465
    • Bump sigs.k8s.io/controller-runtime from 0.13.0 to 0.13.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/466
    • [IMAGES] - Checkov Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/468
    • [IMAGES] - Terraform Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/467
    • Bump github.com/prometheus/client_golang from 1.13.1 to 1.14.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/469
    • [HELM] - Chart for v0.3.11 Release by @gambol99 in https://github.com/appvia/terranetes-controller/pull/470

    Full Changelog: https://github.com/appvia/terranetes-controller/compare/v0.3.10...v0.3.11

    Source code(tar.gz)
    Source code(zip)
    tnctl-darwin-amd64(55.96 MB)
    tnctl-darwin-arm64(55.50 MB)
    tnctl-linux-amd64(56.45 MB)
    tnctl-linux-arm64(54.88 MB)
    tnctl-windows-amd64.exe(56.75 MB)
  • terranetes-controller-v0.4.0(Nov 9, 2022)

  • v0.3.10(Oct 6, 2022)

    What's Changed

    • [HELM] - Release for v0.3.9 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/390
    • [DOCS] - Updating the Readme by @gambol99 in https://github.com/appvia/terranetes-controller/pull/391
    • [E2E] - Release Dependency Workflow by @gambol99 in https://github.com/appvia/terranetes-controller/pull/392
    • [BUGFIX] - Additional Secrets by @gambol99 in https://github.com/appvia/terranetes-controller/pull/395
    • [BUILD] - Executor Service Account to terranetes-executor by @gambol99 in https://github.com/appvia/terranetes-controller/pull/394
    • [BUGFIX] - Init Errors Showing in Logs by @gambol99 in https://github.com/appvia/terranetes-controller/pull/396
    • [BUILD] - Fixing Typo on Makefile Comment by @gambol99 in https://github.com/appvia/terranetes-controller/pull/399
    • Bump sigs.k8s.io/controller-runtime from 0.12.3 to 0.13.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/393
    • [CLI] - Logs Command Fixes by @gambol99 in https://github.com/appvia/terranetes-controller/pull/401
    • [E2E] - Fixing Namespace Creation in E2E by @gambol99 in https://github.com/appvia/terranetes-controller/pull/402
    • [E2E] - Cleanup on E2E by @gambol99 in https://github.com/appvia/terranetes-controller/pull/403
    • [IMAGES] - Infracost Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/404
    • [BUILD] - Updating dependencies by @KashifSaadat in https://github.com/appvia/terranetes-controller/pull/400
    • [IMAGES] - Checkov Image Update by @github-actions in https://github.com/appvia/terranetes-controller/pull/405
    • Bump github.com/AlecAivazis/survey/v2 from 2.3.5 to 2.3.6 by @dependabot in https://github.com/appvia/terranetes-controller/pull/406
    • Bump k8s.io/apimachinery from 0.25.0 to 0.25.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/409
    • Bump k8s.io/code-generator from 0.25.0 to 0.25.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/411
    • Bump k8s.io/api from 0.25.0 to 0.25.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/410
    • Bump k8s.io/cli-runtime from 0.25.0 to 0.25.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/408
    • Bump github.com/onsi/ginkgo/v2 from 2.1.6 to 2.2.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/413
    • Bump k8s.io/apiextensions-apiserver from 0.25.0 to 0.25.1 by @dependabot in https://github.com/appvia/terranetes-controller/pull/414
    • Bump k8s.io/apimachinery from 0.25.1 to 0.25.2 by @dependabot in https://github.com/appvia/terranetes-controller/pull/416
    • Bump k8s.io/code-generator from 0.25.1 to 0.25.2 by @dependabot in https://github.com/appvia/terranetes-controller/pull/418
    • Bump k8s.io/apiextensions-apiserver from 0.25.1 to 0.25.2 by @dependabot in https://github.com/appvia/terranetes-controller/pull/415
    • Bump k8s.io/cli-runtime from 0.25.1 to 0.25.2 by @dependabot in https://github.com/appvia/terranetes-controller/pull/419
    • Bump github.com/go-swagger/go-swagger from 0.30.2 to 0.30.3 by @dependabot in https://github.com/appvia/terranetes-controller/pull/421
    • Bump sigs.k8s.io/controller-tools from 0.9.2 to 0.10.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/417
    • Bump github.com/tcnksm/ghr from 0.15.0 to 0.16.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/422
    • Bump github.com/golangci/golangci-lint from 1.49.0 to 1.50.0 by @dependabot in https://github.com/appvia/terranetes-controller/pull/424
    • [BUILD] - Docker Ignore File by @gambol99 in https://github.com/appvia/terranetes-controller/pull/423
    • [HELM] - Ensure Legacy ServiceAccount by @gambol99 in https://github.com/appvia/terranetes-controller/pull/425
    • [FEATURE] - Deletion Event by @gambol99 in https://github.com/appvia/terranetes-controller/pull/427
    • [HELM] - Release v0.3.10 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/428

    Full Changelog: https://github.com/appvia/terranetes-controller/compare/v0.3.9...v0.3.10

    Source code(tar.gz)
    Source code(zip)
    tnctl-darwin-amd64(55.62 MB)
    tnctl-darwin-arm64(55.42 MB)
    tnctl-linux-amd64(56.12 MB)
    tnctl-linux-arm64(54.84 MB)
    tnctl-windows-amd64.exe(56.27 MB)
  • terranetes-controller-v0.3.12(Oct 6, 2022)

  • terranetes-controller-v0.3.11(Sep 4, 2022)

  • v0.3.9(Sep 4, 2022)

    What's Changed

    • [DOCS] - Fix Badge Format by @KashifSaadat in https://github.com/appvia/terranetes-controller/pull/367
    • [HELM] - Chart Release v0.3.8 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/366
    • [CI] - Fixing Versions Workflow by @gambol99 in https://github.com/appvia/terranetes-controller/pull/369
    • [CI] - Bridgecrew Image Versions by @gambol99 in https://github.com/appvia/terranetes-controller/pull/373
    • [E2E] - Adding Google Project ID by @gambol99 in https://github.com/appvia/terranetes-controller/pull/386

    Full Changelog: https://github.com/appvia/terranetes-controller/compare/v0.3.8...v0.3.9

    Source code(tar.gz)
    Source code(zip)
    tnctl-darwin-amd64(53.33 MB)
    tnctl-darwin-arm64(53.16 MB)
    tnctl-linux-amd64(53.82 MB)
    tnctl-linux-arm64(52.60 MB)
    tnctl-windows-amd64.exe(53.96 MB)
  • v0.3.8(Aug 24, 2022)

    Bug Fixes

    • Fixed an issue in the drift controller which was not correctly calculating the total running by @gambol99 in https://github.com/appvia/terranetes-controller/pull/362

    What's Changed

    • [BUGFIX] - Drift Threshold by @gambol99 in https://github.com/appvia/terranetes-controller/pull/362
    • [HELM] - Release Chart for v0.3.7 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/355
    • [CI] - Versions Workflow Bugfix by @gambol99 in https://github.com/appvia/terranetes-controller/pull/356
    • [CI] - Versions Workflow by @gambol99 in https://github.com/appvia/terranetes-controller/pull/357
    • [DOCS] - Split badges in README onto new lines by @KashifSaadat in https://github.com/appvia/terranetes-controller/pull/365

    Full Changelog: https://github.com/appvia/terranetes-controller/compare/v0.3.7...v0.3.8

    Source code(tar.gz)
    Source code(zip)
    tnctl-darwin-amd64(50.96 MB)
    tnctl-darwin-arm64(50.77 MB)
    tnctl-linux-amd64(51.42 MB)
    tnctl-linux-arm64(50.15 MB)
    tnctl-windows-amd64.exe(51.56 MB)
  • terranetes-controller-v0.3.10(Aug 24, 2022)

  • v0.3.7(Aug 23, 2022)

    What's Changed

    • [BUGFIX] - Terraform Variables by @gambol99 in https://github.com/appvia/terranetes-controller/pull/354
    • [IMAGES] - Terraform Image Version Downgrade (1.2.7 -> 1.2.5) by @gambol99 in https://github.com/appvia/terranetes-controller/pull/353
    • [E2E] - Adding Diagnostics to E2E by @gambol99 in https://github.com/appvia/terranetes-controller/pull/352
    • [E2E] - Bug Fixes in E2E by @gambol99 in https://github.com/appvia/terranetes-controller/pull/351
    • [CI] - Image Version Automation by @gambol99 in https://github.com/appvia/terranetes-controller/pull/349
    • [CLEAN] - Dropping Checkov Variables Options by @gambol99 in https://github.com/appvia/terranetes-controller/pull/348
    • [CI] - Adding Image Scanning by @gambol99 in https://github.com/appvia/terranetes-controller/pull/334
    • [CLEAN] - Cleaning the Job Template by @gambol99 in https://github.com/appvia/terranetes-controller/pull/347
    • [FEATURE] - Watching Destroy Logs by @gambol99 in https://github.com/appvia/terranetes-controller/pull/339
    • [BUGFIX] - Central Security Policy by @gambol99 in https://github.com/appvia/terranetes-controller/pull/346
    • [BUILD] - Publishing an Image for CLI by @gambol99 in https://github.com/appvia/terranetes-controller/pull/333
    • [BUILD] - Upgrading Base Image (Alpine 3.15 -> 3.16) by @gambol99 in https://github.com/appvia/terranetes-controller/pull/335
    • [FEATURE] - Adding API Server Metrics by @gambol99 in https://github.com/appvia/terranetes-controller/pull/332
    • [BUILD] - Checkov Version (2.1.104 -> 2.1.137) by @gambol99 in https://github.com/appvia/terranetes-controller/pull/337
    • [BUILD] - Terraform Version (v1.2.5 - v1.2.7) by @gambol99 in https://github.com/appvia/terranetes-controller/pull/338
    • [CLI] - Setting a Default Namespace by @gambol99 in https://github.com/appvia/terranetes-controller/pull/343
    • [BUILD] - Infracost Version (v0.10.9 -> v0.10.10) by @gambol99 in https://github.com/appvia/terranetes-controller/pull/336
    • [BUGFIX] - Checkov Configuraion Optional by @gambol99 in https://github.com/appvia/terranetes-controller/pull/342
    • [BUGFIX] - Changing the Policy Source Field by @gambol99 in https://github.com/appvia/terranetes-controller/pull/341
    • [FEATURE] - External Checkov Source by @gambol99 in https://github.com/appvia/terranetes-controller/pull/340
    • Bump k8s.io/apiextensions-apiserver from 0.24.3 to 0.24.4 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/324
    • Bump k8s.io/cli-runtime from 0.24.3 to 0.24.4 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/325
    • Bump k8s.io/api from 0.24.3 to 0.24.4 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/329
    • Bump k8s.io/client-go from 0.24.3 to 0.24.4 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/328
    • Bump github.com/tcnksm/ghr from 0.14.0 to 0.15.0 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/327
    • Bump github.com/tidwall/gjson from 1.14.2 to 1.14.3 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/322
    • [CLEANUP] - Dependencies by @gambol99 in https://github.com/appvia/terranetes-controller/pull/320
    • [DOCS] - Updating Configuration Example by @gambol99 in https://github.com/appvia/terranetes-controller/pull/350
    • [DOCS] - Adding Private Module Example by @gambol99 in https://github.com/appvia/terranetes-controller/pull/345
    • [DOCS] - Readme Update by @gambol99 in https://github.com/appvia/terranetes-controller/pull/323
    • [DOCS] - GHCR badge by @gambol99 in https://github.com/appvia/terranetes-controller/pull/321

    Full Changelog: https://github.com/appvia/terranetes-controller/compare/v0.3.6...v0.3.7

    Source code(tar.gz)
    Source code(zip)
    tnctl-darwin-amd64(50.96 MB)
    tnctl-darwin-arm64(50.77 MB)
    tnctl-linux-amd64(51.42 MB)
    tnctl-linux-arm64(50.15 MB)
    tnctl-windows-amd64.exe(51.56 MB)
  • terranetes-controller-v0.3.9(Aug 23, 2022)

  • v0.3.6(Aug 14, 2022)

    What's Changed

    • [HELM] - Release v0.3.5 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/317
    • [FEATURE] - Convert Command by @gambol99 in https://github.com/appvia/terranetes-controller/pull/318
    • [BUGFIX] - Convert Configuration Source by @gambol99 in https://github.com/appvia/terranetes-controller/pull/319

    Full Changelog: https://github.com/appvia/terranetes-controller/compare/v0.3.5...v0.3.6

    Source code(tar.gz)
    Source code(zip)
    tnctl-darwin-amd64(50.95 MB)
    tnctl-darwin-arm64(50.77 MB)
    tnctl-linux-amd64(51.41 MB)
    tnctl-linux-arm64(50.15 MB)
    tnctl-windows-amd64.exe(51.55 MB)
  • terranetes-controller-v0.3.8(Aug 14, 2022)

  • v0.3.5(Aug 12, 2022)

  • terranetes-controller-v0.3.6(Aug 12, 2022)

  • v0.3.4(Aug 10, 2022)

    What's Changed

    • [DOCS] - Updating Development Docs by @gambol99 in https://github.com/appvia/terranetes-controller/pull/299
    • [CI] - Support Binaries & CLI by @gambol99 in https://github.com/appvia/terranetes-controller/pull/301
    • [CI] - Trigger Development E2E by @gambol99 in https://github.com/appvia/terranetes-controller/pull/304
    • [DOCS] - Example Provider Secrets by @gambol99 in https://github.com/appvia/terranetes-controller/pull/307
    • [DOCS] - Updating Readme by @gambol99 in https://github.com/appvia/terranetes-controller/pull/312
    • Update README.md by @gambol99 in https://github.com/appvia/terranetes-controller/pull/313

    Full Changelog: https://github.com/appvia/terranetes-controller/compare/v0.3.3...v0.3.4

    Source code(tar.gz)
    Source code(zip)
    tnctl-darwin-amd64(50.93 MB)
    tnctl-darwin-arm64(50.74 MB)
    tnctl-linux-amd64(51.40 MB)
    tnctl-linux-arm64(50.15 MB)
    tnctl-windows-amd64.exe(51.54 MB)
  • terranetes-controller-v0.3.5(Aug 10, 2022)

  • v0.3.3(Aug 3, 2022)

    What's Changed

    • [HELM] - Release v0.3.2 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/288
    • [HELM] - Bugfix Helm Template (Policies & Providers) by @gambol99 in https://github.com/appvia/terranetes-controller/pull/290
    • Bump github.com/golangci/golangci-lint from 1.47.2 to 1.47.3 by @dependabot in https://github.com/appvia/terranetes-controller/pull/291
    • [FEATURE] - Adding Configuration Interface by @gambol99 in https://github.com/appvia/terranetes-controller/pull/292

    Full Changelog: https://github.com/appvia/terranetes-controller/compare/v0.3.2...v0.3.3

    Source code(tar.gz)
    Source code(zip)
    tnctl-darwin-amd64(50.92 MB)
    tnctl-darwin-arm64(50.74 MB)
    tnctl-linux-amd64(51.39 MB)
    tnctl-linux-arm64(50.15 MB)
    tnctl-windows-amd64.exe(51.53 MB)
  • terranetes-controller-v0.3.4(Aug 2, 2022)

  • v0.3.2(Aug 1, 2022)

    What's Changed

    • Update README.md by @gambol99 in https://github.com/appvia/terranetes-controller/pull/278
    • [FEATURE] - Updating Controller Version String by @gambol99 in https://github.com/appvia/terranetes-controller/pull/280
    • [E2E] - Install Official Chart by @gambol99 in https://github.com/appvia/terranetes-controller/pull/279
    • [E2E] - Use Chart Option by @gambol99 in https://github.com/appvia/terranetes-controller/pull/281
    • [E2E] - Check Suite Script by @gambol99 in https://github.com/appvia/terranetes-controller/pull/282
    • [BUGFIX] - CLI Configuration by @gambol99 in https://github.com/appvia/terranetes-controller/pull/284
    • [TESTS] - Update CLI Tests for Sources Command by @gambol99 in https://github.com/appvia/terranetes-controller/pull/285
    • [CLI] - Kubectl Plugin Command by @gambol99 in https://github.com/appvia/terranetes-controller/pull/286
    • [FEATURE] - Using Repository Name in Search by @gambol99 in https://github.com/appvia/terranetes-controller/pull/287

    Full Changelog: https://github.com/appvia/terranetes-controller/compare/v0.3.1...v0.3.2

    Source code(tar.gz)
    Source code(zip)
    tnctl-darwin-amd64(50.92 MB)
    tnctl-darwin-arm64(50.74 MB)
    tnctl-linux-amd64(51.39 MB)
    tnctl-linux-arm64(50.15 MB)
    tnctl-windows-amd64.exe(51.53 MB)
  • terranetes-controller-v0.3.3(Aug 1, 2022)

  • v0.3.1(Jul 27, 2022)

    New Features

    • Added support for custom terraform state backends by @gambol99 in https://github.com/appvia/terranetes-controller/pull/276
    • Added support to the Helm chart to specify the spec.summary field in Provider by @gambol99 in https://github.com/appvia/terranetes-controller/pull/275

    What's Changed

    • [DOCS] - Architecture Images by @gambol99 in https://github.com/appvia/terranetes-controller/pull/274
    • [FEATURE] - Support Summaries on Provider Helm Chart by @gambol99 in https://github.com/appvia/terranetes-controller/pull/275
    • [FEATURE] - Custom State Backend by @gambol99 in https://github.com/appvia/terranetes-controller/pull/276
    • [HELM] - Helm Release for v0.3.1 by @gambol99 in https://github.com/appvia/terranetes-controller/pull/277

    Full Changelog: https://github.com/appvia/terranetes-controller/compare/v0.3.0...v0.3.1

    Source code(tar.gz)
    Source code(zip)
    tnctl-darwin-amd64(50.91 MB)
    tnctl-darwin-arm64(50.72 MB)
    tnctl-linux-amd64(51.38 MB)
    tnctl-linux-arm64(50.15 MB)
    tnctl-windows-amd64.exe(51.52 MB)
  • terranetes-controller-v0.3.2(Jul 27, 2022)

  • v0.3.0(Jul 25, 2022)

    What's Changed

    • [CI] - Adding Workflow Dispatch - CodeQL by @gambol99 in https://github.com/appvia/terranetes-controller/pull/267
    • [DOCS] - CodeQL Badge by @gambol99 in https://github.com/appvia/terranetes-controller/pull/266
    • [NAMING] - Renaming to Terranetes Controller by @gambol99 in https://github.com/appvia/terranetes-controller/pull/268
    • [HELM] - Bumping the Helm Chart by @gambol99 in https://github.com/appvia/terranetes-controller/pull/270
    • [CI] - Workflow Fix - Docker Images by @gambol99 in https://github.com/appvia/terranetes-controller/pull/271
    • [CI] - Fixing Naming on Docker Images by @gambol99 in https://github.com/appvia/terranetes-controller/pull/272
    • [HELM] - Release v0.3.0 Chart by @gambol99 in https://github.com/appvia/terranetes-controller/pull/273

    Breaking Change

    Note the project was renamed from teraform-controller to terranetes-controller

    • All the CRD have stayed the same - so no need to alter any Provides, Policies or Configurations.
    • The helm chart and name of the project inside has changed though

    To upgrade - the easiest solution would be to delete the old helm chart and install the latest one. There are no changes from v0.2.9, all commits are related to name changes.

    # We are assuming here the controller is installed via helm in 'terraform-system' namespace.
    $ helm ls -n terraform-system
    # Remove the chart
    $ helm -n terraform-system uninstall terraform-controller
    
    # Add the new Helm chart repository
    $ helm repo remove appvia
    $ helm repo add appvia https://terranetes-controller.appvia.io
    $ helm repo update
    $ helm install -n terraform-system terranetes-controller appvia/terranetes-controller --create-namespace \
      --values YOUR_VALUES_IF_ANY
    # kubectl -n terraform-system get po
    

    If you are managing the deployments outside of Helm, you simply need to use the updated images

    • ghcr.io/appvia/terranetes-controller:v0.3.0 (on deployment)
    • ghcr.io/appvia/terranetes-executor:v0.3.0 (on command line --executor-image)

    Full Changelog: https://github.com/appvia/terranetes-controller/compare/v0.2.9...v0.3.0

    Source code(tar.gz)
    Source code(zip)
    tnctl-darwin-amd64(50.91 MB)
    tnctl-darwin-arm64(50.72 MB)
    tnctl-linux-amd64(51.38 MB)
    tnctl-linux-arm64(50.15 MB)
    tnctl-windows-amd64.exe(51.52 MB)
  • terranetes-controller-v0.3.1(Jul 25, 2022)

  • terranetes-controller-v0.3.0(Jul 25, 2022)

  • terranetes-controller-v0.2.19(Jul 25, 2022)

Owner
appvia
Appvia Ltd : Containers, Kubernetes, Engineering
appvia
A Controller written in kubernetes sample-controller style which watches a custom resource named Bookstore

bookstore-sample-controller A Controller written in kubernetes sample-controller style which watches a custom resource named Bookstore. A resource cre

Abdullah Al Shaad 0 Jan 20, 2022
Crane (FinOps Crane) is an opensource project which manages cloud resource on Kubernetes stack, it is inspired by FinOps concepts.

Crane (FinOps Crane) is an opensource project which manages cloud resource on Kubernetes stack, it is inspired by FinOps concepts. Goal of Crane is to provide an one-stop shop project to help Kubernetes users to save cloud resource usage with a rich set of functionalities.

Crane 1.1k Jan 3, 2023
Hermit manages isolated, self-bootstrapping sets of tools in software projects.

Hermit - uniform tooling for Linux and Mac Hermit installs tools for software projects in self-contained, isolated sets, so your team, your contributo

Cash App 438 Jan 3, 2023
Manages nodes in hybrid k8s self-hosted cluster

node-manager Manages nodes in hybrid k8s self-hosted cluster Supported providers Contabo Hetzner Robot (dedicated) Supported commands Heal - reboots a

webtor.io 0 Dec 23, 2021
Fadvisor(FinOps Advisor) is a collection of exporters which collect cloud resource pricing and billing data guided by FinOps, insight cost allocation for containers and kubernetes resource

[TOC] Fadvisor: FinOps Advisor fadvisor(finops advisor) is used to solve the FinOps Observalibility, it can be integrated with Crane to help users to

Crane 41 Jan 3, 2023
Apachedist-resource - A concourse resource to track updates of an apache distribution, e.g. tomcat

Apache Distribution Resource A concourse resource that can track information abo

Gareth Evans 0 Feb 2, 2022
Multi cluster kubernetes dashboard with batteries included. Build by developers, for developers.

kubetower Multi cluster kubernetes dashboard with batteries included. Built by developers, for developers. Features Restart deployments with one click

Emre Savcı 33 Nov 28, 2022
Image clone controller is a kubernetes controller to safe guard against the risk of container images disappearing

Image clone controller image clone controller is a kubernetes controller to safe guard against the risk of container images disappearing from public r

Jayadeep KM 0 Oct 10, 2021
BuildKit - A toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner

BuildKit BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. Key features: Automati

CrazyMax 5 Feb 19, 2022
This library provides a metrics package which can be used to instrument code, expose application metrics, and profile runtime performance in a flexible manner.

This library provides a metrics package which can be used to instrument code, expose application metrics, and profile runtime performance in a flexible manner.

null 0 Jan 18, 2022
Kubegres is a Kubernetes operator allowing to create a cluster of PostgreSql instances and manage databases replication, failover and backup.

Kubegres is a Kubernetes operator allowing to deploy a cluster of PostgreSql pods with data replication enabled out-of-the box. It brings simplicity w

Reactive Tech Ltd 1.1k Dec 30, 2022
This is a POC for a Falco Plugin allowing to gather events from a locale docker daemon.

Docker Events Plugin This is a POC for a Falco Plugin allowing to gather events from a locale docker daemon. ⚠️ This is a POC, don't use in Production

Thomas Labarussias 3 Apr 15, 2022
kube-champ 43 Oct 19, 2022
Terraform-equinix-migration-tool - Tool to migrate code from Equinix Metal terraform provider to Equinix terraform provider

Equinix Terraform Provider Migration Tool This tool targets a terraform working

Equinix 1 Feb 15, 2022
Terraform-in-Terraform: Execute Modules directly from the Terraform Registry

Terraform-In-Terraform Provider This provider allows running Terraform in Terraform. This might seem insane but there are some edge cases where it com

WeakPixel 39 Dec 25, 2022
A Kubernetes Terraform Controller

Terraform Controller Terraform Controller is a Kubernetes Controller for Terraform, which can address the requirement of Using Terraform HCL as IaC mo

Open Application Model 101 Jan 2, 2023
A Terraform controller for Flux

tf-controller A Terraform controller for Flux Quick start Here's a simple exampl

Chanwit Kaewkasi 620 Dec 29, 2022
Nebula Operator manages NebulaGraph clusters on Kubernetes and automates tasks related to operating a NebulaGraph cluster

Nebula Operator manages NebulaGraph clusters on Kubernetes and automates tasks related to operating a NebulaGraph cluster. It evolved from NebulaGraph Cloud Service, makes NebulaGraph a truly cloud-native database.

vesoft inc. 58 Dec 31, 2022
YurtCluster Operator creates and manages OpenYurt cluster atop Kubernetes

YurtCluster Operator Quick Start Prepare a Kubernetes cluster # cat <<EOF | kind create cluster --config=- kind: Cluster apiVersion: kind.x-k8s.io/v1a

OpenYurt 10 Aug 3, 2022