Description:
Spring Boot Version: 3.0.5
Spring Cloud Version: 2022.0.1
Kubernetes Service Account-based authentication doesn't work even when all the corresponding properties are specified.
Can some help with this issue? Am I missing anything here?
<properties>
<java.version>17</java.version>
<spring-cloud.version>2022.0.1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.vault</groupId>
<artifactId>spring-vault-core</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Application.yaml
spring:
profiles:
active: composite
application:
name: polar-config-server
cloud:
config:
server:
composite:
- type: git
uri: "https://github.com/test/{application}.git"
search-paths: "config"
force-pull: true
clone-on-start: false
skipSslValidation: true
refreshRate: 120
timeout: 30
username: ${username}
password: ${password}
- type: git
uri: "https://github.com/test/{application}.git"
search-paths: "test"
force-pull: true
clone-on-start: false
skipSslValidation: true
refreshRate: 120
timeout: 30
username: ${username}
password: ${password}
- type: vault
scheme: https
host: ${vault.host:localhost}
port: 443
authentication: kubernetes
namespace: namespace
kv-version: 2
backend: backend
kubernetes:
role: test-role
kubernetes-path: test-path
service-account-token-file: /var/run/secrets/kubernetes.io/serviceaccount/token
Exception:
java.lang.IllegalArgumentException: Missing required header in HttpServletRequest: X-Config-Token
--
Mon, May 8 2023 11:28:45 am | at org.springframework.cloud.config.server.environment.HttpRequestConfigTokenProvider.getToken(HttpRequestConfigTokenProvider.java:45) ~[spring-cloud-config-server-4.0.1.jar!/:4.0.1]
Mon, May 8 2023 11:28:45 am | at org.springframework.cloud.config.server.environment.vault.SpringVaultClientConfiguration$ConfigTokenProviderAuthentication.login(SpringVaultClientConfiguration.java:191) ~[spring-cloud-config-server-4.0.1.jar!/:4.0.1]
Comment From: mp911de
Looks like this is an issue for Spring Cloud Config Server. Paging @ryanjbaxter.
Comment From: ryanjbaxter
Duplicates https://github.com/spring-cloud/spring-cloud-config/issues/2264