diff --git a/config/deploy/crd.yaml b/config/deploy/crd.yaml index 747a44316..4781e63c8 100644 --- a/config/deploy/crd.yaml +++ b/config/deploy/crd.yaml @@ -3110,12 +3110,150 @@ spec: properties: bucket: type: string + inline: + properties: + accessKey: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + helmRef: + properties: + key: + description: Key is a JSONPath expression used to fetch the key from the merged JSON. + type: string + name: + type: string + required: + - key + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + serviceAccount: + description: ServiceAccount specifies the service account whose token should be fetched + type: string + type: object + type: object + connection: + description: ConnectionName of the connection. It'll be used to populate the endpoint, accessKey and secretKey. + type: string + endpoint: + type: string + region: + type: string + secretKey: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + helmRef: + properties: + key: + description: Key is a JSONPath expression used to fetch the key from the merged JSON. + type: string + name: + type: string + required: + - key + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + serviceAccount: + description: ServiceAccount specifies the service account whose token should be fetched + type: string + type: object + type: object + sessionToken: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + helmRef: + properties: + key: + description: Key is a JSONPath expression used to fetch the key from the merged JSON. + type: string + name: + type: string + required: + - key + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + serviceAccount: + description: ServiceAccount specifies the service account whose token should be fetched + type: string + type: object + type: object + skipTLSVerify: + description: Skip TLS verify when connecting to aws + type: boolean + type: object objectPath: description: glob path to restrict matches to a subset type: string usePathStyle: description: 'Use path style path: http://s3.amazonaws.com/BUCKET/KEY instead of http://BUCKET.s3.amazonaws.com/KEY' type: boolean + required: + - inline type: object description: description: Description for the check @@ -6222,6 +6360,142 @@ spec: icon: description: Icon for overwriting default icon on the dashboard type: string + inline: + properties: + accessKey: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + helmRef: + properties: + key: + description: Key is a JSONPath expression used to fetch the key from the merged JSON. + type: string + name: + type: string + required: + - key + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + serviceAccount: + description: ServiceAccount specifies the service account whose token should be fetched + type: string + type: object + type: object + connection: + description: ConnectionName of the connection. It'll be used to populate the endpoint, accessKey and secretKey. + type: string + endpoint: + type: string + region: + type: string + secretKey: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + helmRef: + properties: + key: + description: Key is a JSONPath expression used to fetch the key from the merged JSON. + type: string + name: + type: string + required: + - key + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + serviceAccount: + description: ServiceAccount specifies the service account whose token should be fetched + type: string + type: object + type: object + sessionToken: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + helmRef: + properties: + key: + description: Key is a JSONPath expression used to fetch the key from the merged JSON. + type: string + name: + type: string + required: + - key + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + serviceAccount: + description: ServiceAccount specifies the service account whose token should be fetched + type: string + type: object + type: object + skipTLSVerify: + description: Skip TLS verify when connecting to aws + type: boolean + type: object labels: additionalProperties: type: string @@ -6268,6 +6542,7 @@ spec: description: 'Use path style path: http://s3.amazonaws.com/BUCKET/KEY instead of http://BUCKET.s3.amazonaws.com/KEY' type: boolean required: + - inline - name type: object type: array diff --git a/config/deploy/manifests.yaml b/config/deploy/manifests.yaml index 64c2c754a..4060f6dab 100644 --- a/config/deploy/manifests.yaml +++ b/config/deploy/manifests.yaml @@ -3109,12 +3109,150 @@ spec: properties: bucket: type: string + inline: + properties: + accessKey: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + helmRef: + properties: + key: + description: Key is a JSONPath expression used to fetch the key from the merged JSON. + type: string + name: + type: string + required: + - key + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + serviceAccount: + description: ServiceAccount specifies the service account whose token should be fetched + type: string + type: object + type: object + connection: + description: ConnectionName of the connection. It'll be used to populate the endpoint, accessKey and secretKey. + type: string + endpoint: + type: string + region: + type: string + secretKey: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + helmRef: + properties: + key: + description: Key is a JSONPath expression used to fetch the key from the merged JSON. + type: string + name: + type: string + required: + - key + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + serviceAccount: + description: ServiceAccount specifies the service account whose token should be fetched + type: string + type: object + type: object + sessionToken: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + helmRef: + properties: + key: + description: Key is a JSONPath expression used to fetch the key from the merged JSON. + type: string + name: + type: string + required: + - key + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + serviceAccount: + description: ServiceAccount specifies the service account whose token should be fetched + type: string + type: object + type: object + skipTLSVerify: + description: Skip TLS verify when connecting to aws + type: boolean + type: object objectPath: description: glob path to restrict matches to a subset type: string usePathStyle: description: 'Use path style path: http://s3.amazonaws.com/BUCKET/KEY instead of http://BUCKET.s3.amazonaws.com/KEY' type: boolean + required: + - inline type: object description: description: Description for the check @@ -6221,6 +6359,142 @@ spec: icon: description: Icon for overwriting default icon on the dashboard type: string + inline: + properties: + accessKey: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + helmRef: + properties: + key: + description: Key is a JSONPath expression used to fetch the key from the merged JSON. + type: string + name: + type: string + required: + - key + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + serviceAccount: + description: ServiceAccount specifies the service account whose token should be fetched + type: string + type: object + type: object + connection: + description: ConnectionName of the connection. It'll be used to populate the endpoint, accessKey and secretKey. + type: string + endpoint: + type: string + region: + type: string + secretKey: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + helmRef: + properties: + key: + description: Key is a JSONPath expression used to fetch the key from the merged JSON. + type: string + name: + type: string + required: + - key + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + serviceAccount: + description: ServiceAccount specifies the service account whose token should be fetched + type: string + type: object + type: object + sessionToken: + properties: + name: + type: string + value: + type: string + valueFrom: + properties: + configMapKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + helmRef: + properties: + key: + description: Key is a JSONPath expression used to fetch the key from the merged JSON. + type: string + name: + type: string + required: + - key + type: object + secretKeyRef: + properties: + key: + type: string + name: + type: string + required: + - key + type: object + serviceAccount: + description: ServiceAccount specifies the service account whose token should be fetched + type: string + type: object + type: object + skipTLSVerify: + description: Skip TLS verify when connecting to aws + type: boolean + type: object labels: additionalProperties: type: string @@ -6267,6 +6541,7 @@ spec: description: 'Use path style path: http://s3.amazonaws.com/BUCKET/KEY instead of http://BUCKET.s3.amazonaws.com/KEY' type: boolean required: + - inline - name type: object type: array diff --git a/config/schemas/canary.schema.json b/config/schemas/canary.schema.json index a731d4c5f..f90aa3c71 100644 --- a/config/schemas/canary.schema.json +++ b/config/schemas/canary.schema.json @@ -3143,26 +3143,8 @@ }, "type": "array" }, - "connection": { - "type": "string" - }, - "accessKey": { - "$ref": "#/$defs/EnvVar" - }, - "secretKey": { - "$ref": "#/$defs/EnvVar" - }, - "sessionToken": { - "$ref": "#/$defs/EnvVar" - }, - "region": { - "type": "string" - }, - "endpoint": { - "type": "string" - }, - "skipTLSVerify": { - "type": "boolean" + "inline": { + "$ref": "#/$defs/AWSConnection" }, "bucket": { "type": "string" @@ -3180,31 +3162,14 @@ "additionalProperties": false, "type": "object", "required": [ - "name" + "name", + "inline" ] }, "S3Connection": { "properties": { - "connection": { - "type": "string" - }, - "accessKey": { - "$ref": "#/$defs/EnvVar" - }, - "secretKey": { - "$ref": "#/$defs/EnvVar" - }, - "sessionToken": { - "$ref": "#/$defs/EnvVar" - }, - "region": { - "type": "string" - }, - "endpoint": { - "type": "string" - }, - "skipTLSVerify": { - "type": "boolean" + "inline": { + "$ref": "#/$defs/AWSConnection" }, "bucket": { "type": "string" @@ -3217,7 +3182,10 @@ } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "inline" + ] }, "SFTPConnection": { "properties": { diff --git a/config/schemas/component.schema.json b/config/schemas/component.schema.json index ad79499e4..b9980ec75 100644 --- a/config/schemas/component.schema.json +++ b/config/schemas/component.schema.json @@ -3492,26 +3492,8 @@ }, "type": "array" }, - "connection": { - "type": "string" - }, - "accessKey": { - "$ref": "#/$defs/EnvVar" - }, - "secretKey": { - "$ref": "#/$defs/EnvVar" - }, - "sessionToken": { - "$ref": "#/$defs/EnvVar" - }, - "region": { - "type": "string" - }, - "endpoint": { - "type": "string" - }, - "skipTLSVerify": { - "type": "boolean" + "inline": { + "$ref": "#/$defs/AWSConnection" }, "bucket": { "type": "string" @@ -3529,31 +3511,14 @@ "additionalProperties": false, "type": "object", "required": [ - "name" + "name", + "inline" ] }, "S3Connection": { "properties": { - "connection": { - "type": "string" - }, - "accessKey": { - "$ref": "#/$defs/EnvVar" - }, - "secretKey": { - "$ref": "#/$defs/EnvVar" - }, - "sessionToken": { - "$ref": "#/$defs/EnvVar" - }, - "region": { - "type": "string" - }, - "endpoint": { - "type": "string" - }, - "skipTLSVerify": { - "type": "boolean" + "inline": { + "$ref": "#/$defs/AWSConnection" }, "bucket": { "type": "string" @@ -3566,7 +3531,10 @@ } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "inline" + ] }, "SFTPConnection": { "properties": { diff --git a/config/schemas/health_folder.schema.json b/config/schemas/health_folder.schema.json index ff9f02bdf..3bb2de2be 100644 --- a/config/schemas/health_folder.schema.json +++ b/config/schemas/health_folder.schema.json @@ -3,6 +3,33 @@ "$id": "https://github.com/flanksource/canary-checker/api/v1/folder-check", "$ref": "#/$defs/FolderCheck", "$defs": { + "AWSConnection": { + "properties": { + "connection": { + "type": "string" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + }, + "sessionToken": { + "$ref": "#/$defs/EnvVar" + }, + "region": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "skipTLSVerify": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, "ConfigMapKeySelector": { "properties": { "name": { @@ -248,26 +275,8 @@ }, "S3Connection": { "properties": { - "connection": { - "type": "string" - }, - "accessKey": { - "$ref": "#/$defs/EnvVar" - }, - "secretKey": { - "$ref": "#/$defs/EnvVar" - }, - "sessionToken": { - "$ref": "#/$defs/EnvVar" - }, - "region": { - "type": "string" - }, - "endpoint": { - "type": "string" - }, - "skipTLSVerify": { - "type": "boolean" + "inline": { + "$ref": "#/$defs/AWSConnection" }, "bucket": { "type": "string" @@ -280,7 +289,10 @@ } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "inline" + ] }, "SFTPConnection": { "properties": { diff --git a/config/schemas/health_s3.schema.json b/config/schemas/health_s3.schema.json index 565143b5e..64b00040c 100644 --- a/config/schemas/health_s3.schema.json +++ b/config/schemas/health_s3.schema.json @@ -3,6 +3,33 @@ "$id": "https://github.com/flanksource/canary-checker/api/v1/s3-check", "$ref": "#/$defs/S3Check", "$defs": { + "AWSConnection": { + "properties": { + "connection": { + "type": "string" + }, + "accessKey": { + "$ref": "#/$defs/EnvVar" + }, + "secretKey": { + "$ref": "#/$defs/EnvVar" + }, + "sessionToken": { + "$ref": "#/$defs/EnvVar" + }, + "region": { + "type": "string" + }, + "endpoint": { + "type": "string" + }, + "skipTLSVerify": { + "type": "boolean" + } + }, + "additionalProperties": false, + "type": "object" + }, "ConfigMapKeySelector": { "properties": { "name": { @@ -142,26 +169,8 @@ }, "type": "array" }, - "connection": { - "type": "string" - }, - "accessKey": { - "$ref": "#/$defs/EnvVar" - }, - "secretKey": { - "$ref": "#/$defs/EnvVar" - }, - "sessionToken": { - "$ref": "#/$defs/EnvVar" - }, - "region": { - "type": "string" - }, - "endpoint": { - "type": "string" - }, - "skipTLSVerify": { - "type": "boolean" + "inline": { + "$ref": "#/$defs/AWSConnection" }, "bucket": { "type": "string" @@ -179,7 +188,8 @@ "additionalProperties": false, "type": "object", "required": [ - "name" + "name", + "inline" ] }, "SecretKeySelector": { diff --git a/config/schemas/topology.schema.json b/config/schemas/topology.schema.json index e32b0bb41..f6bc0a26a 100644 --- a/config/schemas/topology.schema.json +++ b/config/schemas/topology.schema.json @@ -3462,26 +3462,8 @@ }, "type": "array" }, - "connection": { - "type": "string" - }, - "accessKey": { - "$ref": "#/$defs/EnvVar" - }, - "secretKey": { - "$ref": "#/$defs/EnvVar" - }, - "sessionToken": { - "$ref": "#/$defs/EnvVar" - }, - "region": { - "type": "string" - }, - "endpoint": { - "type": "string" - }, - "skipTLSVerify": { - "type": "boolean" + "inline": { + "$ref": "#/$defs/AWSConnection" }, "bucket": { "type": "string" @@ -3499,31 +3481,14 @@ "additionalProperties": false, "type": "object", "required": [ - "name" + "name", + "inline" ] }, "S3Connection": { "properties": { - "connection": { - "type": "string" - }, - "accessKey": { - "$ref": "#/$defs/EnvVar" - }, - "secretKey": { - "$ref": "#/$defs/EnvVar" - }, - "sessionToken": { - "$ref": "#/$defs/EnvVar" - }, - "region": { - "type": "string" - }, - "endpoint": { - "type": "string" - }, - "skipTLSVerify": { - "type": "boolean" + "inline": { + "$ref": "#/$defs/AWSConnection" }, "bucket": { "type": "string" @@ -3536,7 +3501,10 @@ } }, "additionalProperties": false, - "type": "object" + "type": "object", + "required": [ + "inline" + ] }, "SFTPConnection": { "properties": { diff --git a/go.mod b/go.mod index ec6fe6084..4eb449fe8 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/fergusstrange/embedded-postgres v1.25.0 github.com/flanksource/artifacts v1.0.3 github.com/flanksource/commons v1.19.2 - github.com/flanksource/duty v1.0.252 + github.com/flanksource/duty v1.0.253 github.com/flanksource/gomplate/v3 v3.20.26 github.com/flanksource/is-healthy v0.0.0-20231003215854-76c51e3a3ff7 github.com/flanksource/kommons v0.31.4 diff --git a/go.sum b/go.sum index 164d17876..abe0442c8 100644 --- a/go.sum +++ b/go.sum @@ -827,8 +827,8 @@ github.com/flanksource/artifacts v1.0.3 h1:Ci26mDhVFyxPefX96tgPGTe5fR0wfntXotSxa github.com/flanksource/artifacts v1.0.3/go.mod h1:KfDDG7B4wsiGqJYOamcRU19u5hBvpYjlru3GfcORvko= github.com/flanksource/commons v1.19.2 h1:6JAnKzBBk5iUROrR79dm7Bzbg9beAiFTehkTeZyI2/g= github.com/flanksource/commons v1.19.2/go.mod h1:k+3B7McXUOS+TirYFR9h0pPk6mHNG3dqVUEY9gKI3/U= -github.com/flanksource/duty v1.0.252 h1:MiLT+vuem+e6qxUd1++8wJn6gvR1sIVfdOYElKxR76o= -github.com/flanksource/duty v1.0.252/go.mod h1:v9JIeYE46dfmocI4wifW5bICeUXMjkIw791YQGYsSjw= +github.com/flanksource/duty v1.0.253 h1:ucjYJgl797sI/Jnpxg9SIoa55di6fWwALfjDzdj3SVA= +github.com/flanksource/duty v1.0.253/go.mod h1:v9JIeYE46dfmocI4wifW5bICeUXMjkIw791YQGYsSjw= github.com/flanksource/gomplate/v3 v3.20.4/go.mod h1:27BNWhzzSjDed1z8YShO6W+z6G9oZXuxfNFGd/iGSdc= github.com/flanksource/gomplate/v3 v3.20.26 h1:85lUzlKgZjb1uIkzoa4zN03OcdOnFPG+oWxshZTYqz4= github.com/flanksource/gomplate/v3 v3.20.26/go.mod h1:GKmptFMdr2LbOuqwQZrmo9a/UygyZ0pbXffks8MuYhE= diff --git a/hack/generate-schemas/go.mod b/hack/generate-schemas/go.mod index 5dafde9fa..f9472e7c5 100644 --- a/hack/generate-schemas/go.mod +++ b/hack/generate-schemas/go.mod @@ -44,7 +44,7 @@ require ( github.com/dustin/go-humanize v1.0.1 // indirect github.com/evanphx/json-patch v5.7.0+incompatible // indirect github.com/exaring/otelpgx v0.5.2 // indirect - github.com/flanksource/duty v1.0.252 // indirect + github.com/flanksource/duty v1.0.253 // indirect github.com/flanksource/is-healthy v0.0.0-20231003215854-76c51e3a3ff7 // indirect github.com/flanksource/kommons v0.31.4 // indirect github.com/ghodss/yaml v1.0.0 // indirect @@ -110,6 +110,7 @@ require ( github.com/peterbourgon/diskv v2.0.1+incompatible // indirect github.com/pkg/errors v0.9.1 // indirect github.com/robertkrimen/otto v0.2.1 // indirect + github.com/samber/lo v1.39.0 // indirect github.com/sergi/go-diff v1.3.1 // indirect github.com/sirupsen/logrus v1.9.3 // indirect github.com/spf13/pflag v1.0.5 // indirect diff --git a/hack/generate-schemas/go.sum b/hack/generate-schemas/go.sum index 4443d2522..6ca9f708f 100644 --- a/hack/generate-schemas/go.sum +++ b/hack/generate-schemas/go.sum @@ -717,8 +717,8 @@ github.com/exaring/otelpgx v0.5.2/go.mod h1:4dBiAqwzDNmpj3TwX5Syti1/Nw2bIoDQItdL github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/flanksource/commons v1.19.2 h1:6JAnKzBBk5iUROrR79dm7Bzbg9beAiFTehkTeZyI2/g= github.com/flanksource/commons v1.19.2/go.mod h1:k+3B7McXUOS+TirYFR9h0pPk6mHNG3dqVUEY9gKI3/U= -github.com/flanksource/duty v1.0.252 h1:MiLT+vuem+e6qxUd1++8wJn6gvR1sIVfdOYElKxR76o= -github.com/flanksource/duty v1.0.252/go.mod h1:v9JIeYE46dfmocI4wifW5bICeUXMjkIw791YQGYsSjw= +github.com/flanksource/duty v1.0.253 h1:ucjYJgl797sI/Jnpxg9SIoa55di6fWwALfjDzdj3SVA= +github.com/flanksource/duty v1.0.253/go.mod h1:v9JIeYE46dfmocI4wifW5bICeUXMjkIw791YQGYsSjw= github.com/flanksource/gomplate/v3 v3.20.4/go.mod h1:27BNWhzzSjDed1z8YShO6W+z6G9oZXuxfNFGd/iGSdc= github.com/flanksource/gomplate/v3 v3.20.26 h1:85lUzlKgZjb1uIkzoa4zN03OcdOnFPG+oWxshZTYqz4= github.com/flanksource/gomplate/v3 v3.20.26/go.mod h1:GKmptFMdr2LbOuqwQZrmo9a/UygyZ0pbXffks8MuYhE= @@ -1114,6 +1114,7 @@ github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= github.com/ruudk/golang-pdf417 v0.0.0-20201230142125-a7e3863a1245/go.mod h1:pQAZKsJ8yyVxGRWYNEm9oFB8ieLgKFnamEyDmSA0BRk= github.com/samber/lo v1.39.0 h1:4gTz1wUhNYLhFSKl6O+8peW0v2F4BCY034GRpU9WnuA= +github.com/samber/lo v1.39.0/go.mod h1:+m/ZKRl6ClXCE2Lgf3MsQlWfh4bn1bz6CXEOxnEXnEA= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= diff --git a/pkg/db/init.go b/pkg/db/init.go index 8a10a1095..0f6e58d86 100644 --- a/pkg/db/init.go +++ b/pkg/db/init.go @@ -127,7 +127,7 @@ func Init() error { } if RunMigrations { - opts := &migrate.MigrateOptions{IgnoreFiles: []string{"007_events.sql", "012_changelog.sql"}} + opts := &migrate.MigrateOptions{IgnoreFiles: []string{"007_events.sql", "012_changelog_triggers_others.sql", "012_changelog_triggers_scrapers.sql"}} if err := duty.Migrate(ConnectionString, opts); err != nil { return err }