AdaptiveConsulting / nexus-casc-plugin

Configuration as code plugin for Sonatype Nexus Repository Manager
MIT License
48 stars 21 forks source link

Seem to come across issue when using raw-hosted repositories #42

Open atownsend247 opened 1 year ago

atownsend247 commented 1 year ago

I've got an empty version of nexus that I'm starting to provision with CASC plugin, upon adding a raw hosted repository into the nexus.yaml I see the following errors in the nexus logs. I've included the snippet for the repository too incase I'm doing anything wrong there.

Any help or pointers would be greatly appreciated. I trial this with the latest version of nexus but rolled it back to see if it would fix the issue and it was the same.

      online: true
      recipeName: raw-hosted
      attributes:
        storage:
          blobStoreName: apps_s3
          strictContentTypeValidation: true
          writePolicy: ALLOW
        cleanup:
          policyName:
            - None
        # How to configure proprietary component - requires Nexus firewall
        raw:
          contentDisposition: ATTACHMENT  # or inline
        component:
          proprietaryComponents: false

Generates the following logs:



1) [Guice/NullInjectedIntoNonNullable]: null returned by binding at ContentStoreFactory.createContentStore()
 but the 2nd parameter of AssetBlobStore.<init>(AssetBlobStore.java:46) is not @Nullable
  at ContentStoreFactory.createContentStore(ContentStoreFactory.java:1)
  at AssetBlobStore.<init>(AssetBlobStore.java:46)
      \_ for 2nd parameter
  while locating AssetBlobStore<RawAssetBlobDAO> annotated with @UniqueAnnotations$Internal(value=37)

Learn more:
  https://github.com/google/guice/wiki/NULL_INJECTED_INTO_NON_NULLABLE

1 error

======================
Full classname legend:
======================
AssetBlobStore:             "org.sonatype.nexus.repository.content.store.AssetBlobStore"
ContentStoreFactory:        "org.sonatype.nexus.repository.content.store.ContentStoreFactory"
RawAssetBlobDAO:            "org.sonatype.nexus.content.raw.internal.store.RawAssetBlobDAO"
UniqueAnnotations$Internal: "com.google.inject.internal.UniqueAnnotations$Internal"
========================
End of classname legend:
========================

    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2051)
    at com.google.common.cache.LocalCache.get(LocalCache.java:3962)
    at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4859)
    at org.sonatype.nexus.repository.content.store.FormatStoreManager.formatStore(FormatStoreManager.java:93)
    at org.sonatype.nexus.repository.content.store.FormatStoreManager.assetBlobStore(FormatStoreManager.java:80)
    at org.sonatype.nexus.repository.content.store.internal.migration.AssetBlobRefMigrationTaskManager.lambda$0(AssetBlobRefMigrationTaskManager.java:74)
    at java.util.HashMap.forEach(HashMap.java:1290)
    at org.sonatype.nexus.repository.content.store.internal.migration.AssetBlobRefMigrationTaskManager.doStart(AssetBlobRefMigrationTaskManager.java:71)
    at org.sonatype.goodies.lifecycle.LifecycleSupport.start(LifecycleSupport.java:99)
    at org.sonatype.nexus.extender.NexusLifecycleManager.startComponent(NexusLifecycleManager.java:199)
    at org.sonatype.nexus.extender.NexusLifecycleManager.to(NexusLifecycleManager.java:111)
    at org.sonatype.nexus.extender.NexusContextListener.moveToPhase(NexusContextListener.java:319)
    at org.sonatype.nexus.extender.NexusContextListener.frameworkEvent(NexusContextListener.java:242)
    at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1597)
    at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:308)
    at java.lang.Thread.run(Thread.java:750)```
bdellegrazie commented 1 year ago

Hi @atownsend247,

which version of Nexus are you running this in?

atownsend247 commented 1 year ago

Hi @bdellegrazie I tried it on a few different versions but from 3.48.0 - 3.56.0 that I'm currently on