# README
compose-to-intellij
Command line application to convert Docker Compose environment variables to IntelliJ format. |
Intro
compose-to-intellij
converts environment variables configured in compose files to the string
format used by iDEA products such as IntelliJ
or WebStorm
. Compose environment variables are set using the
environment
key as part of service
declarations. compose-to-intellij
will output an IntelliJ
environment
variable string for each service
configured in thecompose
file. Optional arguments of compose service names can be
passed to filter the output.
Contents
Installation
compose-to-intellij
can be installed either with Homebrew, built from source, or downloaded from
GitHub as a GitHub release asset.
Homebrew
compose-to-intellij
can be installed with Homebrew
either by tapping j-r-oliver/tools
and then installing the formulae
...
brew tap j-r-oliver/tools
brew install compose-to-intellij
...or installing directly from the tap.
brew install j-r-oliver/tools/compose-to-intellij
From Source
To start clone
the repository to your local machine. The following command will build a native executable and output
it to /dist
:
go build -o dist/compose-to-intellij cmd/compose-to-intellij/main.go
Arguments
Optional arguments can be passed after any options to filter the output. These arguments should match the service
keys defined in the compose
file. For Example:
compose-to-intellij application database
Options
compose-to-intellij
has a handful of options. These options can be used to override the defaults that have been
provided. For example:
compose-to-intellij -i ./build/docker-compose.build.yaml
Command Line Options
The following command line options are available for configuration:
Option | Default | Description |
---|---|---|
-i, --input <input> | ./openapi-validator-report.json | filepath for docker-compose YAML file |
-v, --version | output the version number | |
-h, --help | display help for command |
Local Development
Prerequisites
To install and modify this project you will need to have:
Installation
To start, please fork
and clone
the repository to your local machine.
Testing
All tests have been written using the testing package from the Standard library. To run the tests execute:
go test -v ./...
Code coverage is also measured by using the testing
package. To run tests with coverage execute:
go test -coverprofile=coverage.out ./...
Conventional Commits
This project uses the Conventional Commits specification for commit messages. The specification provides a simple rule set for creating commit messages, documenting features, fixes, and breaking changes in commit messages.
A pre-commit configuration file has been provided to automate commit linting. Ensure that pre-commit has been installed and execute...
pre-commit install
...to add a commit Git hook to your local machine.
An automated pipeline job has been configured to lint commit messages on a push.
GitHub Actions
A CI/CD pipeline has been created using GitHub Actions to automated tasks such as linting and testing.
Build Workflow
The build workflow handles integration tasks. This workflow consists of two jobs, Git
and Go
, that run in parallel. This workflow is triggered on a push to a branch.
Git
This job automates tasks relating to repository linting and enforcing best practices.
Go
This job automates Go
specific tasks.