Giter Club home page Giter Club logo

prl-devops-service's Introduction

Parallels Desktop DevOps Service

License: Fair Source Build Publish discord

Description

This service is a wrapper for the Parallels Desktop DevOps Service. It allows you to start, stop, pause, resume, and reset a virtual machine. It also allows you to get the status of a virtual machine.

Licensing

You can use the service for free with up to 10 users, without needing any Parallels Desktop Business license. However, if you want to continue using the service beyond 10 users, you will need to purchase a Parallels Desktop Business license. The good news is that no extra license is required for this service once you have purchased the Parallels Desktop Business license.

Documentation

The project documentation, including examples and quickstarts, can be found here.

Contributing

If you want to contribute to this project, please read the contributing guidelines.

prl-devops-service's People

Contributors

alevlasu avatar cjlapao avatar dependabot[bot] avatar github-actions[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

prl-devops-service's Issues

Add Simple Reverse Proxy

For automation we will need a way to forward traffic from the remote host to a single VM
This can be either tcp or HTTP traffic.

We need to integrate a simple package forwarder to tackle this issue

Rename project to prl-devops-service

The project started as pd-api-service but it since evolved to a larger project with a bigger scope and therefore we decided to rename it. the new name will be prl-devops-service and the exec will be prldevops

[BUG] Wrong search path for dependencies and repeated lines in logs

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

2024-02-12T18:55:43+04:00 No configuration file found

2024-02-12T18:55:43+04:00 Getting brew executable
2024-02-12T18:55:43+04:00 Brew found at: /usr/local/bin/packer  ### Wrong path to brew

2024-02-12T18:55:43+04:00 Getting brew executable                    ### Same lines printed twice
2024-02-12T18:55:43+04:00 Brew found at: /usr/local/bin/packer 

2024-02-12T18:55:43+04:00 Getting Git executable
2024-02-12T18:55:43+04:00 Git found at: /usr/bin/git

2024-02-12T18:55:43+04:00 Getting packer executable
2024-02-12T18:55:43+04:00 Packer found at: /usr/local/bin/packer # Wrong path to brew

2024-02-12T18:55:43+04:00 Getting vagrant executable
2024-02-12T18:55:43+04:00 Vagrant executable not found, trying to find it in the default locations
2024-02-12T18:55:43+04:00 Vagrant executable not found, trying to install it
2024-02-12T18:55:43+04:00 Running without support for Vagrant    ### What went wrong?

2024-02-12T18:55:43+04:00 Getting prlctl executable
2024-02-12T18:55:43+04:00 Parallels Desktop CLI found at: /usr/local/bin/prlctl

2024-02-12T18:55:43+04:00 [Database] Loading database from /Users/mbystrov/.parallels-api-service/data.json
2024-02-12T18:55:43+04:00 [Database] Database file does not exist, creating new file
2024-02-12T18:55:43+04:00 [Database] Database file is empty, creating new file   
2024-02-12T18:55:43+04:00 Running as mbystrov, using /Users/mbystrov/.parallels-api-service/data.json file
2024-02-12T18:55:52+04:00 Ubuntu 23.04 template added
2024-02-12T18:55:52+04:00 Kali Linux 2023.3 template added
2024-02-12T18:55:52+04:00 Kali Linux 2023.3 template added       ### Same line printed twice

Expected Behavior

  1. The lines should not be repeated.
  2. The program finds packer instead of brew.
  3. Should we elaborate on the reason why we couldn't install Vagrant?

DevOps Service version

0.4.5

Relevant log output

2024-02-12T20:44:21+04:00 Loading configuration from config.yaml
2024-02-12T20:44:21+04:00 Getting brew executable
2024-02-12T20:44:21+04:00 Brew found at: /usr/local/bin/packer
2024-02-12T20:44:21+04:00 Getting brew executable
2024-02-12T20:44:21+04:00 Brew found at: /usr/local/bin/packer
2024-02-12T20:44:21+04:00 Getting Git executable
2024-02-12T20:44:21+04:00 Git found at: /usr/bin/git
2024-02-12T20:44:21+04:00 Getting packer executable
2024-02-12T20:44:21+04:00 Packer found at: /usr/local/bin/packer
2024-02-12T20:44:21+04:00 Getting vagrant executable
2024-02-12T20:44:21+04:00 Vagrant executable not found, trying to find it in the default locations
2024-02-12T20:44:21+04:00 Vagrant executable not found, trying to install it
2024-02-12T20:44:21+04:00 Running without support for Vagrant
2024-02-12T20:44:21+04:00 Getting prlctl executable
2024-02-12T20:44:21+04:00 Parallels Desktop CLI found at: /usr/local/bin/prlctl
2024-02-12T20:44:21+04:00 [Database] Loading database from /Users/mbystrov/.parallels-api-service/data.json
2024-02-12T20:44:21+04:00 [Database] Database file is not empty, loading data
2024-02-12T20:44:21+04:00 [Database] Connecting to database /Users/mbystrov/.parallels-api-service/data.json
2024-02-12T20:44:21+04:00 Running as mbystrov, using /Users/mbystrov/.parallels-api-service/data.json file
2024-02-12T20:44:21+04:00 [Database] Connecting to database /Users/mbystrov/.parallels-api-service/data.json
2024-02-12T20:44:21+04:00 Claim already exists: READ_ONLY
2024-02-12T20:44:21+04:00 Claim already exists: CREATE
2024-02-12T20:44:21+04:00 Claim already exists: DELETE
2024-02-12T20:44:21+04:00 Claim already exists: UPDATE
2024-02-12T20:44:21+04:00 Claim already exists: LIST
2024-02-12T20:44:21+04:00 Claim already exists: LIST_USER
2024-02-12T20:44:21+04:00 Claim already exists: CREATE_USER
2024-02-12T20:44:21+04:00 Claim already exists: DELETE_USER
2024-02-12T20:44:21+04:00 Claim already exists: UPDATE_USER
2024-02-12T20:44:21+04:00 Claim already exists: LIST_API_KEY
2024-02-12T20:44:21+04:00 Claim already exists: CREATE_API_KEY
2024-02-12T20:44:21+04:00 Claim already exists: DELETE_API_KEY
2024-02-12T20:44:21+04:00 Claim already exists: UPDATE_API_KEY
2024-02-12T20:44:21+04:00 Claim already exists: LIST_CLAIM
2024-02-12T20:44:21+04:00 Claim already exists: CREATE_CLAIM
2024-02-12T20:44:21+04:00 Claim already exists: DELETE_CLAIM
2024-02-12T20:44:21+04:00 Claim already exists: UPDATE_CLAIM
2024-02-12T20:44:21+04:00 Claim already exists: LIST_ROLE
2024-02-12T20:44:21+04:00 Claim already exists: CREATE_ROLE
2024-02-12T20:44:21+04:00 Claim already exists: DELETE_ROLE
2024-02-12T20:44:21+04:00 Claim already exists: UPDATE_ROLE
2024-02-12T20:44:21+04:00 Claim already exists: CREATE_VM
2024-02-12T20:44:21+04:00 Claim already exists: DELETE_VM
2024-02-12T20:44:21+04:00 Claim already exists: LIST_VM
2024-02-12T20:44:21+04:00 Claim already exists: UPDATE_VM_STATES
2024-02-12T20:44:21+04:00 Claim already exists: UPDATE_VM
2024-02-12T20:44:21+04:00 Claim already exists: EXECUTE_COMMAND_VM
2024-02-12T20:44:21+04:00 Claim already exists: CREATE_PACKER_TEMPLATE
2024-02-12T20:44:21+04:00 Claim already exists: DELETE_PACKER_TEMPLATE
2024-02-12T20:44:21+04:00 Claim already exists: LIST_PACKER_TEMPLATE
2024-02-12T20:44:21+04:00 Claim already exists: UPDATE_PACKER_TEMPLATE
2024-02-12T20:44:21+04:00 Claim already exists: CREATE_CATALOG_MANIFEST
2024-02-12T20:44:21+04:00 Claim already exists: DELETE_CATALOG_MANIFEST
2024-02-12T20:44:21+04:00 Claim already exists: LIST_CATALOG_MANIFEST
2024-02-12T20:44:21+04:00 Claim already exists: UPDATE_CATALOG_MANIFEST
2024-02-12T20:44:21+04:00 Claim already exists: PULL_CATALOG_MANIFEST
2024-02-12T20:44:21+04:00 Claim already exists: PUSH_CATALOG_MANIFEST
2024-02-12T20:44:21+04:00 Claim already exists: IMPORT_CATALOG_MANIFEST
2024-02-12T20:44:21+04:00 [Database] Disconnecting from database
2024-02-12T20:44:21+04:00 [Database] Connecting to database /Users/mbystrov/.parallels-api-service/data.json
2024-02-12T20:44:21+04:00 Role already exists: USER
2024-02-12T20:44:21+04:00 Role already exists: SUPER_USER
2024-02-12T20:44:21+04:00 [Database] Disconnecting from database
2024-02-12T20:44:21+04:00 [Database] Connecting to database /Users/mbystrov/.parallels-api-service/data.json
2024-02-12T20:44:21+04:00 [Database] Connecting to database /Users/mbystrov/.parallels-api-service/data.json
2024-02-12T20:44:21+04:00 No security key found, database will be unencrypted
2024-02-12T20:44:21+04:00 Running with user mbystrov
2024-02-12T20:44:21+04:00 Adding Swagger support
2024-02-12T20:44:21+04:00 Registering version v1 Authorization handlers
2024-02-12T20:44:21+04:00 Registering version v1 Users handlers
2024-02-12T20:44:21+04:00 Registering version v1 ApiKeys handlers
2024-02-12T20:44:21+04:00 Registering version v1 Claims handlers
2024-02-12T20:44:21+04:00 Registering version v1 Roles handlers
2024-02-12T20:44:21+04:00 Registering version v1 Catalog Manifests handlers
2024-02-12T20:44:21+04:00 Registering version v1 packer template handlers
2024-02-12T20:44:21+04:00 Registering version v1 virtual machine handlers
2024-02-12T20:44:21+04:00 Registering version v1 config handlers
2024-02-12T20:44:21+04:00 Registering version v1 Claims handlers
2024-02-12T20:44:21+04:00 Starting Parallels Desktop DevOps Service Go Rest API 0.4.5
2024-02-12T20:44:21+04:00 Api listening on http://::5570/api
2024-02-12T20:44:21+04:00 Finished Initiating http server

Steps To Reproduce

  1. MacOS x86
  2. with default config
  3. Run ./pd-api-service

Anything else?

No response

Validation

  • Yes, I've included all of the above information (Version, settings, logs, etc.)

[FEATURE] Add orchestrator functions to the command line

Is your feature request related to a problem? Please describe.

Most commands are available in the command line interface but not the orchestrator ones.
This should also be there

Describe the solution you'd like

Being able to add a host to the orchestrator using the command line

Describe alternatives you've considered

None

Additional context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.