-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support asynchronous binding operations #26
Comments
krutten
pushed a commit
that referenced
this issue
Jul 4, 2024
* Make builds work and abstract away architecture (#1) * use centos 7 as default base image * don't remove packages that aren't there * set imagePullPolicy to IfNotPresent * adjust docker org and tag * make builds work with centos 7, also revise build script to include param for architecture * adjust image list for centos 7 * Improvements in vulnerability checking (#8) * Fix install of swag Go now uses `go install` instead of `go get` to install packages to the local machine * replace docs module appropriately * Configure dependabot Introduce a basic dependabot.yaml to check for updates both in the project root for npm and in the backend directory (src/jetstream) for go * Include website and electron projects in dependabot * Fix the CVEs in the jetstream backend (#12) * Delete grufty go.sum, gut go.mod entirely and refresh dependencies * add back some dependencies needed for tests to run; update return values of methods using go-sqlmock to use pointers * Fix backend unit tests (also code quality improvements) (#15) * Fix backend unit tests - Ensure int value is formatted as such - This was causing the backend unit tests to fail, possibly by dependency change * Replace ioutil usage and decapitalize error strings * Change receiver to be a pointer in order for assignment to persist If the receiver is not pointer, the struct is copied and the assignment `r.sent = true` has no effect because r will be discarded after the function returns. --------- Co-authored-by: Richard Cox <[email protected]> * Theme Builder: Cast types (#16) In this case, `prjMetadata.root` is an untyped JSON result (that is, it can be object, array, number, etc.), but FS.copySync needs to take a string; do an explicit cast here to make TypeScript happy. Signed-off-by: Mark Yen <[email protected]> Co-authored-by: Mark Yen <[email protected]> * Update required disk space (#17) Co-authored-by: Neil MacDougall <[email protected]> * Migrate to github.com/pressly/goose (#18) * Migrate to goose fork * Code quality improvements from go-staticcheck * Migrate migrations to github.com/pressly/goose --------- Co-authored-by: Ivan Kapelyukhin <[email protected]> * Move repository/interfaces to its own submodule: api (#19) * Delete grufty go.sum, gut go.mod entirely and refresh dependencies * add back some dependencies needed for tests to run; update return values of methods using go-sqlmock to use pointers * Update module structure * Small update of functions/imports to get latest version * Adjust to pointers for newer version of sqlmock * Remove ioutil, add new logic to actually get expiry claim from jwt * Move api into its own module * change all dependent code besides mock implementaions * Change mock implementations manually as no gomock command is documented * Moved and regenerated mock implementations This was donw with the commands `mockgen -source=api/auth.go > api/mock/mock_auth.go as well as `mockgen -source=repository/apikeys/apikeys.go > repository/apikeys/mock/mock_apikeys.go` after installing https://github.com/golang/mock with `go install github.com/golang/mock/[email protected]`. This tool however is archived and should be replaced with a fork. * Build and push base images on push to develop (#11) * Add action to build base images/push to ghcr.io * Upgrade go to 1.20.7 * set all docker related env variables to anynines/ghcr.io/centos7 * Add Helm support for local repos in desktop mode (#14) * Add Helm support for local repos in desktop mode * Join errors instead of returning just the second error * Implement all methods required by interface * Properly quote struct tags * Bubble up errors, don't just drop them * no longer use deprecated ioutil package, replace with os and io * Don't capitalize error messages * Remove formatting directives from string, parameters should be appended instead * Fix the CVEs in the jetstream backend (#12) * Delete grufty go.sum, gut go.mod entirely and refresh dependencies * add back some dependencies needed for tests to run; update return values of methods using go-sqlmock to use pointers * Fix backend unit tests (also code quality improvements) (#15) * Fix backend unit tests - Ensure int value is formatted as such - This was causing the backend unit tests to fail, possibly by dependency change * Replace ioutil usage and decapitalize error strings * Change receiver to be a pointer in order for assignment to persist If the receiver is not pointer, the struct is copied and the assignment `r.sent = true` has no effect because r will be discarded after the function returns. --------- Co-authored-by: Richard Cox <[email protected]> * Theme Builder: Cast types (#16) In this case, `prjMetadata.root` is an untyped JSON result (that is, it can be object, array, number, etc.), but FS.copySync needs to take a string; do an explicit cast here to make TypeScript happy. Signed-off-by: Mark Yen <[email protected]> Co-authored-by: Mark Yen <[email protected]> * Update required disk space (#17) Co-authored-by: Neil MacDougall <[email protected]> * Migrate to github.com/pressly/goose (#18) * Migrate to goose fork * Code quality improvements from go-staticcheck * Migrate migrations to github.com/pressly/goose --------- Co-authored-by: Ivan Kapelyukhin <[email protected]> * Move repository/interfaces to its own submodule: api (#19) * Delete grufty go.sum, gut go.mod entirely and refresh dependencies * add back some dependencies needed for tests to run; update return values of methods using go-sqlmock to use pointers * Update module structure * Small update of functions/imports to get latest version * Adjust to pointers for newer version of sqlmock * Remove ioutil, add new logic to actually get expiry claim from jwt * Move api into its own module * change all dependent code besides mock implementaions * Change mock implementations manually as no gomock command is documented * Moved and regenerated mock implementations This was donw with the commands `mockgen -source=api/auth.go > api/mock/mock_auth.go as well as `mockgen -source=repository/apikeys/apikeys.go > repository/apikeys/mock/mock_apikeys.go` after installing https://github.com/golang/mock with `go install github.com/golang/mock/[email protected]`. This tool however is archived and should be replaced with a fork. * Build and push base images on push to develop (#11) * Add action to build base images/push to ghcr.io * Upgrade go to 1.20.7 * set all docker related env variables to anynines/ghcr.io/centos7 * Add Helm support for local repos in desktop mode * Add github.com/pressly/goose --------- Signed-off-by: Mark Yen <[email protected]> Co-authored-by: Neil MacDougall <[email protected]> Co-authored-by: Richard Cox <[email protected]> Co-authored-by: Mark Yen <[email protected]> Co-authored-by: Neil MacDougall <[email protected]> Co-authored-by: Ivan Kapelyukhin <[email protected]> * Fix dependency for database migrations (#20) * Add github.com/pressly/goose * Tidy up go.mod and go.sum * Adapt cloudfoundry/stratos#4580: Update store references in core package to refer to @stratosui/store (#26) * Adapt cloudfoundry/stratos#4580 All references to the core package have been changed to refer to @stratosui/store. Some unnecessary newlines have been removed. The public API of @stratosui/store has been adjusted as to expose all the necessary functions. --------- Co-authored-by: Matthias Folz <[email protected]> * Fix database migrations by casting dialect correctly (#22) * Remove unnecessary ignored return value * change cast of dialect to pointer casts, so that they actually work * add Github Actions for Backend and Frontend Tests (#29) * add Github Actions for Backend and Frontend Tests * revert recently package-lock.json * Add script to help with building as packages and fix devkit and package info * Apply changes from cloudfoundry/stratos#4529 (#28) * Fix typo (#31) * Code quality improvements via `staticcheck` (#24) * Fix error messages They shouldn't end with punctuation or newlines and should not be capitalized * Merge variable declarations and assignments if they are on subsequent lines * General improvements according to staticcheck * Change expected error messages in tests * Tidy up go.mod/go.sum * Change error message texts in response bodies * tidy up github action workflow for backend tests to resolve wrong golang version during tests (#32) * Update to node v20 (#34) * Update to node v18 * Update to node v20 * Remove sass-lint and stratos-protractor-reporter (#37) These not very necessary dependencies caused transitive deps to minimist and underscore in versions with CVEs. * Apply changes from cloudfoundry/stratos#4583 (#33) * Upgrade code.cloudfoundry.org/cli to v8 (#42) * fix dependency issues to compile binary for CF * update go.mod/sum for jetstream * crteate extra_plugins.go also for backend tests * update kubernetes dependencies * Upgrade code.cloudfoundry.org/cli to 8.7.3; Remove push_actor wrapper since it is redundant; fix loggregator/logcache protobuf conflicts Co-authored-by: Matthias Folz <[email protected]> --------- Co-authored-by: Matthias Folz <[email protected]> Co-authored-by: Matthias Folz <[email protected]> * Cherry pick commit 69ac7dc from other branch; now works without any restrictions; original commit message: (#45) Apply patch from freudl/stratos#1 manually This results in a version that works, but only when run with GOLANG_PROTOBUF_REGISTRATION_CONFLICT=warn or compiled with -ldflags "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn" This has to be adressed with an update to the cf dependencies to at least version 9 * fix gogoproto related panic when retrieving logs upgrade github.com/cloudfoundry/noaa/consumer to 2.3.0 (#46) * Fix frontend CVEs (#40) * Update @angular/core via ng update to 11.2.14 * Upgrade @angular/cdk to 11.2.14 * Update @angular/cli to 11.2.14 * Update @angular/material to 11.2.14 * Update @ngrx/store to v11 * WIP: fix peer dependencies for angular 11 This commit does NOT compile, likely due to an error with the angular compiler and mismatched version. The next commit will upgrade all deps to angular 12 to remedy this. * Update @angular/core to v12 * Update @angular/cdk to v12 * Update @angular/material and @angular/flex-layout to v12, also @ngrx/store * Update @angular/cli to v12 * Update @angular-builders/custom-webpack to v12, replace @cfstratos/ajsf-material with original @ajsf/material * change custom SassHandler to handle new WebPack 5 Structure as well * Fix KnownKeys type issues for updated [email protected] * Remove debug logging * Remove overrides for angular upgrade * Upgrade to angular v13 * Upgrade to angular v14 * Remove references to @cfstratos/ajsf-material * Move code coverage to different tests * WIP: Fix tests, still a lot of warnings * discontinue use of karma-coverage-instanbul-reporter * Use @cypress/request where possible * Upgrade immer * Upgrade @types/karma * Update marked; change imports accordingly * Update immer; fix typing for api-request-reducers * update @swimlane/ngx-charts; fix type issues * Replace request with maintained fork * Add npm as engine requirement to make sure overrides work * Fix up lockfile * Formatting --------- Co-authored-by: Matthias Folz <[email protected]> Co-authored-by: Tim Meier <[email protected]> * feat: add errorz package to combine errors as enum in there (#47) * feat: add errorz package to combine errors as enum in there * feat: missed duplicated error * fix: not worked error checks * fix: not worked error checks * rename error package * applied JRA's suggestions * applied JRA's suggestions * fix error in test suite --------- Co-authored-by: Nedim Akar <[email protected]> Co-authored-by: Nedim Akar <[email protected]> Co-authored-by: Jan-Robin Aumann <[email protected]> * allow newer pgsql versions (#51) * feat: support for PostgreSQL 15 * feat: psql 15 integration --------- Co-authored-by: Nedim Akar <[email protected]> * Bump @babel/traverse from 7.23.0 to 7.23.6 (#83) Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.23.0 to 7.23.6. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.6/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump @adobe/css-tools from 4.3.1 to 4.3.2 (#77) Bumps [@adobe/css-tools](https://github.com/adobe/css-tools) from 4.3.1 to 4.3.2. - [Changelog](https://github.com/adobe/css-tools/blob/main/History.md) - [Commits](https://github.com/adobe/css-tools/commits) --- updated-dependencies: - dependency-name: "@adobe/css-tools" dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Release 4.5.1 (#130) * allow newer pgsql versions (#51) * feat: support for PostgreSQL 15 * feat: psql 15 integration --------- Co-authored-by: Nedim Akar <[email protected]> * Allow product name to be changed (#25) Co-authored-by: Neil MacDougall <[email protected]> * Initial support for CA Certificates for endpoints (#21) * Adapt "Initial support for CA Certificates for endpoints" * Add frontend changes for ca-certs * use correct attribute * fix pgsql tests by adding empty string for ca_cert * fix tests by adding the new columns "enabled" (tokens) and "cacert" (cnsis) in various locations for the test suite * implement requested changes * fix typo * update dependencies to address cves (#88) * upgrade golang/x/net to fix CVE-2023-39325 * address https://github.com/anynines/stratos/security/dependabot/170 * Address https://github.com/anynines/stratos/security/dependabot/323 * Address https://github.com/anynines/stratos/security/dependabot/321 * run go mod tidy * run go mod tidy * Upgrade archiver for https://github.com/anynines/stratos/security/dependabot/320 * Upgrade archiver in main go.mod * Update golang/x libs everywhere, tidy up plugins/monocular module file * upgrade grpc again * Bump word-wrap from 1.2.3 to 1.2.4 in /electron (#9) Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4. - [Release notes](https://github.com/jonschlinkert/word-wrap/releases) - [Commits](jonschlinkert/word-wrap@1.2.3...1.2.4) --- updated-dependencies: - dependency-name: word-wrap dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Bump debug in /website (#41) Bumps and [debug](https://github.com/debug-js/debug). These dependencies needed to be updated together. Updates `debug` from 4.1.1 to 4.3.4 - [Release notes](https://github.com/debug-js/debug/releases) - [Commits](debug-js/debug@4.1.1...4.3.4) Updates `debug` from 3.2.6 to 4.3.4 - [Release notes](https://github.com/debug-js/debug/releases) - [Commits](debug-js/debug@4.1.1...4.3.4) --- updated-dependencies: - dependency-name: debug dependency-type: indirect - dependency-name: debug dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Deduplicate column names in tests (#75) * add samber/lo * add helper functions to datastore to centralize column name management * add test helper funtions to generate mock rows and predefined entities * switch tests over to helper functions * cover oauth tests as much as possible * add some more missing row addons * Fix columns * Switch CNSI tests over to actual cnsi records; also add expired tokens left out during first refactor * fix column name without underscore * Remove legacy GO111MODULE flag and update swag binary (#106) * Remove legacy GO111MODULE flag and update swag binary * Add fix for type resolution * INT-3729 - Stratos - Website: Update Docusaurus to nearest stable (#111) * Working 2.0.1 🎉 * Fix broken links * fix small mistake with sed * fix sed expression * fix indent * upgrade docusaurus to 2.4.3 (#112) * Upgrade to docusaurus v3 (#119) * Add 'all versions' to drop down * Upgrade versions to docusaurus v3 * Make the theme switcher button white * Properly escape the hint on commit signing * Add workarounds for v3 upgrade * fix indent * Add context on why workaround is necessary --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Nedim Akar <[email protected]> Co-authored-by: Nedim Akar <[email protected]> Co-authored-by: Matthias Folz <[email protected]> Co-authored-by: Neil MacDougall <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update container-push-base-images-develop.yaml (#135) Change the secrets to properly work with github package registry --------- Signed-off-by: Mark Yen <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Richard Cox <[email protected]> Co-authored-by: Mark Yen <[email protected]> Co-authored-by: Neil MacDougall <[email protected]> Co-authored-by: Ivan Kapelyukhin <[email protected]> Co-authored-by: Neil MacDougall <[email protected]> Co-authored-by: Matthias Folz <[email protected]> Co-authored-by: Matthias Folz <[email protected]> Co-authored-by: Tim Meier <[email protected]> Co-authored-by: Tim Meier <[email protected]> Co-authored-by: Nedim Akar <[email protected]> Co-authored-by: Nedim Akar <[email protected]> Co-authored-by: Nedim Akar <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Detailed Description
Binding operation in cloud foundry supports synchronous and asynchronous execution of the operation. Today Stratos UI does not support asynchronous mode and this requirement is about enhancing the UI to support asynchronous mode.
Context
Using asynchronous has many advantages which is why some of our service brokers use it not only for create/delete but also bind/unbind.
The cf cli supports asynchronous bindings already:
Binding in stratos
In Version 4.8.1 stratos supports binding of a service via UI as part of the service creation wizard. If the wizard is called out of the context of an application (In app detail view select "services", then press +) and if service, service plan selected match an existing service instance in the same space of the app the user can choose between create and bind. The binding action shall in case of asynchronous binding mode initiate the asynchronous binding and finish the dialogue. The progress of the provisioning of the asynchronous binding can be tracked from the "services" of the application or the overall services list.
In addition the user should get the option to bind the service from the context menu out of the service instance list (today only operations "edit", "unbind", "delete" are offered). If the create service wizard is reused it needs to jump right into step 4 "Service Instance", option "Bind to an existing service instance" shall be preselected, service name shall be filled with service name. If the user wants to provide additional binding parameters he needs to jump back and forth.
WARNING: Navigation with prev, next in the service creation wizard will reset settings of step 2 "service plan". This seems to be a bug.
Possible Implementation
Suggested behaviour of the UI
-- app details page>services>+ (create service instance wizard will start and offer bind if suitable service instance exists)
-- service list context menu>bind (new feature, should jump into wizard step 4 with values preselected)
Mock screen see here
The text was updated successfully, but these errors were encountered: