Try out apps.fp.o.
This commit is contained in:
parent
acf926aacb
commit
48f186d358
8 changed files with 691 additions and 0 deletions
|
@ -41,3 +41,7 @@
|
|||
- role: releng-dash
|
||||
website: apps.fedoraproject.org
|
||||
path: /releng-dash
|
||||
|
||||
- role: apps-fp-o
|
||||
website: apps.fedoraproject.org
|
||||
path: /
|
||||
|
|
5
roles/apps-fp-o/README
Normal file
5
roles/apps-fp-o/README
Normal file
|
@ -0,0 +1,5 @@
|
|||
=========
|
||||
apps-fp-o
|
||||
=========
|
||||
|
||||
A landing page for https://apps.fedoraproject.org/ featuring javascript magic.
|
462
roles/apps-fp-o/files/apps.yaml
Normal file
462
roles/apps-fp-o/files/apps.yaml
Normal file
|
@ -0,0 +1,462 @@
|
|||
%YAML 1.2
|
||||
---
|
||||
|
||||
name: Fedora Apps
|
||||
data:
|
||||
description: >
|
||||
This is a landing page for Fedora Apps. Fedora Infrastructure is
|
||||
<em>huge</em>; this page details only the public facing portion of
|
||||
it all. Explore!
|
||||
children:
|
||||
- name: In Development
|
||||
data:
|
||||
description: >
|
||||
These are the apps that we're working on, but that aren't quite
|
||||
ready for prime-time yet. Try and use them, and report bugs when
|
||||
they're broken -- it's a big help!.
|
||||
Check back here from time to time, as this section will change.
|
||||
children:
|
||||
- name: Koschei
|
||||
data:
|
||||
url: http://koschei.cloud.fedoraproject.org
|
||||
description: >
|
||||
Koschei is a continuous integration system for RPM packages. It
|
||||
tracks dependency changes done in Koji repositories and rebuilds
|
||||
packages whose dependencies change. It can help packagers to
|
||||
detect failures early and provide relevant information to narrow
|
||||
down the cause.
|
||||
- name: Release Monitoring
|
||||
data:
|
||||
url: http://release-monitoring.org
|
||||
description: >
|
||||
Code named <a
|
||||
href="https://github.com/fedora-infra/anitya">anitya</a>, this
|
||||
project is slated to replace <a
|
||||
href="https://fedoraproject.org/wiki/Upstream_Release_Monitoring">the
|
||||
old wiki page</a> for Upstream Release Monitoring. It will
|
||||
track upstream tarball locations and publish notifications to
|
||||
the fedmsg bus when new ones are found. Other daemons will
|
||||
then be responsible for filing bugs, attempting to
|
||||
automatically build packages, perform some preliminary QA
|
||||
checks, etc..
|
||||
- name: Jenkins
|
||||
data:
|
||||
url: http://jenkins.cloud.fedoraproject.org
|
||||
description: >
|
||||
Our own continuous integration (CI) service! It works now and
|
||||
you can use it.. we just don't yet give it the same kind of
|
||||
guarantees that we give our other apps. Look forwards to us
|
||||
promoting it soon..
|
||||
|
||||
- name: Infrastructure
|
||||
data:
|
||||
description: >
|
||||
Tools for sysadmins -- the people who run the servers that run
|
||||
Fedora (and otherwise).
|
||||
children:
|
||||
- name: GeoIP
|
||||
data:
|
||||
url: https://geoip.fedoraproject.org
|
||||
description: >
|
||||
A simple web service running <a
|
||||
href="https://github.com/fedora-infra/geoip-city-wsgi">geoip-city-wsgi</a>
|
||||
that will return geoip information to you.
|
||||
- name: Easyfix
|
||||
data:
|
||||
url: http://fedoraproject.org/easyfix
|
||||
description: >
|
||||
A list of easy-to-fix problems for the different projects in
|
||||
Fedora. Interested in getting into helping out with sysadmin
|
||||
work or web application development? This should be useful
|
||||
to you.
|
||||
- name: DataGrepper
|
||||
icon: fedmsg.png
|
||||
data:
|
||||
url: https://apps.fedoraproject.org/datagrepper
|
||||
status_mappings: ['fedmsg']
|
||||
description: >
|
||||
DataGrepper is an HTTP API for querying the datanommer
|
||||
database. You can use it to dig into the history of the
|
||||
<a href="http://fedmsg.com">fedmsg</a> message bus. You
|
||||
can grab events by username, by package, by message
|
||||
source, by topic... you name it.
|
||||
|
||||
- name: Status
|
||||
icon: status-good.png
|
||||
data:
|
||||
url: http://status.fedoraproject.org
|
||||
description: >
|
||||
Sometimes the Fedora Infrastructure team messes up (or
|
||||
lightning strikes our datacenter(s)). Sorry about that.
|
||||
You can use this website to check the status. Is it
|
||||
"down for everyone, or just me?"<br/>Notice the favicon
|
||||
in your browser tab. It changes based on the status,
|
||||
so if you keep this open you can check back to it at a
|
||||
glance.
|
||||
- name: MirrorManager
|
||||
icon: downloads.png
|
||||
data:
|
||||
url: http://mirrors.fedoraproject.org
|
||||
status_mappings: ['mirrormanager', 'mirrorlist']
|
||||
description: >
|
||||
Fedora is distributed to millions of systems globally.
|
||||
This would not be possible without the donations of time,
|
||||
disk space, and bandwidth by hundreds of volunteer system
|
||||
administrators and their companies or institutions. Your
|
||||
fast download experience is made possible by these
|
||||
donations. The list on the <strong>MirrorManager</strong>
|
||||
site is dynamically generated every hour, listing only
|
||||
up-to-date mirrors.
|
||||
- name: Nagios
|
||||
icon: nagios-logo.png
|
||||
data:
|
||||
url: http://admin.fedoraproject.org/nagios
|
||||
description: >
|
||||
"Is telia down?" The answer can most definitively be
|
||||
found here (and in detail). The Fedora Infrastructure
|
||||
team uses Nagios to monitor the servers that serve
|
||||
Fedora. Accessing most details requires membership
|
||||
in the <em>sysadmin</em> group.
|
||||
- name: Collectd
|
||||
icon: collectd.png
|
||||
data:
|
||||
url: http://admin.fedoraproject.org/collectd
|
||||
description: >
|
||||
Tracks and displays statistics on the Fedora
|
||||
Infrastructure machines over time. Useful for debugging
|
||||
ineffeciencies and problems.
|
||||
- name: HAProxy
|
||||
data:
|
||||
url: http://admin.fedoraproject.org/haproxy/proxy1
|
||||
description: >
|
||||
Shows the health of our proxies. How many bytes?
|
||||
Concurrent sessions? Health checks?
|
||||
- name: QA
|
||||
data:
|
||||
description: >
|
||||
Tools for testers -- the people who tell us its broken so we can
|
||||
fix it.
|
||||
children:
|
||||
- name: Taskotron
|
||||
data:
|
||||
url: https://taskotron.fedoraproject.org
|
||||
description: >
|
||||
Taskotron is a framework for automated task execution and is in
|
||||
the very early stages of development with the objective to
|
||||
replace AutoQA for automating selected QA tasks in Fedora.
|
||||
- name: Releng-Dash
|
||||
data:
|
||||
url: https://apps.fedoraproject.org/releng-dash/
|
||||
description: >
|
||||
Track the status of the Fedora Release Engineering process.
|
||||
Did the latest rawhide get rsynced out? How about for the
|
||||
secondary arches? This read-only dashboard can help you
|
||||
make a quick check.
|
||||
- name: Problem Tracker
|
||||
data:
|
||||
url: https://retrace.fedoraproject.org
|
||||
description: >
|
||||
The Problem Tracker is a platform for collecting and
|
||||
analyzing package crashes reported via ABRT (Automatic Bug
|
||||
Reporting Tool). It makes it easy to see what problems
|
||||
users are hitting the most, and allows you to filter them
|
||||
by Fedora release, associate, or component.
|
||||
- name: Blocker Bugs
|
||||
data:
|
||||
url: http://qa.fedoraproject.org/blockerbugs
|
||||
status_mappings: ['blockerbugs']
|
||||
description: >
|
||||
The Fedora Blocker Bug Tracker tracks release blocking bugs
|
||||
and related updates in Fedora releases currently under
|
||||
development.
|
||||
- name: Bugzilla
|
||||
icon: bugzilla.png
|
||||
data:
|
||||
url: http://bugzilla.redhat.com
|
||||
description: >
|
||||
The Fedora Community makes use of a bugzilla instance
|
||||
run by Red Hat. Notice something wrong with a Fedora
|
||||
package? You can file an official bug here.
|
||||
- name: Kerneltest
|
||||
icon: tux.png
|
||||
data:
|
||||
url: https://apps.fedoraproject.org/kerneltest
|
||||
description: >
|
||||
As part of the <a
|
||||
href="https://fedoraproject.org/wiki/KernelTestingInitiative">kernel
|
||||
testing initiative</a> we provide a webapp where users and
|
||||
automated systems can upload test results. If you have
|
||||
access to hardware where we could catch tricky driver
|
||||
issues, your assistance here would be much appreciated.
|
||||
- name: Coordination
|
||||
data:
|
||||
description: >
|
||||
Tools for people -- so we can talk to each other and share content
|
||||
and ideas.
|
||||
children:
|
||||
- name: Paste
|
||||
data:
|
||||
url: http://paste.fedoraproject.org
|
||||
status_mappings: ['fedorapaste']
|
||||
description: >
|
||||
Our very own pastebin server. If you yum install the
|
||||
<strong>fpaste</strong> command, it will use this site
|
||||
automatically.
|
||||
- name: Elections
|
||||
data:
|
||||
url: http://admin.fedoraproject.org/voting
|
||||
status_mappings: ['elections']
|
||||
description: >
|
||||
As a member of the community, you can now vote for the
|
||||
different steering committees and for this you will use the
|
||||
Election application. Voting is a right and a duty as a member
|
||||
of the community; it is one of the things you can do to
|
||||
influence the development of Fedora.
|
||||
- name: Nuancier
|
||||
icon: nuancier.png
|
||||
data:
|
||||
url: http://apps.fedoraproject.org/nuancier
|
||||
description: >
|
||||
Nuancier is a simple voting application for the
|
||||
supplementary wallpapers included in Fedora.
|
||||
- name: The Mailing lists
|
||||
icon: mail.png
|
||||
data:
|
||||
url: http://lists.fedoraproject.org
|
||||
status_mappings: ['mailinglists']
|
||||
description: >
|
||||
Mailing lists are used for communication within the community.
|
||||
There are lists for generic topics and lists more dedicated
|
||||
to a specific topic, there is for sure one for you.
|
||||
- name: FedoCal
|
||||
icon: fedocal.png
|
||||
data:
|
||||
url: http://apps.fedoraproject.org/calendar
|
||||
status_mappings: ['fedocal']
|
||||
description: >
|
||||
The Fedora Calendar (or <strong>fedocal</strong>), you might
|
||||
have already guessed, is a public calendar service. You can
|
||||
create your own calendar, or subscribe to others. Want to
|
||||
be kept abrest of releases, freezes, and events? This is
|
||||
the tool for you.
|
||||
- name: Meetbot
|
||||
icon: meetbot.png
|
||||
data:
|
||||
url: https://meetbot.fedoraproject.org
|
||||
status_mappings: ['zodbot']
|
||||
description: >
|
||||
Fedora Infrastructure runs a friendly IRC bot that you may
|
||||
know named <a href="https://fedoraproject.org/wiki/Zodbot">zodbot</a>.
|
||||
Among its many and varied functions is logging IRC meetings,
|
||||
the archives of which you can find here.
|
||||
|
||||
- name: Upstream
|
||||
data:
|
||||
description: >
|
||||
Tools for <a
|
||||
href="https://fedoraproject.org/wiki/Staying_close_to_upstream_projects">upstream</a>
|
||||
developers -- because we love you.
|
||||
|
||||
children:
|
||||
- name: github2fedmsg
|
||||
icon: github.png
|
||||
data:
|
||||
url: https://apps.fedoraproject.org/github2fedmsg
|
||||
status_mappings: ['fedmsg']
|
||||
description: >
|
||||
github2fedmsg is a web service that bridges upstream
|
||||
development activity from <a
|
||||
href="https://github.com">GitHub</a> into the <a
|
||||
href="http://fedmsg.com">Fedora Infrastructure message
|
||||
bus</a>. Visit the self-service dashboard to toggle the
|
||||
status of your repositories.
|
||||
- name: Fedora Hosted
|
||||
icon: trac.png
|
||||
data:
|
||||
url: http://fedorahosted.org
|
||||
status_mappings: ['fedorahosted']
|
||||
description: >
|
||||
Fedora is dedicated to open source software. This
|
||||
commitment can extend beyond regular Fedora offerings.<br/>
|
||||
<strong>Fedora Hosted</strong> is our most feature rich
|
||||
hosting solution. It includes an scm, trac instance,
|
||||
release dir, account system for access control, etc.
|
||||
This is our most common hosting option. When most groups
|
||||
want hosting, this is what they want.
|
||||
- name: Accounts
|
||||
data:
|
||||
description: >
|
||||
Tools for everybody -- use these things to manage your Fedora
|
||||
Account.
|
||||
children:
|
||||
- name: FedoraPeople
|
||||
data:
|
||||
url: https://fedorapeople.org
|
||||
status_mappings: ['people']
|
||||
description: >
|
||||
Being a community member you gain access to fedorapeople which
|
||||
provides you with a space on the web where you can upload
|
||||
files to share them with the community.
|
||||
- name: FAS
|
||||
data:
|
||||
url: http://admin.fedoraproject.org/accounts
|
||||
status_mappings: ['fas']
|
||||
description: >
|
||||
The Fedora Account System. Update your profile
|
||||
information and apply for membership in groups.
|
||||
- name: Notifications
|
||||
icon: fedmsg.png
|
||||
data:
|
||||
url: https://apps.fedoraproject.org/notifications
|
||||
status_mappings: ['fedmsg']
|
||||
description: >
|
||||
Centrally managed preferences for Fedora Infrastructure
|
||||
notifications to your inbox, irc client, and mobile device.
|
||||
- name: Badges
|
||||
icon: badges.png
|
||||
status_mappings: ['badges']
|
||||
data:
|
||||
url: https://badges.fedoraproject.org
|
||||
description: >
|
||||
An achievements system for Fedora Contributors! "Badges"
|
||||
are awarded based on activity in the community. Can you
|
||||
unlock them all?
|
||||
You can export your badges to Mozilla's
|
||||
<a href="http://openbadges.org">Open Badges
|
||||
Infrastructure</a>
|
||||
- name: Content
|
||||
data:
|
||||
description: >
|
||||
Tools for wordsmiths -- the apps that store and archive the troves
|
||||
of content that Fedora authors produce. Blog posts, the wiki, and
|
||||
more..
|
||||
children:
|
||||
- name: Ask Fedora
|
||||
icon: ask_fedora.png
|
||||
data:
|
||||
url: http://ask.fedoraproject.org/
|
||||
status_mappings: ['ask']
|
||||
description: >
|
||||
Any question at all about Fedora? Ask it here.
|
||||
- name: The Wiki
|
||||
icon: mediawiki.png
|
||||
data:
|
||||
url: http://fedoraproject.org/wiki
|
||||
status_mappings: ['wiki']
|
||||
description: >
|
||||
Maintain your own user profile page, contribute to
|
||||
documents about features, process, and governance.
|
||||
- name: Fedora Magazine
|
||||
icon: magazine.png
|
||||
data:
|
||||
url: http://fedoramagazine.org
|
||||
description: >
|
||||
Fedora Magazine is a WordPress-based site which delivers all
|
||||
the news of the Fedora Community. (It replaces the previous
|
||||
Fedora Weekly News.)
|
||||
- name: The Planet
|
||||
icon: planet_logo.png
|
||||
data:
|
||||
url: http://planet.fedoraproject.org
|
||||
description: >
|
||||
The planet is a blog aggregator, a space accessible to you
|
||||
as a community member where you can express your opinion and
|
||||
talk about what you are doing for Fedora.
|
||||
- name: Docs
|
||||
data:
|
||||
url: http://docs.fedoraproject.org
|
||||
status_mappings: ['docs']
|
||||
description: >
|
||||
RTFM! Everything you could ever want to know.
|
||||
Probably the best place to find documentation about Fedora,
|
||||
including the changes between releases (and a big kudos to
|
||||
the translation teams to keep this resource up to date in
|
||||
the different languages!)
|
||||
- name: Packaging
|
||||
data:
|
||||
description: >
|
||||
Tools for packagers -- where the pieces of the distribution get
|
||||
built.
|
||||
|
||||
children:
|
||||
- name: Packages
|
||||
data:
|
||||
url: http://apps.fedoraproject.org/packages
|
||||
status_mappings: ['packages']
|
||||
description: >
|
||||
A meta-app over the other packaging apps; the best place to
|
||||
find out what is in the Fedora repositories. Which
|
||||
packages are present in which version, who is maintaining
|
||||
them, what patches have been applied, what bugs have been
|
||||
reported against them. All these kind of questions can be
|
||||
answered here.
|
||||
It is sometimes called "Fedora Community v2" after the old
|
||||
<a href="http://admin.fedoraproject.org/community">Fedora Community</a> site.
|
||||
- name: Tagger
|
||||
icon: tagger.png
|
||||
data:
|
||||
url: http://apps.fedoraproject.org/tagger
|
||||
status_mappings: ['tagger']
|
||||
description: >
|
||||
Help build a tag cloud of all our packages.. It's actually
|
||||
really useful. It'll help improve the search of the
|
||||
"Packages" webapp.
|
||||
- name: COPR
|
||||
icon: copr.png
|
||||
data:
|
||||
url: https://copr.fedoraproject.org
|
||||
status_mappings: ['copr']
|
||||
description: >
|
||||
Copr is an easy-to-use automatic build system providing a
|
||||
package repository as its output. You can make your **own** repositories!
|
||||
- name: PkgDB
|
||||
data:
|
||||
url: http://admin.fedoraproject.org/pkgdb
|
||||
status_mappings: ['pkgdb']
|
||||
description: >
|
||||
Manage ACLs of your packages.
|
||||
- name: Koji
|
||||
icon: koji.png
|
||||
data:
|
||||
url: http://koji.fedoraproject.org/koji
|
||||
status_mappings: ['koji']
|
||||
description: >
|
||||
Koji is the software that builds RPM packages for the
|
||||
Fedora project. It uses Mock to create chroot
|
||||
environments to perform builds that are both safe and
|
||||
trusted.
|
||||
- name: Bodhi
|
||||
icon: bodhi.png
|
||||
data:
|
||||
url: http://admin.fedoraproject.org/updates
|
||||
status_mappings: ['bodhi']
|
||||
description: >
|
||||
The tool you will use to push your packages to the Fedora
|
||||
repositories as an update, first an update to be tested
|
||||
(repository: updates-testing) then a stable update
|
||||
(repository: updates). Behold -- the <em>Magic
|
||||
Cabbage.</em>
|
||||
- name: SCM
|
||||
icon: git-logo.png
|
||||
data:
|
||||
url: http://pkgs.fedoraproject.org/cgit
|
||||
status_mappings: ['pkgs']
|
||||
description: >
|
||||
Ever wonder <em>exactly</em> what is in the new release
|
||||
of a Fedora package? This is where the change histories
|
||||
of all the packages in Fedora for every release of
|
||||
Fedora (and EPEL) are kept.. forever! A gold mine.
|
||||
- name: Darkserver
|
||||
data:
|
||||
url: https://darkserver.fedoraproject.org
|
||||
status_mappings: ['darkserver']
|
||||
description: >
|
||||
A set of tools and JSON service to help userspace developers
|
||||
to debug their applications and libraries. People are be
|
||||
able query the service based on <a
|
||||
href="https://fedoraproject.org/wiki/Releases/FeatureBuildId">build-id(s)</a>
|
||||
or rpm package names.
|
||||
|
||||
You can read more about <a
|
||||
href="https://fedoraproject.org/wiki/Darkserver">why you
|
||||
might want to use it</a> or you can just click below to...
|
83
roles/apps-fp-o/files/global/js/jsopenid.js
Normal file
83
roles/apps-fp-o/files/global/js/jsopenid.js
Normal file
|
@ -0,0 +1,83 @@
|
|||
/**
|
||||
* Copyright (c) 2014, Patrick Uiterwijk <puiterwijk@redhat.com>
|
||||
* All rights reserved.
|
||||
*
|
||||
* This file is part of JSOpenID.
|
||||
*
|
||||
* JSOpenID is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* JSOpenID is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with JSOpenID. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
function respondToLogin(targetOrigin, success, data)
|
||||
{
|
||||
// From an iframe, window.parent == parent window
|
||||
// So if we don't have a window.parent, we're certainly not an iframe
|
||||
if(window.parent != null)
|
||||
{
|
||||
// If we don't have this element in the parent window, this is not an auth iframe
|
||||
if(window.parent.document.getElementById('jsopenid_ifrm') != null)
|
||||
{
|
||||
window.parent.postMessage({"success": success,
|
||||
"data": data},
|
||||
targetOrigin);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function tryBackgroundLogin(login_url, callback_success, callback_failed)
|
||||
{
|
||||
if(window.parent != null)
|
||||
{
|
||||
// Check if we are called recursively (from within a login attempt)
|
||||
if(window.parent.document.getElementById('jsopenid_ifrm') != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Create the iframe we are going to use
|
||||
ifrm = document.createElement('iframe');
|
||||
ifrm.id = 'jsopenid_ifrm';
|
||||
ifrm.src = login_url;
|
||||
ifrm.style.width = 0;
|
||||
ifrm.style.height = 0;
|
||||
ifrm.style.visibility = "hidden";
|
||||
|
||||
// Set up for pingbacks
|
||||
window.addEventListener('message', function(event)
|
||||
{
|
||||
// We don't check don't check event.origin, as it wouldn't add anything worthwhile
|
||||
// This would prevent a rogue website from saying "The user is now logged in", but we should *never* trust this anyway
|
||||
// This whole library is only for user convenience
|
||||
if(event.source != ifrm.contentWindow)
|
||||
{
|
||||
// Ignoring response from someone unexpected
|
||||
return;
|
||||
}
|
||||
document.body.removeChild(ifrm);
|
||||
if(event.data["success"])
|
||||
{
|
||||
callback_success(event.data["data"]);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(callback_failed != null)
|
||||
{
|
||||
callback_failed(event.data["data"]);
|
||||
}
|
||||
}
|
||||
}, false);
|
||||
|
||||
// HIT IT!
|
||||
document.body.appendChild(ifrm);
|
||||
}
|
83
roles/apps-fp-o/files/global/jsopenid.js
Normal file
83
roles/apps-fp-o/files/global/jsopenid.js
Normal file
|
@ -0,0 +1,83 @@
|
|||
/**
|
||||
* Copyright (c) 2014, Patrick Uiterwijk <puiterwijk@redhat.com>
|
||||
* All rights reserved.
|
||||
*
|
||||
* This file is part of JSOpenID.
|
||||
*
|
||||
* JSOpenID is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* JSOpenID is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with JSOpenID. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
function respondToLogin(targetOrigin, success, data)
|
||||
{
|
||||
// From an iframe, window.parent == parent window
|
||||
// So if we don't have a window.parent, we're certainly not an iframe
|
||||
if(window.parent != null)
|
||||
{
|
||||
// If we don't have this element in the parent window, this is not an auth iframe
|
||||
if(window.parent.document.getElementById('jsopenid_ifrm') != null)
|
||||
{
|
||||
window.parent.postMessage({"success": success,
|
||||
"data": data},
|
||||
targetOrigin);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function tryBackgroundLogin(login_url, callback_success, callback_failed)
|
||||
{
|
||||
if(window.parent != null)
|
||||
{
|
||||
// Check if we are called recursively (from within a login attempt)
|
||||
if(window.parent.document.getElementById('jsopenid_ifrm') != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Create the iframe we are going to use
|
||||
ifrm = document.createElement('iframe');
|
||||
ifrm.id = 'jsopenid_ifrm';
|
||||
ifrm.src = login_url;
|
||||
ifrm.style.width = 0;
|
||||
ifrm.style.height = 0;
|
||||
ifrm.style.visibility = "hidden";
|
||||
|
||||
// Set up for pingbacks
|
||||
window.addEventListener('message', function(event)
|
||||
{
|
||||
// We don't check don't check event.origin, as it wouldn't add anything worthwhile
|
||||
// This would prevent a rogue website from saying "The user is now logged in", but we should *never* trust this anyway
|
||||
// This whole library is only for user convenience
|
||||
if(event.source != ifrm.contentWindow)
|
||||
{
|
||||
// Ignoring response from someone unexpected
|
||||
return;
|
||||
}
|
||||
document.body.removeChild(ifrm);
|
||||
if(event.data["success"])
|
||||
{
|
||||
callback_success(event.data["data"]);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(callback_failed != null)
|
||||
{
|
||||
callback_failed(event.data["data"]);
|
||||
}
|
||||
}
|
||||
}, false);
|
||||
|
||||
// HIT IT!
|
||||
document.body.appendChild(ifrm);
|
||||
}
|
5
roles/apps-fp-o/handlers/main.yml
Normal file
5
roles/apps-fp-o/handlers/main.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
- name: rebuild apps-fp-o html
|
||||
shell: /usr/bin/apps-fp-o-yaml2html.py > /srv/web/apps-fp-o/apps-yaml.html
|
||||
|
||||
- name: rebuild apps-fp-o json
|
||||
shell: /usr/bin/apps-fp-o-yaml2json.py > /srv/web/apps-fp-o/js/data.js
|
48
roles/apps-fp-o/tasks/main.yml
Normal file
48
roles/apps-fp-o/tasks/main.yml
Normal file
|
@ -0,0 +1,48 @@
|
|||
define apps-fp-o::proxy(
|
||||
$website,
|
||||
$path
|
||||
) {
|
||||
include httpd::base
|
||||
|
||||
- name: Install that apps-fp-o rpm package
|
||||
yum: name=apps-fp-o state=present
|
||||
tags:
|
||||
- apps-fp-o
|
||||
|
||||
- name: Copy in the proxy config
|
||||
template: >
|
||||
src=apps.fp.o.conf dest=/etc/httpd/conf.d/{{website}}/apps.fp.o.conf
|
||||
owner=root group=root mode=0644
|
||||
notify:
|
||||
- restart httpd
|
||||
tags:
|
||||
- apps-fp-o
|
||||
|
||||
- name: Copy in some global assets used around our apps
|
||||
synchronize: >
|
||||
src=global/ dest=/srv/web/apps-fp-o/global/
|
||||
tags:
|
||||
- apps-fp-o
|
||||
|
||||
- name: Copy in our app data yaml
|
||||
template: >
|
||||
src=apps.yaml dest=/usr/share/apps-fp-o/apps.yaml
|
||||
owner=root group=root mode=0644
|
||||
notify:
|
||||
- rebuild apps-fp-o html
|
||||
- rebuild apps-fp-o json
|
||||
- restart httpd
|
||||
tags:
|
||||
- apps-fp-o
|
||||
|
||||
# run commands on file change
|
||||
exec { "/usr/bin/apps-fp-o-yaml2html.py > /srv/web/apps-fp-o/apps-yaml.html":
|
||||
subscribe => File["/usr/share/apps-fp-o/apps.yaml"],
|
||||
refreshonly => true
|
||||
}
|
||||
exec { "/usr/bin/apps-fp-o-yaml2json.py > /srv/web/apps-fp-o/js/data.js":
|
||||
subscribe => File["/usr/share/apps-fp-o/apps.yaml"],
|
||||
refreshonly => true
|
||||
}
|
||||
|
||||
}
|
1
roles/apps-fp-o/templates/apps.fp.o-proxy.conf.erb
Normal file
1
roles/apps-fp-o/templates/apps.fp.o-proxy.conf.erb
Normal file
|
@ -0,0 +1 @@
|
|||
DocumentRoot /srv/web/apps-fp-o/
|
Loading…
Add table
Add a link
Reference in a new issue