juku / ansible-manager Goto Github PK
View Code? Open in Web Editor NEWA ansible manager / server as an alternative to Ansible semaphore and ansible tower
License: Apache License 2.0
A ansible manager / server as an alternative to Ansible semaphore and ansible tower
License: Apache License 2.0
Currently the afterPropertiesSet() method is used in some importers.
But this was not designed for this purposes, so it also does not support transactions. The correct way is to use the ApplicationRunner
interface and use a list with Importers, which are ordered by Spring itself.
Add some functionality, so that the system can write some global or user-specific notifications to inform the users e.q. about the execution state of some tasks.
Describe the solution you'd like
The Frontend Service PermissionService
should load all user groups / roles and permissions from the backend. The AppComponent with the menu should only show these menu entries, where the user has the rights to see this pages. The others should be hidden. The menu permission check is already implemented partly (but with roles, instead of permissions).
Additional context
TBD.
Describe the solution you'd like
The ansible manager should be able to store and read global settings into / from the database, which includes flags or also the JWT password.
Especially the JWT token should be generated on first startup and stored into the database (this is not part of this ticket).
So there should be Spring Service which manages these global settings and other services can use this service to get global settings values
Describe alternatives you've considered
Acceptance Criteria
Required Permissions to use this feature
Additional context
There is already a branch called "spring_upgrade".
But Springfox Swagger has to be fixed.
The user and the system should be able to write comments to tasks or playbooks, to add some additional information.
To improve decoupling of feature modules, we should introduce Spring ModuleTests.
Acceptance Criteria:
Generate the Third-Party-License file:
https://www.mojohaus.org/license-maven-plugin/add-third-party-mojo.html
Every customer should be able to create, edit and delete multiple projects.
Projects and teams are independent, but teams can have specific permissions for specific projects.
Introduce ArchUnit.
Currently many newspaper write about the big log4j security leak, which allows Remote Code Execution.
We have to check, if out current used log4j version is also affected.
Additional information
Describe the bug
If you start the current Docker Frontend Image and browse the url in the browser, the login screen is incomplete, because some (all?) assets are missing
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The same login page as generated from ng serve
.
Desktop (please complete the following information):
Additional context
TBD.
Describe the solution you'd like
The administrator should be able to create, edit and delete teams.
Every team has a name, a description and team members, which can be added by username.
A team member can be a team owner (super-admin of the team), team administrator (which can add and remove team members to the same team, expect the owners) or a normal team member (which cannot manage the team in any way). The team administrator should be able to edit this type every time.
Acceptance Criteria
Additional context
Currently we have to create every API DTO on both sides: backend and frontend.
It would be a better idea, if we can generate the DTOs on frontend side with a maven plugin.
Describe the solution you'd like
After the login the user should see a dashboard with some useful information about the last executed and current jobs, their jobs and in particularly about all failed jobs, for which the user is responsible.
The goal is to get an overview of all responsible servers / clusters, the he althy state of the servers / jobs and what others in the same team(s) do at their work.
Also logs are relevant.
Minimum their should be these widgets:
Additional context
Currently the credentials menu is part of the admin menu. This should be changed, so that the credentials menu is an own menu entry on top layer.
Additional information:
All team members, not only the administrators, should be able to add SSH credentials for new servers, if they have the permissions to manage credentials.
Every execution plan / playbook should be a field "risk to damage" with the values "no risk", "low", "middle" and "high".
The purpose is, that staff people, which are unknown about the system, should know, if there is a risk, if they execute the playbook without knowing anything of them.
E.q. a task "Restart VPN client" should not have any risk - it restarts only a service. So everyone could try this playbook. Other task can reinstall / reconfigure some systems and have a higher risk.
Add a ready-to-use example docker-compose.yml to the ReadMe.
Is your feature request related to a problem? Please describe.
Currently the user of the application does not know the used version of the software and if the software is up to date.
These improves development also.
Describe the solution you'd like
We want to introduce a version information label in the left bottom menu corner, where the current backend version is shown (major.minor.micro version and git hash).
Only users with the permission to see this version should be able to see this version information on every page.
Acceptance Criteria
Required Permissions to use this feature
Additional context
There is already a ticket which implements the global settings #10 . With this ticket the administrator should be able to edit the global settings in the user interface (menu: administration).
Additional context:
Because this system is really critical (an attacker could do anything with the servers, if he gets the SSH keys), it is really important to have a detailed access log for every login.
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.