Estoy probando Sharetribe Community Edition en un servidor Debian 10 (no AWS) siguiendo estas instrucciones: https://github.com/sharetribe/sharetribe#installation
Estoy atascado en el paso 7 con el siguiente error:
Aws::Sigv4::Errors::MissingCredentialsError: faltan credenciales, proporcione las credenciales con una de las siguientes opciones:
:access_key_id and :secret_access_key :credentials :credentials_provider
Sin embargo, Rails sabe que no estoy usando Amazon sino el almacenamiento local porque tengo las siguientes dos configuraciones:
File: config/environments/development.rb config.active_storage.service = :local File: config/environments/production.rb config.active_storage.service = :localDespués de cambiar esa configuración, ejecuté el siguiente comando:
~/sharetribe$ EDITOR=“sub1 --wait” bin/rails credentials:editY obtuve el resultado a continuación:
Adición de config/master.key para almacenar la clave de cifrado maestra: [ELIMINADO]
Guárdelo en un administrador de contraseñas al que pueda acceder su equipo. Si pierde la clave, nadie, ni siquiera usted, podrá acceder a nada encriptado con ella.
crear config/master.key
Ignorando config/master.key para que no termine en el historial de Git:
agregar .gitignore
Nuevas credenciales encriptadas y guardadas.
Pero después de ejecutar esto:
~/sharetribe$ bundle exec rake db:create db:structure:loadMe sale el error de arriba.
Editar: Aquí está config/storage.yml. No estoy seguro si debo comentar la sección de Amazon
test: service: Disk root: <%= Rails.root.join("tmp/storage") %> local: service: Disk root: <%= Rails.root.join("storage") %> # Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key) amazon: service: S3 access_key_id: <%= APP_CONFIG.aws_access_key_id%> secret_access_key: <%= APP_CONFIG.aws_secret_access_key %> region: <%= APP_CONFIG.s3_region %> bucket: <%= APP_CONFIG.clp_s3_bucket_name %> upload: acl: "public-read" cache_control: 'max-age=3600'TLDR: quiero almacenar la base de datos de Sharetribe en su propio servidor, pero Rails sigue pidiendo credenciales de AWS/Amazon a pesar de la configuración local
Sharetribe tiene aws-sdk-ruby como dependencia (ver: https://github.com/sharetribe/sharetribe/blob/master/Gemfile#L34 ).
aws-sdk-ruby necesita un archivo de configuración con las credenciales de AWS configuradas para ejecutarse. Este archivo se encuentra en ~/.aws/credentials y tiene este formato:
[default] aws_access_key_id = YOUR_ACCESS_KEY aws_secret_access_key = YOUR_SECRET_ACCESS_KEYEsto ha sido documentado en el archivo README aquí ( https://github.com/aws/aws-sdk-ruby#configuration ) y también en esta publicación de blog: https://aws.amazon.com/blogs/security/a -forma-nueva-y-estandarizada-de-administrar-credenciales-en-los-sdks-de-aws .
Inicialmente, no pude replicar su problema porque tengo ese archivo presente en mi máquina local. Sin embargo, tan pronto como ~/.aws/credentials , puedo replicar el problema.
Tuve este problema y lo resolví así:
En Storage.yml comente todo el bloque de Amazon, de forma similar a como se comenta el bloque de Google.
En production.rb config.active_storage.service = :local