You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This repository uses GitHub Actions to automatically validate, package, and publish the GLPI Helm chart to a chart repository hosted on GitHub Pages.
93
-
94
-
### Manually Triggering the Workflow
95
-
96
-
To publish a new version of the Helm chart:
97
-
98
-
1. Navigate to the **Actions** tab in the GitHub repository
99
-
2. Select the **Helm Chart CI/CD** workflow from the left sidebar
100
-
3. Click the **Run workflow** button (top right)
101
-
4. Configure the workflow parameters:
102
-
-**Use workflow from**: Select the branch (typically `main`)
103
-
-**Publish chart to repository**: Check this box to publish the chart, or uncheck to only validate and package
104
-
5. Click **Run workflow** to start the execution
105
-
106
-
### Publish Parameter
107
-
108
-
The `publish` input parameter controls whether the chart is published to the repository:
109
-
110
-
-**Checked (true)**: The workflow will lint, package, and publish the chart to GitHub Pages
111
-
-**Unchecked (false)**: The workflow will only lint and package the chart for validation purposes (useful for testing changes before publishing)
112
-
113
-
### Workflow Steps
114
-
115
-
The automated workflow performs the following steps:
116
-
117
-
1.**Lint**: Validates the Helm chart for syntax errors and best practices
118
-
2.**Package**: Creates a versioned `.tgz` archive of the chart
119
-
3.**Publish** (if enabled): Updates the chart repository index and deploys to GitHub Pages
120
-
121
-
### GitHub Pages Setup
122
-
123
-
Before the workflow can publish charts, GitHub Pages must be configured in your repository. Follow these steps to enable GitHub Pages:
124
-
125
-
#### Initial Setup Steps
126
-
127
-
1. Navigate to your repository on GitHub
128
-
2. Click on **Settings** (top navigation bar)
129
-
3. Scroll down to the **Pages** section in the left sidebar
130
-
4. Under **Source**, select:
131
-
-**Deploy from a branch**
132
-
- Branch: `gh-pages`
133
-
- Folder: `/ (root)`
134
-
5. Click **Save**
135
-
136
-
**Note**: The `gh-pages` branch will be created automatically by the workflow on the first successful publish. If you haven't run the workflow yet, you can proceed with the setup - the branch will appear after the first workflow execution with publishing enabled.
137
-
138
-
#### Verifying GitHub Pages is Enabled
139
-
140
-
After running the workflow for the first time with publishing enabled, verify that GitHub Pages is working correctly:
141
-
142
-
1. Go to **Settings** → **Pages** in your repository
143
-
2. You should see a message: "Your site is live at `https://<owner>.github.io/<repo>/`"
144
-
3. Click the URL to verify the site is accessible
145
-
4. Navigate to `https://<owner>.github.io/<repo>/index.yaml` to confirm the chart repository index is available
146
-
5. The `index.yaml` file should contain metadata about your published chart(s)
147
-
148
-
#### Expected Results
149
-
150
-
Once GitHub Pages is properly configured and the workflow has run successfully:
151
-
152
-
- The `gh-pages` branch will exist in your repository
153
-
- The branch will contain:
154
-
-`index.yaml` - Chart repository index file
155
-
-`glpi-{version}.tgz` - Packaged chart archive(s)
156
-
- The chart repository will be accessible at: `https://<owner>.github.io/<repo>/`
157
-
- You can add the repository using: `helm repo add glpi https://<owner>.github.io/<repo>`
158
-
159
-
#### First-Time Publishing Checklist
160
-
161
-
Before running the workflow with publishing enabled for the first time:
162
-
163
-
-[ ] GitHub Pages is enabled in repository Settings → Pages
164
-
-[ ] Source is set to deploy from `gh-pages` branch
165
-
-[ ] Workflow permissions include `contents: write`, `pages: write`, and `id-token: write`
166
-
-[ ] Chart version in `kubernetes/glpi/Chart.yaml` is set correctly
167
-
-[ ] You have tested the workflow with `publish: false` to ensure linting and packaging work
168
-
169
-
After the first successful publish:
170
-
171
-
-[ ] Verify `gh-pages` branch was created
172
-
-[ ] Check that `index.yaml` exists at `https://<owner>.github.io/<repo>/index.yaml`
173
-
-[ ] Confirm the chart is listed: `helm search repo glpi` (after adding the repo)
174
-
-[ ] Test chart installation: `helm install test-glpi glpi/glpi --dry-run`
175
-
176
-
### Troubleshooting
177
-
178
-
#### Chart Not Appearing in Repository
179
-
180
-
**Problem**: After running the workflow, the chart is not available via `helm repo add`
181
-
182
-
**Solutions**:
183
-
- Verify that GitHub Pages is enabled in repository Settings → Pages
184
-
- Ensure the `gh-pages` branch exists and contains `index.yaml`
185
-
- Check that the workflow completed successfully without errors
186
-
- Wait a few minutes for GitHub Pages to deploy the changes
187
-
- Verify the repository URL is correct: `https://<owner>.github.io/<repo>`
188
-
189
-
#### Workflow Fails at Lint Step
190
-
191
-
**Problem**: The workflow fails with linting errors
192
-
193
-
**Solutions**:
194
-
- Review the error messages in the workflow logs
195
-
- Run `helm lint kubernetes/glpi` locally to see detailed errors
196
-
- Fix any syntax errors or missing required fields in Chart.yaml or template files
197
-
- Ensure all template files render correctly with default values
198
-
199
-
#### Workflow Fails at Publish Step
200
-
201
-
**Problem**: The workflow fails when trying to publish to GitHub Pages
202
-
203
-
**Solutions**:
204
-
- Verify that the workflow has the required permissions (contents: write, pages: write, id-token: write)
205
-
- Check that GitHub Pages is configured to deploy from the `gh-pages` branch
206
-
- Ensure the `GITHUB_TOKEN` has sufficient permissions
207
-
- Review the workflow logs for specific error messages
208
-
209
-
#### Version Already Exists
210
-
211
-
**Problem**: Attempting to publish a chart version that already exists
212
-
213
-
**Solutions**:
214
-
- Update the `version` field in `kubernetes/glpi/Chart.yaml` to a new version number
215
-
- Follow semantic versioning (MAJOR.MINOR.PATCH)
216
-
- Commit the version change before running the workflow
217
-
218
-
#### Cannot Add Helm Repository
219
-
220
-
**Problem**: `helm repo add` command fails or times out
221
-
222
-
**Solutions**:
223
-
- Verify the repository URL is correct and accessible in a browser
224
-
- Check that `index.yaml` exists at the repository root URL
225
-
- Ensure GitHub Pages is enabled and deployed
226
-
- Try removing and re-adding the repository: `helm repo remove glpi && helm repo add glpi <url>`
227
-
228
-
#### Chart Installation Fails
229
-
230
-
**Problem**: `helm install` fails after adding the repository
231
-
232
-
**Solutions**:
233
-
- Verify the chart name and version: `helm search repo glpi`
234
-
- Check that all required values are provided (review `values.yaml`)
235
-
- Run `helm install --dry-run --debug` to see what would be installed
236
-
- Review the error messages for missing dependencies or configuration issues
237
-
238
90
## About GLPI
239
91
240
92
GLPI stands for **Gestionnaire Libre de Parc Informatique** is a Free Asset and IT Management Software package, that provides ITIL Service Desk features, licenses tracking and software auditing.
0 commit comments