Skip to content

Commit

Permalink
add: crossplane-iam-provider
Browse files Browse the repository at this point in the history
  • Loading branch information
aaroniscode committed Jul 25, 2024
1 parent 3262ee6 commit ec3cfef
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 0 deletions.
2 changes: 2 additions & 0 deletions cmd/install/crossplane.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"github.com/awslabs/eksdemo/pkg/application"
"github.com/awslabs/eksdemo/pkg/application/crossplane/core"
"github.com/awslabs/eksdemo/pkg/application/crossplane/ec2"
"github.com/awslabs/eksdemo/pkg/application/crossplane/iam"
"github.com/awslabs/eksdemo/pkg/application/crossplane/s3"
"github.com/spf13/cobra"
)
Expand Down Expand Up @@ -48,6 +49,7 @@ func init() {
crossplane = []func() *application.Application{
core.NewApp,
ec2.NewApp,
iam.NewApp,
s3.NewApp,
}
}
58 changes: 58 additions & 0 deletions pkg/application/crossplane/iam/iam.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package iam

import (
"github.com/awslabs/eksdemo/pkg/application"
"github.com/awslabs/eksdemo/pkg/application/crossplane"
"github.com/awslabs/eksdemo/pkg/cmd"
"github.com/awslabs/eksdemo/pkg/installer"
"github.com/awslabs/eksdemo/pkg/resource"
"github.com/awslabs/eksdemo/pkg/template"
)

func NewApp() *application.Application {
options := crossplane.NewProviderOptions("iam")

return &application.Application{
Command: cmd.Command{
Parent: "crossplane",
Name: "iam-provider",
Description: "Crossplane IAM Provider",
Aliases: []string{"iam"},
},

Dependencies: []*resource.Resource{
crossplane.CheckCore(),
crossplane.Irsa(options, []string{"IAMFullAccess"}),
},

Installer: &installer.ManifestInstaller{
AppName: "crossplane-iam-provider",
ResourceTemplate: &template.TextTemplate{
Template: yamlTemplate,
},
},

Options: options,
}
}

const yamlTemplate = `---
apiVersion: pkg.crossplane.io/v1beta1
kind: DeploymentRuntimeConfig
metadata:
name: aws-iam
spec:
serviceAccountTemplate:
metadata:
annotations:
{{ .IrsaAnnotation }}
---
apiVersion: pkg.crossplane.io/v1
kind: Provider
metadata:
name: provider-aws-iam
spec:
package: xpkg.upbound.io/upbound/provider-aws-iam:{{ .Version }}
runtimeConfigRef:
name: aws-iam
`

0 comments on commit ec3cfef

Please sign in to comment.