91 lines
1.8 KiB
Markdown
91 lines
1.8 KiB
Markdown
# vnetod
|
|
|
|
Dotenv state switcher
|
|
|
|
You can create many states in your `.env` and switch between them.
|
|
|
|
Rules:
|
|
|
|
- State name starts on a new line with `###` symbols (Ex. `### local`)
|
|
- State name can contain multiple comma-separated sections (Ex.
|
|
`### local,staging`)
|
|
- Each section may specify a namespace (Ex. `### debug:on,dev:on`). If a section
|
|
doesn't contain a namespace, it's a global namespace.
|
|
- State ends if line is empty or contains a new state name.
|
|
|
|
You can see the [full example].
|
|
|
|
[full example]: https://git.pleshevski.ru/pleshevskiy/vnetod/src/branch/main/.env.example
|
|
|
|
# Usage
|
|
|
|
Basic usage
|
|
|
|
```sh
|
|
cp .env.example .env
|
|
vnetod local # enable local section
|
|
vnetod staging # enable staging section
|
|
vnetod local debug # enable local and debug sections
|
|
vnetod # disable all sections
|
|
```
|
|
|
|
This tool uses `.env` from your current location, but you can change this
|
|
behavior with the `-f` (`--file`) flag.
|
|
|
|
```sh
|
|
cp .env.example .env.properties
|
|
vnetod .env.properties local
|
|
```
|
|
|
|
And you can also change the output file with the `-o` (`--output`) flag, if you
|
|
don't want to overwrite the input file.
|
|
|
|
```sh
|
|
vnetod -f .env.example -o .env local
|
|
```
|
|
|
|
You can also use variables from namespaces
|
|
|
|
```sh
|
|
vnetod db:staging debug:off
|
|
```
|
|
|
|
You can switch between states and overwrite from namespaces at the same time.
|
|
|
|
```sh
|
|
vnetod local db:staging debug:off
|
|
```
|
|
|
|
For more information, see the help.
|
|
|
|
```sh
|
|
vnetod --help
|
|
```
|
|
|
|
# Install
|
|
|
|
## Cargo
|
|
|
|
```sh
|
|
cargo install vnetod
|
|
```
|
|
|
|
## Docker
|
|
|
|
```sh
|
|
docker run --rm -it -v $PWD:/data pleshevskiy/vnetod --help
|
|
```
|
|
|
|
## Nix
|
|
|
|
```sh
|
|
nix run git+https://git.pleshevski.ru/pleshevskiy/vnetod -- --help
|
|
```
|
|
|
|
# License
|
|
|
|
GNU General Public License v3.0 or later
|
|
|
|
See [COPYING](./COPYING) to see the full text.
|
|
|
|
[COPYING]: https://git.pleshevski.ru/pleshevskiy/vnetod/src/branch/main/COPYING
|