1+ resource "kubernetes_secret" "seaweedfs_identity" {
2+ metadata {
3+ name = " seaweedfs-identity-config"
4+ namespace = kubernetes_namespace. this . metadata [0 ]. name
5+ }
6+
7+ data = {
8+ " identity.json" = jsonencode ({
9+ identities = [{
10+ name = " admin"
11+ credentials = [{
12+ accessKey = var.seaweedfs_admin_access_key
13+ secretKey = random_password.seaweedfs_admin_secret.result
14+ }]
15+ actions = [" Admin" , " Read" , " Write" , " List" , " Tagging" ]
16+ }]
17+ })
18+ }
19+ }
20+
121resource "kubernetes_secret" "seaweedfs_iam" {
222 metadata {
323 name = " seaweedfs-iam-config"
424 namespace = kubernetes_namespace. this . metadata [0 ]. name
525 }
626
727 data = {
8- " iam .json" = jsonencode ({
28+ " oidc .json" = jsonencode ({
929 sts = {
1030 enabled = true
1131 tokenDuration = " 1h"
@@ -31,14 +51,6 @@ resource "kubernetes_secret" "seaweedfs_iam" {
3151 }
3252 }
3353 }]
34- identities = [{
35- name = " admin"
36- credentials = [{
37- accessKey = var.seaweedfs_admin_access_key
38- secretKey = random_password.seaweedfs_admin_secret.result
39- }]
40- actions = [" Admin" , " Read" , " Write" , " List" , " Tagging" ]
41- }]
4254 policies = [
4355 {
4456 name = " Airliner1Policy"
@@ -206,7 +218,8 @@ resource "kubernetes_deployment" "seaweedfs" {
206218 " -s3" ,
207219 " -s3.port=8333" ,
208220 " -dir=/data" ,
209- " -iam.config=/etc/seaweed/iam.json"
221+ " -s3.config=/etc/seaweed/identity/identity.json" ,
222+ " -s3.iam.config=/etc/seaweed/iam/oidc.json"
210223 ]
211224
212225 port {
@@ -238,9 +251,15 @@ resource "kubernetes_deployment" "seaweedfs" {
238251 mount_path = " /data"
239252 }
240253
254+ volume_mount {
255+ name = " identity-config"
256+ mount_path = " /etc/seaweed/identity"
257+ read_only = true
258+ }
259+
241260 volume_mount {
242261 name = " iam-config"
243- mount_path = " /etc/seaweed"
262+ mount_path = " /etc/seaweed/iam "
244263 read_only = true
245264 }
246265
@@ -276,6 +295,14 @@ resource "kubernetes_deployment" "seaweedfs" {
276295 }
277296 }
278297
298+ volume {
299+ name = " identity-config"
300+
301+ secret {
302+ secret_name = kubernetes_secret. seaweedfs_identity . metadata [0 ]. name
303+ }
304+ }
305+
279306 volume {
280307 name = " iam-config"
281308
0 commit comments