From 391cbf53cc43173001438644aa2b9415ead88c4f Mon Sep 17 00:00:00 2001 From: Kian Parvin Date: Wed, 31 Jan 2024 14:33:19 +0200 Subject: [PATCH 1/4] Add jaas snap Move service account cli package to jaas --- Makefile | 5 +++ .../cmd/addserviceaccount.go | 0 .../cmd/addserviceaccount_test.go | 2 +- .../cmd/export_test.go | 0 cmd/{serviceaccounts => jaas}/cmd/grant.go | 0 .../cmd/grant_test.go | 0 .../cmd/listserviceaccountcredentials.go | 0 .../cmd/listserviceaccountcredentials_test.go | 2 +- .../cmd/package_test.go | 0 .../cmd/updatecredentials.go | 0 .../cmd/updatecredentials_test.go | 0 cmd/{serviceaccounts => jaas}/main.go | 14 +++++--- snaps/jaas/snapcraft.yaml | 34 +++++++++++++++++++ 13 files changed, 50 insertions(+), 7 deletions(-) rename cmd/{serviceaccounts => jaas}/cmd/addserviceaccount.go (100%) rename cmd/{serviceaccounts => jaas}/cmd/addserviceaccount_test.go (96%) rename cmd/{serviceaccounts => jaas}/cmd/export_test.go (100%) rename cmd/{serviceaccounts => jaas}/cmd/grant.go (100%) rename cmd/{serviceaccounts => jaas}/cmd/grant_test.go (100%) rename cmd/{serviceaccounts => jaas}/cmd/listserviceaccountcredentials.go (100%) rename cmd/{serviceaccounts => jaas}/cmd/listserviceaccountcredentials_test.go (98%) rename cmd/{serviceaccounts => jaas}/cmd/package_test.go (100%) rename cmd/{serviceaccounts => jaas}/cmd/updatecredentials.go (100%) rename cmd/{serviceaccounts => jaas}/cmd/updatecredentials_test.go (100%) rename cmd/{serviceaccounts => jaas}/main.go (71%) create mode 100644 snaps/jaas/snapcraft.yaml diff --git a/Makefile b/Makefile index 89f5d0411..fe081ab65 100644 --- a/Makefile +++ b/Makefile @@ -88,6 +88,11 @@ jimmctl-snap: cp -R ./snaps/jimmctl/* ./snap/ snapcraft +jaas-snap: + mkdir -p ./snap + cp -R ./snaps/jaas/* ./snap/ + snapcraft + push-microk8s: jimm-image docker tag jimm:latest localhost:32000/jimm:latest docker push localhost:32000/jimm:latest diff --git a/cmd/serviceaccounts/cmd/addserviceaccount.go b/cmd/jaas/cmd/addserviceaccount.go similarity index 100% rename from cmd/serviceaccounts/cmd/addserviceaccount.go rename to cmd/jaas/cmd/addserviceaccount.go diff --git a/cmd/serviceaccounts/cmd/addserviceaccount_test.go b/cmd/jaas/cmd/addserviceaccount_test.go similarity index 96% rename from cmd/serviceaccounts/cmd/addserviceaccount_test.go rename to cmd/jaas/cmd/addserviceaccount_test.go index 431b1a96a..88ea8fbd2 100644 --- a/cmd/serviceaccounts/cmd/addserviceaccount_test.go +++ b/cmd/jaas/cmd/addserviceaccount_test.go @@ -9,7 +9,7 @@ import ( "github.com/juju/names/v4" gc "gopkg.in/check.v1" - "github.com/canonical/jimm/cmd/serviceaccounts/cmd" + "github.com/canonical/jimm/cmd/jaas/cmd" "github.com/canonical/jimm/internal/cmdtest" "github.com/canonical/jimm/internal/openfga" ofganames "github.com/canonical/jimm/internal/openfga/names" diff --git a/cmd/serviceaccounts/cmd/export_test.go b/cmd/jaas/cmd/export_test.go similarity index 100% rename from cmd/serviceaccounts/cmd/export_test.go rename to cmd/jaas/cmd/export_test.go diff --git a/cmd/serviceaccounts/cmd/grant.go b/cmd/jaas/cmd/grant.go similarity index 100% rename from cmd/serviceaccounts/cmd/grant.go rename to cmd/jaas/cmd/grant.go diff --git a/cmd/serviceaccounts/cmd/grant_test.go b/cmd/jaas/cmd/grant_test.go similarity index 100% rename from cmd/serviceaccounts/cmd/grant_test.go rename to cmd/jaas/cmd/grant_test.go diff --git a/cmd/serviceaccounts/cmd/listserviceaccountcredentials.go b/cmd/jaas/cmd/listserviceaccountcredentials.go similarity index 100% rename from cmd/serviceaccounts/cmd/listserviceaccountcredentials.go rename to cmd/jaas/cmd/listserviceaccountcredentials.go diff --git a/cmd/serviceaccounts/cmd/listserviceaccountcredentials_test.go b/cmd/jaas/cmd/listserviceaccountcredentials_test.go similarity index 98% rename from cmd/serviceaccounts/cmd/listserviceaccountcredentials_test.go rename to cmd/jaas/cmd/listserviceaccountcredentials_test.go index 684c0288a..cf8e3bd59 100644 --- a/cmd/serviceaccounts/cmd/listserviceaccountcredentials_test.go +++ b/cmd/jaas/cmd/listserviceaccountcredentials_test.go @@ -12,7 +12,7 @@ import ( "github.com/juju/names/v4" gc "gopkg.in/check.v1" - "github.com/canonical/jimm/cmd/serviceaccounts/cmd" + "github.com/canonical/jimm/cmd/jaas/cmd" "github.com/canonical/jimm/internal/cmdtest" "github.com/canonical/jimm/internal/dbmodel" "github.com/canonical/jimm/internal/jimm" diff --git a/cmd/serviceaccounts/cmd/package_test.go b/cmd/jaas/cmd/package_test.go similarity index 100% rename from cmd/serviceaccounts/cmd/package_test.go rename to cmd/jaas/cmd/package_test.go diff --git a/cmd/serviceaccounts/cmd/updatecredentials.go b/cmd/jaas/cmd/updatecredentials.go similarity index 100% rename from cmd/serviceaccounts/cmd/updatecredentials.go rename to cmd/jaas/cmd/updatecredentials.go diff --git a/cmd/serviceaccounts/cmd/updatecredentials_test.go b/cmd/jaas/cmd/updatecredentials_test.go similarity index 100% rename from cmd/serviceaccounts/cmd/updatecredentials_test.go rename to cmd/jaas/cmd/updatecredentials_test.go diff --git a/cmd/serviceaccounts/main.go b/cmd/jaas/main.go similarity index 71% rename from cmd/serviceaccounts/main.go rename to cmd/jaas/main.go index 6ccfb7f6d..96eecb632 100644 --- a/cmd/serviceaccounts/main.go +++ b/cmd/jaas/main.go @@ -6,18 +6,22 @@ import ( "fmt" "os" - "github.com/canonical/jimm/cmd/serviceaccounts/cmd" + "github.com/canonical/jimm/cmd/jaas/cmd" jujucmd "github.com/juju/cmd/v3" ) -var serviceAccountDoc = ` -juju service-accounts enables users to manage service accounts. +var jaasDoc = ` +juju jaas enables users to use JAAS commands from within Juju. + +JAAS enables enterprise functionality on top of Juju to provide +functionality like OIDC login, control over many controllers, +and fine-grained authorisation. ` func NewSuperCommand() *jujucmd.SuperCommand { serviceAccountCmd := jujucmd.NewSuperCommand(jujucmd.SuperCommandParams{ - Name: "service-accounts", - Doc: serviceAccountDoc, + Name: "jaas", + Doc: jaasDoc, }) // Register commands here: serviceAccountCmd.Register(cmd.NewAddServiceAccountCommand()) diff --git a/snaps/jaas/snapcraft.yaml b/snaps/jaas/snapcraft.yaml new file mode 100644 index 000000000..eee73f354 --- /dev/null +++ b/snaps/jaas/snapcraft.yaml @@ -0,0 +1,34 @@ +name: juju-jaas +summary: JAAS plugin +description: Juju plugin for providing JAAS functionality to the Juju CLI. +version: git +grade: stable +base: core20 +confinement: strict + +slots: + jaas-plugin: + interface: content + content: jaas-plugin + read: + - $SNAP/bin + +# The app has no plugs as it is intended to be invoked by the Juju CLI Snap. +apps: + jaas: + command: bin/juju-jaas + +parts: + jaas: + plugin: go + source: ./ + source-type: git + prime: + - bin/juju-jaas + override-build: | + set -e + ls + pwd + CGO_ENABLED=0 go install github.com/canonical/jimm/cmd/jaas + mv /bin/jaas /bin/juju-jaas + From 601f7a81bf584a1b0b6d4a24b737b6f3b9b0798f Mon Sep 17 00:00:00 2001 From: Kian Parvin Date: Wed, 31 Jan 2024 15:08:09 +0200 Subject: [PATCH 2/4] Update snapcraft.yaml --- snaps/jaas/snapcraft.yaml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/snaps/jaas/snapcraft.yaml b/snaps/jaas/snapcraft.yaml index eee73f354..69cc1e1cc 100644 --- a/snaps/jaas/snapcraft.yaml +++ b/snaps/jaas/snapcraft.yaml @@ -27,8 +27,6 @@ parts: - bin/juju-jaas override-build: | set -e - ls - pwd - CGO_ENABLED=0 go install github.com/canonical/jimm/cmd/jaas - mv /bin/jaas /bin/juju-jaas - + CGO_ENABLED=0 go build -o juju-jaas github.com/canonical/jimm/cmd/jaas + mkdir -p $GOBIN + cp ./juju-jaas $GOBIN/juju-jaas From 8faf81b40673a17509a78ccf31f3bb4d39817a66 Mon Sep 17 00:00:00 2001 From: Kian Parvin Date: Thu, 1 Feb 2024 11:17:27 +0200 Subject: [PATCH 3/4] Move to bare base --- snaps/jaas/snapcraft.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/snaps/jaas/snapcraft.yaml b/snaps/jaas/snapcraft.yaml index 69cc1e1cc..34ada0bc9 100644 --- a/snaps/jaas/snapcraft.yaml +++ b/snaps/jaas/snapcraft.yaml @@ -3,7 +3,8 @@ summary: JAAS plugin description: Juju plugin for providing JAAS functionality to the Juju CLI. version: git grade: stable -base: core20 +base: bare +build-base: core20 confinement: strict slots: From 7e4dfc3de88de01758700c0dcd924cf4bf570526 Mon Sep 17 00:00:00 2001 From: Kian Parvin Date: Fri, 2 Feb 2024 09:13:45 +0200 Subject: [PATCH 4/4] Rename rebased test imports --- cmd/jaas/cmd/grant_test.go | 2 +- cmd/jaas/cmd/updatecredentials_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/jaas/cmd/grant_test.go b/cmd/jaas/cmd/grant_test.go index 66a851392..d50e4c703 100644 --- a/cmd/jaas/cmd/grant_test.go +++ b/cmd/jaas/cmd/grant_test.go @@ -9,7 +9,7 @@ import ( "github.com/juju/names/v4" gc "gopkg.in/check.v1" - "github.com/canonical/jimm/cmd/serviceaccounts/cmd" + "github.com/canonical/jimm/cmd/jaas/cmd" "github.com/canonical/jimm/internal/cmdtest" "github.com/canonical/jimm/internal/dbmodel" "github.com/canonical/jimm/internal/openfga" diff --git a/cmd/jaas/cmd/updatecredentials_test.go b/cmd/jaas/cmd/updatecredentials_test.go index 8f69684fe..7c158dc07 100644 --- a/cmd/jaas/cmd/updatecredentials_test.go +++ b/cmd/jaas/cmd/updatecredentials_test.go @@ -9,7 +9,7 @@ import ( "github.com/juju/names/v4" gc "gopkg.in/check.v1" - "github.com/canonical/jimm/cmd/serviceaccounts/cmd" + "github.com/canonical/jimm/cmd/jaas/cmd" "github.com/canonical/jimm/internal/cmdtest" "github.com/canonical/jimm/internal/dbmodel" "github.com/canonical/jimm/internal/openfga"