tmobile / jazz Goto Github PK
View Code? Open in Web Editor NEWPlatform to develop and manage serverless applications at an enterprise scale!
Home Page: https://www.youtube.com/watch?v=KZxvqTZiUQI
License: Apache License 2.0
Platform to develop and manage serverless applications at an enterprise scale!
Home Page: https://www.youtube.com/watch?v=KZxvqTZiUQI
License: Apache License 2.0
[Description of the issue]
Jazz UI uses an older version of moment.js (<2.19.3). This version has been flagged to have a known (security vulnerability)[https://nvd.nist.gov/vuln/detail/CVE-2017-18214]
Expected behavior:
Actual behavior:
Reproduces how often:
100%
I see lodash has been used a lot where it can be avoided and JS native functions can used instead. Example would be _filter and _includes.
This is also being added to templates which should be discouraged
Using third party libraries can have their own problems
We should avoid them unless absolutely necessary.
So for filter and includes they are already available on lists/arrays and we should use them.
Users should be able to develop and deploy functions in python 3.X.
Jazz supports python 2.7 already.
Delete service doesn't send notifications to the service owner
Expected behavior:
Just like the service owner receives notifications for service created, service active, the platform should send a delete service notification
Actual behavior:
No notification is received by the user
Reproduces how often:
100%
Delete service API uses guid which is deprecated
This needs to be replaced with uuid
Our UI code currently depends on angular-cli 1.x, which has been deprecated, current version is 7.x.
This leads to several errors and deprecation warnings during install (see tmobile/jazz-installer#396), and could become a security issue.
Need to keep our dependencies updated.
After successfully deleting a website service, the user is unable to create a new service with the same name and domain as the previously deleted service. However, a bitbucket repository for the service is made, and upon attempted creation, the app indicates to the user that service creation has succeeded.
Expected behavior: [What you expect to happen]
After the original service has been deleted, the new user should be able to recreate a new service with the same name values without any problem. The service should appear on the user's services portal.
Actual behavior: [What actually happens]
App states service was created, but no website link is provided and the service does not appear on the user's table.
[An error is generated when I try to install jazz framework. When I run the installation process, after providing Jenkins details and credentials throws a critical error as follows:
Traceback (most recent call last):
File "./run.py", line 86, in
if check_jenkins_user(jenkinsServerELB, jenkinsuser, jenkinspasswd):
File "./run.py", line 50, in check_jenkins_user
os.remove('jenkins-cli.jar')
OSError: [Errno 2] No such file or directory: 'jenkins-cli.jar'
Can you help me define what this error means and why it is shown? Also I was unable to find a documentation to help us through the possible errors during the installation, Please help me out in this regard along with this issue's resolution if you can.
]
Expected behavior: [Go to next step of installation]
Actual behavior: [Threw an OS error]
Reproduces how often: [It never went past it even after multiple tries with difference details and credentials]
I have setup a Jenkins server with an instance as specified in jazz installation guide in github wiki. I tested it and it works without any problem.
I opened the run.py to investigate and tried changing the hard coded port number but still no change.
Do ask me for any details you want in extra
Pre-release of v1.3 seems to have functional issues post-installation. The core issue is with platform services that seem to fail in no specific order.
Expected behavior: [What you expect to happen]
The desired service is created as expected.
Actual behavior: [What actually happens]
The login and/or service creation fails
Reproduces how often: [What percentage of the time does it reproduce?]
Most of the times
When a API service is created with uppercase, then delete service fail. Looks like the delete service is case sensitive to the API name when deleting. This is happening in v1.1.3 branch.
Expected behavior:
Deletion should not fail.
Actual behavior:
Delete service of API created using case sensitive name fails.
Reproduces how often:
100%
Travis builds fail with message - 'No Rakefile found' even if the language is set as node_js in travis.yml
Expected behavior:
Travis build should be marked as green if the corresponding tests pass as configured in https://github.com/tmobile/jazz/blob/master/.travis.yml
Actual behavior:
Unit tests are not getting triggered even if configured in travis.yml. Travis fails to identify that the language is node_js. This could be because Travis could not find .travis.yml during build phase and then defaults to ruby for the build language. Since rake is not configured as part of the pre-build step here, every build fails with error - 'No Rakefile found'.
Reproduces how often:
100% reproducible
All repositories are getting created as public by default.
Expected behavior:
The repositories should prompt for user credentials to view code
Actual behavior:
All repositories are accessible w/o login
Reproduces how often:
100%
Allow developers to create website with React+Redux setup using the template.
During install, admin user is created by default. When new users register and create their services, the admin dashboard now shows all other user services.
Expected behavior:
Admin dashboard shouldn't show other user services
Actual behavior:
Admin dashboard shows other user services
Reproduces how often:
100%
Service description is being ignored when creating a service
Expected behavior:
When I click on service that I created, the service description should match what the user specified
Actual behavior:
Generic service description ("{namespace} - {servicename}" is available
Reproduces how often:
100%
Websites with svg files cannot render using Jazz services
Expected behavior:
Page renders the image
Actual behavior:
Missing image icon rendered by browser
Reproduces how often:
100%
Currently, there are no restrictions on length for service name & namespace during service creation. We have many internal components (s3 buckets, cloudfront distributions, api paths etc.) that will rely on these two user supplied values. If the user attempts to create services with longer names, some of the internal workflows (bucket/cloudfront creation) might fail during deployment/provisioning time. We can enhance the user experience if we can either detect these during service creation or apply restrictions on the length of these values (we already have restrictions on characters that we can use for service name & namespace). Observed the issue during website creation but similar issues can be reproduced for other service types.
If Jazz admin enables dedicated S3 bucket per service, similar error can be reproduced during bucket creation (maximum length allowed for bucket names = 63 characters. Ref: https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html)
Expected behavior:
Actual behavior:
Service gets created successfully but the first deployment fails with message similar to the above.
Reproduces how often:
Always
Additional notes
UI & underlying API should not allow user to use longer values for service names & namespace. Define a maximum limit for the length on these values.
Deletion of API fails if the API getting deleted is the last one
Expected behavior:
All the API created should get deleted
Actual behavior:
The last API created is not getting delete
Reproduces how often:
Can be reproduce.
Jazz UI bypasses password policy and accepts 7 characters password during registration and triggers the registration flow(even though the UI highlights 8 characters policy).
Expected behavior: Disable the register button unless password policy validation succeeds.
Actual behavior: New users can register even with password policy violation
Reproduces how often: Always
Can you reprodue this issue on our demo site? If you can, please share your service as well as namespace to help us quickly troubleshoot the issue.
Currently all/most Jazz configuration is driven by a JSON file that is checked into whatever configured Git repo we have at install time.
If anyone or anything wants to programmatically update this config file after install time, knowledge of the specific Git URL, file path, git credentials, config file format, and other things are required.
Our forays into feature installers in jazz-installer are starting to point this area out as a weak spot, every feature installer needs to collect that information.
It seems as if this is pointing us to a logical extension point: Some sort of core function API that allows you to programmatically update Jazz config dynamically, either by updating that config file in the repo behind the scenes, or by some other method.
Service creation for API/lambda using python fails for scenario 2 & 3
Expected behavior:
Service gets created successfully
Actual behavior:
Service is never created
Reproduces how often:
100%
After the user installs a service and invokes it, no logs are visible within the Jazz UI. Refresh of the page also doesn't update the logs view.
Currently Jenkins jobs take the auth token from the logged in user as a parameter.
is-service-available checks for services using SCM (bitbucket in this case). This can issues where a repo hasn't been created yet and another user checks for the same combination.
A few unit tests are broken in the logs microservice (referenced in this forked repo: suryajak@6b5afc0) which will need to be fixed once this is merged to master.
Expected behavior: [What you expect to happen]
Tests should pass
Actual behavior: [What actually happens]
Tests fail
Reproduces how often: [What percentage of the time does it reproduce?]
100%
Please provide a way to attach Lambda authorizer for an api. Maybe in deployment-env.yml or swagger.json. If we attach authorizer manually to an api then it gets removed every time when we do a new deployment for that api.
Please guide me to documentation if this feature already exists.
Sounds like a cool new feature which was long missing but essential for real application development - Perfect for packaging and deploying Jazz reusable pieces like logger, config and other utility modules (literally everything from components folder in Jazz). Also supports versioning
Current implementation of logs feature using Elastic Search managed service is apparently very expensive. Found that just 5 days of Jazz usage bumped up the cost to 5+K INR and the Elastic Search instance itself took more than 65% of the total costs.
Need a smarter and cost-effective solution for Logs feature as this can become a showstopper.
This sounds like a limitation that Jazz should be installed in the same account where the User services should be eventually deployed. It would be nice if the deployment target (The account where the User Services are deployed) is a configurable and Jazz allows deployment to a different account, not necessarily the same account.
Lambda based cron jobs aren't getting executed at the requested time intervals
Expected behavior:
Lambda gets executed at the desired interval
Actual behavior:
Lambda isn't getting invoked at the desired interval
Reproduces how often: [What percentage of the time does it reproduce?]
100%
Automated build and deployment for Jazz website is not available. Currently users have to go through manual steps and figure out how to build and deploy changes made to Jazz website
When checking dev/platform/is-service-available for an existing service with proper domain and service_name credentials; the output will indicate service doesn't exist if the service_name isn't all lowercase.
Expected behavior: [What you expect to happen]
Actual behavior: [What actually happens]
Users should be able to develop and deploy functions in Go & deploy them to specific deployment targets.
we are bean using the JAZZ to build our services for a long time and we have successfully created more than 30 services till now which are working great.
we have installed it on AWS instance ( I1 ) and now we would like to migrate this to a different Instance ( I2 ) of another AWS account.
Can we migrate all the 30 plus services without recreating them or using the existing repositories?
I have a website built using hugo. In that website for the redirection to work, I need to add a custom lambda to it. Right now I have to add it manually to the cloud front behavior. So every time the site gets redeployed, the lambda function associated with it gets cleared.
So an option to add the custom lambda from deployment file would be really helpful.
Expand the default .gitignore for Java projects. Consider these entries:
https://github.com/github/gitignore/blob/master/Java.gitignore
Expected behavior: *.class and other ignorable files are ignored
Actual behavior: *.class and other ignorable files are not ignored
Reproduces how often: Every time
Deleted services show up on Jazz UI
Expected behavior: [What you expect to happen]
Deleted services (inactive) do not show up on the UI
Actual behavior: [What actually happens]
Deleted services (inactive) show up on the UI
Reproduces how often: [What percentage of the time does it reproduce?]
All the time
Can you reprodue this issue on our demo site? If you can, please share your service as well as namespace to help us quickly troubleshoot the issue.
Yes. Namespace: suryajtest Service: test-delete
Jazz UI code isn't available for development and contribution
Expected behavior: [What you expect to happen]
Source code is available for making code changes
Actual behavior: [What actually happens]
No source code available for UI changes
Reproduces how often: [What percentage of the time does it reproduce?]
100%
Have you read Jazz's Code of Conduct? By filing an Issue, you are expected to comply with it, including treating everyone with respect: https://github.com/tmobile/jazz/blob/master/CODE_OF_CONDUCT.md
Do you want to ask a question? Are you looking for support? Connect with us on Slack to get help.
User email validation during login seems to fail when the email address has an upper case character.
Expected behavior: Client side validation for email address should pass
Actual behavior: User sees an error "Please enter a valid email"
Reproduces how often: 100%
Can you reprodue this issue on our demo site? If you can, please share your service as well as namespace to help us quickly troubleshoot the issue.
Stack admin cannot login into their configured SCM (Bitbucket or Gitlab) using their Jazz credentials.
Expected behavior:
Actual behavior:
Reproduces how often:
100%
Upon registering for a new account and verifying the email, the new user is unable to login to the app and an alert shows that the user does not exist. Login is most likely case-sensitive and only accepting emails in all lowercase, a user entering credentials any other way will encounter this issue.
Expected behavior: [What you expect to happen]
The user should be forwarded to services portal after successful login
Actual behavior: [What actually happens]
If username isn't in all lower case, the user is rejected and popup states user doesn't exist
Jazz admin cannot create any new services when using scenario 3 (Gitlab)
Expected behavior:
Actual behavior:
Reproduces how often:
100%
Users receive error emails during Website delete which is then followed by success email
Expected behavior:
Get confirmation email about successful deletion of the service
Actual behavior:
Users get an email with subject "Jazz Service Deletion Notification" with the following body:
Service deletion FAILED for service : {service name }in the namespace : {namespace}
For more details, please click this link: {link to logs}
Reproduces how often:
With the above steps, it reproduces 100% of the time
Currently there is if else condition to check for SCM type which is very specific.
The code needs to be improved to handle different SCM types more generically which can handle bitbucket, gitlab, github, etc by importing different modules based on scmTypes as shown below
Here I am following convention to define objects keys and the files to make my code flexible.
function(scmType) {
const scmTypes = {
'default': require('./defaultSCM'),
[scmType]: require(./${scmType}
)
};
try {
scmTypes[scmType]();
} catch(ex) {
console.log(ex);
scmTypes['default']();
}
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.