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
|
- role: releng-dash
|
||||||
website: apps.fedoraproject.org
|
website: apps.fedoraproject.org
|
||||||
path: /releng-dash
|
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