diff options
author | CoprDistGit <infra@openeuler.org> | 2023-05-05 09:58:40 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-05-05 09:58:40 +0000 |
commit | a1c34dc70016d4946435c0b9a3fe426dab1ee7c8 (patch) | |
tree | 46d18fb413f313523e4bd2386bc66254e38f378a /python-strato-skipper.spec | |
parent | affe95f0ac8d5ae23b29fc45292fb84e56eeae02 (diff) |
automatic import of python-strato-skipperopeneuler20.03
Diffstat (limited to 'python-strato-skipper.spec')
-rw-r--r-- | python-strato-skipper.spec | 903 |
1 files changed, 903 insertions, 0 deletions
diff --git a/python-strato-skipper.spec b/python-strato-skipper.spec new file mode 100644 index 0000000..456c471 --- /dev/null +++ b/python-strato-skipper.spec @@ -0,0 +1,903 @@ +%global _empty_manifest_terminate_build 0 +Name: python-strato-skipper +Version: 2.0.0 +Release: 1 +Summary: Easily dockerize your Git repository +License: Apache-2 +URL: http://github.com/Stratoscale/skipper +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/f8/db/7266d94834cdeba863a248579915b7ce55a192d29787cd9e01f7aefc1680/strato-skipper-2.0.0.tar.gz +BuildArch: noarch + + +%description +[](https://github.com/Stratoscale/skipper/actions) +# Skipper + +## Introduction + +Use Skipper to build & test your project in an isolated environment, using Docker containers with pre-defined sane configuration. +Skipper allows you to execute makefile targets inside a container (or just run arbitrary commands). You can also use Skipper to build your development and production containers. + +## Installation + +It is recommended to install Skipper directly from PyPi: +```bash +sudo pip install strato-skipper +``` + +You can also install Skipper from source: +``` bash +git clone http://github.com/Stratoscale/skipper +sudo make install +``` + +Configure bash completion for skipper by sourcing the completion script in your ~/.bashrc file: +``` bash +echo 'source <(skipper completion)' >>~/.bashrc +``` + +## Python3 Environment +Skipper supports building and running in Python3 environment +Set your locale to UTF-8: +```bash +export LC_ALL="en_US.UTF-8" +export LANG="en_US.UTF-8" +``` +## Usage + +Skipper can serve as your primary tool for your daily development tasks: +* Use `skipper build` to build the images defined by the Dockerfiles in your repository. All the images will be automatically tagged with the *COMMIT_ID*. +* Use `skipper push` to publish your images. +* Use `skipper images` to list your images. +* Use `skipper rmi` to delete your images. +* Use `skipper make` to execute makefile targets inside a container. +* Use `skipper run` to run arbitrary commands inside a container. +* Use `skipper shell` to get an interactive shell inside a container. + +### Global Options +```bash + -v, --verbose Increase verbosity + --registry URL of the docker registry + --build-container-image Image to use as build container + --build-container-tag Tag of the build container + --build-container-net Network to connect the build container (default: net=host) + --env-file Environment variables file/s to pass to the container + --help Show this message and exit. +``` + +### Build +As a convention, skipper infers the docker images from the Dockerfiles in the top directory of your repository. For example, assuming that there are 3 Dockerfile in the top directory of the repository: +``` +Dockerfile.service1 +Dockerfile.service2 +Dockerfile.development +``` + +To build the image that corresponeds to `Dockerfile.service1`, run: +```bash +skipper build service1 +``` + +In the same way you can build the image corresponded to `Dockerfile.development`: +```bash +skipper build development +``` + +You can also build mutliple images with single command: +```bash +skipper build development service2 +``` + +A context path can be added to the build command, The build’s context is the files at a specified location PATH, the default is current directory: +```bash +skipper buid service1 --container-context /path/to/context/dir +``` + +If no image is specifed skipper will build all detected images: +```bash +skipper build +``` + +If you don't want to store all the Dockerfiles under the top directory of the project, you can specify the project's containers in skipper's config file (see below). + +### Push +Once you've built the images of your repositories as described above. You can publish them by pushing them to the registry. +To push the `service1` image, run: +```bash +skipper --registry some-registry push service1 +``` +Note that the registry in this command must be the same registry used while building the image. + +### Images +To list local images of your repository, run: +```bash +skipper images +``` + +In order to also list also images that were pushed to the registry, run: +```bash +skipper --registry some-registry images -r +``` + +### Rmi +To delete an image of your repository, run: +```bash +skipper rmi service1 <tag> +``` + +In order to delete the image from the registry, run: +```bash +skipper --registry some-registry rmi -r service1 <tag> +``` + +### Make +You can execute a Makefile target inside a container. This is good for keeping the development in an isolated environment, without installing development tools on the host. Once a development container is defined and built, it can be shared among the team member, assuring all of them use exactly thg same development environment. +Assuming your project has a Makefile with a `tests` target, you can run: +```bash +skipper --registry some-registry --build-container-image development --build-container-tag latest \ +make tests +``` + +If your Makefile is not standard (i.e. `Makefile.arm32`) you can pass it to the make command: +```bash +skipper --registry some-registry --build-container-image development --build-container-tag latest \ +make -f Makefile.arm32 tests +``` + +### Run +You can also run arbitrary commands inside your containers. +```bash +skipper --registry some-registry --build-container-image development --build-container-tag latest \ +run gcc myprog.c -o myprog +``` + +### Shell +You can get a shell inside your containers. +```bash +skipper --registry some-registry --build-container-image development --build-container-tag latest \ +shell +``` + +## Configuration File +Skipper allows you to define commonly used parameters in a configuration file `skipper.yaml` at the top directory of your repositry. +```yaml +registry: some-registry +build-container-image: development +build-container-tag: latest +container-context: /path/to/context/dir + +make: + makefile: Makefile.arm32 +containers: + service1: path/to/service1/dockerfile + service2: path/to/service2/dockerfile +env: + VAR: value +env_file: path/to/env_file.env +``` + +Using the above configuration file, we now can run a simplified version of the make command described above: +```bash +skipper make tests +``` + +### Published ports +For `shell`, `run` & `make` commands: +By default, when you run skipper on a linux machine it will use the host network and no mapping required. +For macos and windows machines where the host network is unsupported or for a custom network, you can publish a port and make it available to services outside of the container using the --publish or -p flag. + +```` +skipper make -p 123:123 tests +skipper make -p 123-130:123-130 tests +```` + + +### Environment variables: +For `shell`, `run` & `make` commands: +You can use `-e` in order to pass environment variables to the container. +```` +skipper make -e regex=test1 tests +```` + +Your configuration file can contain environment variables, Skipper will set the specified environment variables in the container. +```` +env: + VAR: value +```` + +You can add an environment variables file (or multiple files) using `--env-file`. +This file should use the syntax <key>=value (which sets the variable to the given value) or <key> +(which takes the value from the local environment), and # for comments. +The variables defined in this file will be exported to the container. +Such file can look like this: + +```` +$ cat env_file.env +# This is a comment +KEY1=value1 +KEY2=value2 +KEY3 +```` + +Skipper configuration file can include the environment variables file: +```` +env_file: + - /path/to/env_file1.env + - /path/to/env_file2.env +```` + + +### Variable substitution: +Skipper uses the variable values from the shell environment in which skipper is run. +It’s possible to use environment variables in your shell to populate values +For example, suppose the shell contains EXTERNAL_PORT=5000 and you supply this configuration: +```` +env: + EXTERNAL_PORT: $EXTERNAL_PORT +```` +When you run Skipper command with this configuration, Skipper looks for the EXTERNAL_PORT environment variable in the shell and substitutes its value in.In this example, Skipper resolves the `$EXTERNAL_PORT` to "5000" and will set EXTERNAL_PORT=5000 environment in the container. + +If an environment variable is not set, Skipper substitutes with an empty string. + +Both `$VARIABLE` and `${VARIABLE}` syntax are supported. Extended shell-style features, such as `${VARIABLE-default}` and `${VARIABLE/foo/bar}`, are not supported. + +You can use a `$$` (double-dollar sign) when your configuration needs a literal dollar sign. This also prevents Skipper from interpolating a value, so a `$$` allows you to refer to environment variables that you don’t want processed by Skipper. +```` +env: + VAR: $$VAR_NOT_INTERPOLATED +```` + +### Shell Interpolation +Skipper supports evaluating shell commands inside its configuration file using `$(command)` notation. +e.g. + +```yaml +env: + VAR: $(expr ${MY_NUMBER:-5} + 5) +volumes: + - $(which myprogram):/myprogram +``` + + +### Volumes: +Skipper can bind-mount a host directory into the container. +you can add volumes in the configuration file: +```` +volumes: + - /tmp:/tmp:rw + - ${HOME}/.netrc:/root/.netrc + - ${HOME}/.gocache:/tmp/.gocache +```` + +### Workdir: +Skipper default to the the project directory as the working directory for the `run`, `make` and `shell` commands, +you can override the workdir by specifying it in the configuration file: +```` +workdir: /path/to/workdir +```` + +### Workspace: +Skipper default to the the project base directory (e.g. /path/to/project/../) as the workspace for the `run`, `make` and `shell` commands, +Note that the workspace directory is mounted by default. +you can override the workspace directory by specifying it in the configuration file +```` +workdir: $PWD +```` + +### Skipper environment variables +Skipper sets environemnt variables to inform the user about the underline system: +CONTAINER_RUNTIME_COMMAND - The container conmmand used to run the skipper container. podman/docker + + +%package -n python3-strato-skipper +Summary: Easily dockerize your Git repository +Provides: python-strato-skipper +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-strato-skipper +[](https://github.com/Stratoscale/skipper/actions) +# Skipper + +## Introduction + +Use Skipper to build & test your project in an isolated environment, using Docker containers with pre-defined sane configuration. +Skipper allows you to execute makefile targets inside a container (or just run arbitrary commands). You can also use Skipper to build your development and production containers. + +## Installation + +It is recommended to install Skipper directly from PyPi: +```bash +sudo pip install strato-skipper +``` + +You can also install Skipper from source: +``` bash +git clone http://github.com/Stratoscale/skipper +sudo make install +``` + +Configure bash completion for skipper by sourcing the completion script in your ~/.bashrc file: +``` bash +echo 'source <(skipper completion)' >>~/.bashrc +``` + +## Python3 Environment +Skipper supports building and running in Python3 environment +Set your locale to UTF-8: +```bash +export LC_ALL="en_US.UTF-8" +export LANG="en_US.UTF-8" +``` +## Usage + +Skipper can serve as your primary tool for your daily development tasks: +* Use `skipper build` to build the images defined by the Dockerfiles in your repository. All the images will be automatically tagged with the *COMMIT_ID*. +* Use `skipper push` to publish your images. +* Use `skipper images` to list your images. +* Use `skipper rmi` to delete your images. +* Use `skipper make` to execute makefile targets inside a container. +* Use `skipper run` to run arbitrary commands inside a container. +* Use `skipper shell` to get an interactive shell inside a container. + +### Global Options +```bash + -v, --verbose Increase verbosity + --registry URL of the docker registry + --build-container-image Image to use as build container + --build-container-tag Tag of the build container + --build-container-net Network to connect the build container (default: net=host) + --env-file Environment variables file/s to pass to the container + --help Show this message and exit. +``` + +### Build +As a convention, skipper infers the docker images from the Dockerfiles in the top directory of your repository. For example, assuming that there are 3 Dockerfile in the top directory of the repository: +``` +Dockerfile.service1 +Dockerfile.service2 +Dockerfile.development +``` + +To build the image that corresponeds to `Dockerfile.service1`, run: +```bash +skipper build service1 +``` + +In the same way you can build the image corresponded to `Dockerfile.development`: +```bash +skipper build development +``` + +You can also build mutliple images with single command: +```bash +skipper build development service2 +``` + +A context path can be added to the build command, The build’s context is the files at a specified location PATH, the default is current directory: +```bash +skipper buid service1 --container-context /path/to/context/dir +``` + +If no image is specifed skipper will build all detected images: +```bash +skipper build +``` + +If you don't want to store all the Dockerfiles under the top directory of the project, you can specify the project's containers in skipper's config file (see below). + +### Push +Once you've built the images of your repositories as described above. You can publish them by pushing them to the registry. +To push the `service1` image, run: +```bash +skipper --registry some-registry push service1 +``` +Note that the registry in this command must be the same registry used while building the image. + +### Images +To list local images of your repository, run: +```bash +skipper images +``` + +In order to also list also images that were pushed to the registry, run: +```bash +skipper --registry some-registry images -r +``` + +### Rmi +To delete an image of your repository, run: +```bash +skipper rmi service1 <tag> +``` + +In order to delete the image from the registry, run: +```bash +skipper --registry some-registry rmi -r service1 <tag> +``` + +### Make +You can execute a Makefile target inside a container. This is good for keeping the development in an isolated environment, without installing development tools on the host. Once a development container is defined and built, it can be shared among the team member, assuring all of them use exactly thg same development environment. +Assuming your project has a Makefile with a `tests` target, you can run: +```bash +skipper --registry some-registry --build-container-image development --build-container-tag latest \ +make tests +``` + +If your Makefile is not standard (i.e. `Makefile.arm32`) you can pass it to the make command: +```bash +skipper --registry some-registry --build-container-image development --build-container-tag latest \ +make -f Makefile.arm32 tests +``` + +### Run +You can also run arbitrary commands inside your containers. +```bash +skipper --registry some-registry --build-container-image development --build-container-tag latest \ +run gcc myprog.c -o myprog +``` + +### Shell +You can get a shell inside your containers. +```bash +skipper --registry some-registry --build-container-image development --build-container-tag latest \ +shell +``` + +## Configuration File +Skipper allows you to define commonly used parameters in a configuration file `skipper.yaml` at the top directory of your repositry. +```yaml +registry: some-registry +build-container-image: development +build-container-tag: latest +container-context: /path/to/context/dir + +make: + makefile: Makefile.arm32 +containers: + service1: path/to/service1/dockerfile + service2: path/to/service2/dockerfile +env: + VAR: value +env_file: path/to/env_file.env +``` + +Using the above configuration file, we now can run a simplified version of the make command described above: +```bash +skipper make tests +``` + +### Published ports +For `shell`, `run` & `make` commands: +By default, when you run skipper on a linux machine it will use the host network and no mapping required. +For macos and windows machines where the host network is unsupported or for a custom network, you can publish a port and make it available to services outside of the container using the --publish or -p flag. + +```` +skipper make -p 123:123 tests +skipper make -p 123-130:123-130 tests +```` + + +### Environment variables: +For `shell`, `run` & `make` commands: +You can use `-e` in order to pass environment variables to the container. +```` +skipper make -e regex=test1 tests +```` + +Your configuration file can contain environment variables, Skipper will set the specified environment variables in the container. +```` +env: + VAR: value +```` + +You can add an environment variables file (or multiple files) using `--env-file`. +This file should use the syntax <key>=value (which sets the variable to the given value) or <key> +(which takes the value from the local environment), and # for comments. +The variables defined in this file will be exported to the container. +Such file can look like this: + +```` +$ cat env_file.env +# This is a comment +KEY1=value1 +KEY2=value2 +KEY3 +```` + +Skipper configuration file can include the environment variables file: +```` +env_file: + - /path/to/env_file1.env + - /path/to/env_file2.env +```` + + +### Variable substitution: +Skipper uses the variable values from the shell environment in which skipper is run. +It’s possible to use environment variables in your shell to populate values +For example, suppose the shell contains EXTERNAL_PORT=5000 and you supply this configuration: +```` +env: + EXTERNAL_PORT: $EXTERNAL_PORT +```` +When you run Skipper command with this configuration, Skipper looks for the EXTERNAL_PORT environment variable in the shell and substitutes its value in.In this example, Skipper resolves the `$EXTERNAL_PORT` to "5000" and will set EXTERNAL_PORT=5000 environment in the container. + +If an environment variable is not set, Skipper substitutes with an empty string. + +Both `$VARIABLE` and `${VARIABLE}` syntax are supported. Extended shell-style features, such as `${VARIABLE-default}` and `${VARIABLE/foo/bar}`, are not supported. + +You can use a `$$` (double-dollar sign) when your configuration needs a literal dollar sign. This also prevents Skipper from interpolating a value, so a `$$` allows you to refer to environment variables that you don’t want processed by Skipper. +```` +env: + VAR: $$VAR_NOT_INTERPOLATED +```` + +### Shell Interpolation +Skipper supports evaluating shell commands inside its configuration file using `$(command)` notation. +e.g. + +```yaml +env: + VAR: $(expr ${MY_NUMBER:-5} + 5) +volumes: + - $(which myprogram):/myprogram +``` + + +### Volumes: +Skipper can bind-mount a host directory into the container. +you can add volumes in the configuration file: +```` +volumes: + - /tmp:/tmp:rw + - ${HOME}/.netrc:/root/.netrc + - ${HOME}/.gocache:/tmp/.gocache +```` + +### Workdir: +Skipper default to the the project directory as the working directory for the `run`, `make` and `shell` commands, +you can override the workdir by specifying it in the configuration file: +```` +workdir: /path/to/workdir +```` + +### Workspace: +Skipper default to the the project base directory (e.g. /path/to/project/../) as the workspace for the `run`, `make` and `shell` commands, +Note that the workspace directory is mounted by default. +you can override the workspace directory by specifying it in the configuration file +```` +workdir: $PWD +```` + +### Skipper environment variables +Skipper sets environemnt variables to inform the user about the underline system: +CONTAINER_RUNTIME_COMMAND - The container conmmand used to run the skipper container. podman/docker + + +%package help +Summary: Development documents and examples for strato-skipper +Provides: python3-strato-skipper-doc +%description help +[](https://github.com/Stratoscale/skipper/actions) +# Skipper + +## Introduction + +Use Skipper to build & test your project in an isolated environment, using Docker containers with pre-defined sane configuration. +Skipper allows you to execute makefile targets inside a container (or just run arbitrary commands). You can also use Skipper to build your development and production containers. + +## Installation + +It is recommended to install Skipper directly from PyPi: +```bash +sudo pip install strato-skipper +``` + +You can also install Skipper from source: +``` bash +git clone http://github.com/Stratoscale/skipper +sudo make install +``` + +Configure bash completion for skipper by sourcing the completion script in your ~/.bashrc file: +``` bash +echo 'source <(skipper completion)' >>~/.bashrc +``` + +## Python3 Environment +Skipper supports building and running in Python3 environment +Set your locale to UTF-8: +```bash +export LC_ALL="en_US.UTF-8" +export LANG="en_US.UTF-8" +``` +## Usage + +Skipper can serve as your primary tool for your daily development tasks: +* Use `skipper build` to build the images defined by the Dockerfiles in your repository. All the images will be automatically tagged with the *COMMIT_ID*. +* Use `skipper push` to publish your images. +* Use `skipper images` to list your images. +* Use `skipper rmi` to delete your images. +* Use `skipper make` to execute makefile targets inside a container. +* Use `skipper run` to run arbitrary commands inside a container. +* Use `skipper shell` to get an interactive shell inside a container. + +### Global Options +```bash + -v, --verbose Increase verbosity + --registry URL of the docker registry + --build-container-image Image to use as build container + --build-container-tag Tag of the build container + --build-container-net Network to connect the build container (default: net=host) + --env-file Environment variables file/s to pass to the container + --help Show this message and exit. +``` + +### Build +As a convention, skipper infers the docker images from the Dockerfiles in the top directory of your repository. For example, assuming that there are 3 Dockerfile in the top directory of the repository: +``` +Dockerfile.service1 +Dockerfile.service2 +Dockerfile.development +``` + +To build the image that corresponeds to `Dockerfile.service1`, run: +```bash +skipper build service1 +``` + +In the same way you can build the image corresponded to `Dockerfile.development`: +```bash +skipper build development +``` + +You can also build mutliple images with single command: +```bash +skipper build development service2 +``` + +A context path can be added to the build command, The build’s context is the files at a specified location PATH, the default is current directory: +```bash +skipper buid service1 --container-context /path/to/context/dir +``` + +If no image is specifed skipper will build all detected images: +```bash +skipper build +``` + +If you don't want to store all the Dockerfiles under the top directory of the project, you can specify the project's containers in skipper's config file (see below). + +### Push +Once you've built the images of your repositories as described above. You can publish them by pushing them to the registry. +To push the `service1` image, run: +```bash +skipper --registry some-registry push service1 +``` +Note that the registry in this command must be the same registry used while building the image. + +### Images +To list local images of your repository, run: +```bash +skipper images +``` + +In order to also list also images that were pushed to the registry, run: +```bash +skipper --registry some-registry images -r +``` + +### Rmi +To delete an image of your repository, run: +```bash +skipper rmi service1 <tag> +``` + +In order to delete the image from the registry, run: +```bash +skipper --registry some-registry rmi -r service1 <tag> +``` + +### Make +You can execute a Makefile target inside a container. This is good for keeping the development in an isolated environment, without installing development tools on the host. Once a development container is defined and built, it can be shared among the team member, assuring all of them use exactly thg same development environment. +Assuming your project has a Makefile with a `tests` target, you can run: +```bash +skipper --registry some-registry --build-container-image development --build-container-tag latest \ +make tests +``` + +If your Makefile is not standard (i.e. `Makefile.arm32`) you can pass it to the make command: +```bash +skipper --registry some-registry --build-container-image development --build-container-tag latest \ +make -f Makefile.arm32 tests +``` + +### Run +You can also run arbitrary commands inside your containers. +```bash +skipper --registry some-registry --build-container-image development --build-container-tag latest \ +run gcc myprog.c -o myprog +``` + +### Shell +You can get a shell inside your containers. +```bash +skipper --registry some-registry --build-container-image development --build-container-tag latest \ +shell +``` + +## Configuration File +Skipper allows you to define commonly used parameters in a configuration file `skipper.yaml` at the top directory of your repositry. +```yaml +registry: some-registry +build-container-image: development +build-container-tag: latest +container-context: /path/to/context/dir + +make: + makefile: Makefile.arm32 +containers: + service1: path/to/service1/dockerfile + service2: path/to/service2/dockerfile +env: + VAR: value +env_file: path/to/env_file.env +``` + +Using the above configuration file, we now can run a simplified version of the make command described above: +```bash +skipper make tests +``` + +### Published ports +For `shell`, `run` & `make` commands: +By default, when you run skipper on a linux machine it will use the host network and no mapping required. +For macos and windows machines where the host network is unsupported or for a custom network, you can publish a port and make it available to services outside of the container using the --publish or -p flag. + +```` +skipper make -p 123:123 tests +skipper make -p 123-130:123-130 tests +```` + + +### Environment variables: +For `shell`, `run` & `make` commands: +You can use `-e` in order to pass environment variables to the container. +```` +skipper make -e regex=test1 tests +```` + +Your configuration file can contain environment variables, Skipper will set the specified environment variables in the container. +```` +env: + VAR: value +```` + +You can add an environment variables file (or multiple files) using `--env-file`. +This file should use the syntax <key>=value (which sets the variable to the given value) or <key> +(which takes the value from the local environment), and # for comments. +The variables defined in this file will be exported to the container. +Such file can look like this: + +```` +$ cat env_file.env +# This is a comment +KEY1=value1 +KEY2=value2 +KEY3 +```` + +Skipper configuration file can include the environment variables file: +```` +env_file: + - /path/to/env_file1.env + - /path/to/env_file2.env +```` + + +### Variable substitution: +Skipper uses the variable values from the shell environment in which skipper is run. +It’s possible to use environment variables in your shell to populate values +For example, suppose the shell contains EXTERNAL_PORT=5000 and you supply this configuration: +```` +env: + EXTERNAL_PORT: $EXTERNAL_PORT +```` +When you run Skipper command with this configuration, Skipper looks for the EXTERNAL_PORT environment variable in the shell and substitutes its value in.In this example, Skipper resolves the `$EXTERNAL_PORT` to "5000" and will set EXTERNAL_PORT=5000 environment in the container. + +If an environment variable is not set, Skipper substitutes with an empty string. + +Both `$VARIABLE` and `${VARIABLE}` syntax are supported. Extended shell-style features, such as `${VARIABLE-default}` and `${VARIABLE/foo/bar}`, are not supported. + +You can use a `$$` (double-dollar sign) when your configuration needs a literal dollar sign. This also prevents Skipper from interpolating a value, so a `$$` allows you to refer to environment variables that you don’t want processed by Skipper. +```` +env: + VAR: $$VAR_NOT_INTERPOLATED +```` + +### Shell Interpolation +Skipper supports evaluating shell commands inside its configuration file using `$(command)` notation. +e.g. + +```yaml +env: + VAR: $(expr ${MY_NUMBER:-5} + 5) +volumes: + - $(which myprogram):/myprogram +``` + + +### Volumes: +Skipper can bind-mount a host directory into the container. +you can add volumes in the configuration file: +```` +volumes: + - /tmp:/tmp:rw + - ${HOME}/.netrc:/root/.netrc + - ${HOME}/.gocache:/tmp/.gocache +```` + +### Workdir: +Skipper default to the the project directory as the working directory for the `run`, `make` and `shell` commands, +you can override the workdir by specifying it in the configuration file: +```` +workdir: /path/to/workdir +```` + +### Workspace: +Skipper default to the the project base directory (e.g. /path/to/project/../) as the workspace for the `run`, `make` and `shell` commands, +Note that the workspace directory is mounted by default. +you can override the workspace directory by specifying it in the configuration file +```` +workdir: $PWD +```` + +### Skipper environment variables +Skipper sets environemnt variables to inform the user about the underline system: +CONTAINER_RUNTIME_COMMAND - The container conmmand used to run the skipper container. podman/docker + + +%prep +%autosetup -n strato-skipper-2.0.0 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-strato-skipper -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 2.0.0-1 +- Package Spec generated |