-
Really awesome idea! Thanks for building it 🙂 🚀 I have one question though. The frontend (status page) is requesting data fron the GitHub API – in order to fetch |
Beta Was this translation helpful? Give feedback.
Replies: 21 comments 27 replies
-
No, it's not possible (at this time) to have a status website with data from a private repository. There is probably a way that we can call the GitHub API on built time and regenerate a static website every time there is a new incident, but it'll be hard to keep track of every new comment on an issue. IMHO, it's just better to call the API since the data will always be real-time, so this is not a planned feature. tl;dr: Not possible for now, no concrete plans to add this functionality.
|
Beta Was this translation helpful? Give feedback.
-
If someone wants to send a PR for this feature, I'll reopen this issue. |
Beta Was this translation helpful? Give feedback.
-
Ah, I see. No worries and thanks for the reply. One option which I have in mind is to have a GitHub-compatible API which proxies the needed requests accordingly. Just saw that the status-page is using octokit. Not sure if it allows to change the API host though. |
Beta Was this translation helpful? Give feedback.
-
Yes, you can specify the Maybe I can add a configuration option for the base URL, which you can then use to proxy API requests with a personal access token with readonly access to the repository. What do you think? |
Beta Was this translation helpful? Give feedback.
-
That would be superb @AnandChowdhary!! Just figured that we have to find a solution for the Graphs as well, right? |
Beta Was this translation helpful? Give feedback.
-
@AnandChowdhary I opened a PR which introduces the configuration 🙂 Due to the fact that the graphs are fetched via raw.githubusercontent.com, I had to make sure that when a different API Base URL has been configured, the respective proxy needs to tunnel those requests as well. Luckily, the same authorization mechanism can be used by passing the PAT as an |
Beta Was this translation helpful? Give feedback.
-
This is great, thanks! |
Beta Was this translation helpful? Give feedback.
-
@AnandChowdhary You're welcome 🙂 Anything I should have in mind when I want to use it? Just created a fresh Edit: Seems like the |
Beta Was this translation helpful? Give feedback.
-
Yes, you're right, since you didn't use gitmoji or conventional commits, the automated semantic release didn't trigger. No worries, I've gone ahead and manually added a new release for you to use. 🙂 New release: https://github.com/upptime/status-page/releases/tag/v1.4.0 |
Beta Was this translation helpful? Give feedback.
-
Awesome, thanks @AnandChowdhary. Ah okay, sorry. I thought I followed your convention and was wondering why there is no conventional commit message in place, but it pointed out that I just overlooked it obviously 😅 |
Beta Was this translation helpful? Give feedback.
-
No worries, thanks again for your contribution! 😄 |
Beta Was this translation helpful? Give feedback.
-
@akoenig, there's a breaking change you should be aware of: In #107, we decided that we shouldn't publish status websites for private repos by default. I think this is a better default because if you have all private data, exposing it by default isn't the best idea. For people who have a private repo and still want to publish their status website, they now have to set this: status-website:
publish: true |
Beta Was this translation helpful? Give feedback.
-
@AnandChowdhary Ah great, thanks for the info. 😊 Introducing this attribute makes sense 💪 |
Beta Was this translation helpful? Give feedback.
-
Hello community! 🎄 I was trying Upptime with a private repo and a custom domain, however not sure what I'm doing wrong. When I access the website I see the dashboard for a second and then it goes to an error page. I'm using the following: status-website:
publish: true
apiBaseUrl: ${{ secrets.GH_PAT }}
cname: subdomain.domain.com I'm using the same token as the GH_PAT since it also has the repo permissions. Not sure if I should or what I'm doing wrong. I also tried using the plain token on the configuration file but the same problem. Really thank you for this amazing work! 😃 |
Beta Was this translation helpful? Give feedback.
-
Hello can you please add private repo support? |
Beta Was this translation helpful? Give feedback.
-
@AnandChowdhary - hoping you have a moment to help me out here. Ok this is what I did, still not working. I setup a netlify site that basically starts a node server on port 3000... So on deploy it runs
Then index.js contains: const express = require('express');
const createProxyMiddleware = require('http-proxy-middleware');
const app = express();
app.use('/uptime/[my_org_name]', createProxyMiddleware({
target: `https://raw.githubusercontent.com`,
changeOrigin: true,
pathRewrite: {[`^/uptime/`]: '/'},
onProxyReq(proxyReq, req, res) {
proxyReq.setHeader('Authorization', 'Bearer [my_qhp]');
}
}));
app.use('/uptime/repos', createProxyMiddleware({
target: `https://api.github.com`,
changeOrigin: true,
pathRewrite: {[`^/uptime/`]: '/'},
onProxyReq(proxyReq, req, res) {
proxyReq.setHeader('Authorization', 'Bearer [my_ghp]');
}
}));
app.listen(3000, () => {
console.log('Server listening on port ', 3000);
}); The reason I placed In .upptimerc.yml i have: status-website:
cname: status.mywebsite.com
publish: true
apiBaseUrl: my-netlify-app-identifier.netlify.app This isn't doing anything for me, can you tell me what I'm doing wrong? |
Beta Was this translation helpful? Give feedback.
-
Will you add a support without any proxy servers in the future for private repositories ? |
Beta Was this translation helpful? Give feedback.
-
Asking to confirm if this method is still working on private repo for somebody else? It is not working for me with the mentioned steps above. |
Beta Was this translation helpful? Give feedback.
-
I can't find a page that explains how to configure an API proxy. I see the messages above about using Netlify. Anyone has a tutorial we could user? The documentation only talks about setting apiBaseUrl. Thanks! |
Beta Was this translation helpful? Give feedback.
-
My status page can't show the graphs in the private repository. All actions were completed successfully, but the status page didn't work.
Could you please help me to find the problem? |
Beta Was this translation helpful? Give feedback.
-
In the end we decided to start using our backstage instance for showing info from our private upptime repo. We built and released a backstage plugin for upptime here https://github.com/philips-software/philips-backstage-plugins/tree/main/workspaces/upptime/plugins/upptime-backend |
Beta Was this translation helpful? Give feedback.
@AnandChowdhary I opened a PR which introduces the configuration 🙂 Due to the fact that the graphs are fetched via raw.githubusercontent.com, I had to make sure that when a different API Base URL has been configured, the respective proxy needs to tunnel those requests as well. Luckily, the same authorization mechanism can be used by passing the PAT as an
Authorization
header.