Skip to content

Commit 10f4820

Browse files
committed
docs: update README to reflect S3 support and detailed configuration reference
1 parent bc17388 commit 10f4820

File tree

1 file changed

+68
-2
lines changed

1 file changed

+68
-2
lines changed

README.md

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@ AWS AppStream provides a CLI, but it only handles high-level image operations li
1313
4. System/user session scripts
1414
5. File provisioning
1515
6. Declarative image metadata
16+
7. S3 Backend Support
1617

1718
# Planned Features
1819
1. Registry Configs
1920
2. Scaffolded startup Apps - Customise your app startup
20-
3. S3 and Git backend support
21+
3. Git backend support
2122
4. State persistence within image builders
2223

2324
# Installation
@@ -33,11 +34,76 @@ iex (iwr https://raw.githubusercontent.com/aslamcodes/appstreamfile/main/win_ins
3334
***Supported in future releases***
3435

3536
# Usage
36-
Use **local** backend source when the config file is within image builders. S3, Git Support is WIP
37+
Appstreamfile supports fetching configuration from local filesystem or S3.
38+
39+
### Local Source
40+
Use **local** backend source when the config file is within the image builder.
3741
```sh
3842
appstreamfile -source local -location config.yaml
3943
```
4044

45+
### S3 Source
46+
Use **s3** backend source to fetch config from an S3 bucket.
47+
*Note: Requires an AWS profile named `appstream_machine_role` to be configured.*
48+
```sh
49+
appstreamfile -source s3 -bucket my-bucket -key path/to/config.yaml
50+
```
51+
52+
### Flags
53+
| Flag | Description | Required For |
54+
|------|-------------|--------------|
55+
| `-source` | Configuration source (`local` or `s3`) | All |
56+
| `-location` | Path to local config file | `local` source |
57+
| `-bucket` | S3 bucket name | `s3` source |
58+
| `-key` | S3 object key | `s3` source |
59+
| `-version-id` | S3 object version ID (optional) | `s3` source |
60+
61+
# Configuration Reference
62+
63+
The configuration file is a YAML file with the following sections:
64+
65+
### `platform`
66+
Operating system platform (e.g., `windows`).
67+
68+
### `installers`
69+
List of installation scripts to run.
70+
- `executable`: The shell/executable to run the script (e.g., `powershell`).
71+
- `installScript`: The actual script content.
72+
73+
### `catalog`
74+
List of applications to add to the AppStream catalog.
75+
- `name`: Internal name of the application.
76+
- `path`: Absolute path to the executable.
77+
- `display_name`: Name shown to users.
78+
- `parameters`: Launch parameters.
79+
- `icon_path`: Path to the icon file.
80+
- `working_dir`: Working directory for the application.
81+
82+
### `files`
83+
List of files to create on the system.
84+
- `path`: Destination path.
85+
- `content`: Content of the file.
86+
87+
### `session_scripts`
88+
Configuration for session scripts (start and termination).
89+
Contains `session_start` and `session_termination` blocks, each with:
90+
- `waitingTime`: Max time to wait for scripts to complete (in seconds).
91+
- `executables`: List of scripts to run.
92+
- `context`: `system` or `user`.
93+
- `filename`: Path to the script.
94+
- `arguments`: Arguments to pass.
95+
- `s3LogEnabled`: Boolean to enable logging to S3.
96+
97+
### `image`
98+
Metadata for the resulting AppStream image.
99+
- `name`: Image name.
100+
- `display_name`: Display name.
101+
- `description`: Description.
102+
- `enable_dynamic_app_catalog`: Boolean.
103+
- `use_latest_agent_version`: Boolean.
104+
- `tags`: List of tags (`key:value`).
105+
- `dry_run`: If true, simulates operations without making changes.
106+
41107
# Sample config
42108
```yaml
43109
platform: "windows"

0 commit comments

Comments
 (0)