irsa webhook

This commit is contained in:
kkb0318
2024-04-01 21:20:02 +09:00
parent d8fa1111dd
commit e8647ef621
4 changed files with 62 additions and 4 deletions
+3 -3
View File
@@ -57,7 +57,7 @@ func (r *IRSASetupReconciler) Reconcile(ctx context.Context, req ctrl.Request) (
}
func (r *IRSASetupReconciler) reconcile(ctx context.Context) error {
err := reconcileSelfhosted(ctx)
err := reconcileSelfhosted(ctx)
return err
}
@@ -70,11 +70,11 @@ func reconcileSelfhosted(ctx context.Context) error {
if err != nil {
return err
}
// get from CRs
// get from CRs
region := "ap-northeast-1"
bucketName := "my-bucket-name"
jwksFileName := "keys.json"
var factory selfhosted.OIDCIdPFactory
var factory selfhosted.OIDCIdPFactory
factory, err = oidc.NewAwsS3IdpFactory(
ctx,
@@ -59,4 +59,3 @@ func (s *S3IdPDiscovery) Upload(ctx context.Context, o selfhosted.OIDCIdPDiscove
}
return nil
}
+58
View File
@@ -1 +1,59 @@
package webhook
import (
"os"
"strings"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime/serializer/yaml"
)
type WebhookManifests struct {
Manifests []*unstructured.Unstructured
}
func Read() ([]*unstructured.Unstructured, error) {
files := []string{
"auth.yaml",
"deployment.yaml",
"mutatingwebhook-ca-bundle.yaml",
"mutatingwebhook.yaml",
"service.yaml",
}
objs := []*unstructured.Unstructured{}
for _, f := range files {
tmp, err := ReadFile(f)
if err != nil {
return nil, err
}
objs = append(objs, tmp...)
}
return objs, nil
}
func ReadFile(filePath string) ([]*unstructured.Unstructured, error) {
yamlContent, err := os.ReadFile(filePath)
if err != nil {
return nil, err
}
// YAMLデコーダの準備
decUnstructured := yaml.NewDecodingSerializer(unstructured.UnstructuredJSONScheme)
// マニフェストを分割
documents := strings.Split(string(yamlContent), "---")
objs := make([]*unstructured.Unstructured, len(documents))
for i, doc := range documents {
if strings.TrimSpace(doc) == "" {
continue
}
// 各マニフェストを解析
obj := &unstructured.Unstructured{}
_, _, err := decUnstructured.Decode([]byte(doc), nil, obj)
if err != nil {
return nil, err
}
objs[i] = obj
}
return objs, nil
}
@@ -0,0 +1 @@
package webhook