Developer PowerShell is a PowerShell profile that is optimized for development. It is a collection of scripts and configurations that are used to set up a development environment. The profile is designed to be used with the OctoMesh development environment.
Definitions and Concepts
- Main Repositories: All repositories that are the "core" of OctoMesh, currently all except Plugs and Sockets. They are connecting directly or indirectly to MongoDB directly.
- Main Services: The services of the main repositories
Here is a list of users that are needed for main services to connect to mongodb.
User | Default Password in dev environment | Comment |
---|
octo-system-admin | OctoAdmin1 | User for creating tenants and configuration tenant independent |
octo-system-ds-user-0 | OctoUser1 | User for the databases, 0 is the name of the database in MongoDB. |
PowerShell Commands
Repository Management
Command | Description |
---|
Invoke-CloneMainRepos | Clones all main repositories to your root directory. |
Sync-AllGitRepos | Pulls all repositories starting with octo-* . |
Sync-GitRepo | Pulls a repository from GitHub using the current directory by default or defining a parameter repositoryPath . |
Push-GitRepo | Pushes a repository to GitHub using the current directory by default or defining a parameter repositoryPath . |
Push-AllGitRepos | Pushes all repositories starting with octo-* . |
Get-AllGitRepStatus | Gets the status of all repositories starting with octo-* and mm-* |
Invoke-CleanAllGitRepos | Cleans all repositories starting with octo-* and mm-* . The force parameter is set to false by default. |
Submodule Management
Command | Description |
---|
Sync-AllSubmodules | Pulls all submodules of all repositories starting with octo-* . |
Sync-Submodule | Pulls all submodules of a repository from GitHub using the current directory by default or defining a parameter repositoryPath . |
Build Management
Command | Description |
---|
Invoke-Build | Builds a repository for .NET using the current directory by default or defining a parameter repositoryPath . |
Invoke-BuildAll | Builds all repositories starting with octo-* and a solution file (*.sln ). |
Invoke-Publish | Publishes the current directory by default or defining a parameter repositoryPath . Uses the configuration Release by default. |
Invoke-BuildFrontend | Builds the octo-frontend-admin-panel repository and reinstalls Node modules |
Invoke-BuildAndStartOcto | Builds all repositories and starts the main services. |
Remove-BinAndObjFolders | Recursively deletes bin and obj folders within the specified path . Default path is . ! |
Service Management
Command | Description |
---|
Start-Octo | Starts the main services. |
Infrastructure Management
For further information on the infrastructure management and requirements please refer to the infrastructure documentation
Command | Description |
---|
Install-OctoInfrastructure | Uses the Docker Compose file located at infrastructure to compose the infrastructure dependencies. |
Uninstall-OctoInfrastructure | Uninstalls the infrastructure dependencies by using the Docker Compose file at infrastructure. |
Start-OctoInfrastructure | Starts the infrastructure dependencies by using the Docker Compose file at infrastructure. |
Stop-OctoInfrastructure | Stops the infrastructure dependencies by using the Docker Compose file at infrastructure. |
Get-OctoInfrastructureStatus | Gets the status of containers by using the Docker Compose file at infrastructure. |
Invoke-KillDotnet | Windows only. Kills all dotnet processes. This is necessary to avoid file locks during build process. |
NuGet Package Management
Command | Description |
---|
Copy-NuGetPackages | Finds NuGet packages for version 999.0.0 and copies them to $NUGETPATH using the current directory by default or defining a parameter directory . |
Copy-AllNugetPackages | Scans all octo-* and mm-* directories for NuGet packages for version 999.0.0 and copies them to $NUGETPATH . |
Remove-GlobalNugetPackages | Removes in the global NuGet package folder ($GLOBALNUGETPACKAGESPATH ) all MeshMaker NuGet packages in version 999.0.0 . |
Sync-NugetPackages | Copies, removes globally, and restores NuGet packages. |
CLI Management
Command | Description |
---|
Invoke-OctoCliLoginLocal | Local login into the CLI. Default tenantId is meshtest . |
Invoke-OctoCliReconfigureLogLevel | Allows for reconfiguring of Log levels of Identity, AssetRepository, Bot, CommunicationController and AdminPanel. Required Paramters: loggerName , minLogLevel and maxLogLevel |
Invoke-SetDebugConfiguration | Sets the configuration for the admin panel to debug. Ensure that you have logged in to identity services Invoke-OctoCliLoginLocal |
Kubernetes Management
Command | Description |
---|
Join-KubeConfigs | Merges external Kubernetes configuration with existing ~/.kube/config file. externalKubeConfig parameter can be configured. |
Remove-KubeConfig | Removes Kubernetes configuration with required name parameter. |