Skip to content

Commit

Permalink
Merge pull request #2801 from asashour/docker-url
Browse files Browse the repository at this point in the history
fix(admin): fix docker image link
  • Loading branch information
allardy committed Jan 13, 2020
2 parents 4fadb37 + 9a8b254 commit 96056b0
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 4 deletions.
11 changes: 11 additions & 0 deletions src/bp/core/routers/admin/versioning.ts
@@ -1,8 +1,10 @@
import axios from 'axios'
import { Logger } from 'botpress/sdk'
import { extractArchive } from 'core/misc/archive'
import { GhostService } from 'core/services'
import { BotService } from 'core/services/bot-service'
import { Router } from 'express'
import httpsProxyAgent from 'https-proxy-agent'
import _ from 'lodash'
import mkdirp from 'mkdirp'
import path from 'path'
Expand Down Expand Up @@ -78,6 +80,15 @@ export class VersioningRouter extends CustomRouter {
this.router.get('/bpfs_status', (req, res) => {
res.send({ isAvailable: process.BPFS_STORAGE === 'database' })
})

this.router.get('/docker_images', async (req, res) => {
const { data } = await axios.get(
'https://hub.docker.com/v2/repositories/botpress/server/tags/?page_size=125&page=1&name=v',
process.PROXY ? { httpsAgent: new httpsProxyAgent(process.PROXY) } : {}
)

res.send(data)
})
}

extractArchiveFromRequest = async (request, folder) => {
Expand Down
7 changes: 4 additions & 3 deletions src/bp/ui-admin/src/Pages/Server/LatestReleases.tsx
Expand Up @@ -15,9 +15,10 @@ interface GithubRelease {
githubUrl: string
releaseDate: Date
daysAgo: string
dockerUrl: string
}

const DownloadLinks: FC<{ version: string }> = props => {
const DownloadLinks: FC<{ version: string; dockerUrl: string }> = props => {
const version = `v${props.version.replace(/\./g, '_')}`

return (
Expand All @@ -39,7 +40,7 @@ const DownloadLinks: FC<{ version: string }> = props => {
<br />
Docker Image
<hr />
<a href="https://hub.docker.com/r/botpress/server" target="_blank">
<a href={props.dockerUrl || `https://hub.docker.com/r/botpress/server`} target="_blank">
<code>botpress/server:{version}</code>
</a>
</div>
Expand All @@ -64,7 +65,7 @@ const LastRelease: FC<{ latestReleases: GithubRelease[]; fetchLatestVersions: Fu

<div className="container">
<div className="content" dangerouslySetInnerHTML={{ __html: snarkdown(release.details) }} />
<DownloadLinks version={release.version} />
<DownloadLinks version={release.version} dockerUrl={release.dockerUrl} />
</div>
</div>
)
Expand Down
18 changes: 17 additions & 1 deletion src/bp/ui-admin/src/reducers/versions.ts
@@ -1,6 +1,7 @@
import axios from 'axios'
import _ from 'lodash'
import moment from 'moment'
import api from '~/api'

interface GithubRelease {
version: string
Expand Down Expand Up @@ -45,8 +46,23 @@ export const fetchLatestVersions = () => {
details: x.body,
githubUrl: x.html_url,
releaseDate: x.created_at,
daysAgo: moment(x.created_at).fromNow()
daysAgo: moment(x.created_at).fromNow(),
dockerUrl: ''
}))
try {
const { data } = await api.getSecured().get('/admin/versioning/docker_images')
_.forEach(releases, x => {
_.forEach(data.results, r => {
const version = x.version.replace(/\./g, '_')
if (r.name.slice(1) === version) {
const digest = r.images[0].digest.replace(/\:/g, '-')
x.dockerUrl = `https://hub.docker.com/layers/botpress/server/v${version}/images/${digest}`
}
})
})
} catch (err) {
console.error('could not fetch docker image information')
}

dispatch({
type: RECEIVE_LATEST_RELEASES,
Expand Down

0 comments on commit 96056b0

Please sign in to comment.