Skip to content

Commit

Permalink
docs: update document
Browse files Browse the repository at this point in the history
  • Loading branch information
johnitvn committed Nov 24, 2024
1 parent 0747796 commit f91f498
Show file tree
Hide file tree
Showing 15 changed files with 475 additions and 56 deletions.
72 changes: 39 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,42 +10,50 @@
[![Contributors][contributors-shield]][contributors-url]
[![MIT License][license-shield]][license-url]

Development infrastructure projects monorepo. This repo containt prebuilt devcontainer images, devcontainer features, nx plugins.
Development infrastructure projects monorepo. This repo containt prebuilt devcontainer images, devcontainer features, docker images, nx plugins.

This project is mainly used internally within ebizbase projects but we have decided to share the entire source code of the project for the community to use and contribute.

## List of packages

### devcontainer features

| Name | Description|
| ---------- | ---------- |
| [omz-plugin][omz-plugin-readme] | This feature will install and active plugins for oh my zsh |
| [install-npm-package-globally][install-npm-package-globally-readme] | This feature will be install npm packages globally |
| [powerlevel10k][powerlevel10k-readme] | This feature will install, activate and config powerlevel10k theme for oh my zsh |
| [npm-playwright][npm-playwright-readme] | This feature will be install playwright via npm with os dependencies and browser binaries |
| Name | Description |
| ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
| [omz-plugin][omz-plugin-readme] | This feature will install and active plugins for oh my zsh |
| [install-npm-package-globally][install-npm-package-globally-readme] | This feature will be install npm packages globally |
| [powerlevel10k][powerlevel10k-readme] | This feature will install, activate and config powerlevel10k theme for oh my zsh |
| [npm-playwright][npm-playwright-readme] | This feature will be install playwright via npm with os dependencies and browser binaries |

### devcontainer images

### devconainer images
| Name | Description |
| ----------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [base-devcontainer][base-devcontainer-readme] | The [`base-devcontainer`][base-devcontainer-readme] is a prebuild devcontainer image base on debian with common-utils and provide good experiences interacting with the zsh shell |
| [node-devcontainer][node-devcontainer-readme] | The image base on [`base-devcontainer`][base-devcontainer-readme] with latest NodeJS LTS version (includes npm, pnpm, yarn, bun) |
| [node-dind-devcontainer][node-dind-devcontainer-readme] | The image base on [`node-devcontainer`][node-devcontainer-readme] with docker in docker |
| [node-dind-playwright-devcontainer][node-dind-playwright-devcontainer-readme] | The image base on [`node-dind-devcontainer`][node-dind-devcontainer-readme] with playwright installed (both OS dependencies and browser binary) |
| [node-playwright-devcontainer][node-playwright-devcontainer-readme] | The image base on [`node-devcontainer`][node-devcontainer-readme] with playwright installed (both OS dependencies and browser binary) |

| Name | Description|
| ---------- | ---------- |
| [base-devcontainer][base-devcontainer-readme] | The `base-devcontainer` is a prebuild devcontainer image base on debian with common-utils and provide good experiences interacting with the zsh shell |
| [node-devcontainer][node-devcontainer-readme] | The image base on `base-devcontainer` with latest NodeJS LTS version (includes npm, pnpm, yarn, bun) |
| [node-dind-devcontainer][node-dind-devcontainer-readme] |The image base on `node-devcontainer` with docker in docker |
| [node-dind-playwright-devcontainer][node-dind-playwright-devcontainer-readme] |The image base on `node-dind-devcontainer` with playwright installed (both OS dependencies and browser binary) |
[node-playwright-devcontainer][node-playwright-devcontainer-readme] |The image base on `node-devcontainer` with playwright installed (both OS dependencies and browser binary) |
### docker images

| Name | Description |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [node-distroless][node-distroless-readme] | This image combines the compactness and security of distroless with the convenience of dumb-init for process management, making Node.js applications run more stably in a container environment. |
| [nginx-spa][node-distroless-readme] | This docker image can be used for single page apps. It serves your index.html if no other file matches. |

### npm packages
| Name | Description|
| ---------- | ---------- |
| [nx-devkit][nx-devkit-readme] | It contains many utility functions for interactive with nx workspace and projects |

| Name | Description |
| ----------------------------- | --------------------------------------------------------------------------------- |
| [nx-devkit][nx-devkit-readme] | It contains many utility functions for interactive with nx workspace and projects |

