Skip to content

Commit

Permalink
feat(ecs): Implement kork credentials to allow for dynamic account lo…
Browse files Browse the repository at this point in the history
…ading (#5070)

* feat(ecs): Implement kork credentials to allow for dynamic account loading

* Rebase and remove setEcsAccountCreds()

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
  • Loading branch information
nabuskey and mergify[bot] committed Nov 9, 2020
1 parent c9286ae commit f62abd9
Show file tree
Hide file tree
Showing 38 changed files with 361 additions and 996 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ import org.springframework.context.annotation.DependsOn
@Configuration
class AwsInfrastructureProviderConfig {
@Bean
@DependsOn('netflixAmazonCredentials')
AwsInfrastructureProvider awsInfrastructureProvider() {
return new AwsInfrastructureProvider()
}
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@ import com.netflix.spinnaker.clouddriver.aws.AmazonCloudProvider
import com.netflix.spinnaker.clouddriver.aws.security.config.AmazonCredentialsParser
import com.netflix.spinnaker.clouddriver.aws.security.config.CredentialsConfig
import com.netflix.spinnaker.clouddriver.aws.security.config.CredentialsConfig.Account
import com.netflix.spinnaker.clouddriver.aws.security.config.CredentialsLoader
import com.netflix.spinnaker.clouddriver.security.AccountCredentialsRepository
import com.netflix.spinnaker.clouddriver.security.CredentialsInitializerSynchronizable
import com.netflix.spinnaker.credentials.CredentialsLifecycleHandler
import com.netflix.spinnaker.credentials.CredentialsRepository
Expand All @@ -36,7 +34,6 @@ import org.springframework.boot.context.properties.ConfigurationProperties
import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.context.annotation.DependsOn
import org.springframework.context.annotation.Lazy
import org.springframework.context.annotation.Primary

Expand Down Expand Up @@ -64,35 +61,9 @@ class AmazonCredentialsInitializer {
}
}

@Bean
@ConditionalOnMissingBean(CredentialsLoader.class)
CredentialsLoader<? extends NetflixAmazonCredentials> credentialsLoader(AWSCredentialsProvider awsCredentialsProvider,
AmazonClientProvider amazonClientProvider,
Class<? extends NetflixAmazonCredentials> credentialsType) {
new CredentialsLoader<? extends NetflixAmazonCredentials>(awsCredentialsProvider, amazonClientProvider, credentialsType)
}

@Bean
@ConditionalOnMissingBean(AmazonAccountsSynchronizer.class)
AmazonAccountsSynchronizer amazonAccountsSynchronizer() {
new DefaultAmazonAccountsSynchronizer()
}

@Bean
List<? extends NetflixAmazonCredentials> netflixAmazonCredentials(
CredentialsLoader<? extends NetflixAmazonCredentials> credentialsLoader,
CredentialsConfig credentialsConfig,
AccountCredentialsRepository accountCredentialsRepository,
DefaultAccountConfigurationProperties defaultAccountConfigurationProperties,
AmazonAccountsSynchronizer amazonAccountsSynchronizer) {

amazonAccountsSynchronizer.synchronize(credentialsLoader, credentialsConfig, accountCredentialsRepository, defaultAccountConfigurationProperties, null)
}

@Bean
@ConditionalOnMissingBean(
value = [Account.class, NetflixAmazonCredentials.class],
parameterizedContainer = CredentialsRepository.class
name = "amazonCredentialsParser"
)
CredentialsParser<Account, NetflixAmazonCredentials> amazonCredentialsParser(
AWSCredentialsProvider awsCredentialsProvider,
Expand All @@ -105,8 +76,7 @@ class AmazonCredentialsInitializer {
@Bean
@Primary
@ConditionalOnMissingBean(
value = NetflixAmazonCredentials.class,
parameterizedContainer = CredentialsRepository.class
name = "amazonCredentialsRepository"
)
CredentialsRepository<NetflixAmazonCredentials> amazonCredentialsRepository(
@Lazy CredentialsLifecycleHandler<NetflixAmazonCredentials> eventHandler
Expand All @@ -116,8 +86,7 @@ class AmazonCredentialsInitializer {

@Bean
@ConditionalOnMissingBean(
value = NetflixAmazonCredentials.class,
parameterizedContainer = AbstractCredentialsLoader.class
name = "amazonCredentialsLoader"
)
AbstractCredentialsLoader<? extends NetflixAmazonCredentials> amazonCredentialsLoader(
CredentialsParser<Account, NetflixAmazonCredentials> amazonCredentialsParser,
Expand All @@ -140,8 +109,7 @@ class AmazonCredentialsInitializer {

@Bean
@ConditionalOnMissingBean(
value = Account.class,
parameterizedContainer = CredentialsDefinitionSource.class
name = "amazonCredentialsInitializerSynchronizable"
)
CredentialsInitializerSynchronizable amazonCredentialsInitializerSynchronizable(
AbstractCredentialsLoader<? extends NetflixAmazonCredentials> amazonCredentialsLoader
Expand Down

This file was deleted.

Loading

0 comments on commit f62abd9

Please sign in to comment.