diff --git a/apis/v1alpha1/ack-generate-metadata.yaml b/apis/v1alpha1/ack-generate-metadata.yaml index 2a843e8..c62b103 100755 --- a/apis/v1alpha1/ack-generate-metadata.yaml +++ b/apis/v1alpha1/ack-generate-metadata.yaml @@ -1,8 +1,8 @@ ack_generate_info: - build_date: "2023-02-03T20:55:48Z" - build_hash: ef775017fc8021baf85ad3ff2ec115df7a543568 - go_version: go1.19.1 - version: v0.23.1-1-gef77501 + build_date: "2023-02-10T00:00:47Z" + build_hash: d0f3d78cbea8061f822cbceac3786128f091efe6 + go_version: go1.19 + version: v0.24.2 api_directory_checksum: 553eee36730dd0637424a8d9348b37ee90eb594d api_version: v1alpha1 aws_sdk_go_version: v1.44.93 diff --git a/config/controller/kustomization.yaml b/config/controller/kustomization.yaml index 70377f6..bdf4091 100644 --- a/config/controller/kustomization.yaml +++ b/config/controller/kustomization.yaml @@ -6,4 +6,4 @@ kind: Kustomization images: - name: controller newName: public.ecr.aws/aws-controllers-k8s/dynamodb-controller - newTag: v1.0.0 + newTag: v0.1.10 diff --git a/go.mod b/go.mod index 97518d2..d30619f 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/aws-controllers-k8s/dynamodb-controller go 1.19 require ( - github.com/aws-controllers-k8s/runtime v0.23.0 + github.com/aws-controllers-k8s/runtime v0.24.0 github.com/aws/aws-sdk-go v1.44.93 github.com/go-logr/logr v1.2.0 github.com/spf13/pflag v1.0.5 @@ -42,10 +42,12 @@ require ( github.com/prometheus/client_model v0.2.0 // indirect github.com/prometheus/common v0.28.0 // indirect github.com/prometheus/procfs v0.6.0 // indirect + github.com/samber/lo v1.37.0 // indirect github.com/stretchr/objx v0.2.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.6.0 // indirect go.uber.org/zap v1.19.1 // indirect + golang.org/x/exp v0.0.0-20220303212507-bbda1eaf7a17 // indirect golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd // indirect golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect diff --git a/go.sum b/go.sum index 40e3633..1d4b0c7 100644 --- a/go.sum +++ b/go.sum @@ -64,8 +64,8 @@ github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hC github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/aws-controllers-k8s/runtime v0.23.0 h1:xM/zKyFzqbSr4gN9/cMRyjUUEEezHB0inpcsSV5clkg= -github.com/aws-controllers-k8s/runtime v0.23.0/go.mod h1:vBsKxMSP7Ya2Mv5KPGadu6OuIESTX+YIZB/2dOV7gXo= +github.com/aws-controllers-k8s/runtime v0.24.0 h1:F53HtC1YDHXcjtlRl2Q1xU0/7TRFvy9IlMFp0rTYeWE= +github.com/aws-controllers-k8s/runtime v0.24.0/go.mod h1:vBfkfwxAIULdvjHCfJNi6Pj3/QJJCrh+8uH3/ZfewVU= github.com/aws/aws-sdk-go v1.44.93 h1:hAgd9fuaptBatSft27/5eBMdcA8+cIMqo96/tZ6rKl8= github.com/aws/aws-sdk-go v1.44.93/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= @@ -413,6 +413,8 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/samber/lo v1.37.0 h1:XjVcB8g6tgUp8rsPsJ2CvhClfImrpL04YpQHXeHPhRw= +github.com/samber/lo v1.37.0/go.mod h1:9vaz2O4o8oOnK23pd2TrXufcbdbJIa3b6cstBWKpopA= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= @@ -523,6 +525,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20220303212507-bbda1eaf7a17 h1:3MTrJm4PyNL9NBqvYDSj3DHl46qQakyfqfWo4jgfaEM= +golang.org/x/exp v0.0.0-20220303212507-bbda1eaf7a17/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= diff --git a/helm/Chart.yaml b/helm/Chart.yaml index 8530caa..a560456 100644 --- a/helm/Chart.yaml +++ b/helm/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 name: dynamodb-chart description: A Helm chart for the ACK service controller for Amazon DynamoDB (DynamoDB) -version: v1.0.0 -appVersion: v1.0.0 +version: v0.1.10 +appVersion: v0.1.10 home: https://github.com/aws-controllers-k8s/dynamodb-controller icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png sources: diff --git a/helm/templates/NOTES.txt b/helm/templates/NOTES.txt index 18f1760..deac958 100644 --- a/helm/templates/NOTES.txt +++ b/helm/templates/NOTES.txt @@ -1,5 +1,5 @@ {{ .Chart.Name }} has been installed. -This chart deploys "public.ecr.aws/aws-controllers-k8s/dynamodb-controller:v1.0.0". +This chart deploys "public.ecr.aws/aws-controllers-k8s/dynamodb-controller:v0.1.10". Check its status by running: kubectl --namespace {{ .Release.Namespace }} get pods -l "app.kubernetes.io/instance={{ .Release.Name }}" diff --git a/helm/templates/deployment.yaml b/helm/templates/deployment.yaml index 80c0922..b3c0ede 100644 --- a/helm/templates/deployment.yaml +++ b/helm/templates/deployment.yaml @@ -56,6 +56,14 @@ spec: - "$(ACK_WATCH_NAMESPACE)" - --deletion-policy - "$(DELETION_POLICY)" +{{- if gt .Values.reconcile.defaultResyncPeriod 0.0 }} + - --reconcile-default-resync-seconds + - "$(RECONCILE_DEFAULT_RESYNC_SECONDS)" +{{- end }} +{{- range $key, $value := .Values.reconcile.resourceResyncPeriods }} + - --reconcile-resource-resync-seconds + - "$(RECONCILE_RESOURCE_RESYNC_SECONDS_{{ $key | upper }})" +{{- end }} image: {{ .Values.image.repository }}:{{ .Values.image.tag }} imagePullPolicy: {{ .Values.image.pullPolicy }} name: controller @@ -83,6 +91,14 @@ spec: value: {{ .Values.log.level | quote }} - name: ACK_RESOURCE_TAGS value: {{ join "," .Values.resourceTags | quote }} +{{- if gt .Values.reconcile.defaultResyncPeriod 0.0 }} + - name: RECONCILE_DEFAULT_RESYNC_SECONDS + value: {{ .Values.reconcile.defaultResyncPeriod | quote }} +{{- end }} +{{- range $key, $value := .Values.reconcile.resourceResyncPeriods }} + - name: RECONCILE_RESOURCE_RESYNC_SECONDS_{{ $key | upper }} + value: {{ $key }}={{ $value }} +{{- end }} {{- if .Values.aws.credentials.secretName }} - name: AWS_SHARED_CREDENTIALS_FILE value: {{ include "aws.credentials.path" . }} diff --git a/helm/values.schema.json b/helm/values.schema.json index 267c541..d5a8d35 100644 --- a/helm/values.schema.json +++ b/helm/values.schema.json @@ -207,6 +207,18 @@ "type": "string", "enum": ["delete", "retain"] }, + "reconcile": { + "description": "Reconcile resync settings. Parameters to tune the controller's drift remediation period.", + "properties": { + "defaultResyncPeriod": { + "type": "number" + }, + "resourceResyncPeriods": { + "type": "object" + } + }, + "type": "object" + }, "serviceAccount": { "description": "ServiceAccount settings", "properties": { diff --git a/helm/values.yaml b/helm/values.yaml index 966d710..539aa8f 100644 --- a/helm/values.yaml +++ b/helm/values.yaml @@ -4,7 +4,7 @@ image: repository: public.ecr.aws/aws-controllers-k8s/dynamodb-controller - tag: v1.0.0 + tag: v0.1.10 pullPolicy: IfNotPresent pullSecrets: [] @@ -83,6 +83,13 @@ resourceTags: # before the K8s resource is removed. deletionPolicy: delete +# controller reconciliation configurations +reconcile: + # The default duration, in seconds, to wait before resyncing desired state of custom resources. + defaultResyncPeriod: 0 + # An object representing the reconcile resync configuration for each specific resource. + resourceResyncPeriods: {} + serviceAccount: # Specifies whether a service account should be created create: true diff --git a/pkg/resource/backup/delta.go b/pkg/resource/backup/delta.go index 66026b6..e20cc59 100644 --- a/pkg/resource/backup/delta.go +++ b/pkg/resource/backup/delta.go @@ -20,12 +20,14 @@ import ( "reflect" ackcompare "github.com/aws-controllers-k8s/runtime/pkg/compare" + acktags "github.com/aws-controllers-k8s/runtime/pkg/tags" ) // Hack to avoid import errors during build... var ( _ = &bytes.Buffer{} _ = &reflect.Method{} + _ = &acktags.Tags{} ) // newResourceDelta returns a new `ackcompare.Delta` used to compare two diff --git a/pkg/resource/global_table/delta.go b/pkg/resource/global_table/delta.go index d58e91d..210c6b7 100644 --- a/pkg/resource/global_table/delta.go +++ b/pkg/resource/global_table/delta.go @@ -20,12 +20,14 @@ import ( "reflect" ackcompare "github.com/aws-controllers-k8s/runtime/pkg/compare" + acktags "github.com/aws-controllers-k8s/runtime/pkg/tags" ) // Hack to avoid import errors during build... var ( _ = &bytes.Buffer{} _ = &reflect.Method{} + _ = &acktags.Tags{} ) // newResourceDelta returns a new `ackcompare.Delta` used to compare two diff --git a/pkg/resource/table/delta.go b/pkg/resource/table/delta.go index 2014678..de0d705 100644 --- a/pkg/resource/table/delta.go +++ b/pkg/resource/table/delta.go @@ -20,12 +20,14 @@ import ( "reflect" ackcompare "github.com/aws-controllers-k8s/runtime/pkg/compare" + acktags "github.com/aws-controllers-k8s/runtime/pkg/tags" ) // Hack to avoid import errors during build... var ( _ = &bytes.Buffer{} _ = &reflect.Method{} + _ = &acktags.Tags{} ) // newResourceDelta returns a new `ackcompare.Delta` used to compare two