### nx plugins
| Name | Description|
| ---------- | ---------- |
| [nx-docker][nx-docker-readme] | The NX plugin to build and push docker image
| [nx-dive][nx-dive-readme] | The NX plugin exploring a docker image, layer contents, and discovering ways to shrink the size of your Docker/OCI image base on [dive](https://github.com/wagoodman/dive)

| Name | Description |
| ----------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [nx-docker][nx-docker-readme] | The NX plugin to build and push docker image |
| [nx-dive][nx-dive-readme] | The NX plugin exploring a docker image, layer contents, and discovering ways to shrink the size of your Docker/OCI image base on [dive](https://github.com/wagoodman/dive) |

<p align="right">(<a href="#readme-top">back to top</a>)</p>

Expand Down Expand Up @@ -81,19 +89,17 @@ Distributed under the MIT License. See [LICENSE][license-url] for more informati
[license-shield]: https://img.shields.io/github/license/ebizbase/dev-infras.svg
[license-url]: https://github.com/ebizbase/dev-infras/blob/main/LICENSE.txt
[contribution-guidelines-url]: https://github.com/ebizbase/dev-infras/blob/main/CONTRIBUTING.md
[npm-playwright-readme]:https://github.com/ebizbase/dev-infras/blob/main/devcontainer-features/npm-playwright/README.md
[npm-playwright-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-features/npm-playwright/README.md
[omz-plugin-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-features/omz-plugin/README.md
[install-npm-package-globally-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-features/install-npm-package-globally/README.md
[powerlevel10k-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-features/powerlevel10k/README.md

[base-devcontainer-readme]:https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/base-devcontainer/README.md
[node-devcontainer-readme]:https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-devcontainer/README.md
[node-dind-devcontainer-readme]:https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-dind-devcontainer/README.md
[node-playwright-devcontainer-readme]:https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-playwright-devcontainer/README.md
[node-dind-playwright-devcontainer-readme]:https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-dind-playwright-devcontainer/README.md


[base-devcontainer-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/base-devcontainer/README.md
[node-devcontainer-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-devcontainer/README.md
[node-dind-devcontainer-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-dind-devcontainer/README.md
[node-playwright-devcontainer-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-playwright-devcontainer/README.md
[node-dind-playwright-devcontainer-readme]: https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/node-dind-playwright-devcontainer/README.md
[nx-devkit-readme]: https://github.com/ebizbase/dev-infras/blob/main/packages/nx-devkit/README.md

[nx-docker-readme]: https://github.com/ebizbase/dev-infras/blob/main/packages/nx-docker/README.md
[nx-dive-readme]: https://github.com/ebizbase/dev-infras/blob/main/packages/nx-dive/README.md
[nx-dive-readme]: https://github.com/ebizbase/dev-infras/blob/main/packages/nx-dive/README.md
[node-distroless-readme]: https://github.com/ebizbase/dev-infras/blob/main/images/node-distroless/README.md
[nginx-spa-readme]: https://github.com/ebizbase/dev-infras/blob/main/images/nginx-spa/README.md
30 changes: 30 additions & 0 deletions devcontainer-features/install-npm-package-globally/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,33 @@ Install semver version
| Options Id | Description | Type | Default |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------- | ----- | ------- |
| packages | List of npm packages to install globally sparate by comma. We accept specific version with semver (eg 'typescript,nx@^20.0.12') | array | [] |

## Contributing

We welcome contributions! Fork the repo, create a pull request, or open an issue with the "enhancement" tag. See [Contribution Guidelines][contribution-guidelines-url] for details.

## Issues

If you encounter any issues while using this feature, please check the following before creating a new issue:
- Ensure your JSON configuration is correctly formatted. Refer to the Example Usage section for guidance.
- Verify package name and version is avaiable

If the issue persists, feel free to:

- Open an issue on the [GitHub issues page][issues-url]
- Provide detailed information, including:
- A description of the issue.
- Steps to reproduce the problem.
- Logs or error messages, if applicable.
- Your devcontainer setup (e.g., OS, DevContainer version).

Our team will review and address your issue as soon as possible. For faster resolution, ensure your report is clear and well-documented.


## License

Distributed under the MIT License. See [LICENSE][license-url] for more information.

[issues-url]: https://github.com/ebizbase/dev-infras/issues
[contribution-guidelines-url]: https://github.com/ebizbase/dev-infras/blob/main/CONTRIBUTING.md
[license-url]: https://github.com/ebizbase/dev-infras/blob/main/LICENSE.txt
32 changes: 31 additions & 1 deletion devcontainer-features/npm-playwright/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,34 @@ Install latest version
"features": {
"ghcr.io/ebizbase/devcontainer-features/npm-playwright:1": {}
}
```
```


## Contributing

We welcome contributions! Fork the repo, create a pull request, or open an issue with the "enhancement" tag. See [Contribution Guidelines][contribution-guidelines-url] for details.

## Issues

If you encounter any issues while using this feature, please check the following before creating a new issue:
- Ensure your JSON configuration is correctly formatted. Refer to the Example Usage section for guidance.

If the issue persists, feel free to:

- Open an issue on the [GitHub issues page][issues-url]
- Provide detailed information, including:
- A description of the issue.
- Steps to reproduce the problem.
- Logs or error messages, if applicable.
- Your devcontainer setup (e.g., OS, DevContainer version).

Our team will review and address your issue as soon as possible. For faster resolution, ensure your report is clear and well-documented.


## License

Distributed under the MIT License. See [LICENSE][license-url] for more information.

[issues-url]: https://github.com/ebizbase/dev-infras/issues
[contribution-guidelines-url]: https://github.com/ebizbase/dev-infras/blob/main/CONTRIBUTING.md
[license-url]: https://github.com/ebizbase/dev-infras/blob/main/LICENSE.txt
44 changes: 40 additions & 4 deletions devcontainer-features/omz-plugin/README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
# omz-plugin devcontainer feature

This feature will install and active plugins for oh my zsh
Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with thousands of helpful functions, helpers, plugins, themes.

This feature installs and activates plugins for Oh My Zsh. Helps enhance the command line experience and productivity

## Example Usage

```json
"features": {
"ghcr.io/ebizbase/devcontainer-features/omz-plugin:1": {
"preInstalledPlugins": ["git", "git-auto-fetch"],
"preInstalledPlugins": [
"git",
"git-auto-fetch"
],
"customPlugins": [
"zsh-syntax-highlighting:https://github.com/zsh-users/zsh-syntax-highlighting.git",
"zsh-autosuggestions:https://github.com/zsh-users/zsh-autosuggestions/archive/refs/tags/v0.7.1.zip"
],
"deleteInactive": false,
"deleteInactive": false
}
}
```
Expand All @@ -22,9 +27,40 @@ This feature will install and active plugins for oh my zsh
| Options Id | Description | Type | Default |
| ------------------- | --------------------------------------------------------------------------------------------- | ----- | ------- |
| preInstalledPlugins | The list of pre-installed oh-my-zsh plugins to active (e.g. git,git-auto-fetch) (\*) | array | ["git"] |
| customPlugins | The list of custom plugin you want to install with plugin-name1:url1,plugin-name2:url1 (\*\*) | array | [] |
| customPlugins | The list of custom plugins you want to install, using the format `plugin-name:url` (\*\*) | array | [] |
| deleteInactive | Should delete inactive plugins or not | bool | false |

**(\*)** See [list of oh-my-zsh preinstalled plugins](https://github.com/ohmyzsh/ohmyzsh/wiki/plugins)

**(\*\*)** We support zip release url or git url. See example [here](https://github.com/ebizbase/dev-infras/blob/main/devcontainer-images/base-devcontainer/devcontainer.json)

## Contributing

We welcome contributions! Fork the repo, create a pull request, or open an issue with the "enhancement" tag. See [Contribution Guidelines][contribution-guidelines-url] for details.

## Issues

If you encounter any issues while using this feature, please check the following before creating a new issue:
- Ensure your JSON configuration is correctly formatted. Refer to the Example Usage section for guidance.
- Verify the plugin URLs are accessible and valid (e.g., Git repository links or release ZIP URLs).

If the issue persists, feel free to:

- Open an issue on the [GitHub issues page][issues-url]
- Provide detailed information, including:
- A description of the issue.
- Steps to reproduce the problem.
- Logs or error messages, if applicable.
- Your devcontainer setup (e.g., OS, DevContainer version).

Our team will review and address your issue as soon as possible. For faster resolution, ensure your report is clear and well-documented.


## License

Distributed under the MIT License. See [LICENSE][license-url] for more information.

[issues-url]: https://github.com/ebizbase/dev-infras/issues
[contribution-guidelines-url]: https://github.com/ebizbase/dev-infras/blob/main/CONTRIBUTING.md
[license-url]: https://github.com/ebizbase/dev-infras/blob/main/LICENSE.txt

31 changes: 31 additions & 0 deletions devcontainer-features/powerlevel10k/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,34 @@ You can define custom config file
| config | Powerlevel10k configuration file url | string | https://raw.githubusercontent.com/ebizbase/dev-infras/refs/heads/main/devcontainer-features/powerlevel10k/p10k.zsh |
| version | Powerlevel10k version | string | "latest" |
| deletePreinstalledThemes | Should delete pre installed themes or not | boolean | false |


## Contributing

We welcome contributions! Fork the repo, create a pull request, or open an issue with the "enhancement" tag. See [Contribution Guidelines][contribution-guidelines-url] for details.

## Issues

If you encounter any issues while using this feature, please check the following before creating a new issue:
- Ensure your JSON configuration is correctly formatted. Refer to the Example Usage section for guidance.
- Verify the config URL are accessible and valid.

If the issue persists, feel free to:

- Open an issue on the [GitHub issues page][issues-url]
- Provide detailed information, including:
- A description of the issue.
- Steps to reproduce the problem.
- Logs or error messages, if applicable.
- Your devcontainer setup (e.g., OS, DevContainer version).

Our team will review and address your issue as soon as possible. For faster resolution, ensure your report is clear and well-documented.


## License

Distributed under the MIT License. See [LICENSE][license-url] for more information.

[issues-url]: https://github.com/ebizbase/dev-infras/issues
[contribution-guidelines-url]: https://github.com/ebizbase/dev-infras/blob/main/CONTRIBUTING.md
[license-url]: https://github.com/ebizbase/dev-infras/blob/main/LICENSE.txt
Loading

0 comments on commit f91f498

Please sign in to comment.